dhx-react-suite 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { jsxs as x, jsx as t, Fragment as Ye } from "react/jsx-runtime";
2
- import { useEffect as Q, useRef as le, useCallback as ae, useState as W, useMemo as ue, createContext as Ze, useContext as et } from "react";
3
- import { Tooltip as tt, Legend as nt, CartesianGrid as rt, XAxis as We, YAxis as Be, BarChart as ot, Bar as it, LineChart as lt, Line as st, AreaChart as at, Area as dt, PieChart as ct, Pie as ut, Cell as pt, RadarChart as ht, PolarGrid as ft, PolarAngleAxis as gt, PolarRadiusAxis as xt, Radar as yt, ScatterChart as bt, Scatter as mt, ResponsiveContainer as vt, Treemap as St } from "recharts";
2
+ import { useEffect as J, useRef as ie, useCallback as ae, useState as B, useMemo as ue, createContext as Ze, useContext as et } from "react";
3
+ import { Tooltip as tt, Legend as rt, CartesianGrid as nt, XAxis as We, YAxis as Be, BarChart as ot, Bar as it, LineChart as lt, Line as st, AreaChart as at, Area as dt, PieChart as ct, Pie as ut, Cell as pt, RadarChart as ht, PolarGrid as ft, PolarAngleAxis as gt, PolarRadiusAxis as xt, Radar as yt, ScatterChart as bt, Scatter as mt, ResponsiveContainer as vt, Treemap as St } from "recharts";
4
+ import { Richtext as kt } from "@dhx/trial-richtext";
4
5
  const e = {
5
6
  primary: "#0288d1",
6
7
  primaryDk: "#01579b",
@@ -23,8 +24,8 @@ const e = {
23
24
  }, He = "dhx-react-styles";
24
25
  function Z() {
25
26
  if (typeof document > "u" || document.getElementById(He)) return;
26
- const n = document.createElement("style");
27
- n.id = He, n.textContent = `
27
+ const r = document.createElement("style");
28
+ r.id = He, r.textContent = `
28
29
  *,*::before,*::after{box-sizing:border-box}
29
30
  .dhx{font-family:${e.font};font-size:14px;color:${e.text}}
30
31
  .dhx *{box-sizing:border-box}
@@ -64,69 +65,69 @@ function Z() {
64
65
  .dhx-tag-success{background:#e8f5e9;color:#1b5e20}
65
66
  .dhx-tag-danger{background:#ffebee;color:#b71c1c}
66
67
  .dhx-tag-warning{background:#fff3e0;color:#e65100}
67
- `, document.head.appendChild(n);
68
+ `, document.head.appendChild(r);
68
69
  }
69
- const kt = {
70
+ const wt = {
70
71
  sm: { height: 24, padding: "0 8px", fontSize: 12 },
71
72
  md: {},
72
73
  lg: { height: 38, padding: "0 18px", fontSize: 14 }
73
74
  };
74
- function Gt({
75
- children: n,
75
+ function Ut({
76
+ children: r,
76
77
  variant: i = "primary",
77
78
  size: d = "md",
78
79
  icon: s,
79
- disabled: h,
80
+ disabled: f,
80
81
  onClick: a,
81
- style: f,
82
+ style: u,
82
83
  className: p = ""
83
84
  }) {
84
- return Q(Z, []), /* @__PURE__ */ x(
85
+ return J(Z, []), /* @__PURE__ */ x(
85
86
  "button",
86
87
  {
87
88
  className: `dhx dhx-btn dhx-btn-${i} ${p}`,
88
- style: { ...kt[d], ...f },
89
- disabled: h,
89
+ style: { ...wt[d], ...u },
90
+ disabled: f,
90
91
  onClick: a,
91
92
  children: [
92
93
  s && /* @__PURE__ */ t("span", { style: { fontSize: 16 }, children: s }),
93
- n
94
+ r
94
95
  ]
95
96
  }
96
97
  );
97
98
  }
98
- function xe(n, i) {
99
- Q(() => {
99
+ function xe(r, i) {
100
+ J(() => {
100
101
  const d = (s) => {
101
- n.current && !n.current.contains(s.target) && i(s);
102
+ r.current && !r.current.contains(s.target) && i(s);
102
103
  };
103
104
  return document.addEventListener("mousedown", d), () => document.removeEventListener("mousedown", d);
104
- }, [n, i]);
105
+ }, [r, i]);
105
106
  }
106
- function wt(n) {
107
- const i = le(!1), d = le({ x: 0, y: 0, ox: 0, oy: 0 });
107
+ function zt(r) {
108
+ const i = ie(!1), d = ie({ x: 0, y: 0, ox: 0, oy: 0 });
108
109
  return ae(
109
- (s, h = 0, a = 0) => {
110
- i.current = !0, d.current = { x: s.clientX, y: s.clientY, ox: h, oy: a };
111
- const f = (y) => {
110
+ (s, f = 0, a = 0) => {
111
+ i.current = !0, d.current = { x: s.clientX, y: s.clientY, ox: f, oy: a };
112
+ const u = (y) => {
112
113
  if (!i.current) return;
113
- const { x: z, y: o, ox: b, oy: $ } = d.current;
114
- n(b + y.clientX - z, $ + y.clientY - o);
114
+ const { x: M, y: o, ox: b, oy: $ } = d.current;
115
+ r(b + y.clientX - M, $ + y.clientY - o);
115
116
  }, p = () => {
116
- i.current = !1, document.removeEventListener("mousemove", f), document.removeEventListener("mouseup", p);
117
+ i.current = !1, document.removeEventListener("mousemove", u), document.removeEventListener("mouseup", p);
117
118
  };
118
- document.addEventListener("mousemove", f), document.addEventListener("mouseup", p), s.preventDefault();
119
+ document.addEventListener("mousemove", u), document.addEventListener("mouseup", p), s.preventDefault();
119
120
  },
120
- [n]
121
+ [r]
121
122
  );
122
123
  }
123
- function fe({ items: n, onSelect: i, style: d }) {
124
- const [s, h] = W(null);
125
- return /* @__PURE__ */ t("div", { className: "dhx dhx-anim-fade", style: { position: "absolute", top: "calc(100% + 4px)", left: 0, minWidth: 180, background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.r, boxShadow: e.shadowLg, zIndex: 200, padding: "4px 0", ...d }, children: n.map((a, f) => {
126
- var y, z;
127
- if (a.type === "separator") return /* @__PURE__ */ t("div", { style: { height: 1, background: e.border, margin: "4px 0" } }, f);
128
- const p = s === f;
129
- return /* @__PURE__ */ x("div", { style: { position: "relative" }, onMouseEnter: () => h(f), onMouseLeave: () => h(null), children: [
124
+ function fe({ items: r, onSelect: i, style: d }) {
125
+ const [s, f] = B(null);
126
+ return /* @__PURE__ */ t("div", { className: "dhx dhx-anim-fade", style: { position: "absolute", top: "calc(100% + 4px)", left: 0, minWidth: 180, background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.r, boxShadow: e.shadowLg, zIndex: 200, padding: "4px 0", ...d }, children: r.map((a, u) => {
127
+ var y, M;
128
+ if (a.type === "separator") return /* @__PURE__ */ t("div", { style: { height: 1, background: e.border, margin: "4px 0" } }, u);
129
+ const p = s === u;
130
+ return /* @__PURE__ */ x("div", { style: { position: "relative" }, onMouseEnter: () => f(u), onMouseLeave: () => f(null), children: [
130
131
  /* @__PURE__ */ x(
131
132
  "div",
132
133
  {
@@ -143,35 +144,35 @@ function fe({ items: n, onSelect: i, style: d }) {
143
144
  ]
144
145
  }
145
146
  ),
146
- p && ((z = a.items) != null && z.length) ? /* @__PURE__ */ t(fe, { items: a.items, onSelect: i, style: { position: "absolute", left: "100%", top: -4 } }) : null
147
- ] }, a.id || f);
147
+ p && ((M = a.items) != null && M.length) ? /* @__PURE__ */ t(fe, { items: a.items, onSelect: i, style: { position: "absolute", left: "100%", top: -4 } }) : null
148
+ ] }, a.id || u);
148
149
  }) });
149
150
  }
150
- function Jt({ items: n = [], label: i = "Menu", onSelect: d, style: s }) {
151
- const [h, a] = W(!1), f = le(null);
152
- return Q(Z, []), xe(f, ae(() => a(!1), [])), /* @__PURE__ */ x("div", { ref: f, className: "dhx", style: { position: "relative", display: "inline-block", ...s }, children: [
151
+ function Qt({ items: r = [], label: i = "Menu", onSelect: d, style: s }) {
152
+ const [f, a] = B(!1), u = ie(null);
153
+ return J(Z, []), xe(u, ae(() => a(!1), [])), /* @__PURE__ */ x("div", { ref: u, className: "dhx", style: { position: "relative", display: "inline-block", ...s }, children: [
153
154
  /* @__PURE__ */ x("button", { className: "dhx dhx-btn dhx-btn-secondary", onClick: () => a((p) => !p), children: [
154
155
  i,
155
156
  " ",
156
- /* @__PURE__ */ t("span", { style: { fontSize: 10 }, children: h ? "▲" : "▼" })
157
+ /* @__PURE__ */ t("span", { style: { fontSize: 10 }, children: f ? "▲" : "▼" })
157
158
  ] }),
158
- h && /* @__PURE__ */ t(fe, { items: n, onSelect: (p) => {
159
+ f && /* @__PURE__ */ t(fe, { items: r, onSelect: (p) => {
159
160
  d == null || d(p), a(!1);
160
161
  } })
161
162
  ] });
162
163
  }
163
- function Ut({ items: n = [], onSelect: i, children: d }) {
164
- const [s, h] = W(null), a = le(null);
165
- return Q(Z, []), xe(a, ae(() => h(null), [])), /* @__PURE__ */ x("div", { ref: a, onContextMenu: (p) => {
166
- p.preventDefault(), h({ x: p.clientX, y: p.clientY });
164
+ function Zt({ items: r = [], onSelect: i, children: d }) {
165
+ const [s, f] = B(null), a = ie(null);
166
+ return J(Z, []), xe(a, ae(() => f(null), [])), /* @__PURE__ */ x("div", { ref: a, onContextMenu: (p) => {
167
+ p.preventDefault(), f({ x: p.clientX, y: p.clientY });
167
168
  }, style: { position: "relative", display: "contents" }, children: [
168
169
  d,
169
- s && /* @__PURE__ */ t("div", { style: { position: "fixed", left: s.x, top: s.y, zIndex: 9999 }, children: /* @__PURE__ */ t(fe, { items: n, onSelect: (p) => {
170
- i == null || i(p), h(null);
170
+ s && /* @__PURE__ */ t("div", { style: { position: "fixed", left: s.x, top: s.y, zIndex: 9999 }, children: /* @__PURE__ */ t(fe, { items: r, onSelect: (p) => {
171
+ i == null || i(p), f(null);
171
172
  } }) })
172
173
  ] });
173
174
  }
174
- function Ae({ count: n }) {
175
+ function Ae({ count: r }) {
175
176
  return /* @__PURE__ */ t("span", { style: {
176
177
  position: "absolute",
177
178
  top: 2,
@@ -189,31 +190,31 @@ function Ae({ count: n }) {
189
190
  padding: "0 3px",
190
191
  lineHeight: 1,
191
192
  pointerEvents: "none"
192
- }, children: n });
193
+ }, children: r });
193
194
  }
194
- function Qt({ items: n = [], onAction: i, style: d }) {
195
- const [s, h] = W(null), [a, f] = W(() => {
195
+ function er({ items: r = [], onAction: i, style: d }) {
196
+ const [s, f] = B(null), [a, u] = B(() => {
196
197
  const o = {};
197
- return n.forEach((b) => {
198
+ return r.forEach((b) => {
198
199
  b.id && (b.twoState || b.group) && b.active && (o[b.id] = !0);
199
200
  }), o;
200
- }), p = le(null);
201
- Q(Z, []), xe(p, ae(() => h(null), []));
201
+ }), p = ie(null);
202
+ J(Z, []), xe(p, ae(() => f(null), []));
202
203
  const y = (o, b) => {
203
- var $, E;
204
+ var $, N;
204
205
  if (!o.disabled) {
205
- if (o.twoState && o.id && f((H) => ({ ...H, [o.id]: !H[o.id] })), o.group && o.id && f((H) => {
206
- const c = { ...H };
207
- return n.forEach((w) => {
206
+ if (o.twoState && o.id && u((D) => ({ ...D, [o.id]: !D[o.id] })), o.group && o.id && u((D) => {
207
+ const c = { ...D };
208
+ return r.forEach((w) => {
208
209
  w.group === o.group && w.id && (c[w.id] = !1);
209
210
  }), c[o.id] = !0, c;
210
211
  }), ($ = o.items) != null && $.length) {
211
- h((H) => H === b ? null : b);
212
+ f((D) => D === b ? null : b);
212
213
  return;
213
214
  }
214
- (E = o.onClick) == null || E.call(o, o.id || ""), i == null || i(o.id || "");
215
+ (N = o.onClick) == null || N.call(o, o.id || ""), i == null || i(o.id || "");
215
216
  }
216
- }, z = (o, b) => {
217
+ }, M = (o, b) => {
217
218
  var c, w;
218
219
  if (o.hidden) return null;
219
220
  if (o.type === "separator") return /* @__PURE__ */ t("div", { style: { width: 1, background: e.border, margin: "6px 4px", alignSelf: "stretch" } }, b);
@@ -229,9 +230,9 @@ function Qt({ items: n = [], onAction: i, style: d }) {
229
230
  style: { width: o.width || 140, height: 28, paddingLeft: o.icon ? 30 : void 0 },
230
231
  placeholder: o.placeholder,
231
232
  defaultValue: o.value,
232
- onChange: (C) => {
233
- var R;
234
- return (R = o.onChange) == null ? void 0 : R.call(o, C.target.value);
233
+ onChange: (L) => {
234
+ var E;
235
+ return (E = o.onChange) == null ? void 0 : E.call(o, L.target.value);
235
236
  }
236
237
  }
237
238
  )
@@ -245,11 +246,11 @@ function Qt({ items: n = [], onAction: i, style: d }) {
245
246
  className: "dhx dhx-input",
246
247
  style: { width: o.width || 100, height: 28, cursor: "pointer" },
247
248
  defaultValue: o.value,
248
- onChange: (C) => {
249
- var R;
250
- return (R = o.onChange) == null ? void 0 : R.call(o, C.target.value);
249
+ onChange: (L) => {
250
+ var E;
251
+ return (E = o.onChange) == null ? void 0 : E.call(o, L.target.value);
251
252
  },
252
- children: (c = o.options) == null ? void 0 : c.map((C) => /* @__PURE__ */ t("option", { value: C.value, children: C.label }, C.value))
253
+ children: (c = o.options) == null ? void 0 : c.map((L) => /* @__PURE__ */ t("option", { value: L.value, children: L.label }, L.value))
253
254
  }
254
255
  )
255
256
  ] }, b);
@@ -278,7 +279,7 @@ function Qt({ items: n = [], onAction: i, style: d }) {
278
279
  },
279
280
  b
280
281
  );
281
- const $ = !!(o.id && a[o.id]), E = o.value ?? o.text, H = !!((w = o.items) != null && w.length);
282
+ const $ = !!(o.id && a[o.id]), N = o.value ?? o.text, D = !!((w = o.items) != null && w.length);
282
283
  return /* @__PURE__ */ x("div", { style: { position: "relative" }, children: [
283
284
  /* @__PURE__ */ x(
284
285
  "button",
@@ -298,17 +299,17 @@ function Qt({ items: n = [], onAction: i, style: d }) {
298
299
  onClick: () => y(o, b),
299
300
  children: [
300
301
  o.icon && /* @__PURE__ */ t("span", { style: { fontSize: 16 }, children: o.icon }),
301
- E && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: E }),
302
- H && /* @__PURE__ */ t("span", { style: { fontSize: 9, opacity: 0.55, marginLeft: 2 }, children: "▼" }),
302
+ N && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: N }),
303
+ D && /* @__PURE__ */ t("span", { style: { fontSize: 9, opacity: 0.55, marginLeft: 2 }, children: "▼" }),
303
304
  o.count !== void 0 && /* @__PURE__ */ t(Ae, { count: o.count })
304
305
  ]
305
306
  }
306
307
  ),
307
- H && s === b && /* @__PURE__ */ t(
308
+ D && s === b && /* @__PURE__ */ t(
308
309
  fe,
309
310
  {
310
311
  items: o.items,
311
- onSelect: () => h(null),
312
+ onSelect: () => f(null),
312
313
  style: { top: "100%", left: 0 }
313
314
  }
314
315
  )
@@ -330,67 +331,67 @@ function Qt({ items: n = [], onAction: i, style: d }) {
330
331
  flexWrap: "wrap",
331
332
  ...d
332
333
  },
333
- children: n.map(z)
334
+ children: r.map(M)
334
335
  }
335
336
  );
336
337
  }
337
- function zt(n) {
338
- return n === "primary" ? e.primary : n === "success" ? "#43a047" : n === "secondary" ? "#9e9e9e" : "#e53935";
338
+ function Mt(r) {
339
+ return r === "primary" ? e.primary : r === "success" ? "#43a047" : r === "secondary" ? "#9e9e9e" : "#e53935";
339
340
  }
340
- function Mt(n, i) {
341
- const d = [], s = (h) => {
341
+ function $t(r, i) {
342
+ const d = [], s = (f) => {
342
343
  var a;
343
- h.id && h.group === i && d.push(h.id), (a = h.items) == null || a.forEach(s);
344
+ f.id && f.group === i && d.push(f.id), (a = f.items) == null || a.forEach(s);
344
345
  };
345
- return n.forEach(s), d;
346
+ return r.forEach(s), d;
346
347
  }
347
- function $t(n) {
348
+ function Lt(r) {
348
349
  const i = {}, d = (s) => {
349
- var h;
350
- s.id && s.twoState && s.active && (i[s.id] = !0), (h = s.items) == null || h.forEach(d);
350
+ var f;
351
+ s.id && s.twoState && s.active && (i[s.id] = !0), (f = s.items) == null || f.forEach(d);
351
352
  };
352
- return n.forEach(d), i;
353
+ return r.forEach(d), i;
353
354
  }
354
- function Zt({
355
- items: n = [],
355
+ function tr({
356
+ items: r = [],
356
357
  width: i = 240,
357
358
  minWidth: d = 64,
358
359
  header: s,
359
- footer: h,
360
+ footer: f,
360
361
  collapsed: a,
361
- defaultCollapsed: f,
362
+ defaultCollapsed: u,
362
363
  selected: p,
363
364
  defaultSelected: y,
364
- onSelect: z,
365
+ onSelect: M,
365
366
  onCollapse: o,
366
367
  onExpand: b,
367
368
  onBeforeCollapse: $,
368
- onBeforeExpand: E,
369
- onToggleItem: H,
369
+ onBeforeExpand: N,
370
+ onToggleItem: D,
370
371
  style: c
371
372
  }) {
372
- const w = a !== void 0, C = p !== void 0, [R, A] = W(f ?? !1), [M, D] = W(y ?? null), [V, u] = W({}), [N, l] = W(() => $t(n));
373
- Q(Z, []);
374
- const g = w ? a : R, K = C ? p ?? null : M, P = g ? d : i, r = () => {
373
+ const w = a !== void 0, L = p !== void 0, [E, A] = B(u ?? !1), [z, C] = B(y ?? null), [V, h] = B({}), [I, l] = B(() => Lt(r));
374
+ J(Z, []);
375
+ const g = w ? a : E, K = L ? p ?? null : z, O = g ? d : i, n = () => {
375
376
  if (g) {
376
- if ((E == null ? void 0 : E()) === !1) return;
377
+ if ((N == null ? void 0 : N()) === !1) return;
377
378
  w || A(!1), b == null || b();
378
379
  } else {
379
380
  if (($ == null ? void 0 : $()) === !1) return;
380
381
  w || A(!0), o == null || o();
381
382
  }
382
- }, T = (v) => {
383
- C || D(v.id ?? null), z == null || z(v), v.id && v.onClick && v.onClick(v.id);
383
+ }, R = (v) => {
384
+ L || C(v.id ?? null), M == null || M(v), v.id && v.onClick && v.onClick(v.id);
384
385
  }, F = (v) => {
385
386
  if (!v.id) return;
386
- const j = !N[v.id];
387
- let X = { ...N, [v.id]: j };
388
- v.group && j && Mt(n, v.group).forEach((U) => {
389
- U !== v.id && (X[U] = !1);
390
- }), l(X), H == null || H(v.id, j);
387
+ const j = !I[v.id];
388
+ let X = { ...I, [v.id]: j };
389
+ v.group && j && $t(r, v.group).forEach((Q) => {
390
+ Q !== v.id && (X[Q] = !1);
391
+ }), l(X), D == null || D(v.id, j);
391
392
  }, k = (v, j) => {
392
393
  if (v.count === void 0) return null;
393
- const X = zt(v.countColor), U = v.count > 99 ? "99+" : String(v.count);
394
+ const X = Mt(v.countColor), Q = v.count > 99 ? "99+" : String(v.count);
394
395
  return j ? /* @__PURE__ */ t("span", { style: {
395
396
  position: "absolute",
396
397
  top: 1,
@@ -405,7 +406,7 @@ function Zt({
405
406
  textAlign: "center",
406
407
  lineHeight: "14px",
407
408
  pointerEvents: "none"
408
- }, children: U }) : /* @__PURE__ */ t("span", { style: {
409
+ }, children: Q }) : /* @__PURE__ */ t("span", { style: {
409
410
  background: X,
410
411
  color: "#fff",
411
412
  borderRadius: 10,
@@ -413,13 +414,13 @@ function Zt({
413
414
  fontSize: 11,
414
415
  fontWeight: 700,
415
416
  flexShrink: 0
416
- }, children: U });
417
+ }, children: Q });
417
418
  }, S = (v, j, X) => {
418
419
  var ce;
419
420
  if (v.hidden) return null;
420
- const U = v.id ?? `${v.type ?? "navItem"}-${j}-${X}`, q = v.type ?? "navItem";
421
- if (q === "separator") return /* @__PURE__ */ t("div", { style: { height: 1, background: e.border, margin: "6px 8px", flexShrink: 0 } }, U);
422
- if (q === "spacer") return /* @__PURE__ */ t("div", { style: { flex: 1 } }, U);
421
+ const Q = v.id ?? `${v.type ?? "navItem"}-${j}-${X}`, q = v.type ?? "navItem";
422
+ if (q === "separator") return /* @__PURE__ */ t("div", { style: { height: 1, background: e.border, margin: "6px 8px", flexShrink: 0 } }, Q);
423
+ if (q === "spacer") return /* @__PURE__ */ t("div", { style: { flex: 1 } }, Q);
423
424
  if (q === "title")
424
425
  return g ? null : /* @__PURE__ */ t("div", { style: {
425
426
  padding: "10px 14px 4px",
@@ -429,17 +430,17 @@ function Zt({
429
430
  letterSpacing: 1,
430
431
  color: e.textMut,
431
432
  flexShrink: 0
432
- }, children: v.value }, U);
433
+ }, children: v.value }, Q);
433
434
  if (q === "customHTML") return /* @__PURE__ */ t(
434
435
  "div",
435
436
  {
436
437
  dangerouslySetInnerHTML: { __html: v.html ?? "" },
437
438
  style: { padding: "8px 12px", flexShrink: 0 }
438
439
  },
439
- U
440
+ Q
440
441
  );
441
- const J = (((ce = v.items) == null ? void 0 : ce.length) ?? 0) > 0, ee = !!V[v.id ?? ""], te = v.twoState ? !!N[v.id ?? ""] : !1, ne = !v.twoState && K === v.id || te, O = !!v.disabled, de = g ? 0 : 12 + j * 16, ve = () => {
442
- O || (v.twoState ? (F(v), T(v)) : (J && u((se) => ({ ...se, [v.id ?? ""]: !se[v.id ?? ""] })), T(v)));
442
+ const U = (((ce = v.items) == null ? void 0 : ce.length) ?? 0) > 0, ee = !!V[v.id ?? ""], te = v.twoState ? !!I[v.id ?? ""] : !1, re = !v.twoState && K === v.id || te, P = !!v.disabled, de = g ? 0 : 12 + j * 16, ve = () => {
443
+ P || (v.twoState ? (F(v), R(v)) : (U && h((se) => ({ ...se, [v.id ?? ""]: !se[v.id ?? ""] })), R(v)));
443
444
  };
444
445
  return /* @__PURE__ */ x("div", { style: { flexShrink: 0 }, children: [
445
446
  /* @__PURE__ */ x(
@@ -458,18 +459,18 @@ function Zt({
458
459
  paddingRight: g ? 0 : 10,
459
460
  borderRadius: e.r,
460
461
  margin: "1px 6px",
461
- cursor: O ? "not-allowed" : "pointer",
462
+ cursor: P ? "not-allowed" : "pointer",
462
463
  userSelect: "none",
463
464
  transition: "background .15s",
464
- background: ne ? e.primaryLt : "transparent",
465
- color: O ? e.textMut : ne ? e.primary : e.text,
466
- opacity: O ? 0.55 : 1
465
+ background: re ? e.primaryLt : "transparent",
466
+ color: P ? e.textMut : re ? e.primary : e.text,
467
+ opacity: P ? 0.55 : 1
467
468
  },
468
469
  onMouseEnter: (se) => {
469
- !ne && !O && (se.currentTarget.style.background = e.bg);
470
+ !re && !P && (se.currentTarget.style.background = e.bg);
470
471
  },
471
472
  onMouseLeave: (se) => {
472
- !ne && !O && (se.currentTarget.style.background = "transparent");
473
+ !re && !P && (se.currentTarget.style.background = "transparent");
473
474
  },
474
475
  children: [
475
476
  /* @__PURE__ */ x("span", { style: {
@@ -486,7 +487,7 @@ function Zt({
486
487
  !g && /* @__PURE__ */ t("span", { style: {
487
488
  flex: 1,
488
489
  fontSize: 13,
489
- fontWeight: ne ? 600 : 400,
490
+ fontWeight: re ? 600 : 400,
490
491
  overflow: "hidden",
491
492
  textOverflow: "ellipsis",
492
493
  whiteSpace: "nowrap"
@@ -496,14 +497,14 @@ function Zt({
496
497
  width: 14,
497
498
  height: 14,
498
499
  borderRadius: 2,
499
- border: `2px solid ${ne ? e.primary : e.borderDk}`,
500
- background: ne ? e.primary : "transparent",
500
+ border: `2px solid ${re ? e.primary : e.borderDk}`,
501
+ background: re ? e.primary : "transparent",
501
502
  flexShrink: 0,
502
503
  display: "flex",
503
504
  alignItems: "center",
504
505
  justifyContent: "center"
505
- }, children: ne && /* @__PURE__ */ t("span", { style: { color: "#fff", fontSize: 8, fontWeight: 700, lineHeight: 1 }, children: "✓" }) }),
506
- !g && J && !v.twoState && /* @__PURE__ */ t("span", { style: {
506
+ }, children: re && /* @__PURE__ */ t("span", { style: { color: "#fff", fontSize: 8, fontWeight: 700, lineHeight: 1 }, children: "✓" }) }),
507
+ !g && U && !v.twoState && /* @__PURE__ */ t("span", { style: {
507
508
  fontSize: 11,
508
509
  color: e.textMut,
509
510
  flexShrink: 0,
@@ -514,12 +515,12 @@ function Zt({
514
515
  ]
515
516
  }
516
517
  ),
517
- J && ee && !g && /* @__PURE__ */ t("div", { children: v.items.map((se, be) => S(se, j + 1, be)) })
518
- ] }, U);
519
- }, L = /* @__PURE__ */ x(
518
+ U && ee && !g && /* @__PURE__ */ t("div", { children: v.items.map((se, be) => S(se, j + 1, be)) })
519
+ ] }, Q);
520
+ }, T = /* @__PURE__ */ x(
520
521
  "div",
521
522
  {
522
- onClick: r,
523
+ onClick: n,
523
524
  style: {
524
525
  display: "flex",
525
526
  alignItems: "center",
@@ -548,8 +549,8 @@ function Zt({
548
549
  {
549
550
  className: "dhx",
550
551
  style: {
551
- width: P,
552
- minWidth: P,
552
+ width: O,
553
+ minWidth: O,
553
554
  background: e.surface,
554
555
  borderRight: `1px solid ${e.border}`,
555
556
  display: "flex",
@@ -575,101 +576,101 @@ function Zt({
575
576
  {
576
577
  className: "dhx-scroll",
577
578
  style: { flex: 1, overflowY: "auto", overflowX: "hidden", display: "flex", flexDirection: "column" },
578
- children: n.map((v, j) => S(v, 0, j))
579
+ children: r.map((v, j) => S(v, 0, j))
579
580
  }
580
581
  ),
581
- L,
582
- h && !g && /* @__PURE__ */ t("div", { style: { padding: "10px 14px", borderTop: `1px solid ${e.border}`, flexShrink: 0 }, children: h })
582
+ T,
583
+ f && !g && /* @__PURE__ */ t("div", { style: { padding: "10px 14px", borderTop: `1px solid ${e.border}`, flexShrink: 0 }, children: f })
583
584
  ]
584
585
  }
585
586
  );
586
587
  }
587
- function Dt({ config: n }) {
588
- const [i, d] = W(!1), s = {
588
+ function Dt({ config: r }) {
589
+ const [i, d] = B(!1), s = {
589
590
  position: "relative",
590
591
  background: e.surface,
591
592
  border: `1px solid ${e.border}`,
592
593
  borderRadius: e.r,
593
594
  overflow: "hidden",
594
- ...n.width ? { width: n.width, minWidth: n.width } : { flex: 1 },
595
- ...n.height ? { height: n.height, minHeight: n.height } : { minHeight: 40 },
595
+ ...r.width ? { width: r.width, minWidth: r.width } : { flex: 1 },
596
+ ...r.height ? { height: r.height, minHeight: r.height } : { minHeight: 40 },
596
597
  ...i ? { flex: "0 0 auto" } : {}
597
598
  };
598
599
  return /* @__PURE__ */ x("div", { style: s, children: [
599
- n.header && /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", padding: "6px 12px", background: e.bg, borderBottom: `1px solid ${e.border}`, fontSize: 12, fontWeight: 600, color: e.textSec, userSelect: "none" }, children: [
600
- /* @__PURE__ */ t("span", { children: n.header }),
601
- n.collapsable && /* @__PURE__ */ t("button", { onClick: () => d((h) => !h), style: { background: "none", border: "none", cursor: "pointer", color: e.textMut, fontSize: 16, lineHeight: 1 }, children: i ? "▼" : "▲" })
600
+ r.header && /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", padding: "6px 12px", background: e.bg, borderBottom: `1px solid ${e.border}`, fontSize: 12, fontWeight: 600, color: e.textSec, userSelect: "none" }, children: [
601
+ /* @__PURE__ */ t("span", { children: r.header }),
602
+ r.collapsable && /* @__PURE__ */ t("button", { onClick: () => d((f) => !f), style: { background: "none", border: "none", cursor: "pointer", color: e.textMut, fontSize: 16, lineHeight: 1 }, children: i ? "▼" : "▲" })
602
603
  ] }),
603
- !i && /* @__PURE__ */ x("div", { style: { padding: n.padding || 0, height: n.header ? "calc(100% - 33px)" : "100%", overflow: "auto" }, children: [
604
- n.html ? /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: n.html } }) : n.content,
605
- (n.rows || n.cols) && /* @__PURE__ */ t(Lt, { rows: n.rows, cols: n.cols, style: { height: "100%" } })
604
+ !i && /* @__PURE__ */ x("div", { style: { padding: r.padding || 0, height: r.header ? "calc(100% - 33px)" : "100%", overflow: "auto" }, children: [
605
+ r.html ? /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: r.html } }) : r.content,
606
+ (r.rows || r.cols) && /* @__PURE__ */ t(Ct, { rows: r.rows, cols: r.cols, style: { height: "100%" } })
606
607
  ] })
607
608
  ] });
608
609
  }
609
- function Lt({ rows: n, cols: i, type: d = "line", style: s, children: h }) {
610
- Q(Z, []);
611
- const a = d === "space" ? 12 : d === "wide" ? 8 : 1, f = n || i, p = !!n;
612
- return f ? /* @__PURE__ */ t("div", { className: "dhx", style: { display: "flex", flexDirection: p ? "column" : "row", gap: a, width: "100%", height: "100%", ...s }, children: f.map((y, z) => /* @__PURE__ */ t(Dt, { config: y }, y.id || z)) }) : /* @__PURE__ */ t("div", { className: "dhx", style: { width: "100%", height: "100%", ...s }, children: h });
610
+ function Ct({ rows: r, cols: i, type: d = "line", style: s, children: f }) {
611
+ J(Z, []);
612
+ const a = d === "space" ? 12 : d === "wide" ? 8 : 1, u = r || i, p = !!r;
613
+ return u ? /* @__PURE__ */ t("div", { className: "dhx", style: { display: "flex", flexDirection: p ? "column" : "row", gap: a, width: "100%", height: "100%", ...s }, children: u.map((y, M) => /* @__PURE__ */ t(Dt, { config: y }, y.id || M)) }) : /* @__PURE__ */ t("div", { className: "dhx", style: { width: "100%", height: "100%", ...s }, children: f });
613
614
  }
614
- function en({ views: n = [], mode: i = "top", tabAlign: d = "left", closable: s = [], disabled: h = [], defaultActive: a, onBeforeChange: f, onChange: p, style: y }) {
615
- var M;
616
- const [z, o] = W(a || ((M = n[0]) == null ? void 0 : M.id)), [b, $] = W(n.map((D) => D.id));
617
- Q(Z, []);
618
- const E = (D, V) => {
619
- D.stopPropagation(), $((u) => u.filter((N) => N !== V)), z === V && o(b.find((u) => u !== V) ?? "");
620
- }, H = (D) => {
621
- h.includes(D) || f && f(D) === !1 || (o(D), p == null || p(D));
622
- }, c = i === "left" || i === "right", w = n.filter((D) => b.includes(D.id)), C = /* @__PURE__ */ t("div", { style: { display: "flex", flexDirection: c ? "column" : "row", justifyContent: d === "center" ? "center" : d === "right" ? "flex-end" : "flex-start", background: e.surface, borderBottom: !c && i !== "bottom" ? `2px solid ${e.border}` : "none", borderTop: i === "bottom" ? `2px solid ${e.border}` : "none", borderRight: i === "left" ? `2px solid ${e.border}` : "none", borderLeft: i === "right" ? `2px solid ${e.border}` : "none", overflowX: "auto", flexShrink: 0 }, children: w.map((D) => {
623
- const V = z === D.id, u = h.includes(D.id), N = i === "bottom" ? { borderTop: `2px solid ${e.primary}`, color: e.primary, fontWeight: 600 } : c ? { color: e.primary, fontWeight: 600, background: e.primaryLt, [i === "left" ? "borderRight" : "borderLeft"]: `2px solid ${e.primary}` } : { borderBottom: `2px solid ${e.primary}`, color: e.primary, fontWeight: 600 };
615
+ function rr({ views: r = [], mode: i = "top", tabAlign: d = "left", closable: s = [], disabled: f = [], defaultActive: a, onBeforeChange: u, onChange: p, style: y }) {
616
+ var z;
617
+ const [M, o] = B(a || ((z = r[0]) == null ? void 0 : z.id)), [b, $] = B(r.map((C) => C.id));
618
+ J(Z, []);
619
+ const N = (C, V) => {
620
+ C.stopPropagation(), $((h) => h.filter((I) => I !== V)), M === V && o(b.find((h) => h !== V) ?? "");
621
+ }, D = (C) => {
622
+ f.includes(C) || u && u(C) === !1 || (o(C), p == null || p(C));
623
+ }, c = i === "left" || i === "right", w = r.filter((C) => b.includes(C.id)), L = /* @__PURE__ */ t("div", { style: { display: "flex", flexDirection: c ? "column" : "row", justifyContent: d === "center" ? "center" : d === "right" ? "flex-end" : "flex-start", background: e.surface, borderBottom: !c && i !== "bottom" ? `2px solid ${e.border}` : "none", borderTop: i === "bottom" ? `2px solid ${e.border}` : "none", borderRight: i === "left" ? `2px solid ${e.border}` : "none", borderLeft: i === "right" ? `2px solid ${e.border}` : "none", overflowX: "auto", flexShrink: 0 }, children: w.map((C) => {
624
+ const V = M === C.id, h = f.includes(C.id), I = i === "bottom" ? { borderTop: `2px solid ${e.primary}`, color: e.primary, fontWeight: 600 } : c ? { color: e.primary, fontWeight: 600, background: e.primaryLt, [i === "left" ? "borderRight" : "borderLeft"]: `2px solid ${e.primary}` } : { borderBottom: `2px solid ${e.primary}`, color: e.primary, fontWeight: 600 };
624
625
  return /* @__PURE__ */ x(
625
626
  "div",
626
627
  {
627
- onClick: () => H(D.id),
628
- style: { display: "flex", alignItems: "center", gap: 6, padding: "10px 16px", cursor: u ? "not-allowed" : "pointer", whiteSpace: "nowrap", fontSize: 13, transition: "color .15s", userSelect: "none", minWidth: c ? 120 : "auto", ...V ? N : { color: u ? e.textMut : e.textSec } },
628
+ onClick: () => D(C.id),
629
+ style: { display: "flex", alignItems: "center", gap: 6, padding: "10px 16px", cursor: h ? "not-allowed" : "pointer", whiteSpace: "nowrap", fontSize: 13, transition: "color .15s", userSelect: "none", minWidth: c ? 120 : "auto", ...V ? I : { color: h ? e.textMut : e.textSec } },
629
630
  children: [
630
- D.icon && /* @__PURE__ */ t("span", { style: { fontSize: 16 }, children: D.icon }),
631
- /* @__PURE__ */ t("span", { children: D.tab }),
632
- s.includes(D.id) && /* @__PURE__ */ t("span", { onClick: (l) => E(l, D.id), style: { marginLeft: 4, opacity: 0.6, fontSize: 12, cursor: "pointer" }, children: "✕" })
631
+ C.icon && /* @__PURE__ */ t("span", { style: { fontSize: 16 }, children: C.icon }),
632
+ /* @__PURE__ */ t("span", { children: C.tab }),
633
+ s.includes(C.id) && /* @__PURE__ */ t("span", { onClick: (l) => N(l, C.id), style: { marginLeft: 4, opacity: 0.6, fontSize: 12, cursor: "pointer" }, children: "✕" })
633
634
  ]
634
635
  },
635
- D.id
636
+ C.id
636
637
  );
637
- }) }), R = w.find((D) => D.id === z), A = /* @__PURE__ */ x("div", { className: "dhx-scroll", style: { flex: 1, overflow: "auto" }, children: [
638
- R == null ? void 0 : R.content,
639
- (R == null ? void 0 : R.html) && /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: R.html }, style: { padding: 16 } })
638
+ }) }), E = w.find((C) => C.id === M), A = /* @__PURE__ */ x("div", { className: "dhx-scroll", style: { flex: 1, overflow: "auto" }, children: [
639
+ E == null ? void 0 : E.content,
640
+ (E == null ? void 0 : E.html) && /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: E.html }, style: { padding: 16 } })
640
641
  ] });
641
642
  return /* @__PURE__ */ x("div", { className: "dhx", style: { display: "flex", flexDirection: i === "top" ? "column" : i === "bottom" ? "column-reverse" : i === "left" ? "row" : "row-reverse", width: "100%", height: "100%", background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.r, overflow: "hidden", ...y }, children: [
642
- C,
643
+ L,
643
644
  A
644
645
  ] });
645
646
  }
646
647
  const ge = `1px solid ${e.border}`;
647
- function Ct({ active: n, dir: i }) {
648
+ function Tt({ active: r, dir: i }) {
648
649
  return /* @__PURE__ */ x("span", { style: { display: "inline-flex", flexDirection: "column", gap: 1, flexShrink: 0, marginLeft: 4 }, children: [
649
- /* @__PURE__ */ t("svg", { width: "7", height: "4", viewBox: "0 0 7 4", children: /* @__PURE__ */ t("path", { d: "M3.5 0L7 4H0z", fill: n && i === "asc" ? e.primary : e.borderDk }) }),
650
- /* @__PURE__ */ t("svg", { width: "7", height: "4", viewBox: "0 0 7 4", children: /* @__PURE__ */ t("path", { d: "M3.5 4L0 0H7z", fill: n && i === "desc" ? e.primary : e.borderDk }) })
650
+ /* @__PURE__ */ t("svg", { width: "7", height: "4", viewBox: "0 0 7 4", children: /* @__PURE__ */ t("path", { d: "M3.5 0L7 4H0z", fill: r && i === "asc" ? e.primary : e.borderDk }) }),
651
+ /* @__PURE__ */ t("svg", { width: "7", height: "4", viewBox: "0 0 7 4", children: /* @__PURE__ */ t("path", { d: "M3.5 4L0 0H7z", fill: r && i === "desc" ? e.primary : e.borderDk }) })
651
652
  ] });
652
653
  }
653
- function Tt({ options: n, value: i, onChange: d, onCommit: s, onCancel: h }) {
654
- const [a, f] = W(i), [p, y] = W(!0), z = le(null);
655
- Q(() => {
654
+ function Rt({ options: r, value: i, onChange: d, onCommit: s, onCancel: f }) {
655
+ const [a, u] = B(i), [p, y] = B(!0), M = ie(null);
656
+ J(() => {
656
657
  const b = ($) => {
657
- z.current && !z.current.contains($.target) && s();
658
+ M.current && !M.current.contains($.target) && s();
658
659
  };
659
660
  return document.addEventListener("mousedown", b), () => document.removeEventListener("mousedown", b);
660
661
  }, [s]);
661
- const o = n.filter((b) => !a || b.toLowerCase().includes(a.toLowerCase()));
662
- return /* @__PURE__ */ x("div", { ref: z, style: { width: "100%", position: "relative" }, children: [
662
+ const o = r.filter((b) => !a || b.toLowerCase().includes(a.toLowerCase()));
663
+ return /* @__PURE__ */ x("div", { ref: M, style: { width: "100%", position: "relative" }, children: [
663
664
  /* @__PURE__ */ t(
664
665
  "input",
665
666
  {
666
667
  autoFocus: !0,
667
668
  value: a,
668
669
  onChange: (b) => {
669
- f(b.target.value), d(b.target.value), y(!0);
670
+ u(b.target.value), d(b.target.value), y(!0);
670
671
  },
671
672
  onKeyDown: (b) => {
672
- b.key === "Enter" && s(), b.key === "Escape" && h();
673
+ b.key === "Enter" && s(), b.key === "Escape" && f();
673
674
  },
674
675
  onClick: (b) => b.stopPropagation(),
675
676
  style: { width: "100%", border: "none", outline: `2px solid ${e.primary}`, borderRadius: 2, fontSize: 13, padding: "2px 4px", background: e.surface, color: e.text }
@@ -679,7 +680,7 @@ function Tt({ options: n, value: i, onChange: d, onCommit: s, onCancel: h }) {
679
680
  "div",
680
681
  {
681
682
  onMouseDown: ($) => {
682
- $.preventDefault(), d(b), f(b), y(!1), s();
683
+ $.preventDefault(), d(b), u(b), y(!1), s();
683
684
  },
684
685
  style: { padding: "6px 10px", cursor: "pointer", fontSize: 13, color: e.text },
685
686
  onMouseEnter: ($) => $.currentTarget.style.background = e.bg,
@@ -690,23 +691,23 @@ function Tt({ options: n, value: i, onChange: d, onCommit: s, onCancel: h }) {
690
691
  )) })
691
692
  ] });
692
693
  }
693
- function Rt(n, i) {
694
- if (n == null) return "";
695
- if (i === "number") return typeof n == "number" ? n.toLocaleString() : String(n);
694
+ function Nt(r, i) {
695
+ if (r == null) return "";
696
+ if (i === "number") return typeof r == "number" ? r.toLocaleString() : String(r);
696
697
  if (i === "date") {
697
- const d = n instanceof Date ? n : new Date(String(n));
698
- return isNaN(d.getTime()) ? String(n) : d.toLocaleDateString();
698
+ const d = r instanceof Date ? r : new Date(String(r));
699
+ return isNaN(d.getTime()) ? String(r) : d.toLocaleDateString();
699
700
  }
700
- return String(n);
701
+ return String(r);
701
702
  }
702
- function Nt(n, i, d) {
703
- return n == null ? 1 : i == null ? -1 : d === "date" ? new Date(String(n)).getTime() - new Date(String(i)).getTime() : d === "number" ? Number(n) - Number(i) : String(n) < String(i) ? -1 : String(n) > String(i) ? 1 : 0;
703
+ function Et(r, i, d) {
704
+ return r == null ? 1 : i == null ? -1 : d === "date" ? new Date(String(r)).getTime() - new Date(String(i)).getTime() : d === "number" ? Number(r) - Number(i) : String(r) < String(i) ? -1 : String(r) > String(i) ? 1 : 0;
704
705
  }
705
- function we(n) {
706
+ function we(r) {
706
707
  var i;
707
- return Array.isArray(n.header) && ((i = n.header[1]) == null ? void 0 : i.content) != null ? n.header[1].content : n.filterable ? n.filterType === "select" ? "selectFilter" : "inputFilter" : null;
708
+ return Array.isArray(r.header) && ((i = r.header[1]) == null ? void 0 : i.content) != null ? r.header[1].content : r.filterable ? r.filterType === "select" ? "selectFilter" : "inputFilter" : null;
708
709
  }
709
- function Et(n, i, d, s, h) {
710
+ function It(r, i, d, s, f) {
710
711
  const a = {
711
712
  width: "100%",
712
713
  border: "none",
@@ -716,8 +717,8 @@ function Et(n, i, d, s, h) {
716
717
  padding: "2px 4px",
717
718
  background: e.surface,
718
719
  color: e.text
719
- }, f = n.editorType ?? "input";
720
- if (f === "select") return /* @__PURE__ */ t(
720
+ }, u = r.editorType ?? "input";
721
+ if (u === "select") return /* @__PURE__ */ t(
721
722
  "select",
722
723
  {
723
724
  autoFocus: !0,
@@ -725,24 +726,24 @@ function Et(n, i, d, s, h) {
725
726
  onChange: (y) => d(y.target.value),
726
727
  onBlur: s,
727
728
  onKeyDown: (y) => {
728
- y.key === "Enter" && s(), y.key === "Escape" && h();
729
+ y.key === "Enter" && s(), y.key === "Escape" && f();
729
730
  },
730
731
  onClick: (y) => y.stopPropagation(),
731
732
  style: { ...a, cursor: "pointer" },
732
- children: (n.options ?? []).map((y) => /* @__PURE__ */ t("option", { value: y, children: y }, y))
733
+ children: (r.options ?? []).map((y) => /* @__PURE__ */ t("option", { value: y, children: y }, y))
733
734
  }
734
735
  );
735
- if (f === "combobox") return /* @__PURE__ */ t(
736
- Tt,
736
+ if (u === "combobox") return /* @__PURE__ */ t(
737
+ Rt,
737
738
  {
738
- options: n.options ?? [],
739
+ options: r.options ?? [],
739
740
  value: i,
740
741
  onChange: d,
741
742
  onCommit: s,
742
- onCancel: h
743
+ onCancel: f
743
744
  }
744
745
  );
745
- const p = n.type === "number" ? "number" : n.type === "date" ? "date" : "text";
746
+ const p = r.type === "number" ? "number" : r.type === "date" ? "date" : "text";
746
747
  return /* @__PURE__ */ t(
747
748
  "input",
748
749
  {
@@ -752,148 +753,148 @@ function Et(n, i, d, s, h) {
752
753
  onChange: (y) => d(y.target.value),
753
754
  onBlur: s,
754
755
  onKeyDown: (y) => {
755
- y.key === "Enter" && s(), y.key === "Escape" && h();
756
+ y.key === "Enter" && s(), y.key === "Escape" && f();
756
757
  },
757
758
  onClick: (y) => y.stopPropagation(),
758
759
  style: a
759
760
  }
760
761
  );
761
762
  }
762
- function tn({
763
- columns: n,
763
+ function nr({
764
+ columns: r,
764
765
  data: i = [],
765
766
  height: d = 400,
766
767
  rowHeight: s = 40,
767
- headerRowHeight: h = 40,
768
+ headerRowHeight: f = 40,
768
769
  footerRowHeight: a = 40,
769
- sortable: f = !0,
770
+ sortable: u = !0,
770
771
  resizable: p = !0,
771
772
  editable: y = !1,
772
- stripe: z = !1,
773
+ stripe: M = !1,
773
774
  autoWidth: o = !1,
774
775
  keyNavigation: b = !1,
775
776
  selection: $,
776
- multiselect: E,
777
- leftSplit: H = 0,
777
+ multiselect: N,
778
+ leftSplit: D = 0,
778
779
  onSelect: c,
779
780
  onChange: w,
780
- style: C
781
+ style: L
781
782
  }) {
782
783
  var Te;
783
- const [R, A] = W(null), [M, D] = W("asc"), [V, u] = W({}), [N, l] = W(/* @__PURE__ */ new Set()), [g, K] = W(-1), [P, r] = W(
784
- () => Object.fromEntries(n.map((m) => [m.id, m.width ?? m.minWidth ?? 150]))
785
- ), [T, F] = W(null), [k, S] = W(""), [L, v] = W({}), j = le(null), [X, U] = W(0);
786
- Q(Z, []), Q(() => {
784
+ const [E, A] = B(null), [z, C] = B("asc"), [V, h] = B({}), [I, l] = B(/* @__PURE__ */ new Set()), [g, K] = B(-1), [O, n] = B(
785
+ () => Object.fromEntries(r.map((m) => [m.id, m.width ?? m.minWidth ?? 150]))
786
+ ), [R, F] = B(null), [k, S] = B(""), [T, v] = B({}), j = ie(null), [X, Q] = B(0);
787
+ J(Z, []), J(() => {
787
788
  if (!o || !j.current) return;
788
789
  const m = new ResizeObserver(() => {
789
- var I;
790
- return U(((I = j.current) == null ? void 0 : I.offsetWidth) ?? 0);
790
+ var W;
791
+ return Q(((W = j.current) == null ? void 0 : W.offsetWidth) ?? 0);
791
792
  });
792
793
  return m.observe(j.current), () => m.disconnect();
793
794
  }, [o]);
794
795
  const q = ue(
795
- () => n.map(
796
+ () => r.map(
796
797
  (m) => m.summary && (!m.footer || m.footer.length === 0) ? { ...m, footer: [{ summary: m.summary }] } : m
797
798
  ),
798
- [n]
799
- ), J = ue(
799
+ [r]
800
+ ), U = ue(
800
801
  () => q.filter((m) => !m.hidden),
801
802
  [q]
802
803
  ), ee = ue(() => {
803
- if (!o || X === 0) return P;
804
- const m = J.reduce((B, _) => B + (P[_.id] ?? 150), 0);
805
- if (X <= m) return P;
806
- const I = (X - m) / J.length;
807
- return Object.fromEntries(J.map((B) => [B.id, (P[B.id] ?? 150) + I]));
808
- }, [o, X, P, J]), te = ue(() => {
809
- let m = i.map((I, B) => {
810
- const _ = String(I.id ?? B);
811
- return L[_] ? { ...I, ...L[_] } : I;
804
+ if (!o || X === 0) return O;
805
+ const m = U.reduce((H, _) => H + (O[_.id] ?? 150), 0);
806
+ if (X <= m) return O;
807
+ const W = (X - m) / U.length;
808
+ return Object.fromEntries(U.map((H) => [H.id, (O[H.id] ?? 150) + W]));
809
+ }, [o, X, O, U]), te = ue(() => {
810
+ let m = i.map((W, H) => {
811
+ const _ = String(W.id ?? H);
812
+ return T[_] ? { ...W, ...T[_] } : W;
812
813
  }).filter(
813
- (I) => Object.entries(V).every(
814
- ([B, _]) => !_ || String(I[B] ?? "").toLowerCase().includes(_.toLowerCase())
814
+ (W) => Object.entries(V).every(
815
+ ([H, _]) => !_ || String(W[H] ?? "").toLowerCase().includes(_.toLowerCase())
815
816
  )
816
817
  );
817
- if (R) {
818
- const I = q.find((B) => B.id === R);
819
- m = [...m].sort((B, _) => {
820
- const G = Nt(B[R], _[R], I == null ? void 0 : I.type);
821
- return M === "asc" ? G : -G;
818
+ if (E) {
819
+ const W = q.find((H) => H.id === E);
820
+ m = [...m].sort((H, _) => {
821
+ const G = Et(H[E], _[E], W == null ? void 0 : W.type);
822
+ return z === "asc" ? G : -G;
822
823
  });
823
824
  }
824
825
  return m;
825
- }, [i, R, M, V, L, q]), pe = ue(() => {
826
+ }, [i, E, z, V, T, q]), pe = ue(() => {
826
827
  const m = {};
827
- return q.forEach((I) => {
828
- var B;
829
- if ((B = I.footer) != null && B.some((_) => _.summary)) {
830
- const _ = te.map((Y) => Number(Y[I.id])).filter((Y) => !isNaN(Y)), G = _.reduce((Y, re) => Y + re, 0);
831
- m[I.id] = { sum: G, avg: _.length ? G / _.length : 0, count: te.length, min: _.length ? Math.min(..._) : 0, max: _.length ? Math.max(..._) : 0 };
828
+ return q.forEach((W) => {
829
+ var H;
830
+ if ((H = W.footer) != null && H.some((_) => _.summary)) {
831
+ const _ = te.map((Y) => Number(Y[W.id])).filter((Y) => !isNaN(Y)), G = _.reduce((Y, ne) => Y + ne, 0);
832
+ m[W.id] = { sum: G, avg: _.length ? G / _.length : 0, count: te.length, min: _.length ? Math.min(..._) : 0, max: _.length ? Math.max(..._) : 0 };
832
833
  }
833
834
  }), m;
834
- }, [te, q]), ne = ue(() => {
835
+ }, [te, q]), re = ue(() => {
835
836
  const m = {};
836
- return J.filter((I) => {
837
- const B = we(I);
838
- return B === "selectFilter" || B === "comboFilter";
839
- }).forEach((I) => {
840
- m[I.id] = [...new Set(i.map((B) => String(B[I.id] ?? "")))].sort();
837
+ return U.filter((W) => {
838
+ const H = we(W);
839
+ return H === "selectFilter" || H === "comboFilter";
840
+ }).forEach((W) => {
841
+ m[W.id] = [...new Set(i.map((H) => String(H[W.id] ?? "")))].sort();
841
842
  }), m;
842
- }, [i, J]), O = J.some((m) => we(m) !== null), de = q.some((m) => {
843
- var I;
844
- return (I = m.footer) == null ? void 0 : I.length;
845
- }), ve = J.reduce((m, I) => m + (ee[I.id] ?? 150), 0), ce = ue(() => {
846
- if (!H) return {};
843
+ }, [i, U]), P = U.some((m) => we(m) !== null), de = q.some((m) => {
844
+ var W;
845
+ return (W = m.footer) == null ? void 0 : W.length;
846
+ }), ve = U.reduce((m, W) => m + (ee[W.id] ?? 150), 0), ce = ue(() => {
847
+ if (!D) return {};
847
848
  let m = 0;
848
- const I = {};
849
- return J.forEach((B, _) => {
850
- _ < H && (I[B.id] = m, m += ee[B.id] ?? 150);
851
- }), I;
852
- }, [H, J, ee]), se = H > 0 ? (Te = J[H - 1]) == null ? void 0 : Te.id : null, be = (m, I) => m.id ?? I, qe = (m) => {
853
- !f || m.sortable === !1 || (D((I) => R === m.id && I === "asc" ? "desc" : "asc"), A(m.id));
854
- }, Se = (m, I) => {
849
+ const W = {};
850
+ return U.forEach((H, _) => {
851
+ _ < D && (W[H.id] = m, m += ee[H.id] ?? 150);
852
+ }), W;
853
+ }, [D, U, ee]), se = D > 0 ? (Te = U[D - 1]) == null ? void 0 : Te.id : null, be = (m, W) => m.id ?? W, qe = (m) => {
854
+ !u || m.sortable === !1 || (C((W) => E === m.id && W === "asc" ? "desc" : "asc"), A(m.id));
855
+ }, Se = (m, W) => {
855
856
  if (!$) return;
856
- const B = be(m, I);
857
- K(I), l((_) => {
858
- const G = E ? new Set(_) : /* @__PURE__ */ new Set();
859
- return G.has(B) ? G.delete(B) : G.add(B), G;
857
+ const H = be(m, W);
858
+ K(W), l((_) => {
859
+ const G = N ? new Set(_) : /* @__PURE__ */ new Set();
860
+ return G.has(H) ? G.delete(H) : G.add(H), G;
860
861
  }), c == null || c(m);
861
862
  }, Ge = () => {
862
- if (!T) return;
863
- const { key: m, colId: I } = T;
864
- v((_) => ({ ..._, [String(m)]: { ..._[String(m)] || {}, [I]: k } }));
865
- const B = te.find((_, G) => be(_, G) === m);
866
- B && (w == null || w(B, I, k)), F(null);
863
+ if (!R) return;
864
+ const { key: m, colId: W } = R;
865
+ v((_) => ({ ..._, [String(m)]: { ..._[String(m)] || {}, [W]: k } }));
866
+ const H = te.find((_, G) => be(_, G) === m);
867
+ H && (w == null || w(H, W, k)), F(null);
867
868
  }, Je = (m) => {
868
- if (T && m.key === "Escape") {
869
+ if (R && m.key === "Escape") {
869
870
  F(null);
870
871
  return;
871
872
  }
872
873
  if (!(!b || !$)) {
873
874
  if (m.key === "ArrowDown") {
874
875
  m.preventDefault();
875
- const I = Math.min(g + 1, te.length - 1);
876
- I >= 0 && Se(te[I], I);
876
+ const W = Math.min(g + 1, te.length - 1);
877
+ W >= 0 && Se(te[W], W);
877
878
  } else if (m.key === "ArrowUp") {
878
879
  m.preventDefault();
879
- const I = Math.max(g - 1, 0);
880
- I >= 0 && Se(te[I], I);
880
+ const W = Math.max(g - 1, 0);
881
+ W >= 0 && Se(te[W], W);
881
882
  }
882
883
  }
883
- }, Ue = (m, I) => {
884
+ }, Ue = (m, W) => {
884
885
  m.preventDefault(), m.stopPropagation();
885
- const B = m.clientX, _ = P[I] ?? 150, G = n.find((oe) => oe.id === I), Y = (oe) => r((he) => ({
886
+ const H = m.clientX, _ = O[W] ?? 150, G = r.find((oe) => oe.id === W), Y = (oe) => n((he) => ({
886
887
  ...he,
887
- [I]: Math.max((G == null ? void 0 : G.minWidth) || 50, _ + oe.clientX - B)
888
- })), re = () => {
889
- document.removeEventListener("mousemove", Y), document.removeEventListener("mouseup", re);
888
+ [W]: Math.max((G == null ? void 0 : G.minWidth) || 50, _ + oe.clientX - H)
889
+ })), ne = () => {
890
+ document.removeEventListener("mousemove", Y), document.removeEventListener("mouseup", ne);
890
891
  };
891
- document.addEventListener("mousemove", Y), document.addEventListener("mouseup", re);
892
- }, ke = (m, I, B, _, G, Y = "hidden") => {
893
- const re = m in ce;
892
+ document.addEventListener("mousemove", Y), document.addEventListener("mouseup", ne);
893
+ }, ke = (m, W, H, _, G, Y = "hidden") => {
894
+ const ne = m in ce;
894
895
  return {
895
- width: I,
896
- minWidth: I,
896
+ width: W,
897
+ minWidth: W,
897
898
  flexShrink: 0,
898
899
  boxSizing: "border-box",
899
900
  padding: "0 12px",
@@ -904,11 +905,11 @@ function tn({
904
905
  textOverflow: "ellipsis",
905
906
  whiteSpace: "nowrap",
906
907
  fontSize: 13,
907
- textAlign: B,
908
- justifyContent: B === "center" ? "center" : B === "right" ? "flex-end" : "flex-start",
908
+ textAlign: H,
909
+ justifyContent: H === "center" ? "center" : H === "right" ? "flex-end" : "flex-start",
909
910
  borderLeft: _ ? "none" : ge,
910
- position: re ? "sticky" : "relative",
911
- ...re ? {
911
+ position: ne ? "sticky" : "relative",
912
+ ...ne ? {
912
913
  left: ce[m],
913
914
  zIndex: 1,
914
915
  boxShadow: m === se ? "2px 0 6px rgba(0,0,0,0.1)" : void 0
@@ -922,27 +923,27 @@ function tn({
922
923
  className: "dhx",
923
924
  tabIndex: b ? 0 : void 0,
924
925
  onKeyDown: Je,
925
- style: { width: "100%", height: d, display: "flex", flexDirection: "column", border: ge, borderRadius: e.r, overflow: "hidden", outline: "none", ...C },
926
+ style: { width: "100%", height: d, display: "flex", flexDirection: "column", border: ge, borderRadius: e.r, overflow: "hidden", outline: "none", ...L },
926
927
  children: /* @__PURE__ */ t("div", { className: "dhx-scroll", style: { overflow: "auto", flex: 1 }, children: /* @__PURE__ */ x("div", { style: { minWidth: ve, display: "flex", flexDirection: "column", minHeight: "100%" }, children: [
927
- /* @__PURE__ */ t("div", { style: { display: "flex", background: e.bg, borderBottom: ge, flexShrink: 0, position: "sticky", top: 0, zIndex: 3 }, children: J.map((m, I) => {
928
- const B = Array.isArray(m.header) ? m.header[0] : null, _ = (B == null ? void 0 : B.text) ?? (typeof m.header == "string" ? m.header : m.id), G = (B == null ? void 0 : B.align) ?? m.align, Y = ee[m.id] ?? 150, re = m.id in ce;
928
+ /* @__PURE__ */ t("div", { style: { display: "flex", background: e.bg, borderBottom: ge, flexShrink: 0, position: "sticky", top: 0, zIndex: 3 }, children: U.map((m, W) => {
929
+ const H = Array.isArray(m.header) ? m.header[0] : null, _ = (H == null ? void 0 : H.text) ?? (typeof m.header == "string" ? m.header : m.id), G = (H == null ? void 0 : H.align) ?? m.align, Y = ee[m.id] ?? 150, ne = m.id in ce;
929
930
  return /* @__PURE__ */ x(
930
931
  "div",
931
932
  {
932
933
  onClick: () => qe(m),
933
934
  style: {
934
- ...ke(m.id, Y, G, I === 0, h),
935
+ ...ke(m.id, Y, G, W === 0, f),
935
936
  fontWeight: 500,
936
937
  color: e.text,
937
938
  background: e.bg,
938
- cursor: f && m.sortable !== !1 ? "pointer" : "default",
939
+ cursor: u && m.sortable !== !1 ? "pointer" : "default",
939
940
  userSelect: "none",
940
- ...re ? { zIndex: 4 } : {}
941
+ ...ne ? { zIndex: 4 } : {}
941
942
  },
942
943
  children: [
943
- B != null && B.htmlEnable ? /* @__PURE__ */ t("span", { style: { flex: 1, overflow: "hidden" }, dangerouslySetInnerHTML: { __html: _ } }) : /* @__PURE__ */ t("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: _ }),
944
- f && m.sortable !== !1 && /* @__PURE__ */ t(Ct, { active: R === m.id, dir: M }),
945
- p && m.resizable !== !1 && I < J.length - 1 && /* @__PURE__ */ t(
944
+ H != null && H.htmlEnable ? /* @__PURE__ */ t("span", { style: { flex: 1, overflow: "hidden" }, dangerouslySetInnerHTML: { __html: _ } }) : /* @__PURE__ */ t("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: _ }),
945
+ u && m.sortable !== !1 && /* @__PURE__ */ t(Tt, { active: E === m.id, dir: z }),
946
+ p && m.resizable !== !1 && W < U.length - 1 && /* @__PURE__ */ t(
946
947
  "div",
947
948
  {
948
949
  onMouseDown: (oe) => Ue(oe, m.id),
@@ -957,21 +958,21 @@ function tn({
957
958
  m.id
958
959
  );
959
960
  }) }),
960
- O && /* @__PURE__ */ t("div", { style: {
961
+ P && /* @__PURE__ */ t("div", { style: {
961
962
  display: "flex",
962
963
  borderBottom: ge,
963
964
  background: e.surface,
964
965
  flexShrink: 0,
965
- ...H ? { position: "sticky", top: h, zIndex: 3 } : {}
966
- }, children: J.map((m, I) => {
967
- const B = we(m), _ = ee[m.id] ?? 150, G = m.id in ce;
966
+ ...D ? { position: "sticky", top: f, zIndex: 3 } : {}
967
+ }, children: U.map((m, W) => {
968
+ const H = we(m), _ = ee[m.id] ?? 150, G = m.id in ce;
968
969
  return /* @__PURE__ */ t("div", { style: {
969
970
  width: _,
970
971
  minWidth: _,
971
972
  flexShrink: 0,
972
973
  padding: "4px 6px",
973
974
  boxSizing: "border-box",
974
- borderLeft: I === 0 ? "none" : ge,
975
+ borderLeft: W === 0 ? "none" : ge,
975
976
  background: e.surface,
976
977
  ...G ? {
977
978
  position: "sticky",
@@ -979,42 +980,42 @@ function tn({
979
980
  zIndex: 4,
980
981
  boxShadow: m.id === se ? "2px 0 6px rgba(0,0,0,0.1)" : void 0
981
982
  } : {}
982
- }, children: B === "selectFilter" || B === "comboFilter" ? /* @__PURE__ */ x(
983
+ }, children: H === "selectFilter" || H === "comboFilter" ? /* @__PURE__ */ x(
983
984
  "select",
984
985
  {
985
986
  className: "dhx dhx-input",
986
987
  style: { height: 26, fontSize: 12, padding: "0 4px" },
987
988
  value: V[m.id] || "",
988
- onChange: (Y) => u((re) => ({ ...re, [m.id]: Y.target.value })),
989
+ onChange: (Y) => h((ne) => ({ ...ne, [m.id]: Y.target.value })),
989
990
  children: [
990
991
  /* @__PURE__ */ t("option", { value: "", children: "All" }),
991
- (ne[m.id] || []).map((Y) => /* @__PURE__ */ t("option", { value: Y, children: Y }, Y))
992
+ (re[m.id] || []).map((Y) => /* @__PURE__ */ t("option", { value: Y, children: Y }, Y))
992
993
  ]
993
994
  }
994
- ) : B === "inputFilter" ? /* @__PURE__ */ t(
995
+ ) : H === "inputFilter" ? /* @__PURE__ */ t(
995
996
  "input",
996
997
  {
997
998
  className: "dhx dhx-input",
998
999
  style: { height: 26, fontSize: 12 },
999
1000
  placeholder: "Filter...",
1000
1001
  value: V[m.id] || "",
1001
- onChange: (Y) => u((re) => ({ ...re, [m.id]: Y.target.value }))
1002
+ onChange: (Y) => h((ne) => ({ ...ne, [m.id]: Y.target.value }))
1002
1003
  }
1003
1004
  ) : null }, m.id);
1004
1005
  }) }),
1005
1006
  /* @__PURE__ */ x("div", { style: { flex: 1 }, children: [
1006
- te.map((m, I) => {
1007
- const B = be(m, I), _ = N.has(B), G = _ ? e.primaryLt : z && I % 2 !== 0 ? e.bg : e.surface;
1007
+ te.map((m, W) => {
1008
+ const H = be(m, W), _ = I.has(H), G = _ ? e.primaryLt : M && W % 2 !== 0 ? e.bg : e.surface;
1008
1009
  return /* @__PURE__ */ t(
1009
1010
  "div",
1010
1011
  {
1011
1012
  style: { display: "flex", height: s, borderBottom: ge, flexShrink: 0, background: G, transition: "background .1s", cursor: $ ? "pointer" : "default" },
1012
1013
  onMouseEnter: (Y) => !_ && (Y.currentTarget.style.background = e.primaryLt + "80"),
1013
1014
  onMouseLeave: (Y) => !_ && (Y.currentTarget.style.background = G),
1014
- children: J.map((Y, re) => {
1015
- const oe = (T == null ? void 0 : T.key) === B && (T == null ? void 0 : T.colId) === Y.id, he = m[Y.id], Qe = ee[Y.id] ?? 150, Re = (y || Y.editable) && Y.editable !== !1;
1015
+ children: U.map((Y, ne) => {
1016
+ const oe = (R == null ? void 0 : R.key) === H && (R == null ? void 0 : R.colId) === Y.id, he = m[Y.id], Qe = ee[Y.id] ?? 150, Re = (y || Y.editable) && Y.editable !== !1;
1016
1017
  let ye;
1017
- return oe ? ye = Et(Y, k, S, Ge, () => F(null)) : Y.template ? ye = Y.template(he, m) : Y.htmlEnable ? ye = /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: String(he ?? "") } }) : Y.type === "boolean" ? ye = /* @__PURE__ */ t(
1018
+ return oe ? ye = It(Y, k, S, Ge, () => F(null)) : Y.template ? ye = Y.template(he, m) : Y.htmlEnable ? ye = /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: String(he ?? "") } }) : Y.type === "boolean" ? ye = /* @__PURE__ */ t(
1018
1019
  "input",
1019
1020
  {
1020
1021
  type: "checkbox",
@@ -1022,87 +1023,87 @@ function tn({
1022
1023
  checked: !!he,
1023
1024
  style: { width: 16, height: 16, accentColor: e.primary, cursor: Re ? "pointer" : "default" }
1024
1025
  }
1025
- ) : ye = Rt(he, Y.type), /* @__PURE__ */ t(
1026
+ ) : ye = Nt(he, Y.type), /* @__PURE__ */ t(
1026
1027
  "div",
1027
1028
  {
1028
1029
  onClick: () => {
1029
- if (Se(m, I), !!Re)
1030
+ if (Se(m, W), !!Re)
1030
1031
  if (Y.type === "boolean") {
1031
- const Ne = !he, Ee = String(B);
1032
+ const Ne = !he, Ee = String(H);
1032
1033
  v((Ie) => ({ ...Ie, [Ee]: { ...Ie[Ee] || {}, [Y.id]: Ne } })), w == null || w(m, Y.id, Ne);
1033
1034
  } else
1034
- F({ key: B, colId: Y.id }), S(String(he ?? ""));
1035
+ F({ key: H, colId: Y.id }), S(String(he ?? ""));
1035
1036
  },
1036
- style: { ...ke(Y.id, Qe, Y.align, re === 0, s, oe ? "visible" : "hidden"), background: G },
1037
+ style: { ...ke(Y.id, Qe, Y.align, ne === 0, s, oe ? "visible" : "hidden"), background: G },
1037
1038
  children: ye
1038
1039
  },
1039
1040
  Y.id
1040
1041
  );
1041
1042
  })
1042
1043
  },
1043
- String(B)
1044
+ String(H)
1044
1045
  );
1045
1046
  }),
1046
1047
  te.length === 0 && /* @__PURE__ */ t("div", { style: { textAlign: "center", padding: 40, color: e.textMut, fontSize: 13 }, children: "No data" })
1047
1048
  ] }),
1048
- de && /* @__PURE__ */ t("div", { style: { display: "flex", borderTop: ge, background: e.bg, flexShrink: 0, position: "sticky", bottom: 0, zIndex: 2 }, children: J.map((m, I) => {
1049
+ de && /* @__PURE__ */ t("div", { style: { display: "flex", borderTop: ge, background: e.bg, flexShrink: 0, position: "sticky", bottom: 0, zIndex: 2 }, children: U.map((m, W) => {
1049
1050
  var oe;
1050
- const B = (oe = m.footer) == null ? void 0 : oe[0], _ = pe[m.id] ?? { sum: 0, avg: 0, count: 0, min: 0, max: 0 };
1051
+ const H = (oe = m.footer) == null ? void 0 : oe[0], _ = pe[m.id] ?? { sum: 0, avg: 0, count: 0, min: 0, max: 0 };
1051
1052
  let G = "";
1052
- B && (typeof B.text == "function" ? G = B.text(_) : B.text ? G = B.text : B.summary && (G = String(Math.round(_[B.summary] * 100) / 100)));
1053
- const Y = ee[m.id] ?? 150, re = m.id in ce;
1053
+ H && (typeof H.text == "function" ? G = H.text(_) : H.text ? G = H.text : H.summary && (G = String(Math.round(_[H.summary] * 100) / 100)));
1054
+ const Y = ee[m.id] ?? 150, ne = m.id in ce;
1054
1055
  return /* @__PURE__ */ t("div", { style: {
1055
- ...ke(m.id, Y, m.align, I === 0, a),
1056
+ ...ke(m.id, Y, m.align, W === 0, a),
1056
1057
  fontWeight: 600,
1057
1058
  color: e.text,
1058
1059
  background: e.bg,
1059
- ...re ? { zIndex: 3 } : {}
1060
+ ...ne ? { zIndex: 3 } : {}
1060
1061
  }, children: G }, m.id);
1061
1062
  }) })
1062
1063
  ] }) })
1063
1064
  }
1064
1065
  );
1065
1066
  }
1066
- const ie = ["#0288d1", "#43a047", "#f57c00", "#e53935", "#8e24aa", "#00838f", "#ef6c00", "#2e7d32"];
1067
- function It(n, i, d) {
1068
- const s = n.filter((a) => !a.parent), h = n.filter((a) => !!a.parent);
1067
+ const le = ["#0288d1", "#43a047", "#f57c00", "#e53935", "#8e24aa", "#00838f", "#ef6c00", "#2e7d32"];
1068
+ function Wt(r, i, d) {
1069
+ const s = r.filter((a) => !a.parent), f = r.filter((a) => !!a.parent);
1069
1070
  return s.map((a) => ({
1070
1071
  name: a[d],
1071
- children: h.filter((f) => f.parent === a.id).map((f) => ({ name: f[d], value: Number(f[i] ?? 0) }))
1072
+ children: f.filter((u) => u.parent === a.id).map((u) => ({ name: u[d], value: Number(u[i] ?? 0) }))
1072
1073
  }));
1073
1074
  }
1074
- function nn({
1075
- type: n = "bar",
1075
+ function or({
1076
+ type: r = "bar",
1076
1077
  data: i = [],
1077
1078
  series: d = [],
1078
1079
  scales: s = {},
1079
- legend: h,
1080
+ legend: f,
1080
1081
  height: a = 280,
1081
- style: f
1082
+ style: u
1082
1083
  }) {
1083
- var w, C, R, A, M, D, V, u, N, l, g, K, P, r, T, F;
1084
- Q(Z, []);
1084
+ var w, L, E, A, z, C, V, h, I, l, g, K, O, n, R, F;
1085
+ J(Z, []);
1085
1086
  const p = ((w = s.bottom) == null ? void 0 : w.text) || i[0] && Object.keys(i[0])[0] || "x", y = /* @__PURE__ */ t(
1086
1087
  tt,
1087
1088
  {
1088
1089
  contentStyle: { fontSize: 12, borderRadius: e.r, border: `1px solid ${e.border}` }
1089
1090
  }
1090
- ), z = h ? /* @__PURE__ */ t(
1091
- nt,
1091
+ ), M = f ? /* @__PURE__ */ t(
1092
+ rt,
1092
1093
  {
1093
1094
  iconSize: 10,
1094
1095
  wrapperStyle: { fontSize: 12 },
1095
- verticalAlign: h.valign === "bottom" ? "bottom" : h.valign === "middle" ? "middle" : "top",
1096
- align: h.halign ?? "center"
1096
+ verticalAlign: f.valign === "bottom" ? "bottom" : f.valign === "middle" ? "middle" : "top",
1097
+ align: f.halign ?? "center"
1097
1098
  }
1098
- ) : null, o = /* @__PURE__ */ t(rt, { strokeDasharray: "3 3", stroke: e.border }), b = /* @__PURE__ */ t(
1099
+ ) : null, o = /* @__PURE__ */ t(nt, { strokeDasharray: "3 3", stroke: e.border }), b = /* @__PURE__ */ t(
1099
1100
  We,
1100
1101
  {
1101
1102
  dataKey: p,
1102
1103
  tick: { fontSize: 11, fill: e.textSec },
1103
1104
  axisLine: { stroke: e.border },
1104
1105
  tickLine: !1,
1105
- label: (C = s.bottom) != null && C.title ? { value: s.bottom.title, position: "insideBottom", offset: -4, fontSize: 11 } : void 0
1106
+ label: (L = s.bottom) != null && L.title ? { value: s.bottom.title, position: "insideBottom", offset: -4, fontSize: 11 } : void 0
1106
1107
  }
1107
1108
  ), $ = /* @__PURE__ */ t(
1108
1109
  Be,
@@ -1110,83 +1111,83 @@ function nn({
1110
1111
  tick: { fontSize: 11, fill: e.textSec },
1111
1112
  axisLine: !1,
1112
1113
  tickLine: !1,
1113
- domain: [((R = s.left) == null ? void 0 : R.min) ?? "auto", ((A = s.left) == null ? void 0 : A.max) ?? "auto"],
1114
- tickCount: (M = s.left) == null ? void 0 : M.maxTicks,
1115
- label: (D = s.left) != null && D.title ? { value: s.left.title, angle: -90, position: "insideLeft", fontSize: 11 } : void 0
1114
+ domain: [((E = s.left) == null ? void 0 : E.min) ?? "auto", ((A = s.left) == null ? void 0 : A.max) ?? "auto"],
1115
+ tickCount: (z = s.left) == null ? void 0 : z.maxTicks,
1116
+ label: (C = s.left) != null && C.title ? { value: s.left.title, angle: -90, position: "insideLeft", fontSize: 11 } : void 0
1116
1117
  }
1117
- ), E = {
1118
+ ), N = {
1118
1119
  top: 10,
1119
1120
  right: 20,
1120
1121
  left: 0,
1121
1122
  bottom: (V = s.bottom) != null && V.title ? 20 : 0
1122
- }, H = { data: i, margin: E };
1123
+ }, D = { data: i, margin: N };
1123
1124
  let c;
1124
- if (n === "bar")
1125
- c = /* @__PURE__ */ x(ot, { ...H, children: [
1125
+ if (r === "bar")
1126
+ c = /* @__PURE__ */ x(ot, { ...D, children: [
1126
1127
  o,
1127
1128
  b,
1128
1129
  $,
1129
1130
  y,
1130
- z,
1131
+ M,
1131
1132
  d.map((k, S) => /* @__PURE__ */ t(
1132
1133
  it,
1133
1134
  {
1134
1135
  dataKey: k.value || k.id || "",
1135
1136
  name: k.label || k.id,
1136
- fill: k.fill || k.color || ie[S % ie.length],
1137
+ fill: k.fill || k.color || le[S % le.length],
1137
1138
  radius: [3, 3, 0, 0]
1138
1139
  },
1139
1140
  k.id ?? S
1140
1141
  ))
1141
1142
  ] });
1142
- else if (n === "line")
1143
- c = /* @__PURE__ */ x(lt, { ...H, children: [
1143
+ else if (r === "line")
1144
+ c = /* @__PURE__ */ x(lt, { ...D, children: [
1144
1145
  o,
1145
1146
  b,
1146
1147
  $,
1147
1148
  y,
1148
- z,
1149
+ M,
1149
1150
  d.map((k, S) => {
1150
- const L = k.color || ie[S % ie.length];
1151
+ const T = k.color || le[S % le.length];
1151
1152
  return /* @__PURE__ */ t(
1152
1153
  st,
1153
1154
  {
1154
1155
  type: "monotone",
1155
1156
  dataKey: k.value || k.id || "",
1156
1157
  name: k.label || k.id,
1157
- stroke: L,
1158
+ stroke: T,
1158
1159
  strokeWidth: k.strokeWidth ?? 2,
1159
- dot: { r: 3, fill: L }
1160
+ dot: { r: 3, fill: T }
1160
1161
  },
1161
1162
  k.id ?? S
1162
1163
  );
1163
1164
  })
1164
1165
  ] });
1165
- else if (n === "area")
1166
- c = /* @__PURE__ */ x(at, { ...H, children: [
1166
+ else if (r === "area")
1167
+ c = /* @__PURE__ */ x(at, { ...D, children: [
1167
1168
  o,
1168
1169
  b,
1169
1170
  $,
1170
1171
  y,
1171
- z,
1172
+ M,
1172
1173
  d.map((k, S) => {
1173
- const L = k.color || ie[S % ie.length];
1174
+ const T = k.color || le[S % le.length];
1174
1175
  return /* @__PURE__ */ t(
1175
1176
  dt,
1176
1177
  {
1177
1178
  type: "monotone",
1178
1179
  dataKey: k.value || k.id || "",
1179
1180
  name: k.label || k.id,
1180
- stroke: L,
1181
- fill: (k.fill || L) + "33",
1181
+ stroke: T,
1182
+ fill: (k.fill || T) + "33",
1182
1183
  strokeWidth: k.strokeWidth ?? 2
1183
1184
  },
1184
1185
  k.id ?? S
1185
1186
  );
1186
1187
  })
1187
1188
  ] });
1188
- else if (n === "pie" || n === "donut") {
1189
- const k = d[0] || {}, S = k.value || "value", L = k.text || "name", v = k.color && i[0] && k.color in i[0] ? k.color : null;
1189
+ else if (r === "pie" || r === "donut") {
1190
+ const k = d[0] || {}, S = k.value || "value", T = k.text || "name", v = k.color && i[0] && k.color in i[0] ? k.color : null;
1190
1191
  c = /* @__PURE__ */ x(ct, { children: [
1191
1192
  /* @__PURE__ */ t(
1192
1193
  ut,
@@ -1194,10 +1195,10 @@ function nn({
1194
1195
  data: i,
1195
1196
  cx: "50%",
1196
1197
  cy: "50%",
1197
- outerRadius: n === "donut" ? "70%" : "80%",
1198
- innerRadius: n === "donut" ? "40%" : 0,
1198
+ outerRadius: r === "donut" ? "70%" : "80%",
1199
+ innerRadius: r === "donut" ? "40%" : 0,
1199
1200
  dataKey: S,
1200
- nameKey: L,
1201
+ nameKey: T,
1201
1202
  stroke: k.stroke || "none",
1202
1203
  strokeWidth: k.strokeWidth ?? 0,
1203
1204
  label: ({ name: j, percent: X }) => `${j ?? ""} ${((X ?? 0) * 100).toFixed(0)}%`,
@@ -1206,23 +1207,23 @@ function nn({
1206
1207
  children: i.map((j, X) => /* @__PURE__ */ t(
1207
1208
  pt,
1208
1209
  {
1209
- fill: v ? j[v] : ie[X % ie.length]
1210
+ fill: v ? j[v] : le[X % le.length]
1210
1211
  },
1211
1212
  X
1212
1213
  ))
1213
1214
  }
1214
1215
  ),
1215
1216
  y,
1216
- z
1217
+ M
1217
1218
  ] });
1218
- } else if (n === "radar") {
1219
- const k = ((u = s.radial) == null ? void 0 : u.value) || p;
1220
- c = /* @__PURE__ */ x(ht, { ...H, cx: "50%", cy: "50%", children: [
1219
+ } else if (r === "radar") {
1220
+ const k = ((h = s.radial) == null ? void 0 : h.value) || p;
1221
+ c = /* @__PURE__ */ x(ht, { ...D, cx: "50%", cy: "50%", children: [
1221
1222
  /* @__PURE__ */ t(ft, {}),
1222
1223
  /* @__PURE__ */ t(gt, { dataKey: k, tick: { fontSize: 11 } }),
1223
1224
  /* @__PURE__ */ t(xt, { tick: { fontSize: 9, fill: e.textMut }, axisLine: !1 }),
1224
- d.map((S, L) => {
1225
- const v = S.color || S.pointColor || ie[L % ie.length];
1225
+ d.map((S, T) => {
1226
+ const v = S.color || S.pointColor || le[T % le.length];
1226
1227
  return /* @__PURE__ */ t(
1227
1228
  yt,
1228
1229
  {
@@ -1231,21 +1232,21 @@ function nn({
1231
1232
  stroke: v,
1232
1233
  fill: v + "44"
1233
1234
  },
1234
- S.id ?? L
1235
+ S.id ?? T
1235
1236
  );
1236
1237
  }),
1237
1238
  y,
1238
- z
1239
+ M
1239
1240
  ] });
1240
- } else if (n === "scatter")
1241
- c = /* @__PURE__ */ x(bt, { margin: E, children: [
1241
+ } else if (r === "scatter")
1242
+ c = /* @__PURE__ */ x(bt, { margin: N, children: [
1242
1243
  o,
1243
1244
  /* @__PURE__ */ t(
1244
1245
  We,
1245
1246
  {
1246
1247
  type: "number",
1247
1248
  dataKey: "x",
1248
- name: ((N = s.bottom) == null ? void 0 : N.title) || "x",
1249
+ name: ((I = s.bottom) == null ? void 0 : I.title) || "x",
1249
1250
  tick: { fontSize: 11, fill: e.textSec },
1250
1251
  tickLine: !1,
1251
1252
  domain: [((l = s.bottom) == null ? void 0 : l.min) ?? "auto", ((g = s.bottom) == null ? void 0 : g.max) ?? "auto"],
@@ -1257,19 +1258,19 @@ function nn({
1257
1258
  {
1258
1259
  type: "number",
1259
1260
  dataKey: "y",
1260
- name: ((P = s.left) == null ? void 0 : P.title) || "y",
1261
+ name: ((O = s.left) == null ? void 0 : O.title) || "y",
1261
1262
  tick: { fontSize: 11, fill: e.textSec },
1262
1263
  tickLine: !1,
1263
1264
  axisLine: !1,
1264
- domain: [((r = s.left) == null ? void 0 : r.min) ?? "auto", ((T = s.left) == null ? void 0 : T.max) ?? "auto"],
1265
+ domain: [((n = s.left) == null ? void 0 : n.min) ?? "auto", ((R = s.left) == null ? void 0 : R.max) ?? "auto"],
1265
1266
  label: (F = s.left) != null && F.title ? { value: s.left.title, angle: -90, position: "insideLeft", fontSize: 11 } : void 0
1266
1267
  }
1267
1268
  ),
1268
1269
  y,
1269
- z,
1270
+ M,
1270
1271
  d.map((k, S) => {
1271
- const L = k.value || "x", v = k.valueY || "y", j = (k.data || i).map((X) => ({
1272
- x: X[L],
1272
+ const T = k.value || "x", v = k.valueY || "y", j = (k.data || i).map((X) => ({
1273
+ x: X[T],
1273
1274
  y: X[v]
1274
1275
  }));
1275
1276
  return /* @__PURE__ */ t(
@@ -1277,14 +1278,14 @@ function nn({
1277
1278
  {
1278
1279
  data: j,
1279
1280
  name: k.label || k.id,
1280
- fill: k.color || ie[S % ie.length]
1281
+ fill: k.color || le[S % le.length]
1281
1282
  },
1282
1283
  k.id ?? S
1283
1284
  );
1284
1285
  })
1285
1286
  ] });
1286
- else if (n === "treeMap") {
1287
- const k = d[0] || {}, S = k.value || "value", L = k.text || "name", v = It(i, S, L), j = k.stroke || e.surface, X = k.strokeWidth ?? 2;
1287
+ else if (r === "treeMap") {
1288
+ const k = d[0] || {}, S = k.value || "value", T = k.text || "name", v = Wt(i, S, T), j = k.stroke || e.surface, X = k.strokeWidth ?? 2;
1288
1289
  c = /* @__PURE__ */ t(
1289
1290
  St,
1290
1291
  {
@@ -1292,16 +1293,16 @@ function nn({
1292
1293
  dataKey: "value",
1293
1294
  aspectRatio: 4 / 3,
1294
1295
  stroke: j,
1295
- content: (U) => {
1296
- const { x: q, y: J, width: ee, height: te, depth: pe, index: ne, name: O } = U;
1296
+ content: (Q) => {
1297
+ const { x: q, y: U, width: ee, height: te, depth: pe, index: re, name: P } = Q;
1297
1298
  if (pe === 0) return null;
1298
- const de = ie[ne % ie.length];
1299
+ const de = le[re % le.length];
1299
1300
  return /* @__PURE__ */ x("g", { children: [
1300
1301
  /* @__PURE__ */ t(
1301
1302
  "rect",
1302
1303
  {
1303
1304
  x: q,
1304
- y: J,
1305
+ y: U,
1305
1306
  width: ee,
1306
1307
  height: te,
1307
1308
  fill: de,
@@ -1314,13 +1315,13 @@ function nn({
1314
1315
  "text",
1315
1316
  {
1316
1317
  x: q + ee / 2,
1317
- y: J + te / 2,
1318
+ y: U + te / 2,
1318
1319
  textAnchor: "middle",
1319
1320
  dominantBaseline: "middle",
1320
1321
  fill: "#fff",
1321
1322
  fontSize: 11,
1322
1323
  pointerEvents: "none",
1323
- children: O
1324
+ children: P
1324
1325
  }
1325
1326
  )
1326
1327
  ] });
@@ -1332,186 +1333,186 @@ function nn({
1332
1333
  "div",
1333
1334
  {
1334
1335
  className: "dhx",
1335
- style: { width: "100%", height: a, padding: 12, background: e.surface, borderRadius: e.rMd, ...f },
1336
+ style: { width: "100%", height: a, padding: 12, background: e.surface, borderRadius: e.rMd, ...u },
1336
1337
  children: /* @__PURE__ */ t(vt, { width: "100%", height: "100%", children: c })
1337
1338
  }
1338
1339
  );
1339
1340
  }
1340
- const Wt = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], Bt = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
1341
- function rn({ value: n, range: i = !1, timepicker: d = !1, onChange: s, style: h }) {
1342
- const a = /* @__PURE__ */ new Date(), f = n ? new Date(Array.isArray(n) ? n[0] : n) : a, [p, y] = W(f), [z, o] = W(n ?? (i ? [null, null] : null)), [b, $] = W(null), [E, H] = W({ h: 0, m: 0 });
1343
- Q(Z, []);
1344
- const c = p.getFullYear(), w = p.getMonth(), C = new Date(c, w, 1).getDay(), R = new Date(c, w + 1, 0).getDate(), A = [];
1345
- for (let u = 0; u < C; u++) A.push(null);
1346
- for (let u = 1; u <= R; u++) A.push(new Date(c, w, u));
1347
- const M = (u) => u.toDateString() === a.toDateString(), D = (u) => {
1348
- if (!z) return !1;
1349
- if (i && Array.isArray(z)) {
1350
- const [N, l] = z;
1351
- if (!N) return !1;
1352
- const g = u.getTime();
1353
- return l ? g >= N.getTime() && g <= l.getTime() : u.toDateString() === N.toDateString();
1341
+ const Bt = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], Ht = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
1342
+ function ir({ value: r, range: i = !1, timepicker: d = !1, onChange: s, style: f }) {
1343
+ const a = /* @__PURE__ */ new Date(), u = r ? new Date(Array.isArray(r) ? r[0] : r) : a, [p, y] = B(u), [M, o] = B(r ?? (i ? [null, null] : null)), [b, $] = B(null), [N, D] = B({ h: 0, m: 0 });
1344
+ J(Z, []);
1345
+ const c = p.getFullYear(), w = p.getMonth(), L = new Date(c, w, 1).getDay(), E = new Date(c, w + 1, 0).getDate(), A = [];
1346
+ for (let h = 0; h < L; h++) A.push(null);
1347
+ for (let h = 1; h <= E; h++) A.push(new Date(c, w, h));
1348
+ const z = (h) => h.toDateString() === a.toDateString(), C = (h) => {
1349
+ if (!M) return !1;
1350
+ if (i && Array.isArray(M)) {
1351
+ const [I, l] = M;
1352
+ if (!I) return !1;
1353
+ const g = h.getTime();
1354
+ return l ? g >= I.getTime() && g <= l.getTime() : h.toDateString() === I.toDateString();
1354
1355
  }
1355
- return u.toDateString() === z.toDateString();
1356
- }, V = (u) => {
1356
+ return h.toDateString() === M.toDateString();
1357
+ }, V = (h) => {
1357
1358
  if (i) {
1358
- const [N, l] = Array.isArray(z) ? z : [null, null];
1359
- if (!N || l)
1360
- o([u, null]);
1359
+ const [I, l] = Array.isArray(M) ? M : [null, null];
1360
+ if (!I || l)
1361
+ o([h, null]);
1361
1362
  else {
1362
- const g = u < N ? [u, N] : [N, u];
1363
+ const g = h < I ? [h, I] : [I, h];
1363
1364
  o(g), s == null || s(g);
1364
1365
  }
1365
1366
  } else
1366
- o(u), s == null || s(u);
1367
+ o(h), s == null || s(h);
1367
1368
  };
1368
- return /* @__PURE__ */ x("div", { className: "dhx", style: { background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.rMd, padding: 16, display: "inline-block", boxShadow: e.shadow, ...h }, children: [
1369
+ return /* @__PURE__ */ x("div", { className: "dhx", style: { background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.rMd, padding: 16, display: "inline-block", boxShadow: e.shadow, ...f }, children: [
1369
1370
  /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", justifyContent: "space-between", marginBottom: 12 }, children: [
1370
- /* @__PURE__ */ t("button", { onClick: () => y((u) => new Date(u.getFullYear(), u.getMonth() - 1, 1)), className: "dhx dhx-btn dhx-btn-ghost", style: { height: 28, padding: "0 8px", fontSize: 16 }, children: "‹" }),
1371
+ /* @__PURE__ */ t("button", { onClick: () => y((h) => new Date(h.getFullYear(), h.getMonth() - 1, 1)), className: "dhx dhx-btn dhx-btn-ghost", style: { height: 28, padding: "0 8px", fontSize: 16 }, children: "‹" }),
1371
1372
  /* @__PURE__ */ x("div", { style: { fontWeight: 700, fontSize: 14 }, children: [
1372
- Wt[w],
1373
+ Bt[w],
1373
1374
  " ",
1374
1375
  c
1375
1376
  ] }),
1376
- /* @__PURE__ */ t("button", { onClick: () => y((u) => new Date(u.getFullYear(), u.getMonth() + 1, 1)), className: "dhx dhx-btn dhx-btn-ghost", style: { height: 28, padding: "0 8px", fontSize: 16 }, children: "›" })
1377
+ /* @__PURE__ */ t("button", { onClick: () => y((h) => new Date(h.getFullYear(), h.getMonth() + 1, 1)), className: "dhx dhx-btn dhx-btn-ghost", style: { height: 28, padding: "0 8px", fontSize: 16 }, children: "›" })
1377
1378
  ] }),
1378
1379
  /* @__PURE__ */ x("div", { style: { display: "grid", gridTemplateColumns: "repeat(7, 32px)", gap: 2 }, children: [
1379
- Bt.map((u) => /* @__PURE__ */ t("div", { style: { textAlign: "center", fontSize: 11, fontWeight: 600, color: e.textMut, paddingBottom: 4 }, children: u }, u)),
1380
- A.map((u, N) => {
1381
- const l = u ? D(u) : !1, g = u && b && u.toDateString() === b.toDateString();
1380
+ Ht.map((h) => /* @__PURE__ */ t("div", { style: { textAlign: "center", fontSize: 11, fontWeight: 600, color: e.textMut, paddingBottom: 4 }, children: h }, h)),
1381
+ A.map((h, I) => {
1382
+ const l = h ? C(h) : !1, g = h && b && h.toDateString() === b.toDateString();
1382
1383
  return /* @__PURE__ */ t(
1383
1384
  "div",
1384
1385
  {
1385
- onClick: () => u && V(u),
1386
- onMouseEnter: () => u && $(u),
1386
+ onClick: () => h && V(h),
1387
+ onMouseEnter: () => h && $(h),
1387
1388
  onMouseLeave: () => $(null),
1388
- style: { width: 32, height: 32, display: "flex", alignItems: "center", justifyContent: "center", borderRadius: e.r, cursor: u ? "pointer" : "default", fontSize: 12, fontWeight: u && M(u) ? 700 : 400, background: l ? e.primary : g ? e.bg : "transparent", color: l ? "#fff" : u && M(u) ? e.primary : u ? e.text : "transparent", border: u && M(u) && !l ? `1px solid ${e.primary}` : "1px solid transparent", transition: "all .1s" },
1389
- children: u == null ? void 0 : u.getDate()
1389
+ style: { width: 32, height: 32, display: "flex", alignItems: "center", justifyContent: "center", borderRadius: e.r, cursor: h ? "pointer" : "default", fontSize: 12, fontWeight: h && z(h) ? 700 : 400, background: l ? e.primary : g ? e.bg : "transparent", color: l ? "#fff" : h && z(h) ? e.primary : h ? e.text : "transparent", border: h && z(h) && !l ? `1px solid ${e.primary}` : "1px solid transparent", transition: "all .1s" },
1390
+ children: h == null ? void 0 : h.getDate()
1390
1391
  },
1391
- N
1392
+ I
1392
1393
  );
1393
1394
  })
1394
1395
  ] }),
1395
1396
  d && /* @__PURE__ */ x("div", { style: { borderTop: `1px solid ${e.border}`, marginTop: 12, paddingTop: 12, display: "flex", alignItems: "center", justifyContent: "center", gap: 8 }, children: [
1396
- /* @__PURE__ */ t("input", { type: "number", min: 0, max: 23, value: E.h, onChange: (u) => H((N) => ({ ...N, h: +u.target.value })), className: "dhx dhx-input", style: { width: 50, textAlign: "center" } }),
1397
+ /* @__PURE__ */ t("input", { type: "number", min: 0, max: 23, value: N.h, onChange: (h) => D((I) => ({ ...I, h: +h.target.value })), className: "dhx dhx-input", style: { width: 50, textAlign: "center" } }),
1397
1398
  /* @__PURE__ */ t("span", { style: { fontWeight: 700, color: e.textSec }, children: ":" }),
1398
- /* @__PURE__ */ t("input", { type: "number", min: 0, max: 59, value: E.m, onChange: (u) => H((N) => ({ ...N, m: +u.target.value })), className: "dhx dhx-input", style: { width: 50, textAlign: "center" } })
1399
+ /* @__PURE__ */ t("input", { type: "number", min: 0, max: 59, value: N.m, onChange: (h) => D((I) => ({ ...I, m: +h.target.value })), className: "dhx dhx-input", style: { width: 50, textAlign: "center" } })
1399
1400
  ] })
1400
1401
  ] });
1401
1402
  }
1402
- function Ht({ value: n, onChange: i, timeFormat: d = 12, controls: s = !1, minuteStep: h = 5, style: a }) {
1403
- const [f, p] = W((n == null ? void 0 : n.h) ?? (d === 24 ? 0 : 12)), [y, z] = W((n == null ? void 0 : n.m) ?? 0), [o, b] = W((n == null ? void 0 : n.ampm) ?? "AM"), [$, E] = W(null);
1404
- Q(Z, []);
1405
- const H = d === 24 ? Array.from({ length: 24 }, (M, D) => D) : Array.from({ length: 12 }, (M, D) => D + 1), c = Array.from({ length: Math.ceil(60 / h) }, (M, D) => D * h), w = (M, D, V) => {
1406
- const u = d === 24 ? { h: M, m: D } : { h: M, m: D, ampm: V };
1407
- s ? E(u) : i == null || i(u);
1408
- }, C = () => {
1409
- E(null), p((n == null ? void 0 : n.h) ?? (d === 24 ? 0 : 12)), z((n == null ? void 0 : n.m) ?? 0), b((n == null ? void 0 : n.ampm) ?? "AM");
1410
- }, R = { display: "flex", flexDirection: "column", alignItems: "center", gap: 4 }, A = (M) => ({
1403
+ function At({ value: r, onChange: i, timeFormat: d = 12, controls: s = !1, minuteStep: f = 5, style: a }) {
1404
+ const [u, p] = B((r == null ? void 0 : r.h) ?? (d === 24 ? 0 : 12)), [y, M] = B((r == null ? void 0 : r.m) ?? 0), [o, b] = B((r == null ? void 0 : r.ampm) ?? "AM"), [$, N] = B(null);
1405
+ J(Z, []);
1406
+ const D = d === 24 ? Array.from({ length: 24 }, (z, C) => C) : Array.from({ length: 12 }, (z, C) => C + 1), c = Array.from({ length: Math.ceil(60 / f) }, (z, C) => C * f), w = (z, C, V) => {
1407
+ const h = d === 24 ? { h: z, m: C } : { h: z, m: C, ampm: V };
1408
+ s ? N(h) : i == null || i(h);
1409
+ }, L = () => {
1410
+ N(null), p((r == null ? void 0 : r.h) ?? (d === 24 ? 0 : 12)), M((r == null ? void 0 : r.m) ?? 0), b((r == null ? void 0 : r.ampm) ?? "AM");
1411
+ }, E = { display: "flex", flexDirection: "column", alignItems: "center", gap: 4 }, A = (z) => ({
1411
1412
  height: 32,
1412
1413
  display: "flex",
1413
1414
  alignItems: "center",
1414
1415
  justifyContent: "center",
1415
1416
  cursor: "pointer",
1416
1417
  fontSize: 13,
1417
- fontWeight: M ? 700 : 400,
1418
- background: M ? e.primaryLt : "transparent",
1419
- color: M ? e.primary : e.text
1418
+ fontWeight: z ? 700 : 400,
1419
+ background: z ? e.primaryLt : "transparent",
1420
+ color: z ? e.primary : e.text
1420
1421
  });
1421
1422
  return /* @__PURE__ */ x("div", { className: "dhx", style: { background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.rMd, padding: 16, display: "inline-block", boxShadow: e.shadow, ...a }, children: [
1422
1423
  /* @__PURE__ */ x("div", { style: { display: "flex", gap: 8, alignItems: "stretch" }, children: [
1423
- /* @__PURE__ */ x("div", { style: R, children: [
1424
+ /* @__PURE__ */ x("div", { style: E, children: [
1424
1425
  /* @__PURE__ */ t("span", { style: { fontSize: 11, fontWeight: 600, color: e.textMut }, children: "Hours" }),
1425
- /* @__PURE__ */ t("div", { className: "dhx-scroll", style: { height: 160, overflowY: "auto", width: 48, border: `1px solid ${e.border}`, borderRadius: e.r }, children: H.map((M) => /* @__PURE__ */ t(
1426
+ /* @__PURE__ */ t("div", { className: "dhx-scroll", style: { height: 160, overflowY: "auto", width: 48, border: `1px solid ${e.border}`, borderRadius: e.r }, children: D.map((z) => /* @__PURE__ */ t(
1426
1427
  "div",
1427
1428
  {
1428
1429
  onClick: () => {
1429
- p(M), w(M, y, o);
1430
+ p(z), w(z, y, o);
1430
1431
  },
1431
- style: A(f === M),
1432
- onMouseEnter: (D) => f !== M && (D.currentTarget.style.background = e.bg),
1433
- onMouseLeave: (D) => f !== M && (D.currentTarget.style.background = "transparent"),
1434
- children: String(M).padStart(2, "0")
1432
+ style: A(u === z),
1433
+ onMouseEnter: (C) => u !== z && (C.currentTarget.style.background = e.bg),
1434
+ onMouseLeave: (C) => u !== z && (C.currentTarget.style.background = "transparent"),
1435
+ children: String(z).padStart(2, "0")
1435
1436
  },
1436
- M
1437
+ z
1437
1438
  )) })
1438
1439
  ] }),
1439
- /* @__PURE__ */ x("div", { style: R, children: [
1440
+ /* @__PURE__ */ x("div", { style: E, children: [
1440
1441
  /* @__PURE__ */ t("span", { style: { fontSize: 11, fontWeight: 600, color: e.textMut }, children: "Minutes" }),
1441
- /* @__PURE__ */ t("div", { className: "dhx-scroll", style: { height: 160, overflowY: "auto", width: 48, border: `1px solid ${e.border}`, borderRadius: e.r }, children: c.map((M) => /* @__PURE__ */ t(
1442
+ /* @__PURE__ */ t("div", { className: "dhx-scroll", style: { height: 160, overflowY: "auto", width: 48, border: `1px solid ${e.border}`, borderRadius: e.r }, children: c.map((z) => /* @__PURE__ */ t(
1442
1443
  "div",
1443
1444
  {
1444
1445
  onClick: () => {
1445
- z(M), w(f, M, o);
1446
+ M(z), w(u, z, o);
1446
1447
  },
1447
- style: A(y === M),
1448
- onMouseEnter: (D) => y !== M && (D.currentTarget.style.background = e.bg),
1449
- onMouseLeave: (D) => y !== M && (D.currentTarget.style.background = "transparent"),
1450
- children: String(M).padStart(2, "0")
1448
+ style: A(y === z),
1449
+ onMouseEnter: (C) => y !== z && (C.currentTarget.style.background = e.bg),
1450
+ onMouseLeave: (C) => y !== z && (C.currentTarget.style.background = "transparent"),
1451
+ children: String(z).padStart(2, "0")
1451
1452
  },
1452
- M
1453
+ z
1453
1454
  )) })
1454
1455
  ] }),
1455
- d === 12 && /* @__PURE__ */ x("div", { style: R, children: [
1456
+ d === 12 && /* @__PURE__ */ x("div", { style: E, children: [
1456
1457
  /* @__PURE__ */ t("span", { style: { fontSize: 11, fontWeight: 600, color: e.textMut }, children: "AM/PM" }),
1457
- /* @__PURE__ */ t("div", { style: { display: "flex", flexDirection: "column", border: `1px solid ${e.border}`, borderRadius: e.r, overflow: "hidden" }, children: ["AM", "PM"].map((M) => /* @__PURE__ */ t(
1458
+ /* @__PURE__ */ t("div", { style: { display: "flex", flexDirection: "column", border: `1px solid ${e.border}`, borderRadius: e.r, overflow: "hidden" }, children: ["AM", "PM"].map((z) => /* @__PURE__ */ t(
1458
1459
  "div",
1459
1460
  {
1460
1461
  onClick: () => {
1461
- b(M), w(f, y, M);
1462
+ b(z), w(u, y, z);
1462
1463
  },
1463
- style: { height: 40, display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", padding: "0 12px", fontSize: 13, fontWeight: o === M ? 700 : 400, background: o === M ? e.primary : e.surface, color: o === M ? "#fff" : e.text },
1464
- children: M
1464
+ style: { height: 40, display: "flex", alignItems: "center", justifyContent: "center", cursor: "pointer", padding: "0 12px", fontSize: 13, fontWeight: o === z ? 700 : 400, background: o === z ? e.primary : e.surface, color: o === z ? "#fff" : e.text },
1465
+ children: z
1465
1466
  },
1466
- M
1467
+ z
1467
1468
  )) })
1468
1469
  ] })
1469
1470
  ] }),
1470
1471
  /* @__PURE__ */ x("div", { style: { textAlign: "center", marginTop: 12, fontSize: 22, fontWeight: 700, color: e.primary, letterSpacing: 2 }, children: [
1471
- String(f).padStart(2, "0"),
1472
+ String(u).padStart(2, "0"),
1472
1473
  ":",
1473
1474
  String(y).padStart(2, "0"),
1474
1475
  d === 12 ? ` ${o}` : ""
1475
1476
  ] }),
1476
1477
  s && /* @__PURE__ */ x("div", { style: { display: "flex", gap: 8, justifyContent: "flex-end", marginTop: 12 }, children: [
1477
- /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-secondary", onClick: C, children: "Cancel" }),
1478
+ /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-secondary", onClick: L, children: "Cancel" }),
1478
1479
  /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-primary", onClick: () => {
1479
- const M = $ ?? (d === 24 ? { h: f, m: y } : { h: f, m: y, ampm: o });
1480
- i == null || i(M);
1480
+ const z = $ ?? (d === 24 ? { h: u, m: y } : { h: u, m: y, ampm: o });
1481
+ i == null || i(z);
1481
1482
  }, children: "Apply" })
1482
1483
  ] })
1483
1484
  ] });
1484
1485
  }
1485
- const At = ({ open: n }) => /* @__PURE__ */ t("svg", { width: "12", height: "12", viewBox: "0 0 12 12", style: { flexShrink: 0, transition: "transform .15s", transform: n ? "rotate(180deg)" : "rotate(0deg)" }, children: /* @__PURE__ */ t("path", { d: "M2 4l4 4 4-4", stroke: e.textMut, strokeWidth: "1.5", fill: "none", strokeLinecap: "round", strokeLinejoin: "round" }) });
1486
- function je({ data: n = [], value: i, placeholder: d = "Select or type...", multiselection: s = !1, label: h, onChange: a, style: f }) {
1486
+ const jt = ({ open: r }) => /* @__PURE__ */ t("svg", { width: "12", height: "12", viewBox: "0 0 12 12", style: { flexShrink: 0, transition: "transform .15s", transform: r ? "rotate(180deg)" : "rotate(0deg)" }, children: /* @__PURE__ */ t("path", { d: "M2 4l4 4 4-4", stroke: e.textMut, strokeWidth: "1.5", fill: "none", strokeLinecap: "round", strokeLinejoin: "round" }) });
1487
+ function je({ data: r = [], value: i, placeholder: d = "Select or type...", multiselection: s = !1, label: f, onChange: a, style: u }) {
1487
1488
  var V;
1488
- const [p, y] = W(!1), [z, o] = W(""), [b, $] = W(
1489
+ const [p, y] = B(!1), [M, o] = B(""), [b, $] = B(
1489
1490
  s ? i ? [].concat(i) : [] : i || null
1490
- ), E = le(null), H = le(null);
1491
- Q(Z, []), xe(E, ae(() => {
1491
+ ), N = ie(null), D = ie(null);
1492
+ J(Z, []), xe(N, ae(() => {
1492
1493
  y(!1), o("");
1493
1494
  }, []));
1494
1495
  const c = ue(
1495
- () => n.filter((u) => !z || u.value.toLowerCase().includes(z.toLowerCase())),
1496
- [n, z]
1497
- ), w = (u) => s ? (b || []).includes(u) : b === u, C = (u) => {
1498
- const N = u.id || u.value;
1496
+ () => r.filter((h) => !M || h.value.toLowerCase().includes(M.toLowerCase())),
1497
+ [r, M]
1498
+ ), w = (h) => s ? (b || []).includes(h) : b === h, L = (h) => {
1499
+ const I = h.id || h.value;
1499
1500
  if (s) {
1500
- const l = w(N) ? b.filter((g) => g !== N) : [...b || [], N];
1501
+ const l = w(I) ? b.filter((g) => g !== I) : [...b || [], I];
1501
1502
  $(l), a == null || a(l);
1502
1503
  } else
1503
- $(N), o(""), y(!1), a == null || a(N);
1504
- }, R = (u) => {
1505
- const N = b.filter((l) => l !== u);
1506
- $(N), a == null || a(N);
1504
+ $(I), o(""), y(!1), a == null || a(I);
1505
+ }, E = (h) => {
1506
+ const I = b.filter((l) => l !== h);
1507
+ $(I), a == null || a(I);
1507
1508
  }, A = () => {
1508
1509
  y(!0), setTimeout(() => {
1509
- var u;
1510
- return (u = H.current) == null ? void 0 : u.focus();
1510
+ var h;
1511
+ return (h = D.current) == null ? void 0 : h.focus();
1511
1512
  }, 0);
1512
- }, M = ((V = n.find((u) => (u.id || u.value) === b)) == null ? void 0 : V.value) || "", D = s ? b || [] : [];
1513
- return /* @__PURE__ */ x("div", { ref: E, className: "dhx", style: { position: "relative", ...f }, children: [
1514
- h && /* @__PURE__ */ t("label", { className: "dhx dhx-label", children: h }),
1513
+ }, z = ((V = r.find((h) => (h.id || h.value) === b)) == null ? void 0 : V.value) || "", C = s ? b || [] : [];
1514
+ return /* @__PURE__ */ x("div", { ref: N, className: "dhx", style: { position: "relative", ...u }, children: [
1515
+ f && /* @__PURE__ */ t("label", { className: "dhx dhx-label", children: f }),
1515
1516
  /* @__PURE__ */ x(
1516
1517
  "div",
1517
1518
  {
@@ -1532,8 +1533,8 @@ function je({ data: n = [], value: i, placeholder: d = "Select or type...", mult
1532
1533
  },
1533
1534
  children: [
1534
1535
  s && /* @__PURE__ */ x(Ye, { children: [
1535
- D.map((u) => {
1536
- var N;
1536
+ C.map((h) => {
1537
+ var I;
1537
1538
  return /* @__PURE__ */ x("span", { style: {
1538
1539
  display: "inline-flex",
1539
1540
  alignItems: "center",
@@ -1546,30 +1547,30 @@ function je({ data: n = [], value: i, placeholder: d = "Select or type...", mult
1546
1547
  lineHeight: 1.5,
1547
1548
  whiteSpace: "nowrap"
1548
1549
  }, children: [
1549
- ((N = n.find((l) => (l.id || l.value) === u)) == null ? void 0 : N.value) || u,
1550
+ ((I = r.find((l) => (l.id || l.value) === h)) == null ? void 0 : I.value) || h,
1550
1551
  /* @__PURE__ */ t(
1551
1552
  "span",
1552
1553
  {
1553
1554
  onClick: (l) => {
1554
- l.stopPropagation(), R(u);
1555
+ l.stopPropagation(), E(h);
1555
1556
  },
1556
1557
  style: { cursor: "pointer", fontSize: 15, lineHeight: 1, opacity: 0.75, marginLeft: 2 },
1557
1558
  children: "×"
1558
1559
  }
1559
1560
  )
1560
- ] }, u);
1561
+ ] }, h);
1561
1562
  }),
1562
1563
  /* @__PURE__ */ t(
1563
1564
  "input",
1564
1565
  {
1565
- ref: H,
1566
- value: z,
1567
- onChange: (u) => {
1568
- o(u.target.value), y(!0);
1566
+ ref: D,
1567
+ value: M,
1568
+ onChange: (h) => {
1569
+ o(h.target.value), y(!0);
1569
1570
  },
1570
1571
  onFocus: () => y(!0),
1571
- onClick: (u) => u.stopPropagation(),
1572
- placeholder: D.length ? "" : d,
1572
+ onClick: (h) => h.stopPropagation(),
1573
+ placeholder: C.length ? "" : d,
1573
1574
  style: { flex: 1, minWidth: 60, border: "none", outline: "none", fontSize: 13, background: "transparent", color: e.text, padding: 0 }
1574
1575
  }
1575
1576
  )
@@ -1577,20 +1578,20 @@ function je({ data: n = [], value: i, placeholder: d = "Select or type...", mult
1577
1578
  !s && /* @__PURE__ */ t(
1578
1579
  "input",
1579
1580
  {
1580
- ref: H,
1581
- value: p ? z : M,
1582
- onChange: (u) => {
1583
- o(u.target.value), y(!0);
1581
+ ref: D,
1582
+ value: p ? M : z,
1583
+ onChange: (h) => {
1584
+ o(h.target.value), y(!0);
1584
1585
  },
1585
1586
  onFocus: () => {
1586
1587
  y(!0), o("");
1587
1588
  },
1588
- onClick: (u) => u.stopPropagation(),
1589
+ onClick: (h) => h.stopPropagation(),
1589
1590
  placeholder: d,
1590
1591
  style: { flex: 1, border: "none", outline: "none", fontSize: 13, background: "transparent", color: e.text, padding: 0 }
1591
1592
  }
1592
1593
  ),
1593
- /* @__PURE__ */ t(At, { open: p })
1594
+ /* @__PURE__ */ t(jt, { open: p })
1594
1595
  ]
1595
1596
  }
1596
1597
  ),
@@ -1605,12 +1606,12 @@ function je({ data: n = [], value: i, placeholder: d = "Select or type...", mult
1605
1606
  boxShadow: e.shadowLg,
1606
1607
  zIndex: 100
1607
1608
  }, children: /* @__PURE__ */ x("div", { className: "dhx-scroll", style: { maxHeight: 220, overflowY: "auto" }, children: [
1608
- c.map((u) => {
1609
- const N = u.id || u.value, l = w(N);
1609
+ c.map((h) => {
1610
+ const I = h.id || h.value, l = w(I);
1610
1611
  return /* @__PURE__ */ x(
1611
1612
  "div",
1612
1613
  {
1613
- onClick: () => C(u),
1614
+ onClick: () => L(h),
1614
1615
  style: {
1615
1616
  padding: "8px 12px",
1616
1617
  cursor: "pointer",
@@ -1635,94 +1636,94 @@ function je({ data: n = [], value: i, placeholder: d = "Select or type...", mult
1635
1636
  justifyContent: "center",
1636
1637
  background: l ? e.primary : "transparent"
1637
1638
  }, children: l && /* @__PURE__ */ t("span", { style: { color: "#fff", fontSize: 9, lineHeight: 1 }, children: "✓" }) }),
1638
- /* @__PURE__ */ t("span", { style: { flex: 1 }, children: u.value }),
1639
+ /* @__PURE__ */ t("span", { style: { flex: 1 }, children: h.value }),
1639
1640
  !s && l && /* @__PURE__ */ t("span", { style: { color: e.primary, fontSize: 12, fontWeight: 700 }, children: "✓" }),
1640
- u.count !== void 0 && /* @__PURE__ */ x("span", { style: { fontSize: 11, color: e.textMut }, children: [
1641
+ h.count !== void 0 && /* @__PURE__ */ x("span", { style: { fontSize: 11, color: e.textMut }, children: [
1641
1642
  "(",
1642
- u.count,
1643
+ h.count,
1643
1644
  ")"
1644
1645
  ] })
1645
1646
  ]
1646
1647
  },
1647
- N
1648
+ I
1648
1649
  );
1649
1650
  }),
1650
1651
  c.length === 0 && /* @__PURE__ */ t("div", { style: { padding: 16, textAlign: "center", color: e.textMut, fontSize: 13 }, children: "No matches" })
1651
1652
  ] }) })
1652
1653
  ] });
1653
1654
  }
1654
- function Pe({ min: n = 0, max: i = 100, step: d = 1, value: s, range: h = !1, label: a, tick: f, disabled: p = !1, onChange: y, style: z }) {
1655
- const [o, b] = W(s ?? (h ? [n, i] : n));
1656
- Q(Z, []);
1657
- const $ = (C, R) => {
1655
+ function Oe({ min: r = 0, max: i = 100, step: d = 1, value: s, range: f = !1, label: a, tick: u, disabled: p = !1, onChange: y, style: M }) {
1656
+ const [o, b] = B(s ?? (f ? [r, i] : r));
1657
+ J(Z, []);
1658
+ const $ = (L, E) => {
1658
1659
  if (!p)
1659
- if (h) {
1660
+ if (f) {
1660
1661
  const A = [...o];
1661
- A[C] = R, b(A), y == null || y(A);
1662
+ A[L] = E, b(A), y == null || y(A);
1662
1663
  } else
1663
- b(R), y == null || y(R);
1664
- }, E = (C) => (C - n) / (i - n) * 100, H = h ? o : [o], c = h ? { left: `${E(H[0])}%`, width: `${E(H[1]) - E(H[0])}%` } : { left: 0, width: `${E(H[0])}%` }, w = p ? e.border : e.primary;
1665
- return /* @__PURE__ */ x("div", { className: "dhx", style: { width: "100%", opacity: p ? 0.5 : 1, ...z }, children: [
1664
+ b(E), y == null || y(E);
1665
+ }, N = (L) => (L - r) / (i - r) * 100, D = f ? o : [o], c = f ? { left: `${N(D[0])}%`, width: `${N(D[1]) - N(D[0])}%` } : { left: 0, width: `${N(D[0])}%` }, w = p ? e.border : e.primary;
1666
+ return /* @__PURE__ */ x("div", { className: "dhx", style: { width: "100%", opacity: p ? 0.5 : 1, ...M }, children: [
1666
1667
  a && /* @__PURE__ */ t("label", { className: "dhx dhx-label", children: a }),
1667
1668
  /* @__PURE__ */ t("div", { style: { position: "relative", height: 36, display: "flex", alignItems: "center" }, children: /* @__PURE__ */ x("div", { style: { position: "relative", flex: 1, height: 4, background: e.border, borderRadius: 2 }, children: [
1668
1669
  /* @__PURE__ */ t("div", { style: { position: "absolute", ...c, height: "100%", background: w, borderRadius: 2 } }),
1669
- H.map((C, R) => /* @__PURE__ */ t(
1670
+ D.map((L, E) => /* @__PURE__ */ t(
1670
1671
  "input",
1671
1672
  {
1672
1673
  type: "range",
1673
- min: n,
1674
+ min: r,
1674
1675
  max: i,
1675
1676
  step: d,
1676
- value: C,
1677
+ value: L,
1677
1678
  disabled: p,
1678
1679
  onChange: (A) => {
1679
- const M = +A.target.value;
1680
- h && R === 0 && M >= o[1] || h && R === 1 && M <= o[0] || $(R, M);
1680
+ const z = +A.target.value;
1681
+ f && E === 0 && z >= o[1] || f && E === 1 && z <= o[0] || $(E, z);
1681
1682
  },
1682
1683
  style: { position: "absolute", width: "100%", height: "100%", opacity: 0, cursor: p ? "not-allowed" : "pointer", top: 0, left: 0, margin: 0 }
1683
1684
  },
1684
- R
1685
+ E
1685
1686
  )),
1686
- H.map((C, R) => /* @__PURE__ */ t("div", { style: { position: "absolute", left: `${E(C)}%`, top: "50%", transform: "translate(-50%, -50%)", width: 16, height: 16, borderRadius: "50%", background: e.surface, border: `2px solid ${w}`, boxShadow: "0 1px 4px rgba(0,0,0,.2)", pointerEvents: "none" }, children: /* @__PURE__ */ t("div", { style: { position: "absolute", bottom: "calc(100% + 6px)", left: "50%", transform: "translateX(-50%)", background: p ? e.textMut : e.primaryDk, color: "#fff", padding: "2px 6px", borderRadius: e.r, fontSize: 11, fontWeight: 700, whiteSpace: "nowrap" }, children: C }) }, R))
1687
+ D.map((L, E) => /* @__PURE__ */ t("div", { style: { position: "absolute", left: `${N(L)}%`, top: "50%", transform: "translate(-50%, -50%)", width: 16, height: 16, borderRadius: "50%", background: e.surface, border: `2px solid ${w}`, boxShadow: "0 1px 4px rgba(0,0,0,.2)", pointerEvents: "none" }, children: /* @__PURE__ */ t("div", { style: { position: "absolute", bottom: "calc(100% + 6px)", left: "50%", transform: "translateX(-50%)", background: p ? e.textMut : e.primaryDk, color: "#fff", padding: "2px 6px", borderRadius: e.r, fontSize: 11, fontWeight: 700, whiteSpace: "nowrap" }, children: L }) }, E))
1687
1688
  ] }) }),
1688
- f && /* @__PURE__ */ t("div", { style: { display: "flex", justifyContent: "space-between", marginTop: 2 }, children: [n, Math.round((i + n) / 2), i].map((C) => /* @__PURE__ */ t("span", { style: { fontSize: 10, color: e.textMut }, children: C }, C)) })
1689
+ u && /* @__PURE__ */ t("div", { style: { display: "flex", justifyContent: "space-between", marginTop: 2 }, children: [r, Math.round((i + r) / 2), i].map((L) => /* @__PURE__ */ t("span", { style: { fontSize: 10, color: e.textMut }, children: L }, L)) })
1689
1690
  ] });
1690
1691
  }
1691
- const jt = ["#f44336", "#e91e63", "#9c27b0", "#673ab7", "#3f51b5", "#2196f3", "#03a9f4", "#00bcd4", "#009688", "#4caf50", "#8bc34a", "#cddc39", "#ffeb3b", "#ffc107", "#ff9800", "#ff5722", "#795548", "#607d8b", "#9e9e9e", "#000000", "#ffffff", "#0288d1", "#01579b", "#43a047", "#e53935", "#f57c00"];
1692
- function ze(n) {
1693
- const i = parseInt(n.slice(1, 3), 16) / 255, d = parseInt(n.slice(3, 5), 16) / 255, s = parseInt(n.slice(5, 7), 16) / 255, h = Math.max(i, d, s), a = Math.min(i, d, s);
1694
- let f = 0, p = 0;
1695
- const y = (h + a) / 2;
1696
- if (h !== a) {
1697
- const z = h - a;
1698
- p = y > 0.5 ? z / (2 - h - a) : z / (h + a), f = h === i ? ((d - s) / z + (d < s ? 6 : 0)) / 6 : h === d ? ((s - i) / z + 2) / 6 : ((i - d) / z + 4) / 6;
1692
+ const Ot = ["#f44336", "#e91e63", "#9c27b0", "#673ab7", "#3f51b5", "#2196f3", "#03a9f4", "#00bcd4", "#009688", "#4caf50", "#8bc34a", "#cddc39", "#ffeb3b", "#ffc107", "#ff9800", "#ff5722", "#795548", "#607d8b", "#9e9e9e", "#000000", "#ffffff", "#0288d1", "#01579b", "#43a047", "#e53935", "#f57c00"];
1693
+ function ze(r) {
1694
+ const i = parseInt(r.slice(1, 3), 16) / 255, d = parseInt(r.slice(3, 5), 16) / 255, s = parseInt(r.slice(5, 7), 16) / 255, f = Math.max(i, d, s), a = Math.min(i, d, s);
1695
+ let u = 0, p = 0;
1696
+ const y = (f + a) / 2;
1697
+ if (f !== a) {
1698
+ const M = f - a;
1699
+ p = y > 0.5 ? M / (2 - f - a) : M / (f + a), u = f === i ? ((d - s) / M + (d < s ? 6 : 0)) / 6 : f === d ? ((s - i) / M + 2) / 6 : ((i - d) / M + 4) / 6;
1699
1700
  }
1700
- return [Math.round(f * 360), Math.round(p * 100), Math.round(y * 100)];
1701
+ return [Math.round(u * 360), Math.round(p * 100), Math.round(y * 100)];
1701
1702
  }
1702
- function Oe(n, i, d) {
1703
+ function Pe(r, i, d) {
1703
1704
  i /= 100, d /= 100;
1704
- const s = i * Math.min(d, 1 - d), h = (a) => {
1705
- const f = (a + n / 30) % 12, p = d - s * Math.max(Math.min(f - 3, 9 - f, 1), -1);
1705
+ const s = i * Math.min(d, 1 - d), f = (a) => {
1706
+ const u = (a + r / 30) % 12, p = d - s * Math.max(Math.min(u - 3, 9 - u, 1), -1);
1706
1707
  return Math.round(255 * p).toString(16).padStart(2, "0");
1707
1708
  };
1708
- return "#" + h(0) + h(8) + h(4);
1709
+ return "#" + f(0) + f(8) + f(4);
1709
1710
  }
1710
- function on({ value: n = "#0288d1", onChange: i, style: d }) {
1711
- const [s, h] = W(() => ze(n)), a = Oe(...s);
1712
- Q(Z, []);
1713
- const f = (p) => {
1714
- h(p), i == null || i(Oe(...p));
1711
+ function lr({ value: r = "#0288d1", onChange: i, style: d }) {
1712
+ const [s, f] = B(() => ze(r)), a = Pe(...s);
1713
+ J(Z, []);
1714
+ const u = (p) => {
1715
+ f(p), i == null || i(Pe(...p));
1715
1716
  };
1716
1717
  return /* @__PURE__ */ x("div", { className: "dhx", style: { background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.rMd, padding: 16, display: "inline-block", boxShadow: e.shadow, ...d }, children: [
1717
1718
  /* @__PURE__ */ t("div", { style: { width: 200, height: 120, borderRadius: e.r, marginBottom: 12, background: `linear-gradient(to bottom, transparent, black), linear-gradient(to right, white, hsl(${s[0]},100%,50%))`, cursor: "crosshair" } }),
1718
- [["Hue", 0, 360, s[0]], ["Saturation", 0, 100, s[1]], ["Lightness", 0, 100, s[2]]].map(([p, y, z, o], b) => /* @__PURE__ */ x("div", { style: { marginBottom: b < 2 ? 8 : 12 }, children: [
1719
+ [["Hue", 0, 360, s[0]], ["Saturation", 0, 100, s[1]], ["Lightness", 0, 100, s[2]]].map(([p, y, M, o], b) => /* @__PURE__ */ x("div", { style: { marginBottom: b < 2 ? 8 : 12 }, children: [
1719
1720
  /* @__PURE__ */ x("div", { className: "dhx dhx-label", children: [
1720
1721
  p,
1721
1722
  b > 0 ? ` (${o}%)` : ""
1722
1723
  ] }),
1723
- /* @__PURE__ */ t("input", { type: "range", min: y, max: z, value: o, onChange: ($) => {
1724
- const E = [...s];
1725
- E[b] = +$.target.value, f(E);
1724
+ /* @__PURE__ */ t("input", { type: "range", min: y, max: M, value: o, onChange: ($) => {
1725
+ const N = [...s];
1726
+ N[b] = +$.target.value, u(N);
1726
1727
  }, style: { width: "100%", accentColor: e.primary } })
1727
1728
  ] }, p)),
1728
1729
  /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", gap: 8, marginBottom: 12 }, children: [
@@ -1735,18 +1736,18 @@ function on({ value: n = "#0288d1", onChange: i, style: d }) {
1735
1736
  value: a,
1736
1737
  onChange: (p) => {
1737
1738
  try {
1738
- f(ze(p.target.value)), i == null || i(p.target.value);
1739
+ u(ze(p.target.value)), i == null || i(p.target.value);
1739
1740
  } catch {
1740
1741
  }
1741
1742
  }
1742
1743
  }
1743
1744
  )
1744
1745
  ] }),
1745
- /* @__PURE__ */ t("div", { style: { display: "grid", gridTemplateColumns: "repeat(13, 1fr)", gap: 3 }, children: jt.map((p) => /* @__PURE__ */ t(
1746
+ /* @__PURE__ */ t("div", { style: { display: "grid", gridTemplateColumns: "repeat(13, 1fr)", gap: 3 }, children: Ot.map((p) => /* @__PURE__ */ t(
1746
1747
  "div",
1747
1748
  {
1748
1749
  onClick: () => {
1749
- h(ze(p)), i == null || i(p);
1750
+ f(ze(p)), i == null || i(p);
1750
1751
  },
1751
1752
  style: { width: 14, height: 14, borderRadius: 2, background: p, cursor: "pointer", border: a === p ? `2px solid ${e.text}` : "1px solid rgba(0,0,0,.15)", transition: "transform .1s" },
1752
1753
  onMouseEnter: (y) => y.currentTarget.style.transform = "scale(1.3)",
@@ -1756,43 +1757,43 @@ function on({ value: n = "#0288d1", onChange: i, style: d }) {
1756
1757
  )) })
1757
1758
  ] });
1758
1759
  }
1759
- function ln({ trigger: n, children: i, placement: d = "bottom-start", style: s }) {
1760
- const [h, a] = W(!1), [f, p] = W({ top: "100%", left: 0 }), y = le(null), z = le(null);
1761
- return Q(Z, []), xe(y, ae(() => a(!1), [])), /* @__PURE__ */ x("div", { ref: y, className: "dhx", style: { position: "relative", display: "inline-block" }, children: [
1762
- /* @__PURE__ */ t("div", { ref: z, onClick: () => {
1760
+ function sr({ trigger: r, children: i, placement: d = "bottom-start", style: s }) {
1761
+ const [f, a] = B(!1), [u, p] = B({ top: "100%", left: 0 }), y = ie(null), M = ie(null);
1762
+ return J(Z, []), xe(y, ae(() => a(!1), [])), /* @__PURE__ */ x("div", { ref: y, className: "dhx", style: { position: "relative", display: "inline-block" }, children: [
1763
+ /* @__PURE__ */ t("div", { ref: M, onClick: () => {
1763
1764
  a((b) => {
1764
- if (!b && z.current) {
1765
- const $ = z.current.getBoundingClientRect(), E = {
1765
+ if (!b && M.current) {
1766
+ const $ = M.current.getBoundingClientRect(), N = {
1766
1767
  "bottom-start": { top: $.height + 4, left: 0 },
1767
1768
  "bottom-end": { top: $.height + 4, right: 0, left: "auto" },
1768
1769
  "top-start": { bottom: $.height + 4, top: "auto", left: 0 }
1769
1770
  };
1770
- p(E[d] || E["bottom-start"]);
1771
+ p(N[d] || N["bottom-start"]);
1771
1772
  }
1772
1773
  return !b;
1773
1774
  });
1774
- }, children: n }),
1775
- h && /* @__PURE__ */ t("div", { className: "dhx dhx-anim-fade", style: { position: "absolute", ...f, zIndex: 200, background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.rMd, boxShadow: e.shadowLg, ...s }, children: i })
1775
+ }, children: r }),
1776
+ f && /* @__PURE__ */ t("div", { className: "dhx dhx-anim-fade", style: { position: "absolute", ...u, zIndex: 200, background: e.surface, border: `1px solid ${e.border}`, borderRadius: e.rMd, boxShadow: e.shadowLg, ...s }, children: i })
1776
1777
  ] });
1777
1778
  }
1778
- function sn({ title: n, children: i, width: d = 480, height: s, closable: h = !0, movable: a = !0, modal: f = !1, defaultOpen: p = !0, footer: y, onClose: z, style: o }) {
1779
- const [b, $] = W(p), [E, H] = W({ x: 0, y: 0 });
1780
- Q(Z, []);
1781
- const c = wt(ae((C, R) => a && H({ x: C, y: R }), [a])), w = () => {
1782
- $(!1), z == null || z();
1779
+ function ar({ title: r, children: i, width: d = 480, height: s, closable: f = !0, movable: a = !0, modal: u = !1, defaultOpen: p = !0, footer: y, onClose: M, style: o }) {
1780
+ const [b, $] = B(p), [N, D] = B({ x: 0, y: 0 });
1781
+ J(Z, []);
1782
+ const c = zt(ae((L, E) => a && D({ x: L, y: E }), [a])), w = () => {
1783
+ $(!1), M == null || M();
1783
1784
  };
1784
1785
  return b ? /* @__PURE__ */ x(Ye, { children: [
1785
- f && /* @__PURE__ */ t("div", { style: { position: "fixed", inset: 0, background: "rgba(0,0,0,.45)", zIndex: 900 }, onClick: h ? w : void 0 }),
1786
- /* @__PURE__ */ x("div", { className: "dhx", style: { position: f ? "fixed" : "absolute", left: "50%", top: "50%", transform: `translate(calc(-50% + ${E.x}px), calc(-50% + ${E.y}px))`, width: d, ...s ? { height: s } : {}, background: e.surface, borderRadius: e.rMd, boxShadow: e.shadowLg, zIndex: 901, display: "flex", flexDirection: "column", overflow: "hidden", ...o }, children: [
1787
- /* @__PURE__ */ x("div", { onMouseDown: (C) => c(C, E.x, E.y), style: { display: "flex", alignItems: "center", padding: "12px 16px", borderBottom: `1px solid ${e.border}`, cursor: a ? "grab" : "default", background: e.bg, gap: 8, userSelect: "none" }, children: [
1788
- /* @__PURE__ */ t("span", { style: { flex: 1, fontWeight: 700, fontSize: 15 }, children: n }),
1789
- h && /* @__PURE__ */ t(
1786
+ u && /* @__PURE__ */ t("div", { style: { position: "fixed", inset: 0, background: "rgba(0,0,0,.45)", zIndex: 900 }, onClick: f ? w : void 0 }),
1787
+ /* @__PURE__ */ x("div", { className: "dhx", style: { position: u ? "fixed" : "absolute", left: "50%", top: "50%", transform: `translate(calc(-50% + ${N.x}px), calc(-50% + ${N.y}px))`, width: d, ...s ? { height: s } : {}, background: e.surface, borderRadius: e.rMd, boxShadow: e.shadowLg, zIndex: 901, display: "flex", flexDirection: "column", overflow: "hidden", ...o }, children: [
1788
+ /* @__PURE__ */ x("div", { onMouseDown: (L) => c(L, N.x, N.y), style: { display: "flex", alignItems: "center", padding: "12px 16px", borderBottom: `1px solid ${e.border}`, cursor: a ? "grab" : "default", background: e.bg, gap: 8, userSelect: "none" }, children: [
1789
+ /* @__PURE__ */ t("span", { style: { flex: 1, fontWeight: 700, fontSize: 15 }, children: r }),
1790
+ f && /* @__PURE__ */ t(
1790
1791
  "button",
1791
1792
  {
1792
1793
  onClick: w,
1793
1794
  style: { background: "none", border: "none", cursor: "pointer", width: 28, height: 28, borderRadius: e.r, display: "flex", alignItems: "center", justifyContent: "center", fontSize: 18, color: e.textSec },
1794
- onMouseEnter: (C) => C.currentTarget.style.background = e.border,
1795
- onMouseLeave: (C) => C.currentTarget.style.background = "none",
1795
+ onMouseEnter: (L) => L.currentTarget.style.background = e.border,
1796
+ onMouseLeave: (L) => L.currentTarget.style.background = "none",
1796
1797
  children: "×"
1797
1798
  }
1798
1799
  )
@@ -1803,56 +1804,56 @@ function sn({ title: n, children: i, width: d = 480, height: s, closable: h = !0
1803
1804
  ] }) : null;
1804
1805
  }
1805
1806
  const Ke = Ze(null), Pt = { success: "✓", error: "✕", warning: "⚠", info: "ℹ" }, Fe = { success: e.success, error: e.danger, warning: e.warning, info: e.primary };
1806
- function an({ children: n }) {
1807
- const [i, d] = W([]);
1808
- Q(Z, []);
1809
- const s = ae((f) => d((p) => p.filter((y) => y.id !== f)), []), h = ae((f) => {
1807
+ function dr({ children: r }) {
1808
+ const [i, d] = B([]);
1809
+ J(Z, []);
1810
+ const s = ae((u) => d((p) => p.filter((y) => y.id !== u)), []), f = ae((u) => {
1810
1811
  const p = Date.now();
1811
- return d((y) => [...y, { id: p, ...f }]), f.duration !== 0 && setTimeout(() => s(p), f.duration || 4e3), p;
1812
+ return d((y) => [...y, { id: p, ...u }]), u.duration !== 0 && setTimeout(() => s(p), u.duration || 4e3), p;
1812
1813
  }, [s]), a = {
1813
- message: h,
1814
- alert: (f, p) => h({ type: "info", title: f, ...p }),
1815
- confirm: (f, p, y) => h({ type: "warning", title: f, confirm: p, ...y })
1814
+ message: f,
1815
+ alert: (u, p) => f({ type: "info", title: u, ...p }),
1816
+ confirm: (u, p, y) => f({ type: "warning", title: u, confirm: p, ...y })
1816
1817
  };
1817
1818
  return /* @__PURE__ */ x(Ke.Provider, { value: a, children: [
1818
- n,
1819
- /* @__PURE__ */ t("div", { style: { position: "fixed", top: 20, right: 20, zIndex: 9999, display: "flex", flexDirection: "column", gap: 8, pointerEvents: "none" }, children: i.map((f) => {
1820
- const p = f.type || "info";
1819
+ r,
1820
+ /* @__PURE__ */ t("div", { style: { position: "fixed", top: 20, right: 20, zIndex: 9999, display: "flex", flexDirection: "column", gap: 8, pointerEvents: "none" }, children: i.map((u) => {
1821
+ const p = u.type || "info";
1821
1822
  return /* @__PURE__ */ x("div", { style: { background: e.surface, border: `1px solid ${e.border}`, borderLeft: `4px solid ${Fe[p]}`, borderRadius: e.r, boxShadow: e.shadowLg, padding: "12px 16px", minWidth: 280, maxWidth: 380, pointerEvents: "all", display: "flex", gap: 10, alignItems: "flex-start", animation: "dhx-toast .3s ease" }, children: [
1822
1823
  /* @__PURE__ */ t("span", { style: { fontSize: 18, color: Fe[p], lineHeight: 1 }, children: Pt[p] }),
1823
1824
  /* @__PURE__ */ x("div", { style: { flex: 1 }, children: [
1824
- f.title && /* @__PURE__ */ t("div", { style: { fontWeight: 600, fontSize: 13, marginBottom: f.text ? 3 : 0 }, children: f.title }),
1825
- f.text && /* @__PURE__ */ t("div", { style: { fontSize: 12, color: e.textSec, lineHeight: 1.5 }, children: f.text }),
1826
- f.confirm && /* @__PURE__ */ x("div", { style: { display: "flex", gap: 6, marginTop: 8 }, children: [
1825
+ u.title && /* @__PURE__ */ t("div", { style: { fontWeight: 600, fontSize: 13, marginBottom: u.text ? 3 : 0 }, children: u.title }),
1826
+ u.text && /* @__PURE__ */ t("div", { style: { fontSize: 12, color: e.textSec, lineHeight: 1.5 }, children: u.text }),
1827
+ u.confirm && /* @__PURE__ */ x("div", { style: { display: "flex", gap: 6, marginTop: 8 }, children: [
1827
1828
  /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-primary", style: { height: 26, fontSize: 12 }, onClick: () => {
1828
- f.confirm(!0), s(f.id);
1829
+ u.confirm(!0), s(u.id);
1829
1830
  }, children: "Confirm" }),
1830
1831
  /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-secondary", style: { height: 26, fontSize: 12 }, onClick: () => {
1831
- f.confirm(!1), s(f.id);
1832
+ u.confirm(!1), s(u.id);
1832
1833
  }, children: "Cancel" })
1833
1834
  ] })
1834
1835
  ] }),
1835
- /* @__PURE__ */ t("button", { onClick: () => s(f.id), style: { background: "none", border: "none", cursor: "pointer", color: e.textMut, fontSize: 14, lineHeight: 1, padding: 0 }, children: "×" })
1836
- ] }, f.id);
1836
+ /* @__PURE__ */ t("button", { onClick: () => s(u.id), style: { background: "none", border: "none", cursor: "pointer", color: e.textMut, fontSize: 14, lineHeight: 1, padding: 0 }, children: "×" })
1837
+ ] }, u.id);
1837
1838
  }) })
1838
1839
  ] });
1839
1840
  }
1840
- function dn() {
1841
- const n = et(Ke);
1842
- if (!n) throw new Error("useMessage must be used inside <MessageProvider>");
1843
- return n;
1841
+ function cr() {
1842
+ const r = et(Ke);
1843
+ if (!r) throw new Error("useMessage must be used inside <MessageProvider>");
1844
+ return r;
1844
1845
  }
1845
- function cn({ data: n = [], template: i, keyNavigation: d = !0, multiselection: s = !1, editable: h = !1, height: a = 400, onSelect: f, onEdit: p, style: y }) {
1846
- const [z, o] = W(/* @__PURE__ */ new Set()), [b, $] = W(null), [E, H] = W(""), [c, w] = W(null);
1847
- Q(Z, []);
1848
- const C = (A, M) => {
1849
- const D = A.id ?? M;
1846
+ function ur({ data: r = [], template: i, keyNavigation: d = !0, multiselection: s = !1, editable: f = !1, height: a = 400, onSelect: u, onEdit: p, style: y }) {
1847
+ const [M, o] = B(/* @__PURE__ */ new Set()), [b, $] = B(null), [N, D] = B(""), [c, w] = B(null);
1848
+ J(Z, []);
1849
+ const L = (A, z) => {
1850
+ const C = A.id ?? z;
1850
1851
  o((V) => {
1851
- const u = s ? new Set(V) : /* @__PURE__ */ new Set();
1852
- return u.has(D) ? u.delete(D) : u.add(D), u;
1853
- }), w(M), f == null || f(A);
1854
- }, R = (A, M) => {
1855
- p == null || p({ ...A, value: E }, M), $(null);
1852
+ const h = s ? new Set(V) : /* @__PURE__ */ new Set();
1853
+ return h.has(C) ? h.delete(C) : h.add(C), h;
1854
+ }), w(z), u == null || u(A);
1855
+ }, E = (A, z) => {
1856
+ p == null || p({ ...A, value: N }, z), $(null);
1856
1857
  };
1857
1858
  return /* @__PURE__ */ x(
1858
1859
  "div",
@@ -1861,63 +1862,63 @@ function cn({ data: n = [], template: i, keyNavigation: d = !0, multiselection:
1861
1862
  style: { height: a, overflowY: "auto", border: `1px solid ${e.border}`, borderRadius: e.r, background: e.surface, ...y },
1862
1863
  tabIndex: 0,
1863
1864
  onKeyDown: (A) => {
1864
- d && (A.key === "ArrowDown" && w((M) => Math.min((M ?? -1) + 1, n.length - 1)), A.key === "ArrowUp" && w((M) => Math.max((M ?? 1) - 1, 0)));
1865
+ d && (A.key === "ArrowDown" && w((z) => Math.min((z ?? -1) + 1, r.length - 1)), A.key === "ArrowUp" && w((z) => Math.max((z ?? 1) - 1, 0)));
1865
1866
  },
1866
1867
  children: [
1867
- n.map((A, M) => {
1868
- const D = A.id ?? M, V = z.has(D), u = c === M;
1868
+ r.map((A, z) => {
1869
+ const C = A.id ?? z, V = M.has(C), h = c === z;
1869
1870
  return /* @__PURE__ */ t(
1870
1871
  "div",
1871
1872
  {
1872
- onClick: () => C(A, M),
1873
- onDoubleClick: () => h && ($(M), H(String(A.value || ""))),
1874
- style: { display: "flex", alignItems: "center", padding: "0 12px", height: 40, cursor: "pointer", fontSize: 13, borderBottom: `1px solid ${e.border}`, background: V ? e.primaryLt : u ? e.bg : e.surface, color: V ? e.primary : e.text, outline: u ? `2px solid ${e.primary}44` : "none", transition: "background .1s" },
1875
- children: b === M ? /* @__PURE__ */ t(
1873
+ onClick: () => L(A, z),
1874
+ onDoubleClick: () => f && ($(z), D(String(A.value || ""))),
1875
+ style: { display: "flex", alignItems: "center", padding: "0 12px", height: 40, cursor: "pointer", fontSize: 13, borderBottom: `1px solid ${e.border}`, background: V ? e.primaryLt : h ? e.bg : e.surface, color: V ? e.primary : e.text, outline: h ? `2px solid ${e.primary}44` : "none", transition: "background .1s" },
1876
+ children: b === z ? /* @__PURE__ */ t(
1876
1877
  "input",
1877
1878
  {
1878
1879
  autoFocus: !0,
1879
1880
  className: "dhx dhx-input",
1880
1881
  style: { height: 28, flex: 1 },
1881
- value: E,
1882
- onChange: (N) => H(N.target.value),
1883
- onBlur: () => R(A, M),
1884
- onKeyDown: (N) => {
1885
- N.key === "Enter" && R(A, M), N.key === "Escape" && $(null);
1882
+ value: N,
1883
+ onChange: (I) => D(I.target.value),
1884
+ onBlur: () => E(A, z),
1885
+ onKeyDown: (I) => {
1886
+ I.key === "Enter" && E(A, z), I.key === "Escape" && $(null);
1886
1887
  },
1887
- onClick: (N) => N.stopPropagation()
1888
+ onClick: (I) => I.stopPropagation()
1888
1889
  }
1889
1890
  ) : i ? /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: i(A) }, style: { flex: 1 } }) : /* @__PURE__ */ t("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: String(A.value ?? "") })
1890
1891
  },
1891
- String(D)
1892
+ String(C)
1892
1893
  );
1893
1894
  }),
1894
- n.length === 0 && /* @__PURE__ */ t("div", { style: { padding: 24, textAlign: "center", color: e.textMut }, children: "No items" })
1895
+ r.length === 0 && /* @__PURE__ */ t("div", { style: { padding: 24, textAlign: "center", color: e.textMut }, children: "No items" })
1895
1896
  ]
1896
1897
  }
1897
1898
  );
1898
1899
  }
1899
- function un({ data: n = [], template: i, itemsInRow: d = 3, gap: s = 12, multiselection: h = !1, onSelect: a, style: f }) {
1900
- const [p, y] = W(/* @__PURE__ */ new Set());
1901
- Q(Z, []);
1902
- const z = (o) => {
1900
+ function pr({ data: r = [], template: i, itemsInRow: d = 3, gap: s = 12, multiselection: f = !1, onSelect: a, style: u }) {
1901
+ const [p, y] = B(/* @__PURE__ */ new Set());
1902
+ J(Z, []);
1903
+ const M = (o) => {
1903
1904
  const b = o.id ?? String(o.title);
1904
1905
  y(($) => {
1905
- const E = h ? new Set($) : /* @__PURE__ */ new Set();
1906
- return E.has(b) ? E.delete(b) : E.add(b), E;
1906
+ const N = f ? new Set($) : /* @__PURE__ */ new Set();
1907
+ return N.has(b) ? N.delete(b) : N.add(b), N;
1907
1908
  }), a == null || a(o);
1908
1909
  };
1909
- return /* @__PURE__ */ t("div", { className: "dhx", style: { display: "grid", gridTemplateColumns: `repeat(${d}, 1fr)`, gap: s, padding: s, ...f }, children: n.map((o, b) => {
1910
- const $ = o.id ?? b, E = p.has($);
1910
+ return /* @__PURE__ */ t("div", { className: "dhx", style: { display: "grid", gridTemplateColumns: `repeat(${d}, 1fr)`, gap: s, padding: s, ...u }, children: r.map((o, b) => {
1911
+ const $ = o.id ?? b, N = p.has($);
1911
1912
  return /* @__PURE__ */ t(
1912
1913
  "div",
1913
1914
  {
1914
- onClick: () => z(o),
1915
- style: { background: e.surface, border: `2px solid ${E ? e.primary : e.border}`, borderRadius: e.rMd, overflow: "hidden", cursor: "pointer", transition: "all .15s", boxShadow: E ? `0 0 0 3px ${e.primary}33` : e.shadow, transform: E ? "translateY(-2px)" : "none" },
1916
- onMouseEnter: (H) => {
1917
- H.currentTarget.style.boxShadow = e.shadowLg, H.currentTarget.style.transform = "translateY(-2px)";
1915
+ onClick: () => M(o),
1916
+ style: { background: e.surface, border: `2px solid ${N ? e.primary : e.border}`, borderRadius: e.rMd, overflow: "hidden", cursor: "pointer", transition: "all .15s", boxShadow: N ? `0 0 0 3px ${e.primary}33` : e.shadow, transform: N ? "translateY(-2px)" : "none" },
1917
+ onMouseEnter: (D) => {
1918
+ D.currentTarget.style.boxShadow = e.shadowLg, D.currentTarget.style.transform = "translateY(-2px)";
1918
1919
  },
1919
- onMouseLeave: (H) => {
1920
- H.currentTarget.style.boxShadow = E ? `0 0 0 3px ${e.primary}33` : e.shadow, H.currentTarget.style.transform = E ? "translateY(-2px)" : "none";
1920
+ onMouseLeave: (D) => {
1921
+ D.currentTarget.style.boxShadow = N ? `0 0 0 3px ${e.primary}33` : e.shadow, D.currentTarget.style.transform = N ? "translateY(-2px)" : "none";
1921
1922
  },
1922
1923
  children: i ? /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: i(o) } }) : /* @__PURE__ */ x("div", { style: { padding: 16 }, children: [
1923
1924
  o.img && /* @__PURE__ */ t("img", { src: o.img, alt: o.title || "", style: { width: "100%", borderRadius: e.r, marginBottom: 8, display: "block" } }),
@@ -1929,137 +1930,137 @@ function un({ data: n = [], template: i, itemsInRow: d = 3, gap: s = 12, multise
1929
1930
  );
1930
1931
  }) });
1931
1932
  }
1932
- function De(n) {
1933
- return n.map((i) => ({ ...i, items: i.items ? De(i.items) : void 0 }));
1933
+ function Le(r) {
1934
+ return r.map((i) => ({ ...i, items: i.items ? Le(i.items) : void 0 }));
1934
1935
  }
1935
- function Le(n, i = {}) {
1936
- return n.forEach((d) => {
1937
- d.opened && (i[d.id] = !0), d.items && Le(d.items, i);
1936
+ function De(r, i = {}) {
1937
+ return r.forEach((d) => {
1938
+ d.opened && (i[d.id] = !0), d.items && De(d.items, i);
1938
1939
  }), i;
1939
1940
  }
1940
- function Ve(n, i) {
1941
+ function Ve(r, i) {
1941
1942
  let d = null;
1942
- return [n.filter((h) => h.id === i ? (d = h, !1) : !0).map((h) => {
1943
- if (h.items) {
1944
- const [a, f] = Ve(h.items, i);
1945
- return f && (d = f), { ...h, items: a };
1943
+ return [r.filter((f) => f.id === i ? (d = f, !1) : !0).map((f) => {
1944
+ if (f.items) {
1945
+ const [a, u] = Ve(f.items, i);
1946
+ return u && (d = u), { ...f, items: a };
1946
1947
  }
1947
- return h;
1948
+ return f;
1948
1949
  }), d];
1949
1950
  }
1950
- function Ce(n, i, d, s) {
1951
+ function Ce(r, i, d, s) {
1951
1952
  if (s === "inside")
1952
- return n.map((a) => a.id === i ? { ...a, items: [...a.items || [], d] } : a.items ? { ...a, items: Ce(a.items, i, d, s) } : a);
1953
- if (n.some((a) => a.id === i)) {
1953
+ return r.map((a) => a.id === i ? { ...a, items: [...a.items || [], d] } : a.items ? { ...a, items: Ce(a.items, i, d, s) } : a);
1954
+ if (r.some((a) => a.id === i)) {
1954
1955
  const a = [];
1955
- for (const f of n)
1956
- f.id === i ? s === "before" ? (a.push(d), a.push(f)) : (a.push(f), a.push(d)) : a.push(f);
1956
+ for (const u of r)
1957
+ u.id === i ? s === "before" ? (a.push(d), a.push(u)) : (a.push(u), a.push(d)) : a.push(u);
1957
1958
  return a;
1958
1959
  }
1959
- return n.map((a) => a.items ? { ...a, items: Ce(a.items, i, d, s) } : a);
1960
+ return r.map((a) => a.items ? { ...a, items: Ce(a.items, i, d, s) } : a);
1960
1961
  }
1961
- function Ot(n, i, d) {
1962
- function s(h) {
1963
- var a, f;
1964
- if (h.id === i) {
1962
+ function Ft(r, i, d) {
1963
+ function s(f) {
1964
+ var a, u;
1965
+ if (f.id === i) {
1965
1966
  const p = (y) => {
1966
- var z;
1967
- return y.id === d || (((z = y.items) == null ? void 0 : z.some(p)) ?? !1);
1967
+ var M;
1968
+ return y.id === d || (((M = y.items) == null ? void 0 : M.some(p)) ?? !1);
1968
1969
  };
1969
- return ((a = h.items) == null ? void 0 : a.some(p)) ?? !1;
1970
+ return ((a = f.items) == null ? void 0 : a.some(p)) ?? !1;
1970
1971
  }
1971
- return ((f = h.items) == null ? void 0 : f.some(s)) ?? !1;
1972
+ return ((u = f.items) == null ? void 0 : u.some(s)) ?? !1;
1972
1973
  }
1973
- return n.some(s);
1974
+ return r.some(s);
1974
1975
  }
1975
- function Xe(n, i, d) {
1976
- return n.map(
1976
+ function Xe(r, i, d) {
1977
+ return r.map(
1977
1978
  (s) => s.id === i ? { ...s, value: d } : { ...s, items: s.items ? Xe(s.items, i, d) : void 0 }
1978
1979
  );
1979
1980
  }
1980
- function Ft(n, i) {
1981
+ function _t(r, i) {
1981
1982
  var a;
1982
1983
  let d = 0, s = 0;
1983
- const h = (f) => {
1984
+ const f = (u) => {
1984
1985
  var p;
1985
- d++, i[f.id] && s++, (p = f.items) == null || p.forEach(h);
1986
+ d++, i[u.id] && s++, (p = u.items) == null || p.forEach(f);
1986
1987
  };
1987
- return (a = n.items) == null || a.forEach(h), { total: d, checkedCount: s };
1988
+ return (a = r.items) == null || a.forEach(f), { total: d, checkedCount: s };
1988
1989
  }
1989
- function pn({
1990
- data: n = [],
1990
+ function hr({
1991
+ data: r = [],
1991
1992
  checkbox: i = !1,
1992
1993
  editable: d = !1,
1993
1994
  dragMode: s,
1994
- tooltip: h,
1995
+ tooltip: f,
1995
1996
  onSelect: a,
1996
- onCheck: f,
1997
+ onCheck: u,
1997
1998
  onChange: p,
1998
1999
  style: y
1999
2000
  }) {
2000
- const [z, o] = W(() => De(n)), [b, $] = W(() => Le(n)), [E, H] = W(null), [c, w] = W({}), [C, R] = W(null), [A, M] = W(""), [D, V] = W(null), [u, N] = W(null);
2001
- Q(Z, []), Q(() => {
2002
- o(De(n)), $((S) => ({ ...Le(n), ...S }));
2003
- }, [n]);
2004
- const l = (S) => $((L) => ({ ...L, [S]: !L[S] })), g = (S, L) => {
2005
- w((v) => ({ ...v, [S]: L })), f == null || f(S, L);
2001
+ const [M, o] = B(() => Le(r)), [b, $] = B(() => De(r)), [N, D] = B(null), [c, w] = B({}), [L, E] = B(null), [A, z] = B(""), [C, V] = B(null), [h, I] = B(null);
2002
+ J(Z, []), J(() => {
2003
+ o(Le(r)), $((S) => ({ ...De(r), ...S }));
2004
+ }, [r]);
2005
+ const l = (S) => $((T) => ({ ...T, [S]: !T[S] })), g = (S, T) => {
2006
+ w((v) => ({ ...v, [S]: T })), u == null || u(S, T);
2006
2007
  }, K = () => {
2007
- if (!C) return;
2008
- const S = C, L = A;
2009
- R(null), o((v) => {
2010
- const j = Xe(v, S, L);
2008
+ if (!L) return;
2009
+ const S = L, T = A;
2010
+ E(null), o((v) => {
2011
+ const j = Xe(v, S, T);
2011
2012
  return p == null || p(j), j;
2012
2013
  });
2013
- }, P = (S, L) => {
2014
- S.dataTransfer.effectAllowed = "move", V(L);
2015
- }, r = (S, L) => {
2016
- if (!D || D === L || Ot(z, D, L)) return;
2014
+ }, O = (S, T) => {
2015
+ S.dataTransfer.effectAllowed = "move", V(T);
2016
+ }, n = (S, T) => {
2017
+ if (!C || C === T || Ft(M, C, T)) return;
2017
2018
  S.preventDefault();
2018
- const v = S.currentTarget.getBoundingClientRect(), j = S.clientY - v.top, X = v.height, U = j < X * 0.25 ? "before" : j > X * 0.75 ? "after" : "inside";
2019
- N((q) => (q == null ? void 0 : q.id) === L && (q == null ? void 0 : q.pos) === U ? q : { id: L, pos: U });
2020
- }, T = (S, L) => {
2021
- if (S.preventDefault(), !D || !u || D === L) {
2022
- N(null), V(null);
2019
+ const v = S.currentTarget.getBoundingClientRect(), j = S.clientY - v.top, X = v.height, Q = j < X * 0.25 ? "before" : j > X * 0.75 ? "after" : "inside";
2020
+ I((q) => (q == null ? void 0 : q.id) === T && (q == null ? void 0 : q.pos) === Q ? q : { id: T, pos: Q });
2021
+ }, R = (S, T) => {
2022
+ if (S.preventDefault(), !C || !h || C === T) {
2023
+ I(null), V(null);
2023
2024
  return;
2024
2025
  }
2025
2026
  o((v) => {
2026
- const [j, X] = Ve(v, D);
2027
+ const [j, X] = Ve(v, C);
2027
2028
  if (!X) return v;
2028
- const U = Ce(j, L, X, u.pos);
2029
- return p == null || p(U), U;
2030
- }), u.pos === "inside" && $((v) => ({ ...v, [L]: !0 })), N(null), V(null);
2029
+ const Q = Ce(j, T, X, h.pos);
2030
+ return p == null || p(Q), Q;
2031
+ }), h.pos === "inside" && $((v) => ({ ...v, [T]: !0 })), I(null), V(null);
2031
2032
  }, F = () => {
2032
- V(null), N(null);
2033
- }, k = (S, L = 0) => {
2034
- var ne;
2035
- const v = (((ne = S.items) == null ? void 0 : ne.length) ?? 0) > 0, j = b[S.id], X = E === S.id, U = D === S.id, q = (u == null ? void 0 : u.id) === S.id;
2036
- let J = !!c[S.id], ee = !1;
2033
+ V(null), I(null);
2034
+ }, k = (S, T = 0) => {
2035
+ var re;
2036
+ const v = (((re = S.items) == null ? void 0 : re.length) ?? 0) > 0, j = b[S.id], X = N === S.id, Q = C === S.id, q = (h == null ? void 0 : h.id) === S.id;
2037
+ let U = !!c[S.id], ee = !1;
2037
2038
  if (i && v) {
2038
- const { total: O, checkedCount: de } = Ft(S, c);
2039
- de > 0 && de < O ? ee = !0 : O > 0 && de === O && (J = !0);
2039
+ const { total: P, checkedCount: de } = _t(S, c);
2040
+ de > 0 && de < P ? ee = !0 : P > 0 && de === P && (U = !0);
2040
2041
  }
2041
- const te = q && u.pos !== "inside" ? { boxShadow: u.pos === "before" ? `inset 0 2px 0 0 ${e.primary}` : `inset 0 -2px 0 0 ${e.primary}` } : {}, pe = q && u.pos === "inside" || X ? e.primaryLt : "transparent";
2042
- return /* @__PURE__ */ x("div", { style: { opacity: U ? 0.4 : 1 }, children: [
2042
+ const te = q && h.pos !== "inside" ? { boxShadow: h.pos === "before" ? `inset 0 2px 0 0 ${e.primary}` : `inset 0 -2px 0 0 ${e.primary}` } : {}, pe = q && h.pos === "inside" || X ? e.primaryLt : "transparent";
2043
+ return /* @__PURE__ */ x("div", { style: { opacity: Q ? 0.4 : 1 }, children: [
2043
2044
  /* @__PURE__ */ x(
2044
2045
  "div",
2045
2046
  {
2046
2047
  draggable: !!s,
2047
- onDragStart: s ? (O) => P(O, S.id) : void 0,
2048
- onDragOver: s ? (O) => r(O, S.id) : void 0,
2049
- onDrop: s ? (O) => T(O, S.id) : void 0,
2048
+ onDragStart: s ? (P) => O(P, S.id) : void 0,
2049
+ onDragOver: s ? (P) => n(P, S.id) : void 0,
2050
+ onDrop: s ? (P) => R(P, S.id) : void 0,
2050
2051
  onDragEnd: s ? F : void 0,
2051
- title: h == null ? void 0 : h(S),
2052
+ title: f == null ? void 0 : f(S),
2052
2053
  onClick: () => {
2053
- H(S.id), a == null || a(S), v && l(S.id);
2054
+ D(S.id), a == null || a(S), v && l(S.id);
2054
2055
  },
2055
2056
  onDoubleClick: () => {
2056
- d && (R(S.id), M(S.value || ""));
2057
+ d && (E(S.id), z(S.value || ""));
2057
2058
  },
2058
2059
  style: {
2059
2060
  display: "flex",
2060
2061
  alignItems: "center",
2061
2062
  gap: 4,
2062
- padding: `5px 8px 5px ${12 + L * 18}px`,
2063
+ padding: `5px 8px 5px ${12 + T * 18}px`,
2063
2064
  cursor: s ? "grab" : "pointer",
2064
2065
  borderRadius: e.r,
2065
2066
  margin: "1px 4px",
@@ -2069,15 +2070,15 @@ function pn({
2069
2070
  fontSize: 13,
2070
2071
  ...te
2071
2072
  },
2072
- onMouseEnter: (O) => !X && !q && (O.currentTarget.style.background = e.bg),
2073
- onMouseLeave: (O) => !X && !q && (O.currentTarget.style.background = "transparent"),
2073
+ onMouseEnter: (P) => !X && !q && (P.currentTarget.style.background = e.bg),
2074
+ onMouseLeave: (P) => !X && !q && (P.currentTarget.style.background = "transparent"),
2074
2075
  children: [
2075
2076
  /* @__PURE__ */ t(
2076
2077
  "span",
2077
2078
  {
2078
2079
  style: { width: 16, textAlign: "center", fontSize: 11, color: e.textMut, flexShrink: 0 },
2079
- onClick: (O) => {
2080
- O.stopPropagation(), v && l(S.id);
2080
+ onClick: (P) => {
2081
+ P.stopPropagation(), v && l(S.id);
2081
2082
  },
2082
2083
  children: v ? j ? "▾" : "▸" : ""
2083
2084
  }
@@ -2086,31 +2087,31 @@ function pn({
2086
2087
  i && /* @__PURE__ */ t(
2087
2088
  "input",
2088
2089
  {
2089
- ref: (O) => {
2090
- O && (O.indeterminate = ee);
2090
+ ref: (P) => {
2091
+ P && (P.indeterminate = ee);
2091
2092
  },
2092
2093
  type: "checkbox",
2093
- checked: J,
2094
- onChange: (O) => {
2095
- O.stopPropagation(), g(S.id, O.target.checked);
2094
+ checked: U,
2095
+ onChange: (P) => {
2096
+ P.stopPropagation(), g(S.id, P.target.checked);
2096
2097
  },
2097
2098
  style: { cursor: "pointer", accentColor: e.primary, flexShrink: 0 },
2098
- onClick: (O) => O.stopPropagation()
2099
+ onClick: (P) => P.stopPropagation()
2099
2100
  }
2100
2101
  ),
2101
- C === S.id ? /* @__PURE__ */ t(
2102
+ L === S.id ? /* @__PURE__ */ t(
2102
2103
  "input",
2103
2104
  {
2104
2105
  autoFocus: !0,
2105
2106
  className: "dhx dhx-input",
2106
2107
  style: { height: 24, fontSize: 12, flex: 1 },
2107
2108
  value: A,
2108
- onChange: (O) => M(O.target.value),
2109
+ onChange: (P) => z(P.target.value),
2109
2110
  onBlur: K,
2110
- onKeyDown: (O) => {
2111
- O.key === "Enter" && K(), O.key === "Escape" && R(null);
2111
+ onKeyDown: (P) => {
2112
+ P.key === "Enter" && K(), P.key === "Escape" && E(null);
2112
2113
  },
2113
- onClick: (O) => O.stopPropagation()
2114
+ onClick: (P) => P.stopPropagation()
2114
2115
  }
2115
2116
  ) : /* @__PURE__ */ t("span", { style: { flex: 1 }, children: S.value }),
2116
2117
  S.count !== void 0 && /* @__PURE__ */ x("span", { style: { fontSize: 11, color: e.textMut }, children: [
@@ -2121,7 +2122,7 @@ function pn({
2121
2122
  ]
2122
2123
  }
2123
2124
  ),
2124
- v && j && /* @__PURE__ */ t("div", { children: S.items.map((O) => k(O, L + 1)) })
2125
+ v && j && /* @__PURE__ */ t("div", { children: S.items.map((P) => k(P, T + 1)) })
2125
2126
  ] }, S.id);
2126
2127
  };
2127
2128
  return /* @__PURE__ */ t(
@@ -2131,76 +2132,76 @@ function pn({
2131
2132
  style: { overflowY: "auto", ...y },
2132
2133
  onDragOver: s ? (S) => S.preventDefault() : void 0,
2133
2134
  onDrop: s ? (S) => {
2134
- S.preventDefault(), N(null), V(null);
2135
+ S.preventDefault(), I(null), V(null);
2135
2136
  } : void 0,
2136
- children: z.map((S) => k(S))
2137
+ children: M.map((S) => k(S))
2137
2138
  }
2138
2139
  );
2139
2140
  }
2140
- function hn({ total: n, pageSize: i = 10, page: d, onChange: s, style: h }) {
2141
- const [a, f] = W(d || 1), p = Math.ceil(n / i);
2142
- Q(Z, []);
2141
+ function fr({ total: r, pageSize: i = 10, page: d, onChange: s, style: f }) {
2142
+ const [a, u] = B(d || 1), p = Math.ceil(r / i);
2143
+ J(Z, []);
2143
2144
  const y = (o) => {
2144
2145
  const b = Math.min(Math.max(1, o), p);
2145
- f(b), s == null || s(b);
2146
- }, z = ue(() => {
2146
+ u(b), s == null || s(b);
2147
+ }, M = ue(() => {
2147
2148
  const o = [];
2148
2149
  for (let $ = Math.max(1, a - 2); $ <= Math.min(p, a + 2); $++) o.push($);
2149
2150
  return o[0] > 1 && (o[0] > 2 && o.unshift("..."), o.unshift(1)), o[o.length - 1] < p && (o[o.length - 1] < p - 1 && o.push("..."), o.push(p)), o;
2150
2151
  }, [a, p]);
2151
- return /* @__PURE__ */ x("div", { className: "dhx", style: { display: "flex", alignItems: "center", gap: 4, padding: "8px 12px", ...h }, children: [
2152
+ return /* @__PURE__ */ x("div", { className: "dhx", style: { display: "flex", alignItems: "center", gap: 4, padding: "8px 12px", ...f }, children: [
2152
2153
  /* @__PURE__ */ x("span", { style: { fontSize: 12, color: e.textSec, marginRight: 8 }, children: [
2153
2154
  (a - 1) * i + 1,
2154
2155
  "–",
2155
- Math.min(a * i, n),
2156
+ Math.min(a * i, r),
2156
2157
  " of ",
2157
- n
2158
+ r
2158
2159
  ] }),
2159
2160
  [["«", 1], ["‹", a - 1]].map(([o, b]) => /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-ghost", style: { height: 30, padding: "0 8px", fontSize: 14 }, disabled: a === 1, onClick: () => y(b), children: o }, o)),
2160
- z.map((o, b) => /* @__PURE__ */ t("button", { onClick: () => typeof o == "number" && y(o), className: `dhx dhx-btn ${o === a ? "dhx-btn-primary" : "dhx-btn-ghost"}`, style: { height: 30, minWidth: 30, padding: "0 8px", fontSize: 13 }, disabled: o === "...", children: o }, b)),
2161
+ M.map((o, b) => /* @__PURE__ */ t("button", { onClick: () => typeof o == "number" && y(o), className: `dhx dhx-btn ${o === a ? "dhx-btn-primary" : "dhx-btn-ghost"}`, style: { height: 30, minWidth: 30, padding: "0 8px", fontSize: 13 }, disabled: o === "...", children: o }, b)),
2161
2162
  [["›", a + 1], ["»", p]].map(([o, b]) => /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-ghost", style: { height: 30, padding: "0 8px", fontSize: 14 }, disabled: a === p, onClick: () => y(b), children: o }, o))
2162
2163
  ] });
2163
2164
  }
2164
- function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2165
- const [h, a] = W(i), [f, p] = W({}), [y, z] = W(null);
2166
- Q(Z, []);
2165
+ function gr({ config: r = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2166
+ const [f, a] = B(i), [u, p] = B({}), [y, M] = B(null);
2167
+ J(Z, []);
2167
2168
  const o = (c, w) => {
2168
- a((C) => ({ ...C, [c]: w })), p((C) => ({ ...C, [c]: null }));
2169
+ a((L) => ({ ...L, [c]: w })), p((L) => ({ ...L, [c]: null }));
2169
2170
  }, b = (c) => {
2170
2171
  const w = [];
2171
- return c.flat().forEach((C) => {
2172
- !C || typeof C != "object" || !("name" in C) || (w.push(C), C.type === "fieldset" && C.rows && w.push(...b(C.rows)));
2172
+ return c.flat().forEach((L) => {
2173
+ !L || typeof L != "object" || !("name" in L) || (w.push(L), L.type === "fieldset" && L.rows && w.push(...b(L.rows)));
2173
2174
  }), w;
2174
2175
  }, $ = () => {
2175
2176
  const c = {};
2176
- return b(n.rows || []).forEach((w) => {
2177
- w.required && !h[w.name] && (c[w.name] = `${w.label || w.name} is required`);
2177
+ return b(r.rows || []).forEach((w) => {
2178
+ w.required && !f[w.name] && (c[w.name] = `${w.label || w.name} is required`);
2178
2179
  }), p(c), Object.keys(c).length === 0;
2179
- }, E = (c) => {
2180
- const w = h[c.name] ?? c.value ?? "", C = f[c.name], R = c.labelWidth ?? n.labelWidth, A = R !== void 0 || c.labelPosition === "left";
2180
+ }, N = (c) => {
2181
+ const w = f[c.name] ?? c.value ?? "", L = u[c.name], E = c.labelWidth ?? r.labelWidth, A = E !== void 0 || c.labelPosition === "left";
2181
2182
  if (c.type === "fieldset") return /* @__PURE__ */ x("fieldset", { style: { border: `1px solid ${e.border}`, borderRadius: e.r, padding: "12px 16px", marginBottom: 14 }, children: [
2182
2183
  /* @__PURE__ */ t("legend", { style: { fontSize: 12, fontWeight: 700, color: e.textSec, padding: "0 6px" }, children: c.label }),
2183
- (c.rows || []).map((g) => E(g))
2184
+ (c.rows || []).map((g) => N(g))
2184
2185
  ] }, c.name);
2185
2186
  if (c.type === "spacer") return /* @__PURE__ */ t("div", { style: { height: c.height || 16 } }, c.name);
2186
- const M = R ? { minWidth: R, width: R, flexShrink: 0, paddingTop: 8, boxSizing: "border-box" } : {}, D = c.label ? /* @__PURE__ */ x("label", { className: "dhx dhx-label", style: { display: "flex", gap: 4, ...M }, children: [
2187
+ const z = E ? { minWidth: E, width: E, flexShrink: 0, paddingTop: 8, boxSizing: "border-box" } : {}, C = c.label ? /* @__PURE__ */ x("label", { className: "dhx dhx-label", style: { display: "flex", gap: 4, ...z }, children: [
2187
2188
  c.label,
2188
2189
  c.required && /* @__PURE__ */ t("span", { style: { color: e.danger }, children: "*" })
2189
- ] }, "lbl") : null, V = C ? /* @__PURE__ */ t("div", { style: { fontSize: 11, color: e.danger, marginTop: 3 }, children: C }) : null, u = c.helpMessage ? /* @__PURE__ */ x("div", { style: { fontSize: 11, color: e.textMut, marginTop: 3 }, children: [
2190
+ ] }, "lbl") : null, V = L ? /* @__PURE__ */ t("div", { style: { fontSize: 11, color: e.danger, marginTop: 3 }, children: L }) : null, h = c.helpMessage ? /* @__PURE__ */ x("div", { style: { fontSize: 11, color: e.textMut, marginTop: 3 }, children: [
2190
2191
  "ⓘ ",
2191
2192
  c.helpMessage
2192
- ] }) : null, N = { key: c.name, className: "dhx-form-group" }, l = (g) => A ? /* @__PURE__ */ x("div", { ...N, style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
2193
- D,
2193
+ ] }) : null, I = { key: c.name, className: "dhx-form-group" }, l = (g) => A ? /* @__PURE__ */ x("div", { ...I, style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
2194
+ C,
2194
2195
  /* @__PURE__ */ x("div", { style: { flex: 1, minWidth: 0 }, children: [
2195
2196
  g,
2196
2197
  V,
2197
- u
2198
+ h
2198
2199
  ] })
2199
- ] }) : /* @__PURE__ */ x("div", { ...N, children: [
2200
- D,
2200
+ ] }) : /* @__PURE__ */ x("div", { ...I, children: [
2201
+ C,
2201
2202
  g,
2202
2203
  V,
2203
- u
2204
+ h
2204
2205
  ] });
2205
2206
  if (!c.type || c.type === "input") return l(
2206
2207
  /* @__PURE__ */ x("div", { className: "dhx-input-wrap", children: [
@@ -2209,7 +2210,7 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2209
2210
  "input",
2210
2211
  {
2211
2212
  className: `dhx dhx-input${c.icon ? " dhx-input--with-icon" : ""}`,
2212
- style: { borderColor: C ? e.danger : void 0 },
2213
+ style: { borderColor: L ? e.danger : void 0 },
2213
2214
  type: c.inputType || "text",
2214
2215
  placeholder: c.placeholder,
2215
2216
  value: w,
@@ -2241,24 +2242,24 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2241
2242
  /* @__PURE__ */ t("input", { type: "date", className: "dhx dhx-input", value: w, onChange: (g) => o(c.name, g.target.value) })
2242
2243
  );
2243
2244
  if (c.type === "timepicker") {
2244
- const g = h[c.name] ?? { h: 12, m: 0, ampm: "AM" }, K = !!h[c.name], P = K ? `${String(g.h).padStart(2, "0")}:${String(g.m).padStart(2, "0")}${g.ampm ? " " + g.ampm : ""}` : c.placeholder || "Click to select", r = /* @__PURE__ */ x("div", { style: { position: "relative" }, children: [
2245
+ const g = f[c.name] ?? { h: 12, m: 0, ampm: "AM" }, K = !!f[c.name], O = K ? `${String(g.h).padStart(2, "0")}:${String(g.m).padStart(2, "0")}${g.ampm ? " " + g.ampm : ""}` : c.placeholder || "Click to select", n = /* @__PURE__ */ x("div", { style: { position: "relative" }, children: [
2245
2246
  /* @__PURE__ */ x(
2246
2247
  "div",
2247
2248
  {
2248
2249
  className: "dhx dhx-input",
2249
2250
  style: { cursor: "pointer", display: "flex", alignItems: "center", justifyContent: "space-between" },
2250
- onClick: () => z(y === c.name ? null : c.name),
2251
+ onClick: () => M(y === c.name ? null : c.name),
2251
2252
  children: [
2252
- /* @__PURE__ */ t("span", { style: { color: K ? e.text : e.textMut }, children: P }),
2253
+ /* @__PURE__ */ t("span", { style: { color: K ? e.text : e.textMut }, children: O }),
2253
2254
  /* @__PURE__ */ t("span", { style: { fontSize: 13, color: e.textSec }, children: "🕐" })
2254
2255
  ]
2255
2256
  }
2256
2257
  ),
2257
- y === c.name && /* @__PURE__ */ t("div", { style: { position: "absolute", zIndex: 100, top: "calc(100% + 4px)", left: 0 }, children: /* @__PURE__ */ t(Ht, { value: g, controls: !0, onChange: (T) => {
2258
- o(c.name, T), z(null);
2258
+ y === c.name && /* @__PURE__ */ t("div", { style: { position: "absolute", zIndex: 100, top: "calc(100% + 4px)", left: 0 }, children: /* @__PURE__ */ t(At, { value: g, controls: !0, onChange: (R) => {
2259
+ o(c.name, R), M(null);
2259
2260
  } }) })
2260
2261
  ] });
2261
- return l(r);
2262
+ return l(n);
2262
2263
  }
2263
2264
  if (c.type === "colorpicker") return l(
2264
2265
  /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
@@ -2277,9 +2278,9 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2277
2278
  if (c.type === "text") return l(
2278
2279
  /* @__PURE__ */ t("p", { style: { margin: "6px 0", fontSize: 13, color: e.text }, children: c.value })
2279
2280
  );
2280
- if (c.type === "checkbox") return /* @__PURE__ */ x("div", { ...N, children: [
2281
+ if (c.type === "checkbox") return /* @__PURE__ */ x("div", { ...I, children: [
2281
2282
  A ? /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
2282
- R && /* @__PURE__ */ t("div", { style: { width: R, flexShrink: 0 } }),
2283
+ E && /* @__PURE__ */ t("div", { style: { width: E, flexShrink: 0 } }),
2283
2284
  /* @__PURE__ */ x("label", { style: { display: "flex", alignItems: "center", gap: 8, cursor: "pointer" }, children: [
2284
2285
  /* @__PURE__ */ t("input", { type: "checkbox", checked: !!w, onChange: (g) => o(c.name, g.target.checked), style: { width: 16, height: 16, accentColor: e.primary, cursor: "pointer" } }),
2285
2286
  /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: c.label })
@@ -2288,7 +2289,7 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2288
2289
  /* @__PURE__ */ t("input", { type: "checkbox", checked: !!w, onChange: (g) => o(c.name, g.target.checked), style: { width: 16, height: 16, accentColor: e.primary, cursor: "pointer" } }),
2289
2290
  /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: c.label })
2290
2291
  ] }),
2291
- u
2292
+ h
2292
2293
  ] });
2293
2294
  if (c.type === "radio") {
2294
2295
  const g = (c.options || []).map((K) => /* @__PURE__ */ x("label", { style: { display: "flex", alignItems: "center", gap: 6, cursor: "pointer", fontSize: 13 }, children: [
@@ -2309,11 +2310,11 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2309
2310
  /* @__PURE__ */ t("div", { style: { display: "flex", gap: 16, flexWrap: "wrap", paddingTop: 8 }, children: g })
2310
2311
  );
2311
2312
  }
2312
- if (c.type === "slider") return A ? /* @__PURE__ */ x("div", { ...N, style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
2313
- D,
2313
+ if (c.type === "slider") return A ? /* @__PURE__ */ x("div", { ...I, style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
2314
+ C,
2314
2315
  /* @__PURE__ */ x("div", { style: { flex: 1 }, children: [
2315
2316
  /* @__PURE__ */ t(
2316
- Pe,
2317
+ Oe,
2317
2318
  {
2318
2319
  min: c.min,
2319
2320
  max: c.max,
@@ -2323,11 +2324,11 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2323
2324
  onChange: (g) => o(c.name, g)
2324
2325
  }
2325
2326
  ),
2326
- u
2327
+ h
2327
2328
  ] })
2328
- ] }) : /* @__PURE__ */ x("div", { ...N, children: [
2329
+ ] }) : /* @__PURE__ */ x("div", { ...I, children: [
2329
2330
  /* @__PURE__ */ t(
2330
- Pe,
2331
+ Oe,
2331
2332
  {
2332
2333
  label: c.label,
2333
2334
  min: c.min,
@@ -2338,10 +2339,10 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2338
2339
  onChange: (g) => o(c.name, g)
2339
2340
  }
2340
2341
  ),
2341
- u
2342
+ h
2342
2343
  ] });
2343
- if (c.type === "combo") return A ? /* @__PURE__ */ x("div", { ...N, style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
2344
- D,
2344
+ if (c.type === "combo") return A ? /* @__PURE__ */ x("div", { ...I, style: { display: "flex", alignItems: "flex-start", gap: 8 }, children: [
2345
+ C,
2345
2346
  /* @__PURE__ */ x("div", { style: { flex: 1 }, children: [
2346
2347
  /* @__PURE__ */ t(
2347
2348
  je,
@@ -2354,9 +2355,9 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2354
2355
  }
2355
2356
  ),
2356
2357
  V,
2357
- u
2358
+ h
2358
2359
  ] })
2359
- ] }) : /* @__PURE__ */ x("div", { ...N, children: [
2360
+ ] }) : /* @__PURE__ */ x("div", { ...I, children: [
2360
2361
  /* @__PURE__ */ t(
2361
2362
  je,
2362
2363
  {
@@ -2369,58 +2370,58 @@ function fn({ config: n = {}, defaultValues: i = {}, onSubmit: d, style: s }) {
2369
2370
  }
2370
2371
  ),
2371
2372
  V,
2372
- u
2373
+ h
2373
2374
  ] });
2374
2375
  if (c.type === "toggle") {
2375
- const g = !!w, K = g ? c.icon : c.offIcon || c.icon, P = g ? c.text || c.label : c.offText || c.text || c.label;
2376
- return /* @__PURE__ */ x("div", { ...N, children: [
2377
- A && R && /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
2378
- /* @__PURE__ */ t("div", { style: { width: R, flexShrink: 0 } }),
2376
+ const g = !!w, K = g ? c.icon : c.offIcon || c.icon, O = g ? c.text || c.label : c.offText || c.text || c.label;
2377
+ return /* @__PURE__ */ x("div", { ...I, children: [
2378
+ A && E && /* @__PURE__ */ x("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [
2379
+ /* @__PURE__ */ t("div", { style: { width: E, flexShrink: 0 } }),
2379
2380
  /* @__PURE__ */ x("label", { style: { display: "flex", alignItems: "center", gap: 8, cursor: "pointer" }, children: [
2380
2381
  /* @__PURE__ */ t(_e, { on: g, onClick: () => o(c.name, !w) }),
2381
2382
  K && /* @__PURE__ */ t("span", { style: { fontSize: 16 }, children: K }),
2382
- P && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: P })
2383
+ O && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: O })
2383
2384
  ] })
2384
2385
  ] }),
2385
2386
  !A && /* @__PURE__ */ x("label", { style: { display: "flex", alignItems: "center", gap: 10, cursor: "pointer" }, children: [
2386
2387
  /* @__PURE__ */ t(_e, { on: g, onClick: () => o(c.name, !w) }),
2387
2388
  K && /* @__PURE__ */ t("span", { style: { fontSize: 16 }, children: K }),
2388
- P && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: P })
2389
+ O && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: O })
2389
2390
  ] }),
2390
- u
2391
+ h
2391
2392
  ] });
2392
2393
  }
2393
2394
  return null;
2394
- }, H = (c) => c.map(
2395
- (w, C) => Array.isArray(w) ? /* @__PURE__ */ t("div", { style: { display: "flex", gap: 12, alignItems: "flex-start" }, children: w.map(E) }, C) : E(w)
2395
+ }, D = (c) => c.map(
2396
+ (w, L) => Array.isArray(w) ? /* @__PURE__ */ t("div", { style: { display: "flex", gap: 12, alignItems: "flex-start" }, children: w.map(N) }, L) : N(w)
2396
2397
  );
2397
- return /* @__PURE__ */ x("div", { className: "dhx", style: { padding: n.padding || 0, width: n.width || "100%", ...s }, children: [
2398
- H(n.rows || []),
2399
- (n.buttons || d) && /* @__PURE__ */ x("div", { style: { display: "flex", gap: 8, justifyContent: n.buttonAlign || "flex-start", marginTop: 8 }, children: [
2400
- /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-primary", onClick: () => $() && (d == null ? void 0 : d(h)), children: n.submitText || "Submit" }),
2401
- n.resetButton !== !1 && /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-secondary", onClick: () => {
2398
+ return /* @__PURE__ */ x("div", { className: "dhx", style: { padding: r.padding || 0, width: r.width || "100%", ...s }, children: [
2399
+ D(r.rows || []),
2400
+ (r.buttons || d) && /* @__PURE__ */ x("div", { style: { display: "flex", gap: 8, justifyContent: r.buttonAlign || "flex-start", marginTop: 8 }, children: [
2401
+ /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-primary", onClick: () => $() && (d == null ? void 0 : d(f)), children: r.submitText || "Submit" }),
2402
+ r.resetButton !== !1 && /* @__PURE__ */ t("button", { className: "dhx dhx-btn dhx-btn-secondary", onClick: () => {
2402
2403
  a(i), p({});
2403
- }, children: n.resetText || "Reset" })
2404
+ }, children: r.resetText || "Reset" })
2404
2405
  ] })
2405
2406
  ] });
2406
2407
  }
2407
- function _e({ on: n, onClick: i }) {
2408
+ function _e({ on: r, onClick: i }) {
2408
2409
  return /* @__PURE__ */ x("div", { style: { position: "relative", width: 40, height: 22, flexShrink: 0 }, onClick: i, children: [
2409
- /* @__PURE__ */ t("div", { style: { width: 40, height: 22, borderRadius: 11, background: n ? e.primary : e.border, transition: "background 0.2s" } }),
2410
- /* @__PURE__ */ t("div", { style: { position: "absolute", top: 3, left: n ? 21 : 3, width: 16, height: 16, borderRadius: "50%", background: "#fff", transition: "left 0.2s", boxShadow: "0 1px 3px rgba(0,0,0,.3)" } })
2410
+ /* @__PURE__ */ t("div", { style: { width: 40, height: 22, borderRadius: 11, background: r ? e.primary : e.border, transition: "background 0.2s" } }),
2411
+ /* @__PURE__ */ t("div", { style: { position: "absolute", top: 3, left: r ? 21 : 3, width: 16, height: 16, borderRadius: "50%", background: "#fff", transition: "left 0.2s", boxShadow: "0 1px 3px rgba(0,0,0,.3)" } })
2411
2412
  ] });
2412
2413
  }
2413
- function me(n) {
2414
+ function me(r) {
2414
2415
  const i = [];
2415
- for (const d of n)
2416
+ for (const d of r)
2416
2417
  d.type === "block" ? i.push(...me(d.items || [])) : i.push(d);
2417
2418
  return i;
2418
2419
  }
2419
- function _t(n) {
2420
- return n === "primary" ? e.primary : n === "success" ? e.success : n === "secondary" ? e.borderDk : e.danger;
2420
+ function Yt(r) {
2421
+ return r === "primary" ? e.primary : r === "success" ? e.success : r === "secondary" ? e.borderDk : e.danger;
2421
2422
  }
2422
- function Yt(n, i) {
2423
- switch (n) {
2423
+ function Kt(r, i) {
2424
+ switch (r) {
2424
2425
  case "primary":
2425
2426
  return { background: e.primary, color: "#fff", borderColor: e.primary };
2426
2427
  case "danger":
@@ -2433,57 +2434,57 @@ function Yt(n, i) {
2433
2434
  return i ? { background: e.primaryLt, color: e.primary } : {};
2434
2435
  }
2435
2436
  }
2436
- function gn({
2437
- items: n = [],
2437
+ function xr({
2438
+ items: r = [],
2438
2439
  css: i,
2439
2440
  menuCss: d,
2440
2441
  style: s,
2441
- onAction: h,
2442
+ onAction: f,
2442
2443
  onInputChange: a,
2443
- onInputBlur: f,
2444
+ onInputBlur: u,
2444
2445
  onInputFocus: p,
2445
2446
  onOpenMenu: y
2446
2447
  }) {
2447
- Q(Z, []);
2448
- const [z, o] = W(() => {
2449
- const r = {};
2450
- for (const T of me(n))
2451
- T.id && (r[T.id] = !!T.active);
2452
- return r;
2453
- }), [b, $] = W(null), [E, H] = W(() => {
2454
- const r = {};
2455
- for (const T of me(n))
2456
- T.type === "selectButton" && T.id && T.value && (r[T.id] = T.value);
2457
- return r;
2458
- }), c = me(n), w = le(null);
2448
+ J(Z, []);
2449
+ const [M, o] = B(() => {
2450
+ const n = {};
2451
+ for (const R of me(r))
2452
+ R.id && (n[R.id] = !!R.active);
2453
+ return n;
2454
+ }), [b, $] = B(null), [N, D] = B(() => {
2455
+ const n = {};
2456
+ for (const R of me(r))
2457
+ R.type === "selectButton" && R.id && R.value && (n[R.id] = R.value);
2458
+ return n;
2459
+ }), c = me(r), w = ie(null);
2459
2460
  xe(w, ae(() => $(null), []));
2460
- const C = (r) => {
2461
- var T, F;
2462
- if (!r.disabled) {
2463
- if (r.id) {
2464
- if (r.group) {
2465
- const k = c.filter((S) => S.group === r.group && S.id);
2461
+ const L = (n) => {
2462
+ var R, F;
2463
+ if (!n.disabled) {
2464
+ if (n.id) {
2465
+ if (n.group) {
2466
+ const k = c.filter((S) => S.group === n.group && S.id);
2466
2467
  o((S) => {
2467
- const L = { ...S };
2468
- for (const v of k) L[v.id] = !1;
2469
- return L[r.id] = !0, L;
2468
+ const T = { ...S };
2469
+ for (const v of k) T[v.id] = !1;
2470
+ return T[n.id] = !0, T;
2470
2471
  });
2471
- } else r.twoState && o((k) => ({ ...k, [r.id]: !k[r.id] }));
2472
- if ((T = r.items) != null && T.length) {
2473
- const k = r.id;
2474
- $((S) => S === k ? null : k), y == null || y(r.id);
2472
+ } else n.twoState && o((k) => ({ ...k, [n.id]: !k[n.id] }));
2473
+ if ((R = n.items) != null && R.length) {
2474
+ const k = n.id;
2475
+ $((S) => S === k ? null : k), y == null || y(n.id);
2475
2476
  return;
2476
2477
  }
2477
2478
  }
2478
- (F = r.onClick) == null || F.call(r, r), r.id && (h == null || h(r.id, r));
2479
+ (F = n.onClick) == null || F.call(n, n), n.id && (f == null || f(n.id, n));
2479
2480
  }
2480
- }, R = ({ count: r, color: T }) => /* @__PURE__ */ t("span", { style: {
2481
+ }, E = ({ count: n, color: R }) => /* @__PURE__ */ t("span", { style: {
2481
2482
  position: "absolute",
2482
2483
  top: 2,
2483
2484
  right: 2,
2484
2485
  minWidth: 14,
2485
2486
  height: 14,
2486
- background: _t(T),
2487
+ background: Yt(R),
2487
2488
  color: "#fff",
2488
2489
  borderRadius: 7,
2489
2490
  fontSize: 9,
@@ -2493,75 +2494,75 @@ function gn({
2493
2494
  justifyContent: "center",
2494
2495
  padding: "0 2px",
2495
2496
  pointerEvents: "none"
2496
- }, children: r > 99 ? "99+" : r }), A = (r, T) => {
2497
- var ne;
2498
- const F = r.id !== void 0 ? z[r.id] ?? !!r.active : !!r.active, k = r.value ?? r.text, S = r.size ?? "medium", L = S === "auto", v = S === "small", j = !!((ne = r.items) != null && ne.length), X = r.id !== void 0 && b === r.id, U = Yt(r.color, F && !r.color), q = L ? void 0 : v ? 26 : 32, J = L ? 22 : v ? 13 : 16, ee = [r.tooltip, r.hotkey ? `(${r.hotkey})` : ""].filter(Boolean).join(" "), te = r.circle ? { borderRadius: "50%", padding: L ? "8px" : "0", aspectRatio: "1", justifyContent: "center" } : {}, pe = r.view === "link" ? { background: "transparent", border: "none", textDecoration: "underline", padding: "0 4px" } : r.view === "flat" ? { borderRadius: 0 } : {};
2497
+ }, children: n > 99 ? "99+" : n }), A = (n, R) => {
2498
+ var re;
2499
+ const F = n.id !== void 0 ? M[n.id] ?? !!n.active : !!n.active, k = n.value ?? n.text, S = n.size ?? "medium", T = S === "auto", v = S === "small", j = !!((re = n.items) != null && re.length), X = n.id !== void 0 && b === n.id, Q = Kt(n.color, F && !n.color), q = T ? void 0 : v ? 26 : 32, U = T ? 22 : v ? 13 : 16, ee = [n.tooltip, n.hotkey ? `(${n.hotkey})` : ""].filter(Boolean).join(" "), te = n.circle ? { borderRadius: "50%", padding: T ? "8px" : "0", aspectRatio: "1", justifyContent: "center" } : {}, pe = n.view === "link" ? { background: "transparent", border: "none", textDecoration: "underline", padding: "0 4px" } : n.view === "flat" ? { borderRadius: 0 } : {};
2499
2500
  return /* @__PURE__ */ x("div", { style: { position: "relative", display: "flex" }, children: [
2500
2501
  /* @__PURE__ */ x(
2501
2502
  "button",
2502
2503
  {
2503
2504
  title: ee || void 0,
2504
- disabled: r.disabled,
2505
+ disabled: n.disabled,
2505
2506
  className: "dhx dhx-btn dhx-btn-ghost",
2506
2507
  style: {
2507
- flexDirection: L ? "column" : "row",
2508
- alignSelf: L ? "stretch" : "center",
2508
+ flexDirection: T ? "column" : "row",
2509
+ alignSelf: T ? "stretch" : "center",
2509
2510
  justifyContent: "center",
2510
- minHeight: L ? 56 : q,
2511
- height: L ? void 0 : q,
2512
- padding: L ? "6px 10px" : v ? "0 6px" : "0 8px",
2511
+ minHeight: T ? 56 : q,
2512
+ height: T ? void 0 : q,
2513
+ padding: T ? "6px 10px" : v ? "0 6px" : "0 8px",
2513
2514
  gap: 4,
2514
2515
  position: "relative",
2515
- background: F && !r.color ? e.primaryLt : "transparent",
2516
- color: F && !r.color ? e.primary : r.disabled ? e.textMut : e.text,
2517
- opacity: r.disabled ? 0.55 : 1,
2518
- cursor: r.disabled ? "not-allowed" : "pointer",
2516
+ background: F && !n.color ? e.primaryLt : "transparent",
2517
+ color: F && !n.color ? e.primary : n.disabled ? e.textMut : e.text,
2518
+ opacity: n.disabled ? 0.55 : 1,
2519
+ cursor: n.disabled ? "not-allowed" : "pointer",
2519
2520
  borderColor: X ? e.primary : void 0,
2520
- ...U,
2521
+ ...Q,
2521
2522
  ...te,
2522
2523
  ...pe
2523
2524
  },
2524
- onClick: () => C(r),
2525
+ onClick: () => L(n),
2525
2526
  children: [
2526
- r.loading ? /* @__PURE__ */ t("span", { style: {
2527
- fontSize: J,
2527
+ n.loading ? /* @__PURE__ */ t("span", { style: {
2528
+ fontSize: U,
2528
2529
  lineHeight: 1,
2529
2530
  flexShrink: 0,
2530
2531
  display: "inline-block",
2531
2532
  animation: "dhx-spin 1s linear infinite"
2532
- }, children: "⟳" }) : r.icon && /* @__PURE__ */ t("span", { style: { fontSize: J, lineHeight: 1, flexShrink: 0 }, children: r.icon }),
2533
- k && !r.html && /* @__PURE__ */ t("span", { style: {
2534
- fontSize: L ? 10 : v ? 11 : 12,
2535
- maxWidth: L ? 64 : void 0,
2536
- textAlign: L ? "center" : "left",
2537
- lineHeight: L ? 1.2 : 1,
2538
- whiteSpace: L ? "normal" : "nowrap"
2533
+ }, children: "⟳" }) : n.icon && /* @__PURE__ */ t("span", { style: { fontSize: U, lineHeight: 1, flexShrink: 0 }, children: n.icon }),
2534
+ k && !n.html && /* @__PURE__ */ t("span", { style: {
2535
+ fontSize: T ? 10 : v ? 11 : 12,
2536
+ maxWidth: T ? 64 : void 0,
2537
+ textAlign: T ? "center" : "left",
2538
+ lineHeight: T ? 1.2 : 1,
2539
+ whiteSpace: T ? "normal" : "nowrap"
2539
2540
  }, children: k }),
2540
- r.html && /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: r.html } }),
2541
+ n.html && /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: n.html } }),
2541
2542
  j && /* @__PURE__ */ t("span", { style: { fontSize: 8, opacity: 0.6, marginLeft: 1 }, children: "▼" }),
2542
- r.hotkey && L && /* @__PURE__ */ t("span", { style: { fontSize: 9, color: e.textMut, lineHeight: 1 }, children: r.hotkey }),
2543
- r.count !== void 0 && /* @__PURE__ */ t(R, { count: r.count, color: r.countColor })
2543
+ n.hotkey && T && /* @__PURE__ */ t("span", { style: { fontSize: 9, color: e.textMut, lineHeight: 1 }, children: n.hotkey }),
2544
+ n.count !== void 0 && /* @__PURE__ */ t(E, { count: n.count, color: n.countColor })
2544
2545
  ]
2545
2546
  }
2546
2547
  ),
2547
2548
  j && X && /* @__PURE__ */ t(
2548
2549
  fe,
2549
2550
  {
2550
- items: r.items,
2551
- onSelect: (O) => {
2552
- $(null), O.id && (h == null || h(String(O.id), r));
2551
+ items: n.items,
2552
+ onSelect: (P) => {
2553
+ $(null), P.id && (f == null || f(String(P.id), n));
2553
2554
  },
2554
2555
  style: { top: "100%", left: 0, minWidth: 160 }
2555
2556
  }
2556
2557
  )
2557
- ] }, T);
2558
- }, M = (r, T) => {
2559
- const F = r.size ?? "medium", k = F === "auto" ? 48 : F === "small" ? 28 : 36, S = r.id !== void 0 ? z[r.id] ?? !!r.active : !!r.active;
2558
+ ] }, R);
2559
+ }, z = (n, R) => {
2560
+ const F = n.size ?? "medium", k = F === "auto" ? 48 : F === "small" ? 28 : 36, S = n.id !== void 0 ? M[n.id] ?? !!n.active : !!n.active;
2560
2561
  return /* @__PURE__ */ t("div", { style: { position: "relative", display: "flex", alignSelf: "center" }, children: /* @__PURE__ */ x(
2561
2562
  "button",
2562
2563
  {
2563
- title: r.tooltip,
2564
- disabled: r.disabled,
2564
+ title: n.tooltip,
2565
+ disabled: n.disabled,
2565
2566
  style: {
2566
2567
  width: k,
2567
2568
  height: k,
@@ -2569,28 +2570,28 @@ function gn({
2569
2570
  border: S ? `2px solid ${e.primary}` : "2px solid transparent",
2570
2571
  borderRadius: "50%",
2571
2572
  overflow: "hidden",
2572
- cursor: r.disabled ? "not-allowed" : "pointer",
2573
+ cursor: n.disabled ? "not-allowed" : "pointer",
2573
2574
  background: "transparent",
2574
2575
  flexShrink: 0,
2575
- opacity: r.disabled ? 0.55 : 1
2576
+ opacity: n.disabled ? 0.55 : 1
2576
2577
  },
2577
- onClick: () => C(r),
2578
+ onClick: () => L(n),
2578
2579
  children: [
2579
- r.src && /* @__PURE__ */ t(
2580
+ n.src && /* @__PURE__ */ t(
2580
2581
  "img",
2581
2582
  {
2582
- src: r.src,
2583
- alt: r.value || "",
2583
+ src: n.src,
2584
+ alt: n.value || "",
2584
2585
  style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: "50%" }
2585
2586
  }
2586
2587
  ),
2587
- r.count !== void 0 && /* @__PURE__ */ t(R, { count: r.count, color: r.countColor })
2588
+ n.count !== void 0 && /* @__PURE__ */ t(E, { count: n.count, color: n.countColor })
2588
2589
  ]
2589
2590
  }
2590
- ) }, T);
2591
- }, D = (r, T) => {
2592
- var L, v;
2593
- const F = r.id !== void 0 && b === `sel:${r.id}`, k = (r.id && E[r.id]) ?? r.value ?? ((v = (L = r.items) == null ? void 0 : L[0]) == null ? void 0 : v.value) ?? "", S = (r.items ?? []).map((j) => ({
2591
+ ) }, R);
2592
+ }, C = (n, R) => {
2593
+ var T, v;
2594
+ const F = n.id !== void 0 && b === `sel:${n.id}`, k = (n.id && N[n.id]) ?? n.value ?? ((v = (T = n.items) == null ? void 0 : T[0]) == null ? void 0 : v.value) ?? "", S = (n.items ?? []).map((j) => ({
2594
2595
  id: j.value,
2595
2596
  value: j.value,
2596
2597
  icon: j.icon
@@ -2599,24 +2600,24 @@ function gn({
2599
2600
  /* @__PURE__ */ x(
2600
2601
  "button",
2601
2602
  {
2602
- title: r.tooltip,
2603
- disabled: r.disabled,
2603
+ title: n.tooltip,
2604
+ disabled: n.disabled,
2604
2605
  className: "dhx dhx-btn dhx-btn-ghost",
2605
2606
  style: {
2606
2607
  height: 28,
2607
2608
  gap: 4,
2608
2609
  padding: "0 8px",
2609
- opacity: r.disabled ? 0.55 : 1,
2610
- cursor: r.disabled ? "not-allowed" : "pointer",
2610
+ opacity: n.disabled ? 0.55 : 1,
2611
+ cursor: n.disabled ? "not-allowed" : "pointer",
2611
2612
  borderColor: F ? e.primary : void 0
2612
2613
  },
2613
2614
  onClick: () => {
2614
- if (r.disabled || !r.id) return;
2615
- const j = `sel:${r.id}`;
2615
+ if (n.disabled || !n.id) return;
2616
+ const j = `sel:${n.id}`;
2616
2617
  $((X) => X === j ? null : j);
2617
2618
  },
2618
2619
  children: [
2619
- r.icon && /* @__PURE__ */ t("span", { style: { fontSize: 14 }, children: r.icon }),
2620
+ n.icon && /* @__PURE__ */ t("span", { style: { fontSize: 14 }, children: n.icon }),
2620
2621
  /* @__PURE__ */ t("span", { style: { fontSize: 12 }, children: k }),
2621
2622
  /* @__PURE__ */ t("span", { style: { fontSize: 8, opacity: 0.6 }, children: "▼" })
2622
2623
  ]
@@ -2627,75 +2628,75 @@ function gn({
2627
2628
  {
2628
2629
  items: S,
2629
2630
  onSelect: (j) => {
2630
- var U;
2631
+ var Q;
2631
2632
  const X = String(j.value ?? j.id ?? "");
2632
- r.id && H((q) => ({ ...q, [r.id]: X })), $(null), (U = r.onChange) == null || U.call(r, X), r.id && (h == null || h(r.id, r));
2633
+ n.id && D((q) => ({ ...q, [n.id]: X })), $(null), (Q = n.onChange) == null || Q.call(n, X), n.id && (f == null || f(n.id, n));
2633
2634
  },
2634
2635
  style: { top: "100%", left: 0, minWidth: 100 }
2635
2636
  }
2636
2637
  )
2637
- ] }, T);
2638
- }, V = (r, T) => /* @__PURE__ */ x("div", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "center", padding: "2px 4px", gap: 2 }, children: [
2639
- r.label && /* @__PURE__ */ t("span", { style: { fontSize: 10, color: e.textMut }, children: r.label }),
2638
+ ] }, R);
2639
+ }, V = (n, R) => /* @__PURE__ */ x("div", { style: { display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "center", padding: "2px 4px", gap: 2 }, children: [
2640
+ n.label && /* @__PURE__ */ t("span", { style: { fontSize: 10, color: e.textMut }, children: n.label }),
2640
2641
  /* @__PURE__ */ x("div", { style: { position: "relative", display: "flex", alignItems: "center" }, children: [
2641
- r.icon && /* @__PURE__ */ t("span", { style: { position: "absolute", left: 6, fontSize: 13, color: e.textMut, pointerEvents: "none", zIndex: 1 }, children: r.icon }),
2642
+ n.icon && /* @__PURE__ */ t("span", { style: { position: "absolute", left: 6, fontSize: 13, color: e.textMut, pointerEvents: "none", zIndex: 1 }, children: n.icon }),
2642
2643
  /* @__PURE__ */ t(
2643
2644
  "input",
2644
2645
  {
2645
2646
  className: "dhx dhx-input",
2646
- disabled: r.disabled,
2647
- style: { width: r.width || 110, height: 26, fontSize: 12, paddingLeft: r.icon ? 24 : void 0 },
2648
- placeholder: r.placeholder,
2649
- defaultValue: r.value,
2647
+ disabled: n.disabled,
2648
+ style: { width: n.width || 110, height: 26, fontSize: 12, paddingLeft: n.icon ? 24 : void 0 },
2649
+ placeholder: n.placeholder,
2650
+ defaultValue: n.value,
2650
2651
  onChange: (F) => {
2651
2652
  var k;
2652
- (k = r.onChange) == null || k.call(r, F.target.value), r.id && (a == null || a(r.id, F.target.value));
2653
+ (k = n.onChange) == null || k.call(n, F.target.value), n.id && (a == null || a(n.id, F.target.value));
2653
2654
  },
2654
2655
  onBlur: (F) => {
2655
2656
  var k;
2656
- (k = r.onBlur) == null || k.call(r, F.target.value), r.id && (f == null || f(r.id, F.target.value));
2657
+ (k = n.onBlur) == null || k.call(n, F.target.value), n.id && (u == null || u(n.id, F.target.value));
2657
2658
  },
2658
2659
  onFocus: (F) => {
2659
2660
  var k;
2660
- (k = r.onFocus) == null || k.call(r, F.target.value), r.id && (p == null || p(r.id, F.target.value));
2661
+ (k = n.onFocus) == null || k.call(n, F.target.value), n.id && (p == null || p(n.id, F.target.value));
2661
2662
  }
2662
2663
  }
2663
2664
  )
2664
2665
  ] })
2665
- ] }, T), u = (r, T) => r.hidden ? null : /* @__PURE__ */ t("div", { title: r.tooltip, style: {
2666
+ ] }, R), h = (n, R) => n.hidden ? null : /* @__PURE__ */ t("div", { title: n.tooltip, style: {
2666
2667
  padding: "2px 6px",
2667
2668
  fontSize: 11,
2668
- color: r.disabled ? e.textMut : e.textSec,
2669
+ color: n.disabled ? e.textMut : e.textSec,
2669
2670
  display: "flex",
2670
2671
  alignItems: "center",
2671
2672
  alignSelf: "center",
2672
2673
  userSelect: "none",
2673
- opacity: r.disabled ? 0.5 : 1
2674
- }, children: r.html ? /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: r.html } }) : r.value }, T), N = (r, T) => r.hidden ? null : /* @__PURE__ */ t(
2674
+ opacity: n.disabled ? 0.5 : 1
2675
+ }, children: n.html ? /* @__PURE__ */ t("span", { dangerouslySetInnerHTML: { __html: n.html } }) : n.value }, R), I = (n, R) => n.hidden ? null : /* @__PURE__ */ t(
2675
2676
  "div",
2676
2677
  {
2677
2678
  style: { display: "flex", alignItems: "center", alignSelf: "center", padding: "0 4px" },
2678
- dangerouslySetInnerHTML: { __html: r.html ?? "" }
2679
+ dangerouslySetInnerHTML: { __html: n.html ?? "" }
2679
2680
  },
2680
- T
2681
- ), l = (r, T) => r.hidden ? null : r.type === "separator" || r.type === "sep" ? /* @__PURE__ */ t("div", { style: { width: 1, background: e.border, margin: "4px 2px", alignSelf: "stretch" } }, T) : r.type === "spacer" ? /* @__PURE__ */ t("div", { style: { flex: 1 } }, T) : r.type === "title" ? u(r, T) : r.type === "customHTML" ? N(r, T) : r.type === "imageButton" ? M(r, T) : r.type === "input" ? V(r, T) : r.type === "selectButton" ? D(r, T) : A(r, T), g = (r, T, F) => {
2681
+ R
2682
+ ), l = (n, R) => n.hidden ? null : n.type === "separator" || n.type === "sep" ? /* @__PURE__ */ t("div", { style: { width: 1, background: e.border, margin: "4px 2px", alignSelf: "stretch" } }, R) : n.type === "spacer" ? /* @__PURE__ */ t("div", { style: { flex: 1 } }, R) : n.type === "title" ? h(n, R) : n.type === "customHTML" ? I(n, R) : n.type === "imageButton" ? z(n, R) : n.type === "input" ? V(n, R) : n.type === "selectButton" ? C(n, R) : A(n, R), g = (n, R, F) => {
2682
2683
  var S;
2683
- if (r.hidden) return null;
2684
- const k = F || r.disabled;
2684
+ if (n.hidden) return null;
2685
+ const k = F || n.disabled;
2685
2686
  return /* @__PURE__ */ t("div", { style: {
2686
2687
  display: "flex",
2687
- flexDirection: r.direction === "col" ? "column" : "row",
2688
- alignItems: r.direction === "col" ? "flex-start" : "center",
2688
+ flexDirection: n.direction === "col" ? "column" : "row",
2689
+ alignItems: n.direction === "col" ? "flex-start" : "center",
2689
2690
  gap: 2,
2690
- opacity: r.disabled && !F ? 0.55 : 1,
2691
+ opacity: n.disabled && !F ? 0.55 : 1,
2691
2692
  pointerEvents: k ? "none" : void 0
2692
- }, children: (S = r.items) == null ? void 0 : S.map(
2693
- (L, v) => L.type === "block" ? g(L, `${T}-${v}`, k) : l(L, `${T}-${v}`)
2694
- ) }, T);
2695
- }, K = (r, T) => {
2693
+ }, children: (S = n.items) == null ? void 0 : S.map(
2694
+ (T, v) => T.type === "block" ? g(T, `${R}-${v}`, k) : l(T, `${R}-${v}`)
2695
+ ) }, R);
2696
+ }, K = (n, R) => {
2696
2697
  var k;
2697
- if (r.hidden) return null;
2698
- const F = r.title || r.label;
2698
+ if (n.hidden) return null;
2699
+ const F = n.title || n.label;
2699
2700
  return /* @__PURE__ */ x("div", { style: {
2700
2701
  display: "flex",
2701
2702
  flexDirection: "column",
@@ -2703,17 +2704,17 @@ function gn({
2703
2704
  borderRight: `1px solid ${e.border}`,
2704
2705
  padding: "4px 6px 0",
2705
2706
  minWidth: 40,
2706
- opacity: r.disabled ? 0.55 : 1,
2707
- pointerEvents: r.disabled ? "none" : void 0
2707
+ opacity: n.disabled ? 0.55 : 1,
2708
+ pointerEvents: n.disabled ? "none" : void 0
2708
2709
  }, children: [
2709
2710
  /* @__PURE__ */ t("div", { style: {
2710
2711
  display: "flex",
2711
- flexDirection: r.direction === "col" ? "column" : "row",
2712
- alignItems: r.direction === "col" ? "stretch" : "center",
2712
+ flexDirection: n.direction === "col" ? "column" : "row",
2713
+ alignItems: n.direction === "col" ? "stretch" : "center",
2713
2714
  gap: 2,
2714
2715
  flex: 1
2715
- }, children: (k = r.items) == null ? void 0 : k.map(
2716
- (S, L) => S.type === "block" ? g(S, L, r.disabled) : l(S, L)
2716
+ }, children: (k = n.items) == null ? void 0 : k.map(
2717
+ (S, T) => S.type === "block" ? g(S, T, n.disabled) : l(S, T)
2717
2718
  ) }),
2718
2719
  F && /* @__PURE__ */ t("div", { style: {
2719
2720
  fontSize: 10,
@@ -2723,8 +2724,8 @@ function gn({
2723
2724
  marginTop: 2,
2724
2725
  borderTop: `1px solid ${e.border}`
2725
2726
  }, children: F })
2726
- ] }, T);
2727
- }, P = (r, T) => r.type === "block" ? K(r, T) : l(r, T);
2727
+ ] }, R);
2728
+ }, O = (n, R) => n.type === "block" ? K(n, R) : l(n, R);
2728
2729
  return /* @__PURE__ */ t(
2729
2730
  "div",
2730
2731
  {
@@ -2740,19 +2741,19 @@ function gn({
2740
2741
  minHeight: 72,
2741
2742
  ...s
2742
2743
  },
2743
- children: n.map(P)
2744
+ children: r.map(O)
2744
2745
  }
2745
2746
  );
2746
2747
  }
2747
- function Me(n) {
2748
- return n === "primary" ? e.primary : n === "success" ? e.success : n === "secondary" ? e.borderDk : e.danger;
2748
+ function Me(r) {
2749
+ return r === "primary" ? e.primary : r === "success" ? e.success : r === "secondary" ? e.borderDk : e.danger;
2749
2750
  }
2750
- function Kt(n, i, d) {
2751
- if (!n && !i) return d ? { background: e.primaryLt, color: e.primary } : {};
2752
- const s = n === "primary" ? e.primary : n === "danger" ? e.danger : n === "success" ? e.success : e.borderDk;
2751
+ function Vt(r, i, d) {
2752
+ if (!r && !i) return d ? { background: e.primaryLt, color: e.primary } : {};
2753
+ const s = r === "primary" ? e.primary : r === "danger" ? e.danger : r === "success" ? e.success : e.borderDk;
2753
2754
  return i === "link" ? { background: "transparent", color: s, border: "none", boxShadow: "none" } : i === "flat" ? { background: s, color: "#fff", border: "none", boxShadow: "none" } : { color: s };
2754
2755
  }
2755
- function $e({ count: n, bg: i }) {
2756
+ function $e({ count: r, bg: i }) {
2756
2757
  return /* @__PURE__ */ t("span", { style: {
2757
2758
  position: "absolute",
2758
2759
  top: 3,
@@ -2770,55 +2771,55 @@ function $e({ count: n, bg: i }) {
2770
2771
  padding: "0 3px",
2771
2772
  lineHeight: 1,
2772
2773
  pointerEvents: "none"
2773
- }, children: n });
2774
+ }, children: r });
2774
2775
  }
2775
- function xn({
2776
- logo: n,
2776
+ function yr({
2777
+ logo: r,
2777
2778
  items: i = [],
2778
2779
  vertical: d = !1,
2779
2780
  css: s,
2780
- menuCss: h,
2781
+ menuCss: f,
2781
2782
  onAction: a,
2782
- onInputChange: f,
2783
+ onInputChange: u,
2783
2784
  onInputBlur: p,
2784
2785
  onInputFocus: y,
2785
- style: z
2786
+ style: M
2786
2787
  }) {
2787
- const [o, b] = W(null), [$, E] = W(() => {
2788
+ const [o, b] = B(null), [$, N] = B(() => {
2788
2789
  const l = {};
2789
2790
  return i.forEach((g) => {
2790
2791
  g.id && (g.twoState || g.group) && g.active && (l[g.id] = !0);
2791
2792
  }), l;
2792
- }), [H, c] = W(() => {
2793
+ }), [D, c] = B(() => {
2793
2794
  const l = {};
2794
2795
  return i.forEach((g) => {
2795
2796
  g.type === "selectButton" && g.id && g.value && (l[g.id] = g.value);
2796
2797
  }), l;
2797
- }), w = le(null);
2798
- Q(Z, []), xe(w, ae(() => b(null), []));
2799
- const C = (l) => {
2798
+ }), w = ie(null);
2799
+ J(Z, []), xe(w, ae(() => b(null), []));
2800
+ const L = (l) => {
2800
2801
  var g, K;
2801
2802
  if (!l.disabled) {
2802
- if (l.twoState && l.id && E((P) => ({ ...P, [l.id]: !P[l.id] })), l.group && l.id && E((P) => {
2803
- const r = { ...P };
2804
- return i.forEach((T) => {
2805
- T.group === l.group && T.id && (r[T.id] = !1);
2806
- }), r[l.id] = !0, r;
2803
+ if (l.twoState && l.id && N((O) => ({ ...O, [l.id]: !O[l.id] })), l.group && l.id && N((O) => {
2804
+ const n = { ...O };
2805
+ return i.forEach((R) => {
2806
+ R.group === l.group && R.id && (n[R.id] = !1);
2807
+ }), n[l.id] = !0, n;
2807
2808
  }), (g = l.items) != null && g.length || l.type === "selectButton") {
2808
- const P = l.id;
2809
- b((r) => r === P ? null : P);
2809
+ const O = l.id;
2810
+ b((n) => n === O ? null : O);
2810
2811
  return;
2811
2812
  }
2812
2813
  (K = l.onClick) == null || K.call(l, l.id || ""), a == null || a(l.id || "");
2813
2814
  }
2814
- }, R = (l, g) => /* @__PURE__ */ t("span", { style: {
2815
+ }, E = (l, g) => /* @__PURE__ */ t("span", { style: {
2815
2816
  fontSize: 12,
2816
2817
  color: e.textSec,
2817
2818
  padding: "0 8px",
2818
2819
  fontWeight: 500,
2819
2820
  whiteSpace: "nowrap",
2820
2821
  alignSelf: "center"
2821
- }, children: l.value ?? l.text }, l.id ?? g), A = (l, g) => /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: l.html ?? "" } }, l.id ?? g), M = (l, g) => /* @__PURE__ */ x("div", { style: { position: "relative", display: "flex", alignItems: "center", margin: "0 4px", gap: 4 }, children: [
2822
+ }, children: l.value ?? l.text }, l.id ?? g), A = (l, g) => /* @__PURE__ */ t("div", { dangerouslySetInnerHTML: { __html: l.html ?? "" } }, l.id ?? g), z = (l, g) => /* @__PURE__ */ x("div", { style: { position: "relative", display: "flex", alignItems: "center", margin: "0 4px", gap: 4 }, children: [
2822
2823
  l.label && /* @__PURE__ */ t("span", { style: { fontSize: 12, color: e.textSec, whiteSpace: "nowrap" }, children: l.label }),
2823
2824
  /* @__PURE__ */ x("div", { style: { position: "relative", display: "flex", alignItems: "center" }, children: [
2824
2825
  l.icon && /* @__PURE__ */ t("span", { style: { position: "absolute", left: 8, color: e.textMut, fontSize: 15, pointerEvents: "none", zIndex: 1 }, children: l.icon }),
@@ -2830,21 +2831,21 @@ function xn({
2830
2831
  placeholder: l.placeholder,
2831
2832
  defaultValue: l.value,
2832
2833
  onChange: (K) => {
2833
- var P;
2834
- (P = l.onChange) == null || P.call(l, K.target.value), f == null || f(l.id || "", K.target.value);
2834
+ var O;
2835
+ (O = l.onChange) == null || O.call(l, K.target.value), u == null || u(l.id || "", K.target.value);
2835
2836
  },
2836
2837
  onBlur: (K) => {
2837
- var P;
2838
- (P = l.onBlur) == null || P.call(l, K.target.value), p == null || p(l.id || "", K.target.value);
2838
+ var O;
2839
+ (O = l.onBlur) == null || O.call(l, K.target.value), p == null || p(l.id || "", K.target.value);
2839
2840
  },
2840
2841
  onFocus: (K) => {
2841
- var P;
2842
- (P = l.onFocus) == null || P.call(l, K.target.value), y == null || y(l.id || "", K.target.value);
2842
+ var O;
2843
+ (O = l.onFocus) == null || O.call(l, K.target.value), y == null || y(l.id || "", K.target.value);
2843
2844
  }
2844
2845
  }
2845
2846
  )
2846
2847
  ] })
2847
- ] }, l.id ?? g), D = (l, g) => /* @__PURE__ */ x(
2848
+ ] }, l.id ?? g), C = (l, g) => /* @__PURE__ */ x(
2848
2849
  "button",
2849
2850
  {
2850
2851
  title: l.tooltip,
@@ -2861,7 +2862,7 @@ function xn({
2861
2862
  background: "transparent",
2862
2863
  flexShrink: 0
2863
2864
  },
2864
- onClick: () => C(l),
2865
+ onClick: () => L(l),
2865
2866
  children: [
2866
2867
  l.src && /* @__PURE__ */ t("img", { src: l.src, alt: l.value || "", style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: "50%" } }),
2867
2868
  l.count !== void 0 && /* @__PURE__ */ t($e, { count: l.count, bg: Me(l.countColor) })
@@ -2869,7 +2870,7 @@ function xn({
2869
2870
  },
2870
2871
  l.id ?? g
2871
2872
  ), V = (l, g) => {
2872
- var P;
2873
+ var O;
2873
2874
  const K = o === l.id;
2874
2875
  return /* @__PURE__ */ x("div", { style: { position: "relative" }, children: [
2875
2876
  /* @__PURE__ */ x(
@@ -2885,33 +2886,33 @@ function xn({
2885
2886
  cursor: l.disabled ? "not-allowed" : "pointer",
2886
2887
  ...d ? { width: "100%", justifyContent: "flex-start", padding: "0 16px", borderRadius: 0 } : {}
2887
2888
  },
2888
- onClick: () => C(l),
2889
+ onClick: () => L(l),
2889
2890
  children: [
2890
2891
  l.icon && /* @__PURE__ */ t("span", { style: { fontSize: 16, flexShrink: 0 }, children: l.icon }),
2891
- /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: H[l.id] ?? l.value ?? l.text }),
2892
+ /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: D[l.id] ?? l.value ?? l.text }),
2892
2893
  /* @__PURE__ */ t("span", { style: { fontSize: 9, opacity: 0.55 }, children: "▼" }),
2893
2894
  l.count !== void 0 && /* @__PURE__ */ t($e, { count: l.count, bg: Me(l.countColor) })
2894
2895
  ]
2895
2896
  }
2896
2897
  ),
2897
- K && ((P = l.items) == null ? void 0 : P.length) && /* @__PURE__ */ t(
2898
+ K && ((O = l.items) == null ? void 0 : O.length) && /* @__PURE__ */ t(
2898
2899
  fe,
2899
2900
  {
2900
2901
  items: l.items,
2901
- onSelect: (r) => {
2902
- var T;
2903
- if (b(null), r.id !== void 0) {
2904
- const F = String(r.value ?? r.id);
2905
- c((k) => ({ ...k, [l.id]: F })), (T = l.onChange) == null || T.call(l, F), f == null || f(l.id, F);
2902
+ onSelect: (n) => {
2903
+ var R;
2904
+ if (b(null), n.id !== void 0) {
2905
+ const F = String(n.value ?? n.id);
2906
+ c((k) => ({ ...k, [l.id]: F })), (R = l.onChange) == null || R.call(l, F), u == null || u(l.id, F);
2906
2907
  }
2907
2908
  },
2908
2909
  style: d ? { left: "100%", top: 0 } : { top: "100%", left: 0 }
2909
2910
  }
2910
2911
  )
2911
2912
  ] }, l.id ?? g);
2912
- }, u = (l, g) => {
2913
- var L;
2914
- const K = !!(l.id && (l.twoState || l.group) && $[l.id]), P = !!((L = l.items) != null && L.length), r = !!l.circle, T = !!l.loading, F = Kt(l.color, l.view, K), k = {
2913
+ }, h = (l, g) => {
2914
+ var T;
2915
+ const K = !!(l.id && (l.twoState || l.group) && $[l.id]), O = !!((T = l.items) != null && T.length), n = !!l.circle, R = !!l.loading, F = Vt(l.color, l.view, K), k = {
2915
2916
  position: "relative",
2916
2917
  height: d ? 40 : 36,
2917
2918
  gap: 6,
@@ -2925,7 +2926,7 @@ function xn({
2925
2926
  padding: "0 16px",
2926
2927
  borderRadius: 0
2927
2928
  } : {},
2928
- ...r ? {
2929
+ ...n ? {
2929
2930
  borderRadius: "50%",
2930
2931
  width: 36,
2931
2932
  height: 36,
@@ -2943,17 +2944,17 @@ function xn({
2943
2944
  title: l.tooltip,
2944
2945
  disabled: l.disabled,
2945
2946
  style: k,
2946
- onClick: () => C(l),
2947
+ onClick: () => L(l),
2947
2948
  children: [
2948
- T ? /* @__PURE__ */ t("span", { style: { fontSize: 16, animation: "dhx-spin 1s linear infinite", display: "inline-block" }, children: "⟳" }) : l.icon && /* @__PURE__ */ t("span", { style: { fontSize: 16, flexShrink: 0 }, children: l.icon }),
2949
- !r && S && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: S }),
2950
- !r && l.hotkey && /* @__PURE__ */ t("span", { style: { fontSize: 10, opacity: 0.45, marginLeft: 4 }, children: l.hotkey }),
2951
- P && !r && /* @__PURE__ */ t("span", { style: { fontSize: 9, opacity: 0.55, marginLeft: 2 }, children: "▼" }),
2949
+ R ? /* @__PURE__ */ t("span", { style: { fontSize: 16, animation: "dhx-spin 1s linear infinite", display: "inline-block" }, children: "⟳" }) : l.icon && /* @__PURE__ */ t("span", { style: { fontSize: 16, flexShrink: 0 }, children: l.icon }),
2950
+ !n && S && /* @__PURE__ */ t("span", { style: { fontSize: 13 }, children: S }),
2951
+ !n && l.hotkey && /* @__PURE__ */ t("span", { style: { fontSize: 10, opacity: 0.45, marginLeft: 4 }, children: l.hotkey }),
2952
+ O && !n && /* @__PURE__ */ t("span", { style: { fontSize: 9, opacity: 0.55, marginLeft: 2 }, children: "▼" }),
2952
2953
  l.count !== void 0 && /* @__PURE__ */ t($e, { count: l.count, bg: Me(l.countColor) })
2953
2954
  ]
2954
2955
  }
2955
2956
  ),
2956
- P && o === l.id && /* @__PURE__ */ t(
2957
+ O && o === l.id && /* @__PURE__ */ t(
2957
2958
  fe,
2958
2959
  {
2959
2960
  items: l.items,
@@ -2965,12 +2966,12 @@ function xn({
2965
2966
  }
2966
2967
  )
2967
2968
  ] }, l.id ?? g);
2968
- }, N = (l, g) => l.hidden ? null : l.type === "separator" ? /* @__PURE__ */ t("div", { style: {
2969
+ }, I = (l, g) => l.hidden ? null : l.type === "separator" ? /* @__PURE__ */ t("div", { style: {
2969
2970
  [d ? "height" : "width"]: 1,
2970
2971
  background: e.border,
2971
2972
  margin: d ? "4px 8px" : "0 6px",
2972
2973
  alignSelf: "stretch"
2973
- } }, l.id ?? g) : l.type === "spacer" ? /* @__PURE__ */ t("div", { style: { flex: 1 } }, l.id ?? g) : l.type === "title" ? R(l, g) : l.type === "customHTML" ? A(l, g) : l.type === "input" ? M(l, g) : l.type === "selectButton" ? V(l, g) : l.type === "imageButton" ? D(l, g) : u(l, g);
2974
+ } }, l.id ?? g) : l.type === "spacer" ? /* @__PURE__ */ t("div", { style: { flex: 1 } }, l.id ?? g) : l.type === "title" ? E(l, g) : l.type === "customHTML" ? A(l, g) : l.type === "input" ? z(l, g) : l.type === "selectButton" ? V(l, g) : l.type === "imageButton" ? C(l, g) : h(l, g);
2974
2975
  return /* @__PURE__ */ x(
2975
2976
  "nav",
2976
2977
  {
@@ -2986,10 +2987,10 @@ function xn({
2986
2987
  padding: d ? "8px 0" : "0 12px",
2987
2988
  minHeight: d ? void 0 : 48,
2988
2989
  gap: 2,
2989
- ...z
2990
+ ...M
2990
2991
  },
2991
2992
  children: [
2992
- n && /* @__PURE__ */ t("div", { style: {
2993
+ r && /* @__PURE__ */ t("div", { style: {
2993
2994
  color: e.text,
2994
2995
  fontWeight: 800,
2995
2996
  fontSize: 16,
@@ -2999,41 +3000,91 @@ function xn({
2999
3000
  marginRight: d ? 0 : 8,
3000
3001
  marginBottom: d ? 4 : 0,
3001
3002
  flexShrink: 0
3002
- }, children: n }),
3003
- i.map(N)
3003
+ }, children: r }),
3004
+ i.map(I)
3004
3005
  ]
3005
3006
  }
3006
3007
  );
3007
3008
  }
3009
+ function br({
3010
+ value: r,
3011
+ toolbar: i,
3012
+ menubar: d,
3013
+ fullscreenMode: s,
3014
+ layoutMode: f,
3015
+ imageUploadUrl: a,
3016
+ locale: u,
3017
+ defaultStyles: p,
3018
+ onChange: y,
3019
+ style: M,
3020
+ className: o
3021
+ }) {
3022
+ const b = ie(null), $ = ie(null), N = ie(y);
3023
+ return N.current = y, J(() => {
3024
+ if (!b.current) return;
3025
+ const D = {};
3026
+ r !== void 0 && (D.value = r), i !== void 0 && (D.toolbar = i), d !== void 0 && (D.menubar = d), s !== void 0 && (D.fullscreenMode = s), f !== void 0 && (D.layoutMode = f), a !== void 0 && (D.imageUploadUrl = a), u !== void 0 && (D.locale = u), p !== void 0 && (D.defaultStyles = p);
3027
+ const c = new kt(b.current, D);
3028
+ $.current = c;
3029
+ let w = c.getValue(), L;
3030
+ const E = new MutationObserver(() => {
3031
+ clearTimeout(L), L = setTimeout(() => {
3032
+ var z;
3033
+ const A = c.getValue();
3034
+ A !== w && (w = A, (z = N.current) == null || z.call(N, A));
3035
+ }, 150);
3036
+ });
3037
+ return E.observe(b.current, {
3038
+ childList: !0,
3039
+ subtree: !0,
3040
+ characterData: !0
3041
+ }), () => {
3042
+ clearTimeout(L), E.disconnect(), c.destructor(), b.current && (b.current.innerHTML = ""), $.current = null;
3043
+ };
3044
+ }, []), J(() => {
3045
+ const D = $.current;
3046
+ !D || r === void 0 || D.getValue() !== r && D.setValue(r);
3047
+ }, [r]), J(() => {
3048
+ $.current && u && $.current.setLocale(u);
3049
+ }, [u]), /* @__PURE__ */ t(
3050
+ "div",
3051
+ {
3052
+ ref: b,
3053
+ className: o,
3054
+ style: { display: "flex", flexDirection: "column", height: 500, ...M }
3055
+ }
3056
+ );
3057
+ }
3008
3058
  export {
3009
- Gt as Button,
3010
- rn as Calendar,
3011
- nn as Chart,
3012
- on as Colorpicker,
3059
+ Ut as Button,
3060
+ ir as Calendar,
3061
+ or as Chart,
3062
+ lr as Colorpicker,
3013
3063
  je as Combobox,
3014
- Ut as ContextMenu,
3015
- un as DataView,
3016
- fn as Form,
3017
- tn as Grid,
3018
- Lt as Layout,
3019
- cn as List,
3020
- Jt as Menu,
3064
+ Zt as ContextMenu,
3065
+ pr as DataView,
3066
+ gr as Form,
3067
+ nr as Grid,
3068
+ Ct as Layout,
3069
+ ur as List,
3070
+ Qt as Menu,
3021
3071
  fe as MenuDropdown,
3022
3072
  Ke as MessageContext,
3023
- an as MessageProvider,
3024
- xn as Navbar,
3025
- hn as Pagination,
3026
- ln as Popup,
3027
- gn as Ribbon,
3028
- Zt as Sidebar,
3029
- Pe as Slider,
3030
- en as Tabbar,
3031
- Ht as Timepicker,
3032
- Qt as Toolbar,
3033
- pn as Tree,
3034
- sn as Window,
3073
+ dr as MessageProvider,
3074
+ yr as Navbar,
3075
+ fr as Pagination,
3076
+ sr as Popup,
3077
+ xr as Ribbon,
3078
+ br as Richtext,
3079
+ tr as Sidebar,
3080
+ Oe as Slider,
3081
+ rr as Tabbar,
3082
+ At as Timepicker,
3083
+ er as Toolbar,
3084
+ hr as Tree,
3085
+ ar as Window,
3035
3086
  e as tokens,
3036
3087
  xe as useClickOutside,
3037
- wt as useDrag,
3038
- dn as useMessage
3088
+ zt as useDrag,
3089
+ cr as useMessage
3039
3090
  };