@thebuoyant-tsdev/mui-ts-library 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5,77 +5,79 @@ import z from "@mui/icons-material/WarningAmberOutlined";
5
5
  import B from "@mui/icons-material/ErrorOutlined";
6
6
  import V from "@mui/icons-material/CheckCircleOutlined";
7
7
  import { Fragment as H, jsx as U, jsxs as W } from "react/jsx-runtime";
8
- import { EditorView as G, highlightActiveLine as K, highlightActiveLineGutter as ee, keymap as te, lineNumbers as ne, placeholder as q } from "@codemirror/view";
9
- import { Compartment as re, EditorState as ie } from "@codemirror/state";
10
- import { json as ae, jsonParseLinter as oe } from "@codemirror/lang-json";
11
- import { defaultKeymap as se, history as J, historyKeymap as ce, redo as Y, undo as X } from "@codemirror/commands";
12
- import { HighlightStyle as le, syntaxHighlighting as ue } from "@codemirror/language";
13
- import { lintGutter as de, linter as fe } from "@codemirror/lint";
14
- import { tags as Z } from "@lezer/highlight";
15
- import pe from "@mui/icons-material/ContentCopy";
16
- import me from "@mui/icons-material/Check";
17
- import he from "@mui/icons-material/Delete";
18
- import ge from "@mui/icons-material/Undo";
19
- import _e from "@mui/icons-material/Redo";
20
- import ve from "@mui/icons-material/AutoFixHigh";
21
- import ye from "@mui/icons-material/Compress";
22
- import { useStore as be } from "zustand";
23
- import { createStore as xe } from "zustand/vanilla";
24
- import { useVirtualizer as Se } from "@tanstack/react-virtual";
25
- import Ce from "@mui/icons-material/Add";
26
- import we from "@mui/icons-material/Edit";
27
- import Te from "@mui/icons-material/RestartAlt";
28
- import Ee from "@mui/icons-material/Restore";
29
- import De from "@mui/icons-material/Today";
30
- import Oe from "@mui/icons-material/UnfoldLess";
31
- import ke from "@mui/icons-material/UnfoldMore";
32
- import Ae from "@mui/icons-material/Visibility";
33
- import je from "@mui/icons-material/VisibilityOff";
34
- import Me from "@mui/icons-material/Close";
35
- import { EditorContent as Ne, useEditor as Pe } from "@tiptap/react";
36
- import { StarterKit as Fe } from "@tiptap/starter-kit";
37
- import { TextStyle as Ie } from "@tiptap/extension-text-style";
38
- import { Color as Le } from "@tiptap/extension-color";
39
- import { Highlight as Re } from "@tiptap/extension-highlight";
40
- import { Placeholder as ze } from "@tiptap/extension-placeholder";
41
- import { CharacterCount as Be } from "@tiptap/extension-character-count";
42
- import { Markdown as Ve } from "tiptap-markdown";
43
- import He from "@mui/icons-material/FormatBold";
44
- import Ue from "@mui/icons-material/FormatItalic";
45
- import We from "@mui/icons-material/FormatUnderlined";
46
- import Ge from "@mui/icons-material/StrikethroughS";
47
- import Ke from "@mui/icons-material/FormatListBulleted";
48
- import qe from "@mui/icons-material/FormatListNumbered";
49
- import Je from "@mui/icons-material/FormatQuote";
50
- import Ye from "@mui/icons-material/Code";
51
- import Xe from "@mui/icons-material/InsertLink";
52
- import Ze from "@mui/icons-material/HorizontalRule";
53
- import Qe from "@mui/icons-material/FormatColorText";
54
- import $e from "@mui/icons-material/BorderColor";
55
- import et from "@mui/icons-material/FormatClear";
56
- import tt from "@mui/icons-material/FormatColorReset";
57
- import { MSSQL as nt, MySQL as rt, PostgreSQL as it, SQLite as at, StandardSQL as ot, sql as st } from "@codemirror/lang-sql";
58
- import { autocompletion as ct, completionKeymap as lt } from "@codemirror/autocomplete";
59
- import ut from "@mui/icons-material/PlayArrow";
60
- import { format as dt } from "sql-formatter";
61
- import ft from "@mui/icons-material/WarningAmber";
8
+ import { EditorView as G, highlightActiveLine as K, highlightActiveLineGutter as q, keymap as J, lineNumbers as ee, placeholder as te } from "@codemirror/view";
9
+ import { Compartment as ne, EditorState as re } from "@codemirror/state";
10
+ import { json as ie, jsonParseLinter as ae } from "@codemirror/lang-json";
11
+ import { defaultKeymap as oe, history as se, historyKeymap as ce, redo as le, undo as ue } from "@codemirror/commands";
12
+ import { HighlightStyle as de, syntaxHighlighting as fe } from "@codemirror/language";
13
+ import { lintGutter as pe, linter as me } from "@codemirror/lint";
14
+ import { tags as Y } from "@lezer/highlight";
15
+ import he from "@mui/icons-material/ContentCopy";
16
+ import ge from "@mui/icons-material/Check";
17
+ import _e from "@mui/icons-material/Delete";
18
+ import ve from "@mui/icons-material/Undo";
19
+ import ye from "@mui/icons-material/Redo";
20
+ import be from "@mui/icons-material/AutoFixHigh";
21
+ import xe from "@mui/icons-material/Compress";
22
+ import { useStore as Se } from "zustand";
23
+ import { createStore as Ce } from "zustand/vanilla";
24
+ import { useVirtualizer as we } from "@tanstack/react-virtual";
25
+ import Te from "@mui/icons-material/Add";
26
+ import Ee from "@mui/icons-material/Edit";
27
+ import De from "@mui/icons-material/RestartAlt";
28
+ import Oe from "@mui/icons-material/Restore";
29
+ import ke from "@mui/icons-material/Today";
30
+ import Ae from "@mui/icons-material/UnfoldLess";
31
+ import je from "@mui/icons-material/UnfoldMore";
32
+ import Me from "@mui/icons-material/Visibility";
33
+ import Ne from "@mui/icons-material/VisibilityOff";
34
+ import Pe from "@mui/icons-material/Close";
35
+ import { EditorContent as Fe, useEditor as Ie } from "@tiptap/react";
36
+ import { StarterKit as Le } from "@tiptap/starter-kit";
37
+ import { TextStyle as Re } from "@tiptap/extension-text-style";
38
+ import { Color as ze } from "@tiptap/extension-color";
39
+ import { Highlight as Be } from "@tiptap/extension-highlight";
40
+ import { Placeholder as Ve } from "@tiptap/extension-placeholder";
41
+ import { CharacterCount as He } from "@tiptap/extension-character-count";
42
+ import { Markdown as Ue } from "tiptap-markdown";
43
+ import We from "@mui/icons-material/Fullscreen";
44
+ import Ge from "@mui/icons-material/FullscreenExit";
45
+ import Ke from "@mui/icons-material/FormatBold";
46
+ import qe from "@mui/icons-material/FormatItalic";
47
+ import Je from "@mui/icons-material/FormatUnderlined";
48
+ import Ye from "@mui/icons-material/StrikethroughS";
49
+ import Xe from "@mui/icons-material/FormatListBulleted";
50
+ import Ze from "@mui/icons-material/FormatListNumbered";
51
+ import Qe from "@mui/icons-material/FormatQuote";
52
+ import $e from "@mui/icons-material/Code";
53
+ import et from "@mui/icons-material/InsertLink";
54
+ import tt from "@mui/icons-material/HorizontalRule";
55
+ import nt from "@mui/icons-material/FormatColorText";
56
+ import rt from "@mui/icons-material/BorderColor";
57
+ import it from "@mui/icons-material/FormatClear";
58
+ import at from "@mui/icons-material/FormatColorReset";
59
+ import { MSSQL as ot, MySQL as st, PostgreSQL as ct, SQLite as lt, StandardSQL as ut, sql as dt } from "@codemirror/lang-sql";
60
+ import { autocompletion as ft, completionKeymap as pt } from "@codemirror/autocomplete";
61
+ import mt from "@mui/icons-material/PlayArrow";
62
+ import { format as ht } from "sql-formatter";
63
+ import gt from "@mui/icons-material/WarningAmber";
62
64
  //#region src/components/confirm-dialog/ConfirmDialog.types.ts
63
- var pt = {
65
+ var _t = {
64
66
  confirmLabel: "Confirm",
65
67
  cancelLabel: "Cancel"
66
- }, mt = {
68
+ }, vt = {
67
69
  info: R,
68
70
  warning: z,
69
71
  error: B,
70
72
  success: V
71
- }, ht = {
73
+ }, yt = {
72
74
  info: "primary",
73
75
  warning: "warning",
74
76
  error: "error",
75
77
  success: "success"
76
78
  };
77
- function gt({ open: e, options: t, translation: n, onConfirm: r, onCancel: i }) {
78
- let { title: a, description: o, confirmLabel: s, cancelLabel: c, severity: l = "info", hideCancelButton: d = !1, maxWidth: f = "xs", showIcon: g = !0 } = t, y = g ? mt[l] : null, b = ht[l], x = s ?? n.confirmLabel, S = c ?? n.cancelLabel;
79
+ function bt({ open: e, options: t, translation: n, onConfirm: r, onCancel: i }) {
80
+ let { title: a, description: o, confirmLabel: s, cancelLabel: c, severity: l = "info", hideCancelButton: d = !1, maxWidth: f = "xs", showIcon: g = !0 } = t, y = g ? vt[l] : null, b = yt[l], x = s ?? n.confirmLabel, S = c ?? n.cancelLabel;
79
81
  return /* @__PURE__ */ W(p, {
80
82
  open: e,
81
83
  onClose: i,
@@ -132,10 +134,10 @@ function gt({ open: e, options: t, translation: n, onConfirm: r, onCancel: i })
132
134
  ]
133
135
  });
134
136
  }
135
- var _t = e(() => Promise.resolve(!1));
136
- function vt({ children: e, translation: n }) {
137
+ var xt = e(() => Promise.resolve(!1));
138
+ function St({ children: e, translation: n }) {
137
139
  let r = {
138
- ...pt,
140
+ ..._t,
139
141
  ...n
140
142
  }, i = o(null), [a, c] = s({
141
143
  open: !1,
@@ -146,9 +148,9 @@ function vt({ children: e, translation: n }) {
146
148
  options: e
147
149
  });
148
150
  })), []);
149
- return /* @__PURE__ */ W(_t.Provider, {
151
+ return /* @__PURE__ */ W(xt.Provider, {
150
152
  value: l,
151
- children: [e, /* @__PURE__ */ U(gt, {
153
+ children: [e, /* @__PURE__ */ U(bt, {
152
154
  open: a.open,
153
155
  options: a.options,
154
156
  translation: r,
@@ -167,18 +169,18 @@ function vt({ children: e, translation: n }) {
167
169
  })]
168
170
  });
169
171
  }
170
- function yt() {
171
- return n(_t);
172
+ function Ct() {
173
+ return n(xt);
172
174
  }
173
175
  //#endregion
174
176
  //#region src/components/json-editor/JsonEditor.types.ts
175
- var bt = {
177
+ var wt = {
176
178
  showFormat: !0,
177
179
  showCompact: !0,
178
180
  showCopy: !0,
179
181
  showClear: !0,
180
182
  showUndoRedo: !0
181
- }, xt = {
183
+ }, Tt = {
182
184
  format: "Format JSON",
183
185
  compact: "Compact JSON",
184
186
  copy: "Copy",
@@ -192,8 +194,8 @@ var bt = {
192
194
  };
193
195
  //#endregion
194
196
  //#region src/components/json-editor/JsonEditorContent.tsx
195
- function St({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly: a = !1, showLineNumbers: s = !0, highlightColors: c, onViewReady: u, onCursorChange: d, onBlur: f, onFocus: p }) {
196
- let m = o(null), h = o(null), g = o(t), _ = o(d), v = o(f), y = o(p), b = o(u), x = o(new re()), S = o(new re()), C = L(), w = C.palette.mode === "dark", T = c?.propertyName ?? C.palette.primary.main, E = c?.string ?? C.palette.success.main, D = c?.number ?? C.palette.warning.main, O = c?.boolean ?? C.palette.info.main, k = c?.null ?? C.palette.text.secondary;
197
+ function Et({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly: a = !1, showLineNumbers: s = !0, highlightColors: c, onViewReady: u, onCursorChange: d, onBlur: f, onFocus: p }) {
198
+ let m = o(null), h = o(null), g = o(t), _ = o(d), v = o(f), y = o(p), b = o(u), x = o(new ne()), S = o(new ne()), C = L(), w = C.palette.mode === "dark", T = c?.propertyName ?? C.palette.primary.main, E = c?.string ?? C.palette.success.main, D = c?.number ?? C.palette.warning.main, O = c?.boolean ?? C.palette.info.main, k = c?.null ?? C.palette.text.secondary;
197
199
  return r(() => {
198
200
  g.current = t;
199
201
  }, [t]), r(() => {
@@ -206,40 +208,40 @@ function St({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
206
208
  b.current = u;
207
209
  }, [u]), r(() => {
208
210
  if (!m.current) return;
209
- let t = h.current?.state.doc.toString() ?? e ?? "", r = le.define([
211
+ let t = h.current?.state.doc.toString() ?? e ?? "", r = de.define([
210
212
  {
211
- tag: Z.propertyName,
213
+ tag: Y.propertyName,
212
214
  color: T,
213
215
  fontWeight: "bold"
214
216
  },
215
217
  {
216
- tag: Z.string,
218
+ tag: Y.string,
217
219
  color: E
218
220
  },
219
221
  {
220
- tag: Z.number,
222
+ tag: Y.number,
221
223
  color: D
222
224
  },
223
225
  {
224
- tag: Z.bool,
226
+ tag: Y.bool,
225
227
  color: O,
226
228
  fontWeight: "bold"
227
229
  },
228
230
  {
229
- tag: Z.null,
231
+ tag: Y.null,
230
232
  color: k,
231
233
  fontStyle: "italic"
232
234
  },
233
235
  {
234
- tag: Z.bracket,
236
+ tag: Y.bracket,
235
237
  color: C.palette.text.secondary
236
238
  },
237
239
  {
238
- tag: Z.punctuation,
240
+ tag: Y.punctuation,
239
241
  color: C.palette.text.disabled
240
242
  },
241
243
  {
242
- tag: Z.invalid,
244
+ tag: Y.invalid,
243
245
  color: C.palette.error.main,
244
246
  textDecoration: "underline wavy"
245
247
  }
@@ -285,17 +287,17 @@ function St({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
285
287
  ".cm-diagnostic-error": { borderLeft: `3px solid ${C.palette.error.main}` },
286
288
  ".cm-diagnostic-warning": { borderLeft: `3px solid ${C.palette.warning.main}` }
287
289
  }, { dark: w }),
288
- ue(r),
289
- ae(),
290
- de(),
291
- fe(oe()),
292
- J(),
293
- te.of([...se, ...ce]),
290
+ fe(r),
291
+ ie(),
292
+ pe(),
293
+ me(ae()),
294
+ se(),
295
+ J.of([...oe, ...ce]),
294
296
  x.current.of(G.editable.of(!i && !a)),
295
- S.current.of(ie.readOnly.of(a)),
297
+ S.current.of(re.readOnly.of(a)),
296
298
  K(),
297
- ...s ? [ne(), ee()] : [],
298
- ...n ? [q(n)] : [],
299
+ ...s ? [ee(), q()] : [],
300
+ ...n ? [te(n)] : [],
299
301
  G.updateListener.of((e) => {
300
302
  e.docChanged && g.current?.(e.state.doc.toString());
301
303
  let t = e.state.selection.main.head, n = e.state.doc.lineAt(t);
@@ -310,7 +312,7 @@ function St({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
310
312
  }
311
313
  })
312
314
  ], c = new G({
313
- state: ie.create({
315
+ state: re.create({
314
316
  doc: t,
315
317
  extensions: o
316
318
  }),
@@ -336,7 +338,7 @@ function St({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
336
338
  insert: e ?? ""
337
339
  } });
338
340
  }, [e]), r(() => {
339
- h.current?.dispatch({ effects: [x.current.reconfigure(G.editable.of(!i && !a)), S.current.reconfigure(ie.readOnly.of(a))] });
341
+ h.current?.dispatch({ effects: [x.current.reconfigure(G.editable.of(!i && !a)), S.current.reconfigure(re.readOnly.of(a))] });
340
342
  }, [i, a]), /* @__PURE__ */ U(l, {
341
343
  ref: m,
342
344
  sx: {
@@ -355,23 +357,27 @@ function St({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
355
357
  });
356
358
  }
357
359
  //#endregion
358
- //#region src/components/json-editor/JsonEditorToolbar.tsx
359
- function Ct({ label: e, icon: t, onClick: n, disabled: r }) {
360
+ //#region src/components/shared/ToolbarButton.tsx
361
+ function X({ label: e, icon: t, onClick: n, active: r, disabled: i }) {
360
362
  return /* @__PURE__ */ U(F, {
361
363
  title: e,
362
364
  arrow: !0,
363
365
  children: /* @__PURE__ */ U("span", { children: /* @__PURE__ */ U(S, {
364
366
  size: "small",
367
+ onMouseDown: (e) => e.preventDefault(),
365
368
  onClick: n,
366
- disabled: r,
367
- color: "default",
369
+ disabled: i,
370
+ color: r ? "primary" : "default",
368
371
  sx: { borderRadius: 1 },
369
372
  "aria-label": e,
373
+ "aria-pressed": r,
370
374
  children: t
371
375
  }) })
372
376
  });
373
377
  }
374
- function wt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled: i }) {
378
+ //#endregion
379
+ //#region src/components/json-editor/JsonEditorToolbar.tsx
380
+ function Dt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled: i }) {
375
381
  let [a, o] = s(!1), c = i || !e.current;
376
382
  function u() {
377
383
  let t = e.current;
@@ -417,11 +423,11 @@ function wt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled:
417
423
  }
418
424
  function m() {
419
425
  let t = e.current;
420
- t && (X(t), t.focus());
426
+ t && (ue(t), t.focus());
421
427
  }
422
428
  function h() {
423
429
  let t = e.current;
424
- t && (Y(t), t.focus());
430
+ t && (le(t), t.focus());
425
431
  }
426
432
  let g = t.showFormat || t.showCompact, _ = t.showCopy || t.showClear, y = t.showUndoRedo;
427
433
  return /* @__PURE__ */ W(l, {
@@ -441,14 +447,14 @@ function wt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled:
441
447
  display: "flex",
442
448
  gap: .25
443
449
  },
444
- children: [t.showFormat && /* @__PURE__ */ U(Ct, {
450
+ children: [t.showFormat && /* @__PURE__ */ U(X, {
445
451
  label: n.format,
446
- icon: /* @__PURE__ */ U(ve, { fontSize: "small" }),
452
+ icon: /* @__PURE__ */ U(be, { fontSize: "small" }),
447
453
  onClick: u,
448
454
  disabled: c
449
- }), t.showCompact && /* @__PURE__ */ U(Ct, {
455
+ }), t.showCompact && /* @__PURE__ */ U(X, {
450
456
  label: n.compact,
451
- icon: /* @__PURE__ */ U(ye, { fontSize: "small" }),
457
+ icon: /* @__PURE__ */ U(xe, { fontSize: "small" }),
452
458
  onClick: d,
453
459
  disabled: c
454
460
  })]
@@ -463,17 +469,17 @@ function wt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled:
463
469
  display: "flex",
464
470
  gap: .25
465
471
  },
466
- children: [t.showCopy && /* @__PURE__ */ U(Ct, {
472
+ children: [t.showCopy && /* @__PURE__ */ U(X, {
467
473
  label: a ? n.copySuccess : n.copy,
468
- icon: a ? /* @__PURE__ */ U(me, {
474
+ icon: a ? /* @__PURE__ */ U(ge, {
469
475
  fontSize: "small",
470
476
  color: "success"
471
- }) : /* @__PURE__ */ U(pe, { fontSize: "small" }),
477
+ }) : /* @__PURE__ */ U(he, { fontSize: "small" }),
472
478
  onClick: f,
473
479
  disabled: c
474
- }), t.showClear && /* @__PURE__ */ U(Ct, {
480
+ }), t.showClear && /* @__PURE__ */ U(X, {
475
481
  label: n.clear,
476
- icon: /* @__PURE__ */ U(he, { fontSize: "small" }),
482
+ icon: /* @__PURE__ */ U(_e, { fontSize: "small" }),
477
483
  onClick: p,
478
484
  disabled: c
479
485
  })]
@@ -488,14 +494,14 @@ function wt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled:
488
494
  display: "flex",
489
495
  gap: .25
490
496
  },
491
- children: [/* @__PURE__ */ U(Ct, {
497
+ children: [/* @__PURE__ */ U(X, {
492
498
  label: n.undo,
493
- icon: /* @__PURE__ */ U(ge, { fontSize: "small" }),
499
+ icon: /* @__PURE__ */ U(ve, { fontSize: "small" }),
494
500
  onClick: m,
495
501
  disabled: c
496
- }), /* @__PURE__ */ U(Ct, {
502
+ }), /* @__PURE__ */ U(X, {
497
503
  label: n.redo,
498
- icon: /* @__PURE__ */ U(_e, { fontSize: "small" }),
504
+ icon: /* @__PURE__ */ U(ye, { fontSize: "small" }),
499
505
  onClick: h,
500
506
  disabled: c
501
507
  })]
@@ -506,7 +512,7 @@ function wt({ viewRef: e, toolbarConfig: t, translation: n, indent: r, disabled:
506
512
  }
507
513
  //#endregion
508
514
  //#region src/components/json-editor/JsonEditorFooter.tsx
509
- function Tt({ helperText: e, error: t, showLineColumn: n, showValidation: r, isValid: i, cursorLine: a, cursorCol: o, translation: s }) {
515
+ function Ot({ helperText: e, error: t, showLineColumn: n, showValidation: r, isValid: i, cursorLine: a, cursorCol: o, translation: s }) {
510
516
  let c = s.lineColumn.replace("{line}", String(a)).replace("{col}", String(o));
511
517
  return /* @__PURE__ */ W(l, {
512
518
  sx: {
@@ -555,11 +561,13 @@ function Tt({ helperText: e, error: t, showLineColumn: n, showValidation: r, isV
555
561
  });
556
562
  }
557
563
  //#endregion
558
- //#region src/components/json-editor/JsonEditor.tsx
559
- function Et(e) {
564
+ //#region src/components/shared/normalizeSize.ts
565
+ function kt(e) {
560
566
  if (!(e === "" || e === void 0)) return typeof e == "string" && e !== "auto" && !isNaN(Number(e)) ? Number(e) : e;
561
567
  }
562
- function Dt(e) {
568
+ //#endregion
569
+ //#region src/components/json-editor/JsonEditor.tsx
570
+ function At(e) {
563
571
  if (!e.trim()) return !1;
564
572
  try {
565
573
  return JSON.parse(e), !0;
@@ -567,17 +575,17 @@ function Dt(e) {
567
575
  return !1;
568
576
  }
569
577
  }
570
- function Ot({ value: e, onChange: n, onValidChange: r, placeholder: i, height: a, width: c, disabled: u = !1, readonly: d = !1, error: f = !1, helperText: p, name: m, indent: h = 2, showLineNumbers: g = !0, showLineColumn: _ = !0, showValidation: y = !1, toolbarConfig: b, translation: x, highlightColors: S, onBlur: C, onFocus: w }) {
578
+ function jt({ value: e, onChange: n, onValidChange: r, placeholder: i, height: a, width: c, disabled: u = !1, readonly: d = !1, error: f = !1, helperText: p, name: m, indent: h = 2, showLineNumbers: g = !0, showLineColumn: _ = !0, showValidation: y = !1, toolbarConfig: b, translation: x, highlightColors: S, onBlur: C, onFocus: w }) {
571
579
  let T = {
572
- ...xt,
580
+ ...Tt,
573
581
  ...x
574
582
  }, E = {
575
- ...bt,
583
+ ...wt,
576
584
  ...b
577
- }, D = Et(a), k = Et(c), A = D === "auto", j = A ? void 0 : D ?? 300, M = o(null), [N, P] = s({
585
+ }, D = kt(a), k = kt(c), A = D === "auto", j = A ? void 0 : D ?? 300, M = o(null), [N, P] = s({
578
586
  line: 1,
579
587
  col: 1
580
- }), [F, I] = s(() => Dt(e ?? "")), L = t((e) => {
588
+ }), [F, I] = s(() => At(e ?? "")), L = t((e) => {
581
589
  M.current = e;
582
590
  }, []), R = t((e, t) => {
583
591
  P({
@@ -585,7 +593,7 @@ function Ot({ value: e, onChange: n, onValidChange: r, placeholder: i, height: a
585
593
  col: t
586
594
  });
587
595
  }, []), z = t((e) => {
588
- let t = Dt(e);
596
+ let t = At(e);
589
597
  I(t), r?.(t), n?.(e);
590
598
  }, [n, r]), B = _ || y || !!p;
591
599
  return /* @__PURE__ */ W(l, {
@@ -611,13 +619,13 @@ function Ot({ value: e, onChange: n, onValidChange: r, placeholder: i, height: a
611
619
  borderWidth: 2
612
620
  }
613
621
  },
614
- children: [!d && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(wt, {
622
+ children: [!d && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(Dt, {
615
623
  viewRef: M,
616
624
  toolbarConfig: E,
617
625
  translation: T,
618
626
  indent: h,
619
627
  disabled: u
620
- }), /* @__PURE__ */ U(v, {})] }), /* @__PURE__ */ U(St, {
628
+ }), /* @__PURE__ */ U(v, {})] }), /* @__PURE__ */ U(Et, {
621
629
  value: e,
622
630
  onChange: z,
623
631
  placeholder: i,
@@ -631,7 +639,7 @@ function Ot({ value: e, onChange: n, onValidChange: r, placeholder: i, height: a
631
639
  onFocus: w
632
640
  })]
633
641
  }),
634
- B && /* @__PURE__ */ U(Tt, {
642
+ B && /* @__PURE__ */ U(Ot, {
635
643
  helperText: p,
636
644
  error: f,
637
645
  showLineColumn: _,
@@ -651,28 +659,28 @@ function Ot({ value: e, onChange: n, onValidChange: r, placeholder: i, height: a
651
659
  }
652
660
  //#endregion
653
661
  //#region src/components/gantt-chart/util/gantt-chart.util.ts
654
- function kt(e) {
655
- let t = /* @__PURE__ */ new Date(), n = Gt(t), r = Kt(t);
662
+ function Mt(e) {
663
+ let t = /* @__PURE__ */ new Date(), n = qt(t), r = Jt(t);
656
664
  if (e.length === 0) return {
657
665
  start: n,
658
666
  end: r
659
667
  };
660
- let i = e.map((e) => e.startDate.getTime()), a = e.map((e) => e.endDate.getTime()), o = Ft(Lt(new Date(Math.min(...i)), -1)), s = It(Lt(new Date(Math.max(...a)), 1));
668
+ let i = e.map((e) => e.startDate.getTime()), a = e.map((e) => e.endDate.getTime()), o = Rt(Bt(new Date(Math.min(...i)), -1)), s = zt(Bt(new Date(Math.max(...a)), 1));
661
669
  return {
662
670
  start: o < n ? o : n,
663
671
  end: s > r ? s : r
664
672
  };
665
673
  }
666
- function At(e, t) {
674
+ function Nt(e, t) {
667
675
  return t === "weeks" ? {
668
- start: Vt(e.start),
676
+ start: Ut(e.start),
669
677
  end: e.end
670
678
  } : t === "quarters" ? {
671
- start: Gt(e.start),
672
- end: Kt(e.end)
679
+ start: qt(e.start),
680
+ end: Jt(e.end)
673
681
  } : e;
674
682
  }
675
- function jt(e, t) {
683
+ function Pt(e, t) {
676
684
  let n = t.end.getTime() - t.start.getTime();
677
685
  if (n <= 0) return {
678
686
  left: 0,
@@ -684,7 +692,7 @@ function jt(e, t) {
684
692
  width: Math.max(0, i)
685
693
  };
686
694
  }
687
- function Mt(e) {
695
+ function Ft(e) {
688
696
  let t = /* @__PURE__ */ new Map();
689
697
  for (let n of e) t.set(n.id, {
690
698
  ...n,
@@ -693,31 +701,31 @@ function Mt(e) {
693
701
  });
694
702
  let n = [];
695
703
  for (let e of t.values()) e.parentId && t.has(e.parentId) ? t.get(e.parentId).children.push(e) : n.push(e);
696
- return Nt(n, 0), n;
704
+ return It(n, 0), n;
697
705
  }
698
- function Nt(e, t) {
699
- for (let n of e) n.depth = t, Nt(n.children, t + 1);
706
+ function It(e, t) {
707
+ for (let n of e) n.depth = t, It(n.children, t + 1);
700
708
  }
701
- function Pt(e, t) {
709
+ function Lt(e, t) {
702
710
  let n = [];
703
711
  function r(e) {
704
712
  for (let i of e) n.push(i), i.children.length > 0 && t.has(i.id) && r(i.children);
705
713
  }
706
714
  return r(e), n;
707
715
  }
708
- function Ft(e) {
716
+ function Rt(e) {
709
717
  return new Date(e.getFullYear(), e.getMonth(), 1, 0, 0, 0, 0);
710
718
  }
711
- function It(e) {
719
+ function zt(e) {
712
720
  return new Date(e.getFullYear(), e.getMonth() + 1, 0, 23, 59, 59, 999);
713
721
  }
714
- function Lt(e, t) {
722
+ function Bt(e, t) {
715
723
  return new Date(e.getFullYear(), e.getMonth() + t, e.getDate());
716
724
  }
717
- function Rt(e, t) {
725
+ function Z(e, t) {
718
726
  return new Date(e.getFullYear(), e.getMonth(), e.getDate() + t, 0, 0, 0, 0);
719
727
  }
720
- function zt(e, t, n) {
728
+ function Vt(e, t, n) {
721
729
  if (n === 0) return e;
722
730
  let r = /* @__PURE__ */ new Map();
723
731
  for (let t of e) for (let e of t.dependencies ?? []) r.has(e) || r.set(e, []), r.get(e).push(t.id);
@@ -735,41 +743,41 @@ function zt(e, t, n) {
735
743
  }
736
744
  return e.map((e) => i.get(e.id));
737
745
  }
738
- function Bt(e) {
739
- let t = [], n = Ft(e.start);
740
- for (; n <= e.end;) t.push(n), n = Lt(n, 1);
746
+ function Ht(e) {
747
+ let t = [], n = Rt(e.start);
748
+ for (; n <= e.end;) t.push(n), n = Bt(n, 1);
741
749
  return t;
742
750
  }
743
- function Vt(e) {
751
+ function Ut(e) {
744
752
  let t = new Date(e), n = t.getDay(), r = n === 0 ? -6 : 1 - n;
745
753
  return t.setDate(t.getDate() + r), t.setHours(0, 0, 0, 0), t;
746
754
  }
747
- function Ht(e) {
755
+ function Wt(e) {
748
756
  let t = new Date(Date.UTC(e.getFullYear(), e.getMonth(), e.getDate())), n = t.getUTCDay() || 7;
749
757
  t.setUTCDate(t.getUTCDate() + 4 - n);
750
758
  let r = new Date(Date.UTC(t.getUTCFullYear(), 0, 1));
751
759
  return Math.ceil(((t.getTime() - r.getTime()) / 864e5 + 1) / 7);
752
760
  }
753
- function Ut(e) {
754
- let t = [], n = Vt(e.start);
761
+ function Gt(e) {
762
+ let t = [], n = Ut(e.start);
755
763
  for (; n <= e.end;) t.push(new Date(n)), n = new Date(n.getFullYear(), n.getMonth(), n.getDate() + 7);
756
764
  return t;
757
765
  }
758
- function Wt(e) {
766
+ function Kt(e) {
759
767
  let t = [], n = new Date(e.start.getFullYear(), e.start.getMonth(), e.start.getDate(), 0, 0, 0, 0), r = new Date(e.end.getFullYear(), e.end.getMonth(), e.end.getDate(), 0, 0, 0, 0).getTime();
760
768
  for (; n.getTime() <= r;) t.push(new Date(n)), n = new Date(n.getFullYear(), n.getMonth(), n.getDate() + 1, 0, 0, 0, 0);
761
769
  return t;
762
770
  }
763
- function Gt(e) {
771
+ function qt(e) {
764
772
  let t = Math.floor(e.getMonth() / 3) * 3;
765
773
  return new Date(e.getFullYear(), t, 1, 0, 0, 0, 0);
766
774
  }
767
- function Kt(e) {
775
+ function Jt(e) {
768
776
  let t = Math.floor(e.getMonth() / 3) * 3 + 2;
769
- return It(new Date(e.getFullYear(), t, 1));
777
+ return zt(new Date(e.getFullYear(), t, 1));
770
778
  }
771
- function qt(e) {
772
- let t = [], n = Gt(e.start);
779
+ function Yt(e) {
780
+ let t = [], n = qt(e.start);
773
781
  for (; n <= e.end;) {
774
782
  let e = Math.floor(n.getMonth() / 3) + 1;
775
783
  t.push({
@@ -780,7 +788,7 @@ function qt(e) {
780
788
  }
781
789
  return t;
782
790
  }
783
- function Jt(e) {
791
+ function Xt(e) {
784
792
  if (e.length === 0) return /* @__PURE__ */ new Set();
785
793
  let t = /* @__PURE__ */ new Map();
786
794
  for (let n of e) for (let e of n.dependencies ?? []) t.has(e) || t.set(e, []), t.get(e).push(n.id);
@@ -800,18 +808,18 @@ function Jt(e) {
800
808
  }
801
809
  //#endregion
802
810
  //#region src/components/gantt-chart/GanttChart.store.ts
803
- function Yt(e, t) {
804
- let n = t.startDate < e.start ? Ft(Lt(t.startDate, -1)) : e.start, r = t.endDate > e.end ? It(Lt(t.endDate, 1)) : e.end;
811
+ function Zt(e, t) {
812
+ let n = t.startDate < e.start ? Rt(Bt(t.startDate, -1)) : e.start, r = t.endDate > e.end ? zt(Bt(t.endDate, 1)) : e.end;
805
813
  return n === e.start && r === e.end ? e : {
806
814
  start: n,
807
815
  end: r
808
816
  };
809
817
  }
810
- function Xt(e, t = "months", n = !1, r, i = !1) {
811
- let a = kt(e);
812
- return xe((o, s) => ({
818
+ function Qt(e, t = "months", n = !1, r, i = !1) {
819
+ let a = Mt(e);
820
+ return Ce((o, s) => ({
813
821
  tasks: e,
814
- taskTree: Mt(e),
822
+ taskTree: Ft(e),
815
823
  expandedIds: n ? new Set(e.map((e) => e.id)) : new Set(e.filter((e) => !e.parentId).map((e) => e.id)),
816
824
  timeScale: t,
817
825
  timelineRange: r ?? a,
@@ -823,8 +831,8 @@ function Xt(e, t = "months", n = !1, r, i = !1) {
823
831
  setTasks: (e) => {
824
832
  o((t) => ({
825
833
  tasks: e,
826
- taskTree: Mt(e),
827
- ...t.isRangeCustomized ? {} : { timelineRange: kt(e) }
834
+ taskTree: Ft(e),
835
+ ...t.isRangeCustomized ? {} : { timelineRange: Mt(e) }
828
836
  }));
829
837
  },
830
838
  addTask: (e) => {
@@ -832,8 +840,8 @@ function Xt(e, t = "months", n = !1, r, i = !1) {
832
840
  let n = [...t.tasks, e];
833
841
  return {
834
842
  tasks: n,
835
- taskTree: Mt(n),
836
- timelineRange: Yt(t.timelineRange, e)
843
+ taskTree: Ft(n),
844
+ timelineRange: Zt(t.timelineRange, e)
837
845
  };
838
846
  });
839
847
  },
@@ -842,13 +850,13 @@ function Xt(e, t = "months", n = !1, r, i = !1) {
842
850
  let n = t.tasks.find((t) => t.id === e.id), r = t.tasks.map((t) => t.id === e.id ? e : t);
843
851
  if (t.cascadeDependencies && n) {
844
852
  let t = e.endDate.getTime() - n.endDate.getTime();
845
- r = zt(r, e.id, t);
853
+ r = Vt(r, e.id, t);
846
854
  }
847
- let i = Yt(t.timelineRange, e);
848
- for (let e of r) i = Yt(i, e);
855
+ let i = Zt(t.timelineRange, e);
856
+ for (let e of r) i = Zt(i, e);
849
857
  return {
850
858
  tasks: r,
851
- taskTree: Mt(r),
859
+ taskTree: Ft(r),
852
860
  timelineRange: i
853
861
  };
854
862
  });
@@ -862,7 +870,7 @@ function Xt(e, t = "months", n = !1, r, i = !1) {
862
870
  let i = t.tasks.filter((e) => !n.has(e.id));
863
871
  return {
864
872
  tasks: i,
865
- taskTree: Mt(i)
873
+ taskTree: Ft(i)
866
874
  };
867
875
  });
868
876
  },
@@ -895,14 +903,14 @@ function Xt(e, t = "months", n = !1, r, i = !1) {
895
903
  },
896
904
  resetTimelineRange: () => {
897
905
  o((e) => ({
898
- timelineRange: kt(e.tasks),
906
+ timelineRange: Mt(e.tasks),
899
907
  isRangeCustomized: !1
900
908
  }));
901
909
  },
902
910
  resetView: () => {
903
911
  o((e) => ({
904
912
  timeScale: e.defaultTimeScale,
905
- timelineRange: kt(e.tasks),
913
+ timelineRange: Mt(e.tasks),
906
914
  isRangeCustomized: !1,
907
915
  isExpandedCustomized: !1,
908
916
  expandedIds: e.initialExpandAll ? new Set(e.tasks.map((e) => e.id)) : new Set(e.tasks.filter((e) => !e.parentId).map((e) => e.id))
@@ -910,13 +918,13 @@ function Xt(e, t = "months", n = !1, r, i = !1) {
910
918
  },
911
919
  getVisibleTasks: () => {
912
920
  let { taskTree: e, expandedIds: t } = s();
913
- return Pt(e, t);
921
+ return Lt(e, t);
914
922
  }
915
923
  }));
916
924
  }
917
925
  //#endregion
918
926
  //#region src/components/gantt-chart/GanttChart.types.ts
919
- var Zt = {
927
+ var $t = {
920
928
  scaleDays: "Tage",
921
929
  scaleWeeks: "Wochen",
922
930
  scaleMonths: "Monate",
@@ -956,19 +964,29 @@ var Zt = {
956
964
  addTaskTooltip: "Aufgabe hinzufügen",
957
965
  editTaskTooltip: "Aufgabe bearbeiten",
958
966
  deleteTaskTooltip: "Aufgabe löschen"
967
+ }, en = {
968
+ planned: "warning.light",
969
+ "in-progress": "info.main",
970
+ done: "success.main",
971
+ blocked: "error.main"
972
+ }, tn = {
973
+ planned: "warning",
974
+ "in-progress": "info",
975
+ done: "success",
976
+ blocked: "error"
959
977
  };
960
978
  //#endregion
961
979
  //#region src/components/gantt-chart/GanttTaskDialog.tsx
962
- function Qt(e) {
980
+ function nn(e) {
963
981
  return e.toISOString().slice(0, 10);
964
982
  }
965
- function $t(e, t, n) {
983
+ function rn(e, t, n) {
966
984
  return e < t ? t : e > n ? n : e;
967
985
  }
968
- function en(e) {
969
- return e.flatMap((e) => [e, ...en(e.children)]);
986
+ function an(e) {
987
+ return e.flatMap((e) => [e, ...an(e.children)]);
970
988
  }
971
- function tn({ label: e }) {
989
+ function on({ label: e }) {
972
990
  let t = o(null), [n, r] = s(!1);
973
991
  return /* @__PURE__ */ U(F, {
974
992
  title: e,
@@ -991,8 +1009,8 @@ function tn({ label: e }) {
991
1009
  })
992
1010
  });
993
1011
  }
994
- function nn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, onClose: c }) {
995
- let f = Sn(), g = Q((e) => e.taskTree), v = Q((e) => e.timelineRange), x = a(() => en(g), [g]), S = a(() => {
1012
+ function sn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, onClose: c }) {
1013
+ let f = $(), g = Q((e) => e.taskTree), v = Q((e) => e.timelineRange), x = a(() => an(g), [g]), S = a(() => {
996
1014
  if (t === "add" || !n) return /* @__PURE__ */ new Set();
997
1015
  let e = (t) => [t.id, ...t.children.flatMap(e)], r = x.find((e) => e.id === n.id);
998
1016
  return new Set(r ? e(r) : [n.id]);
@@ -1000,7 +1018,7 @@ function nn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, o
1000
1018
  t,
1001
1019
  n,
1002
1020
  x
1003
- ]), C = x.filter((e) => !S.has(e.id)), T = C, D = Qt($t(/* @__PURE__ */ new Date(), v.start, v.end)), [O, k] = s({
1021
+ ]), C = x.filter((e) => !S.has(e.id)), T = C, D = nn(rn(/* @__PURE__ */ new Date(), v.start, v.end)), [O, k] = s({
1004
1022
  name: "",
1005
1023
  startDate: D,
1006
1024
  endDate: D,
@@ -1011,11 +1029,11 @@ function nn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, o
1011
1029
  });
1012
1030
  r(() => {
1013
1031
  if (!e) return;
1014
- let r = Qt($t(/* @__PURE__ */ new Date(), v.start, v.end));
1032
+ let r = nn(rn(/* @__PURE__ */ new Date(), v.start, v.end));
1015
1033
  k(t === "edit" && n ? {
1016
1034
  name: n.name,
1017
- startDate: Qt(n.startDate),
1018
- endDate: Qt(n.endDate),
1035
+ startDate: nn(n.startDate),
1036
+ endDate: nn(n.endDate),
1019
1037
  status: n.status,
1020
1038
  isMilestone: n.isMilestone ?? !1,
1021
1039
  parentId: n.parentId ?? "",
@@ -1196,7 +1214,7 @@ function nn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, o
1196
1214
  flexShrink: 0
1197
1215
  },
1198
1216
  children: "└"
1199
- }), /* @__PURE__ */ U(tn, { label: e.name })]
1217
+ }), /* @__PURE__ */ U(on, { label: e.name })]
1200
1218
  })
1201
1219
  }, e.id))]
1202
1220
  })]
@@ -1240,7 +1258,7 @@ function nn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, o
1240
1258
  flexShrink: 0
1241
1259
  },
1242
1260
  children: "└"
1243
- }), /* @__PURE__ */ U(tn, { label: e.name })]
1261
+ }), /* @__PURE__ */ U(on, { label: e.name })]
1244
1262
  })
1245
1263
  }, e.id))
1246
1264
  })]
@@ -1262,8 +1280,8 @@ function nn({ open: e, mode: t, initialTask: n, defaultParentId: i, onSave: o, o
1262
1280
  }
1263
1281
  //#endregion
1264
1282
  //#region src/components/gantt-chart/GanttDeleteDialog.tsx
1265
- function rn({ open: e, task: t, onConfirm: n, onClose: r }) {
1266
- let i = Sn(), a = i.dialogDeleteConfirm.replace("{name}", t?.name ?? "");
1283
+ function cn({ open: e, task: t, onConfirm: n, onClose: r }) {
1284
+ let i = $(), a = i.dialogDeleteConfirm.replace("{name}", t?.name ?? "");
1267
1285
  return /* @__PURE__ */ W(p, {
1268
1286
  open: e,
1269
1287
  onClose: r,
@@ -1288,18 +1306,7 @@ function rn({ open: e, task: t, onConfirm: n, onClose: r }) {
1288
1306
  }
1289
1307
  //#endregion
1290
1308
  //#region src/components/gantt-chart/GanttTaskPanel.tsx
1291
- var an = {
1292
- planned: "warning.main",
1293
- "in-progress": "info.main",
1294
- done: "success.main",
1295
- blocked: "error.main"
1296
- }, on = {
1297
- planned: "warning",
1298
- "in-progress": "info",
1299
- done: "success",
1300
- blocked: "error"
1301
- };
1302
- function sn(e, t) {
1309
+ function ln(e, t) {
1303
1310
  return {
1304
1311
  planned: t.statusPlanned,
1305
1312
  "in-progress": t.statusInProgress,
@@ -1307,8 +1314,8 @@ function sn(e, t) {
1307
1314
  blocked: t.statusBlocked
1308
1315
  }[e];
1309
1316
  }
1310
- function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onTaskClick: i, onAddTask: a, onEditTask: o, onDeleteTask: c, onStatusChange: u, inlineEdit: d, onInlineRename: p }) {
1311
- let [m, h] = s(null), [g, _] = s(null), v = Sn(), { statusColors: y } = wn(), b = () => {
1317
+ function un({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onTaskClick: i, onAddTask: a, onEditTask: o, onDeleteTask: c, onStatusChange: u, inlineEdit: d, onInlineRename: p }) {
1318
+ let [m, h] = s(null), [g, _] = s(null), v = $(), { statusColors: y } = Mn(), b = () => {
1312
1319
  g !== null && g.trim() && p?.(e, g.trim()), _(null);
1313
1320
  };
1314
1321
  return /* @__PURE__ */ W(l, {
@@ -1364,7 +1371,7 @@ function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onT
1364
1371
  borderRadius: e.isMilestone ? 0 : "50%",
1365
1372
  transform: e.isMilestone ? "rotate(45deg)" : void 0,
1366
1373
  flexShrink: 0,
1367
- bgcolor: e.color ?? y?.[e.status] ?? an[e.status] ?? "grey.400"
1374
+ bgcolor: e.color ?? y?.[e.status] ?? en[e.status] ?? "grey.400"
1368
1375
  } }),
1369
1376
  g === null ? /* @__PURE__ */ U(I, {
1370
1377
  variant: "body2",
@@ -1416,7 +1423,7 @@ function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onT
1416
1423
  onClick: (t) => {
1417
1424
  t.stopPropagation(), o(e);
1418
1425
  },
1419
- children: /* @__PURE__ */ U(we, { fontSize: "inherit" })
1426
+ children: /* @__PURE__ */ U(Ee, { fontSize: "inherit" })
1420
1427
  })
1421
1428
  }),
1422
1429
  a && /* @__PURE__ */ U(F, {
@@ -1427,7 +1434,7 @@ function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onT
1427
1434
  onClick: (t) => {
1428
1435
  t.stopPropagation(), a(e);
1429
1436
  },
1430
- children: /* @__PURE__ */ U(Ce, { fontSize: "inherit" })
1437
+ children: /* @__PURE__ */ U(Te, { fontSize: "inherit" })
1431
1438
  })
1432
1439
  }),
1433
1440
  c && /* @__PURE__ */ U(F, {
@@ -1438,7 +1445,7 @@ function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onT
1438
1445
  onClick: (t) => {
1439
1446
  t.stopPropagation(), c(e);
1440
1447
  },
1441
- children: /* @__PURE__ */ U(he, { fontSize: "inherit" })
1448
+ children: /* @__PURE__ */ U(_e, { fontSize: "inherit" })
1442
1449
  })
1443
1450
  })
1444
1451
  ]
@@ -1452,10 +1459,10 @@ function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onT
1452
1459
  justifyContent: "center"
1453
1460
  },
1454
1461
  children: [/* @__PURE__ */ U(f, {
1455
- label: sn(e.status, v),
1462
+ label: ln(e.status, v),
1456
1463
  size: "small",
1457
1464
  variant: "outlined",
1458
- color: e.color ?? y?.[e.status] ? "default" : on[e.status] ?? "default",
1465
+ color: e.color ?? y?.[e.status] ? "default" : tn[e.status] ?? "default",
1459
1466
  sx: {
1460
1467
  height: 20,
1461
1468
  fontSize: 10,
@@ -1482,15 +1489,15 @@ function cn({ task: e, expandedIds: t, toggleExpand: n, hasActionsColumn: r, onT
1482
1489
  onClick: () => {
1483
1490
  u(e, t), h(null);
1484
1491
  },
1485
- children: sn(t, v)
1492
+ children: ln(t, v)
1486
1493
  }, t))
1487
1494
  })]
1488
1495
  })
1489
1496
  ]
1490
1497
  });
1491
1498
  }
1492
- function ln({ scrollRef: e, onScroll: t, panelWidth: n, onTaskClick: r, onAddTask: i, onEditTask: o, onDeleteTask: c, onStatusChange: u, onTasksChange: d, enableBuiltinDialogs: f, onTaskCreated: p, onTaskUpdated: m, onTaskDeleted: h, inlineEdit: g, virtualizeRows: _ = !1 }) {
1493
- let v = Sn(), y = bn(), b = Q((e) => e.taskTree), x = Q((e) => e.expandedIds), S = Q((e) => e.toggleExpand), C = Q((e) => e.timeScale), w = Q((e) => e.addTask), T = Q((e) => e.updateTask), E = Q((e) => e.deleteTask), D = a(() => Pt(b, x), [b, x]), O = Se({
1499
+ function dn({ scrollRef: e, onScroll: t, panelWidth: n, onTaskClick: r, onAddTask: i, onEditTask: o, onDeleteTask: c, onStatusChange: u, onTasksChange: d, enableBuiltinDialogs: f, onTaskCreated: p, onTaskUpdated: m, onTaskDeleted: h, inlineEdit: g, virtualizeRows: _ = !1 }) {
1500
+ let v = $(), y = kn(), b = Q((e) => e.taskTree), x = Q((e) => e.expandedIds), S = Q((e) => e.toggleExpand), C = Q((e) => e.timeScale), w = Q((e) => e.addTask), T = Q((e) => e.updateTask), E = Q((e) => e.deleteTask), D = a(() => Lt(b, x), [b, x]), O = we({
1494
1501
  count: D.length,
1495
1502
  getScrollElement: () => e.current,
1496
1503
  estimateSize: () => 40,
@@ -1520,9 +1527,9 @@ function ln({ scrollRef: e, onScroll: t, panelWidth: n, onTaskClick: r, onAddTas
1520
1527
  L(e), A(!0);
1521
1528
  } : i, K = f ? (e) => {
1522
1529
  L(e), M(!0);
1523
- } : o, ee = f ? (e) => {
1530
+ } : o, q = f ? (e) => {
1524
1531
  L(e), P(!0);
1525
- } : c, te = !!(G || K || ee);
1532
+ } : c, J = !!(G || K || q);
1526
1533
  return /* @__PURE__ */ W(l, {
1527
1534
  ref: e,
1528
1535
  onScroll: t,
@@ -1567,7 +1574,7 @@ function ln({ scrollRef: e, onScroll: t, panelWidth: n, onTaskClick: r, onAddTas
1567
1574
  children: v.columnName
1568
1575
  })
1569
1576
  }),
1570
- te && /* @__PURE__ */ U(l, {
1577
+ J && /* @__PURE__ */ U(l, {
1571
1578
  sx: {
1572
1579
  width: 96,
1573
1580
  flexShrink: 0,
@@ -1612,49 +1619,49 @@ function ln({ scrollRef: e, onScroll: t, panelWidth: n, onTaskClick: r, onAddTas
1612
1619
  height: 40,
1613
1620
  transform: `translateY(${e.start}px)`
1614
1621
  },
1615
- children: /* @__PURE__ */ U(cn, {
1622
+ children: /* @__PURE__ */ U(un, {
1616
1623
  task: D[e.index],
1617
1624
  expandedIds: x,
1618
1625
  toggleExpand: S,
1619
- hasActionsColumn: te,
1626
+ hasActionsColumn: J,
1620
1627
  onTaskClick: r,
1621
1628
  onAddTask: G,
1622
1629
  onEditTask: K,
1623
- onDeleteTask: ee,
1630
+ onDeleteTask: q,
1624
1631
  onStatusChange: u,
1625
1632
  inlineEdit: g,
1626
1633
  onInlineRename: g ? V : void 0
1627
1634
  })
1628
1635
  }, e.key))
1629
- }) : D.map((e) => /* @__PURE__ */ U(cn, {
1636
+ }) : D.map((e) => /* @__PURE__ */ U(un, {
1630
1637
  task: e,
1631
1638
  expandedIds: x,
1632
1639
  toggleExpand: S,
1633
- hasActionsColumn: te,
1640
+ hasActionsColumn: J,
1634
1641
  onTaskClick: r,
1635
1642
  onAddTask: G,
1636
1643
  onEditTask: K,
1637
- onDeleteTask: ee,
1644
+ onDeleteTask: q,
1638
1645
  onStatusChange: u,
1639
1646
  inlineEdit: g,
1640
1647
  onInlineRename: g ? V : void 0
1641
1648
  }, e.id)),
1642
1649
  f && /* @__PURE__ */ W(H, { children: [
1643
- /* @__PURE__ */ U(nn, {
1650
+ /* @__PURE__ */ U(sn, {
1644
1651
  open: k,
1645
1652
  mode: "add",
1646
1653
  defaultParentId: F?.id,
1647
1654
  onSave: R,
1648
1655
  onClose: () => A(!1)
1649
1656
  }),
1650
- /* @__PURE__ */ U(nn, {
1657
+ /* @__PURE__ */ U(sn, {
1651
1658
  open: j,
1652
1659
  mode: "edit",
1653
1660
  initialTask: F ?? void 0,
1654
1661
  onSave: z,
1655
1662
  onClose: () => M(!1)
1656
1663
  }),
1657
- /* @__PURE__ */ U(rn, {
1664
+ /* @__PURE__ */ U(cn, {
1658
1665
  open: N,
1659
1666
  task: F,
1660
1667
  onConfirm: B,
@@ -1665,8 +1672,112 @@ function ln({ scrollRef: e, onScroll: t, panelWidth: n, onTaskClick: r, onAddTas
1665
1672
  });
1666
1673
  }
1667
1674
  //#endregion
1675
+ //#region src/components/gantt-chart/hooks/useGanttDrag.ts
1676
+ var fn = 864e5;
1677
+ function pn({ totalWidth: e, displayRange: t, onTaskMoved: n, onTaskResized: r, onTasksChange: i }) {
1678
+ let a = Q((e) => e.updateTask), c = kn(), l = $(), u = o(1);
1679
+ u.current = e > 0 ? e / ((t.end.getTime() - t.start.getTime()) / fn) : 1;
1680
+ let d = o(n);
1681
+ d.current = n;
1682
+ let f = o(r);
1683
+ f.current = r;
1684
+ let p = o(i);
1685
+ p.current = i;
1686
+ let m = o(null), h = o(null), [g, _] = s(null), v = o(!1);
1687
+ return {
1688
+ activeDrag: g,
1689
+ suppressClickRef: v,
1690
+ handleBarMouseDown: (e, t, n) => {
1691
+ e.stopPropagation(), v.current = !1, m.current = {
1692
+ type: n,
1693
+ taskId: t.id,
1694
+ startX: e.clientX,
1695
+ originalStart: t.startDate,
1696
+ originalEnd: t.endDate
1697
+ }, document.body.style.cursor = n === "resize" ? "ew-resize" : "grabbing";
1698
+ let r = (e) => {
1699
+ let t = m.current;
1700
+ if (!t || t.type === "progress") return;
1701
+ let n = e.clientX - t.startX, r = Math.round(n / u.current);
1702
+ Math.abs(n) >= 5 && (v.current = !0);
1703
+ let i = {
1704
+ taskId: t.taskId,
1705
+ type: t.type,
1706
+ deltaDays: r
1707
+ };
1708
+ h.current = i, _(i);
1709
+ }, i = () => {
1710
+ document.body.style.cursor = "";
1711
+ let e = m.current, t = h.current;
1712
+ if (e && t && v.current && t.deltaDays !== 0) {
1713
+ let n = c.getState().tasks.find((t) => t.id === e.taskId);
1714
+ if (n) {
1715
+ if (t.type === "move") {
1716
+ let r = Z(e.originalStart, t.deltaDays), i = Z(e.originalEnd, t.deltaDays);
1717
+ a({
1718
+ ...n,
1719
+ startDate: r,
1720
+ endDate: i
1721
+ }), d.current?.(n, r, i);
1722
+ } else {
1723
+ let r = Z(e.originalEnd, t.deltaDays), i = r > e.originalStart ? r : Z(e.originalStart, 1);
1724
+ a({
1725
+ ...n,
1726
+ endDate: i
1727
+ }), f.current?.(n, i);
1728
+ }
1729
+ p.current?.(c.getState().tasks);
1730
+ }
1731
+ }
1732
+ m.current = null, h.current = null, _(null), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", i);
1733
+ };
1734
+ document.addEventListener("mousemove", r), document.addEventListener("mouseup", i);
1735
+ },
1736
+ handleProgressMouseDown: (e, t, n, r) => {
1737
+ e.stopPropagation(), v.current = !1, m.current = {
1738
+ type: "progress",
1739
+ taskId: t.id,
1740
+ startX: e.clientX,
1741
+ originalStart: t.startDate,
1742
+ originalEnd: t.endDate,
1743
+ initialProgress: n,
1744
+ barWidthPx: r
1745
+ }, document.body.style.cursor = "ew-resize";
1746
+ let i = (e) => {
1747
+ let t = m.current;
1748
+ if (!t || t.type !== "progress") return;
1749
+ let n = e.clientX - t.startX;
1750
+ Math.abs(n) >= 5 && (v.current = !0);
1751
+ let r = n / (t.barWidthPx ?? 1) * 100, i = Math.round(Math.max(0, Math.min(100, (t.initialProgress ?? 0) + r))), a = {
1752
+ taskId: t.taskId,
1753
+ type: "progress",
1754
+ deltaDays: 0,
1755
+ newProgress: i
1756
+ };
1757
+ h.current = a, _(a);
1758
+ }, o = () => {
1759
+ document.body.style.cursor = "";
1760
+ let e = m.current, t = h.current;
1761
+ if (e && t && t.type === "progress" && t.newProgress !== void 0 && v.current) {
1762
+ let n = c.getState().tasks.find((t) => t.id === e.taskId);
1763
+ n && (a({
1764
+ ...n,
1765
+ progress: t.newProgress
1766
+ }), p.current?.(c.getState().tasks));
1767
+ }
1768
+ m.current = null, h.current = null, _(null), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", o);
1769
+ };
1770
+ document.addEventListener("mousemove", i), document.addEventListener("mouseup", o);
1771
+ },
1772
+ formatDragDate: (e) => e.toLocaleDateString(l.dateLocale, {
1773
+ day: "2-digit",
1774
+ month: "short"
1775
+ })
1776
+ };
1777
+ }
1778
+ //#endregion
1668
1779
  //#region src/components/gantt-chart/GanttTimelineHeader.tsx
1669
- function un({ items: e }) {
1780
+ function mn({ items: e }) {
1670
1781
  return /* @__PURE__ */ U(l, {
1671
1782
  sx: { display: "flex" },
1672
1783
  children: e.map((e) => /* @__PURE__ */ U(l, {
@@ -1689,7 +1800,7 @@ function un({ items: e }) {
1689
1800
  }, e.key))
1690
1801
  });
1691
1802
  }
1692
- function dn({ columns: e, groups: t }) {
1803
+ function hn({ columns: e, groups: t }) {
1693
1804
  return /* @__PURE__ */ W(l, {
1694
1805
  sx: {
1695
1806
  position: "sticky",
@@ -1708,28 +1819,325 @@ function dn({ columns: e, groups: t }) {
1708
1819
  borderColor: "divider",
1709
1820
  overflow: "visible"
1710
1821
  },
1711
- children: /* @__PURE__ */ U(un, { items: t })
1712
- }), /* @__PURE__ */ U(un, { items: e })]
1822
+ children: /* @__PURE__ */ U(mn, { items: t })
1823
+ }), /* @__PURE__ */ U(mn, { items: e })]
1824
+ });
1825
+ }
1826
+ //#endregion
1827
+ //#region src/components/gantt-chart/GanttBarRow.tsx
1828
+ function gn({ task: e, virtualTop: t, activeDrag: n, displayRange: r, totalWidth: i, gridColumnWidth: a, criticalTaskIds: o, draggable: s = !1, resizable: c = !1, progressDraggable: u = !1, onTaskClick: d, onMilestoneClick: f, onContextMenu: p, suppressClickRef: m, handleBarMouseDown: h, handleProgressMouseDown: g, formatDragDate: _ }) {
1829
+ let v = L(), { statusColors: y, criticalPathColor: b, milestoneColor: x, barBorderRadius: S } = Mn(), C = n?.taskId === e.id, w = e;
1830
+ if (C && n) if (n.type === "move") w = {
1831
+ ...e,
1832
+ startDate: Z(e.startDate, n.deltaDays),
1833
+ endDate: Z(e.endDate, n.deltaDays)
1834
+ };
1835
+ else if (n.type === "resize") {
1836
+ let t = Z(e.endDate, n.deltaDays);
1837
+ w = {
1838
+ ...e,
1839
+ endDate: t > e.startDate ? t : Z(e.startDate, 1)
1840
+ };
1841
+ } else n.type === "progress" && n.newProgress !== void 0 && (w = {
1842
+ ...e,
1843
+ progress: n.newProgress
1844
+ });
1845
+ let { left: T, width: E } = Pt(w, r);
1846
+ return /* @__PURE__ */ U(l, {
1847
+ "data-testid": `gantt-bar-row-${e.id}`,
1848
+ style: t === void 0 ? void 0 : {
1849
+ position: "absolute",
1850
+ top: t,
1851
+ left: 0,
1852
+ width: "100%"
1853
+ },
1854
+ sx: {
1855
+ height: 40,
1856
+ position: "relative",
1857
+ borderBottom: "1px solid",
1858
+ borderColor: "divider",
1859
+ backgroundImage: (e) => `linear-gradient(to right, transparent calc(${a}px - 1px), ${e.palette.divider} calc(${a}px - 1px), ${e.palette.divider} ${a}px)`,
1860
+ backgroundSize: `${a}px 100%`,
1861
+ backgroundRepeat: "repeat-x"
1862
+ },
1863
+ children: e.isMilestone ? /* @__PURE__ */ U(_n, {
1864
+ task: e,
1865
+ left: T,
1866
+ milestoneColor: x,
1867
+ criticalPathColor: b,
1868
+ isCritical: o.has(e.id),
1869
+ onMilestoneClick: f,
1870
+ theme: v
1871
+ }) : /* @__PURE__ */ U(vn, {
1872
+ task: e,
1873
+ effectiveTask: w,
1874
+ left: T,
1875
+ width: E,
1876
+ totalWidth: i,
1877
+ isDragging: C,
1878
+ activeDrag: n,
1879
+ draggable: s,
1880
+ resizable: c,
1881
+ progressDraggable: u,
1882
+ isCritical: o.has(e.id),
1883
+ statusColors: y,
1884
+ criticalPathColor: b,
1885
+ barBorderRadius: S,
1886
+ onTaskClick: d,
1887
+ onContextMenu: p,
1888
+ suppressClickRef: m,
1889
+ handleBarMouseDown: h,
1890
+ handleProgressMouseDown: g,
1891
+ formatDragDate: _,
1892
+ theme: v
1893
+ })
1894
+ });
1895
+ }
1896
+ function _n({ task: e, left: t, milestoneColor: n, criticalPathColor: r, isCritical: i, onMilestoneClick: a, theme: o }) {
1897
+ return t < 0 || t > 100 ? null : /* @__PURE__ */ U(l, {
1898
+ "data-testid": `gantt-milestone-${e.id}`,
1899
+ sx: {
1900
+ position: "absolute",
1901
+ left: `${t}%`,
1902
+ top: "50%",
1903
+ width: 12,
1904
+ height: 12,
1905
+ bgcolor: n ?? "warning.main",
1906
+ transform: "translate(-50%, -50%) rotate(45deg)",
1907
+ cursor: a ? "pointer" : "default",
1908
+ boxShadow: i ? `0 0 0 2.5px ${r ?? o.palette.error.main}` : void 0,
1909
+ "&:hover": a ? { opacity: .8 } : void 0
1910
+ },
1911
+ onClick: () => a?.(e)
1912
+ });
1913
+ }
1914
+ function vn({ task: e, effectiveTask: t, left: n, width: r, totalWidth: i, isDragging: a, activeDrag: o, draggable: s, resizable: c, progressDraggable: u, isCritical: d, statusColors: f, criticalPathColor: p, barBorderRadius: m, onTaskClick: h, onContextMenu: g, suppressClickRef: _, handleBarMouseDown: v, handleProgressMouseDown: y, formatDragDate: b, theme: x }) {
1915
+ let S = Math.max(0, n), C = Math.min(100, n + Math.max(r, .5)) - S;
1916
+ return C <= 0 ? null : /* @__PURE__ */ W(H, { children: [
1917
+ a && o && o.type !== "progress" && o.deltaDays !== 0 && /* @__PURE__ */ U(yn, {
1918
+ left: S,
1919
+ children: o.type === "move" ? `${b(t.startDate)} – ${b(t.endDate)}` : `→ ${b(t.endDate)}`
1920
+ }),
1921
+ a && o?.type === "progress" && o.newProgress !== void 0 && /* @__PURE__ */ W(yn, {
1922
+ left: S,
1923
+ children: [o.newProgress, "%"]
1924
+ }),
1925
+ /* @__PURE__ */ W(l, {
1926
+ "data-testid": `gantt-bar-${e.id}`,
1927
+ sx: {
1928
+ position: "absolute",
1929
+ left: `${S}%`,
1930
+ width: `${C}%`,
1931
+ height: 16,
1932
+ top: "50%",
1933
+ transform: "translateY(-50%)",
1934
+ bgcolor: e.color ?? f?.[e.status] ?? en[e.status] ?? "grey.300",
1935
+ borderRadius: m === void 0 ? 1 : `${m}px`,
1936
+ overflow: "hidden",
1937
+ opacity: a ? .75 : 1,
1938
+ boxShadow: d ? `inset 0 0 0 2.5px ${p ?? x.palette.error.main}` : void 0,
1939
+ cursor: a ? "grabbing" : s ? "grab" : h ? "pointer" : "default",
1940
+ userSelect: "none",
1941
+ "&:hover": s || h ? { opacity: a ? .75 : .8 } : void 0
1942
+ },
1943
+ onMouseDown: s ? (t) => v(t, e, "move") : void 0,
1944
+ onContextMenu: (t) => {
1945
+ t.preventDefault(), t.stopPropagation(), g(e, t.clientX, t.clientY);
1946
+ },
1947
+ onClick: () => {
1948
+ if (_.current) {
1949
+ _.current = !1;
1950
+ return;
1951
+ }
1952
+ h?.(e);
1953
+ },
1954
+ children: [
1955
+ t.progress !== void 0 && t.progress > 0 && /* @__PURE__ */ U(l, {
1956
+ "data-testid": `gantt-progress-${e.id}`,
1957
+ sx: {
1958
+ position: "absolute",
1959
+ left: 0,
1960
+ top: 0,
1961
+ width: `${Math.min(t.progress, 100)}%`,
1962
+ height: "100%",
1963
+ bgcolor: "currentColor",
1964
+ opacity: .4
1965
+ }
1966
+ }),
1967
+ u && /* @__PURE__ */ U(l, {
1968
+ "data-testid": `gantt-progress-handle-${e.id}`,
1969
+ sx: {
1970
+ position: "absolute",
1971
+ left: `${Math.min(t.progress ?? 0, 100)}%`,
1972
+ top: 0,
1973
+ width: 6,
1974
+ height: "100%",
1975
+ transform: "translateX(-50%)",
1976
+ cursor: "ew-resize",
1977
+ bgcolor: "rgba(255,255,255,0.35)"
1978
+ },
1979
+ onMouseDown: (n) => {
1980
+ n.stopPropagation();
1981
+ let r = C / 100 * i;
1982
+ y(n, e, t.progress ?? 0, r);
1983
+ }
1984
+ }),
1985
+ c && /* @__PURE__ */ U(l, {
1986
+ "data-testid": `gantt-resize-handle-${e.id}`,
1987
+ sx: {
1988
+ position: "absolute",
1989
+ right: 0,
1990
+ top: 0,
1991
+ width: 6,
1992
+ height: "100%",
1993
+ cursor: "ew-resize"
1994
+ },
1995
+ onMouseDown: (t) => {
1996
+ t.stopPropagation(), v(t, e, "resize");
1997
+ }
1998
+ })
1999
+ ]
2000
+ })
2001
+ ] });
2002
+ }
2003
+ function yn({ left: e, children: t }) {
2004
+ return /* @__PURE__ */ U(l, {
2005
+ sx: {
2006
+ position: "absolute",
2007
+ left: `${e}%`,
2008
+ top: 2,
2009
+ bgcolor: "grey.800",
2010
+ color: "common.white",
2011
+ borderRadius: .5,
2012
+ px: .75,
2013
+ lineHeight: "18px",
2014
+ fontSize: "0.65rem",
2015
+ whiteSpace: "nowrap",
2016
+ pointerEvents: "none",
2017
+ zIndex: 100
2018
+ },
2019
+ children: t
2020
+ });
2021
+ }
2022
+ //#endregion
2023
+ //#region src/components/gantt-chart/GanttWeekendStrips.tsx
2024
+ function bn({ strips: e, totalWidth: t, height: n, top: r }) {
2025
+ let { weekendColor: i } = Mn();
2026
+ return e.length === 0 ? null : /* @__PURE__ */ U(l, {
2027
+ "aria-hidden": !0,
2028
+ "data-testid": "gantt-weekend-strips",
2029
+ sx: {
2030
+ position: "absolute",
2031
+ top: r,
2032
+ left: 0,
2033
+ width: t,
2034
+ height: n,
2035
+ pointerEvents: "none"
2036
+ },
2037
+ children: e.map((e) => /* @__PURE__ */ U(l, { sx: {
2038
+ position: "absolute",
2039
+ left: e.left,
2040
+ width: 20,
2041
+ top: 0,
2042
+ height: "100%",
2043
+ bgcolor: i ?? "action.hover"
2044
+ } }, e.key))
2045
+ });
2046
+ }
2047
+ //#endregion
2048
+ //#region src/components/gantt-chart/GanttStatusContextMenu.tsx
2049
+ function xn({ contextMenu: e, onClose: t, onSelect: n }) {
2050
+ let r = $(), i = {
2051
+ planned: r.statusPlanned,
2052
+ "in-progress": r.statusInProgress,
2053
+ done: r.statusDone,
2054
+ blocked: r.statusBlocked
2055
+ };
2056
+ return /* @__PURE__ */ U(T, {
2057
+ open: e !== null,
2058
+ onClose: t,
2059
+ anchorReference: "anchorPosition",
2060
+ anchorPosition: e === null ? void 0 : {
2061
+ top: e.mouseY,
2062
+ left: e.mouseX
2063
+ },
2064
+ children: [
2065
+ "planned",
2066
+ "in-progress",
2067
+ "done",
2068
+ "blocked"
2069
+ ].map((t) => /* @__PURE__ */ U(E, {
2070
+ selected: e?.task.status === t,
2071
+ "data-testid": `gantt-status-menu-${t}`,
2072
+ onClick: () => {
2073
+ e && n(e.task, t);
2074
+ },
2075
+ children: i[t]
2076
+ }, t))
2077
+ });
2078
+ }
2079
+ //#endregion
2080
+ //#region src/components/gantt-chart/GanttDependencyArrows.tsx
2081
+ function Sn({ dependencyLines: e, todayX: t, totalWidth: n, height: r, top: i, arrowMarkerId: a }) {
2082
+ let o = L(), { todayLineColor: s } = Mn();
2083
+ return e.length === 0 && t === null ? null : /* @__PURE__ */ W("svg", {
2084
+ "data-testid": "gantt-dependency-arrows",
2085
+ style: {
2086
+ position: "absolute",
2087
+ top: i,
2088
+ left: 0,
2089
+ width: n,
2090
+ height: r,
2091
+ pointerEvents: "none",
2092
+ overflow: "visible"
2093
+ },
2094
+ children: [
2095
+ e.length > 0 && /* @__PURE__ */ U("defs", { children: /* @__PURE__ */ U("marker", {
2096
+ id: a,
2097
+ markerWidth: "6",
2098
+ markerHeight: "4",
2099
+ refX: "5",
2100
+ refY: "2",
2101
+ orient: "auto",
2102
+ children: /* @__PURE__ */ U("polygon", {
2103
+ points: "0 0, 6 2, 0 4",
2104
+ fill: "currentColor"
2105
+ })
2106
+ }) }),
2107
+ e.map((e) => /* @__PURE__ */ U("path", {
2108
+ "data-testid": `gantt-dep-${e.key}`,
2109
+ d: e.d,
2110
+ fill: "none",
2111
+ stroke: "currentColor",
2112
+ strokeWidth: 1.5,
2113
+ strokeOpacity: .4,
2114
+ markerEnd: `url(#${a})`
2115
+ }, e.key)),
2116
+ t !== null && /* @__PURE__ */ U("line", {
2117
+ "data-testid": "gantt-today-line",
2118
+ x1: t,
2119
+ y1: 0,
2120
+ x2: t,
2121
+ y2: r,
2122
+ stroke: s ?? o.palette.primary.main,
2123
+ strokeWidth: 1.5,
2124
+ strokeDasharray: "4 2"
2125
+ })
2126
+ ]
1713
2127
  });
1714
2128
  }
1715
2129
  //#endregion
1716
2130
  //#region src/components/gantt-chart/GanttTimeline.tsx
1717
- var fn = {
1718
- planned: "warning.light",
1719
- "in-progress": "info.main",
1720
- done: "success.main",
1721
- blocked: "error.main"
1722
- }, pn = 864e5;
1723
- function mn(e, t, n) {
2131
+ function Cn(e, t, n) {
1724
2132
  if (n === 0) return [];
1725
2133
  let r = [], i = new Map(e.map((e, t) => [e.id, t]));
1726
2134
  for (let a of e) {
1727
2135
  if (!a.dependencies?.length) continue;
1728
- let o = i.get(a.id), s = jt(a, t).left / 100 * n, c = o * 40 + 40 / 2;
2136
+ let o = i.get(a.id), s = Pt(a, t).left / 100 * n, c = o * 40 + 40 / 2;
1729
2137
  for (let o of a.dependencies) {
1730
2138
  let l = i.get(o);
1731
2139
  if (l === void 0) continue;
1732
- let u = e[l], d = jt(u, t), f = (d.left + d.width) / 100 * n, p = l * 40 + 40 / 2, m;
2140
+ let u = e[l], d = Pt(u, t), f = (d.left + d.width) / 100 * n, p = l * 40 + 40 / 2, m;
1733
2141
  m = s >= f + 48 ? (f + s) / 2 : f + 24 <= n - 8 ? f + 24 : Math.max(s - 24, 8), r.push({
1734
2142
  key: `${o}-${a.id}`,
1735
2143
  d: `M ${f} ${p} H ${m} V ${c} H ${s}`
@@ -1738,39 +2146,39 @@ function mn(e, t, n) {
1738
2146
  }
1739
2147
  return r;
1740
2148
  }
1741
- function hn({ scrollRef: e, onScroll: t, onTaskClick: n, onMilestoneClick: c, draggable: u = !1, resizable: d = !1, progressDraggable: f = !1, showCriticalPath: p = !1, virtualizeRows: m = !1, onTaskMoved: h, onTaskResized: g, onTasksChange: _, onStatusChange: v }) {
1742
- let y = L(), b = Q((e) => e.taskTree), x = Q((e) => e.tasks), S = Q((e) => e.expandedIds), C = Q((e) => e.timelineRange), w = Q((e) => e.timeScale), D = Q((e) => e.updateTask), O = bn(), k = Sn(), { statusColors: A, criticalPathColor: j, milestoneColor: M, todayLineColor: N, weekendColor: P, barBorderRadius: F } = wn(), I = `gantt-arrow-${i().replace(/:/g, "")}`, R = a(() => Pt(b, S), [b, S]), z = a(() => At(C, w), [C, w]), B = a(() => w === "days" ? Wt(z).map((e) => ({
2149
+ function wn({ scrollRef: e, onScroll: t, onTaskClick: n, onMilestoneClick: c, draggable: u = !1, resizable: d = !1, progressDraggable: f = !1, showCriticalPath: p = !1, virtualizeRows: m = !1, onTaskMoved: h, onTaskResized: g, onTasksChange: _, onStatusChange: v }) {
2150
+ let y = Q((e) => e.taskTree), b = Q((e) => e.tasks), x = Q((e) => e.expandedIds), S = Q((e) => e.timelineRange), C = Q((e) => e.timeScale), w = Q((e) => e.updateTask), T = kn(), E = $(), D = `gantt-arrow-${i().replace(/:/g, "")}`, O = a(() => Lt(y, x), [y, x]), k = a(() => Nt(S, C), [S, C]), A = a(() => C === "days" ? Kt(k).map((e) => ({
1743
2151
  key: e.toISOString(),
1744
2152
  label: String(e.getDate()),
1745
2153
  width: 20,
1746
2154
  isWeekend: e.getDay() === 0 || e.getDay() === 6
1747
- })) : w === "weeks" ? Ut(z).map((e) => ({
2155
+ })) : C === "weeks" ? Gt(k).map((e) => ({
1748
2156
  key: e.toISOString(),
1749
- label: `${k.weekColumnPrefix}${Ht(e)}`,
2157
+ label: `${E.weekColumnPrefix}${Wt(e)}`,
1750
2158
  width: 40
1751
- })) : w === "quarters" ? qt(z).map((e) => ({
2159
+ })) : C === "quarters" ? Yt(k).map((e) => ({
1752
2160
  key: e.key,
1753
2161
  label: e.label,
1754
2162
  width: 360
1755
- })) : Bt(z).map((e) => ({
2163
+ })) : Ht(k).map((e) => ({
1756
2164
  key: e.toISOString(),
1757
- label: e.toLocaleString(k.dateLocale, {
2165
+ label: e.toLocaleString(E.dateLocale, {
1758
2166
  month: "short",
1759
2167
  year: "2-digit"
1760
2168
  }),
1761
2169
  width: 120
1762
2170
  })), [
1763
- w,
1764
- z,
1765
- k.weekColumnPrefix,
1766
- k.dateLocale
1767
- ]), V = a(() => B.reduce((e, t) => e + t.width, 0), [B]), G = a(() => {
1768
- if (w !== "days") return;
2171
+ C,
2172
+ k,
2173
+ E.weekColumnPrefix,
2174
+ E.dateLocale
2175
+ ]), j = a(() => A.reduce((e, t) => e + t.width, 0), [A]), M = a(() => {
2176
+ if (C !== "days") return;
1769
2177
  let e = /* @__PURE__ */ new Map();
1770
- for (let t of B) {
2178
+ for (let t of A) {
1771
2179
  let n = new Date(t.key), r = `${n.getFullYear()}-${n.getMonth()}`;
1772
2180
  e.has(r) || e.set(r, {
1773
- label: n.toLocaleString(k.dateLocale, {
2181
+ label: n.toLocaleString(E.dateLocale, {
1774
2182
  month: "short",
1775
2183
  year: "2-digit"
1776
2184
  }),
@@ -1782,132 +2190,47 @@ function hn({ scrollRef: e, onScroll: t, onTaskClick: n, onMilestoneClick: c, dr
1782
2190
  ...t
1783
2191
  }));
1784
2192
  }, [
1785
- w,
1786
- B,
1787
- k.dateLocale
1788
- ]), K = a(() => mn(R, z, V), [
1789
- R,
1790
- z,
1791
- V
1792
- ]), ee = a(() => p ? Jt(x) : /* @__PURE__ */ new Set(), [p, x]), te = Se({
1793
- count: R.length,
2193
+ C,
2194
+ A,
2195
+ E.dateLocale
2196
+ ]), N = a(() => Cn(O, k, j), [
2197
+ O,
2198
+ k,
2199
+ j
2200
+ ]), P = a(() => p ? Xt(b) : /* @__PURE__ */ new Set(), [p, b]), F = we({
2201
+ count: O.length,
1794
2202
  getScrollElement: () => e.current,
1795
2203
  estimateSize: () => 40,
1796
2204
  overscan: 5
1797
- }), ne = a(() => {
1798
- if (w !== "days") return [];
2205
+ }), I = a(() => {
2206
+ if (C !== "days") return [];
1799
2207
  let e = 0;
1800
- return B.flatMap((t) => {
2208
+ return A.flatMap((t) => {
1801
2209
  let n = t.isWeekend ? [{
1802
2210
  key: t.key,
1803
2211
  left: e
1804
2212
  }] : [];
1805
2213
  return e += t.width, n;
1806
2214
  });
1807
- }, [w, B]), q = a(() => {
1808
- let e = Date.now(), t = z.start.getTime(), n = z.end.getTime();
1809
- return e < t || e > n ? null : (e - t) / (n - t) * V;
1810
- }, [z, V]);
2215
+ }, [C, A]), L = a(() => {
2216
+ let e = Date.now(), t = k.start.getTime(), n = k.end.getTime();
2217
+ return e < t || e > n ? null : (e - t) / (n - t) * j;
2218
+ }, [k, j]);
1811
2219
  r(() => {
1812
- if (q === null || !e.current) return;
2220
+ if (L === null || !e.current) return;
1813
2221
  let t = e.current.clientWidth;
1814
- e.current.scrollLeft = Math.max(0, q - t / 2);
2222
+ e.current.scrollLeft = Math.max(0, L - t / 2);
1815
2223
  }, []);
1816
- let re = w === "days" ? 20 : w === "weeks" ? 40 : w === "quarters" ? 360 : 120, ie = G ? 80 : 40, ae = o(1);
1817
- ae.current = V > 0 ? V / ((z.end.getTime() - z.start.getTime()) / pn) : 1;
1818
- let oe = o(null), se = o(null), [J, ce] = s(null), Y = o(!1), [X, le] = s(null), ue = o(h);
1819
- ue.current = h;
1820
- let de = o(g);
1821
- de.current = g;
1822
- let fe = o(_);
1823
- fe.current = _;
1824
- let Z = o(v);
1825
- Z.current = v;
1826
- let pe = (e, t, n) => {
1827
- e.stopPropagation(), Y.current = !1, oe.current = {
1828
- type: n,
1829
- taskId: t.id,
1830
- startX: e.clientX,
1831
- originalStart: t.startDate,
1832
- originalEnd: t.endDate
1833
- }, document.body.style.cursor = n === "resize" ? "ew-resize" : "grabbing";
1834
- let r = (e) => {
1835
- let t = oe.current;
1836
- if (!t || t.type === "progress") return;
1837
- let n = e.clientX - t.startX, r = Math.round(n / ae.current);
1838
- Math.abs(n) >= 5 && (Y.current = !0);
1839
- let i = {
1840
- taskId: t.taskId,
1841
- type: t.type,
1842
- deltaDays: r
1843
- };
1844
- se.current = i, ce(i);
1845
- }, i = () => {
1846
- document.body.style.cursor = "";
1847
- let e = oe.current, t = se.current;
1848
- if (e && t && Y.current && t.deltaDays !== 0) {
1849
- let n = O.getState().tasks.find((t) => t.id === e.taskId);
1850
- if (n) {
1851
- if (t.type === "move") {
1852
- let r = Rt(e.originalStart, t.deltaDays), i = Rt(e.originalEnd, t.deltaDays);
1853
- D({
1854
- ...n,
1855
- startDate: r,
1856
- endDate: i
1857
- }), ue.current?.(n, r, i);
1858
- } else {
1859
- let r = Rt(e.originalEnd, t.deltaDays), i = r > e.originalStart ? r : Rt(e.originalStart, 1);
1860
- D({
1861
- ...n,
1862
- endDate: i
1863
- }), de.current?.(n, i);
1864
- }
1865
- fe.current?.(O.getState().tasks);
1866
- }
1867
- }
1868
- oe.current = null, se.current = null, ce(null), document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", i);
1869
- };
1870
- document.addEventListener("mousemove", r), document.addEventListener("mouseup", i);
1871
- }, me = (e, t, n, r) => {
1872
- e.stopPropagation(), Y.current = !1, oe.current = {
1873
- type: "progress",
1874
- taskId: t.id,
1875
- startX: e.clientX,
1876
- originalStart: t.startDate,
1877
- originalEnd: t.endDate,
1878
- initialProgress: n,
1879
- barWidthPx: r
1880
- }, document.body.style.cursor = "ew-resize";
1881
- let i = (e) => {
1882
- let t = oe.current;
1883
- if (!t || t.type !== "progress") return;
1884
- let n = e.clientX - t.startX;
1885
- Math.abs(n) >= 5 && (Y.current = !0);
1886
- let r = n / (t.barWidthPx ?? 1) * 100, i = Math.round(Math.max(0, Math.min(100, (t.initialProgress ?? 0) + r))), a = {
1887
- taskId: t.taskId,
1888
- type: "progress",
1889
- deltaDays: 0,
1890
- newProgress: i
1891
- };
1892
- se.current = a, ce(a);
1893
- }, a = () => {
1894
- document.body.style.cursor = "";
1895
- let e = oe.current, t = se.current;
1896
- if (e && t && t.type === "progress" && t.newProgress !== void 0 && Y.current) {
1897
- let n = O.getState().tasks.find((t) => t.id === e.taskId);
1898
- n && (D({
1899
- ...n,
1900
- progress: t.newProgress
1901
- }), fe.current?.(O.getState().tasks));
1902
- }
1903
- oe.current = null, se.current = null, ce(null), document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", a);
1904
- };
1905
- document.addEventListener("mousemove", i), document.addEventListener("mouseup", a);
1906
- }, he = (e) => e.toLocaleDateString(k.dateLocale, {
1907
- day: "2-digit",
1908
- month: "short"
1909
- });
1910
- return /* @__PURE__ */ U(l, {
2224
+ let R = C === "days" ? 20 : C === "weeks" ? 40 : C === "quarters" ? 360 : 120, z = M ? 80 : 40, { activeDrag: B, suppressClickRef: V, handleBarMouseDown: G, handleProgressMouseDown: K, formatDragDate: q } = pn({
2225
+ totalWidth: j,
2226
+ displayRange: k,
2227
+ onTaskMoved: h,
2228
+ onTaskResized: g,
2229
+ onTasksChange: _
2230
+ }), [J, ee] = s(null), te = o(v);
2231
+ te.current = v;
2232
+ let ne = o(_);
2233
+ return ne.current = _, /* @__PURE__ */ U(l, {
1911
2234
  ref: e,
1912
2235
  onScroll: t,
1913
2236
  "data-testid": "gantt-timeline-scroll",
@@ -1917,293 +2240,88 @@ function hn({ scrollRef: e, onScroll: t, onTaskClick: n, onMilestoneClick: c, dr
1917
2240
  },
1918
2241
  children: /* @__PURE__ */ W(l, {
1919
2242
  sx: {
1920
- minWidth: V,
2243
+ minWidth: j,
1921
2244
  position: "relative"
1922
2245
  },
1923
2246
  children: [
1924
- /* @__PURE__ */ U(dn, {
1925
- columns: B,
1926
- groups: G
2247
+ /* @__PURE__ */ U(hn, {
2248
+ columns: A,
2249
+ groups: M
1927
2250
  }),
1928
- ne.length > 0 && /* @__PURE__ */ U(l, {
1929
- "aria-hidden": !0,
1930
- "data-testid": "gantt-weekend-strips",
1931
- sx: {
1932
- position: "absolute",
1933
- top: ie,
1934
- left: 0,
1935
- width: V,
1936
- height: R.length * 40,
1937
- pointerEvents: "none"
1938
- },
1939
- children: ne.map((e) => /* @__PURE__ */ U(l, { sx: {
1940
- position: "absolute",
1941
- left: e.left,
1942
- width: 20,
1943
- top: 0,
1944
- height: "100%",
1945
- bgcolor: P ?? "action.hover"
1946
- } }, e.key))
2251
+ /* @__PURE__ */ U(bn, {
2252
+ strips: I,
2253
+ totalWidth: j,
2254
+ height: O.length * 40,
2255
+ top: z
1947
2256
  }),
1948
- (() => {
1949
- let e = (e, t, r) => {
1950
- let i = J?.taskId === e.id, a = e;
1951
- if (i && J) if (J.type === "move") a = {
1952
- ...e,
1953
- startDate: Rt(e.startDate, J.deltaDays),
1954
- endDate: Rt(e.endDate, J.deltaDays)
1955
- };
1956
- else if (J.type === "resize") {
1957
- let t = Rt(e.endDate, J.deltaDays);
1958
- a = {
1959
- ...e,
1960
- endDate: t > e.startDate ? t : Rt(e.startDate, 1)
1961
- };
1962
- } else J.type === "progress" && J.newProgress !== void 0 && (a = {
1963
- ...e,
1964
- progress: J.newProgress
1965
- });
1966
- let { left: o, width: s } = jt(a, z);
1967
- return /* @__PURE__ */ U(l, {
1968
- "data-testid": `gantt-bar-row-${e.id}`,
1969
- style: r === void 0 ? void 0 : {
1970
- position: "absolute",
1971
- top: r,
1972
- left: 0,
1973
- width: "100%"
1974
- },
1975
- sx: {
1976
- height: 40,
1977
- position: "relative",
1978
- borderBottom: "1px solid",
1979
- borderColor: "divider",
1980
- backgroundImage: (e) => `linear-gradient(to right, transparent calc(${re}px - 1px), ${e.palette.divider} calc(${re}px - 1px), ${e.palette.divider} ${re}px)`,
1981
- backgroundSize: `${re}px 100%`,
1982
- backgroundRepeat: "repeat-x"
1983
- },
1984
- children: e.isMilestone ? o >= 0 && o <= 100 ? /* @__PURE__ */ U(l, {
1985
- "data-testid": `gantt-milestone-${e.id}`,
1986
- sx: {
1987
- position: "absolute",
1988
- left: `${o}%`,
1989
- top: "50%",
1990
- width: 12,
1991
- height: 12,
1992
- bgcolor: M ?? "warning.main",
1993
- transform: "translate(-50%, -50%) rotate(45deg)",
1994
- cursor: c ? "pointer" : "default",
1995
- boxShadow: ee.has(e.id) ? `0 0 0 2.5px ${j ?? y.palette.error.main}` : void 0,
1996
- "&:hover": c ? { opacity: .8 } : void 0
1997
- },
1998
- onClick: () => c?.(e)
1999
- }) : null : (() => {
2000
- let t = Math.max(0, o), r = Math.min(100, o + Math.max(s, .5)) - t;
2001
- return r <= 0 ? null : /* @__PURE__ */ W(H, { children: [
2002
- i && J && J.type !== "progress" && J.deltaDays !== 0 && /* @__PURE__ */ U(l, {
2003
- sx: {
2004
- position: "absolute",
2005
- left: `${t}%`,
2006
- top: 2,
2007
- bgcolor: "grey.800",
2008
- color: "common.white",
2009
- borderRadius: .5,
2010
- px: .75,
2011
- lineHeight: "18px",
2012
- fontSize: "0.65rem",
2013
- whiteSpace: "nowrap",
2014
- pointerEvents: "none",
2015
- zIndex: 100
2016
- },
2017
- children: J.type === "move" ? `${he(a.startDate)} – ${he(a.endDate)}` : `→ ${he(a.endDate)}`
2018
- }),
2019
- i && J?.type === "progress" && J.newProgress !== void 0 && /* @__PURE__ */ W(l, {
2020
- sx: {
2021
- position: "absolute",
2022
- left: `${t}%`,
2023
- top: 2,
2024
- bgcolor: "grey.800",
2025
- color: "common.white",
2026
- borderRadius: .5,
2027
- px: .75,
2028
- lineHeight: "18px",
2029
- fontSize: "0.65rem",
2030
- whiteSpace: "nowrap",
2031
- pointerEvents: "none",
2032
- zIndex: 100
2033
- },
2034
- children: [J.newProgress, "%"]
2035
- }),
2036
- /* @__PURE__ */ W(l, {
2037
- "data-testid": `gantt-bar-${e.id}`,
2038
- sx: {
2039
- position: "absolute",
2040
- left: `${t}%`,
2041
- width: `${r}%`,
2042
- height: 16,
2043
- top: "50%",
2044
- transform: "translateY(-50%)",
2045
- bgcolor: e.color ?? A?.[e.status] ?? fn[e.status] ?? "grey.300",
2046
- borderRadius: F === void 0 ? 1 : `${F}px`,
2047
- overflow: "hidden",
2048
- opacity: i ? .75 : 1,
2049
- boxShadow: ee.has(e.id) ? `inset 0 0 0 2.5px ${j ?? y.palette.error.main}` : void 0,
2050
- cursor: i ? "grabbing" : u ? "grab" : n ? "pointer" : "default",
2051
- userSelect: "none",
2052
- "&:hover": u || n ? { opacity: i ? .75 : .8 } : void 0
2053
- },
2054
- onMouseDown: u ? (t) => pe(t, e, "move") : void 0,
2055
- onContextMenu: (t) => {
2056
- t.preventDefault(), t.stopPropagation(), le({
2057
- task: e,
2058
- mouseX: t.clientX,
2059
- mouseY: t.clientY
2060
- });
2061
- },
2062
- onClick: () => {
2063
- if (Y.current) {
2064
- Y.current = !1;
2065
- return;
2066
- }
2067
- n?.(e);
2068
- },
2069
- children: [
2070
- a.progress !== void 0 && a.progress > 0 && /* @__PURE__ */ U(l, {
2071
- "data-testid": `gantt-progress-${e.id}`,
2072
- sx: {
2073
- position: "absolute",
2074
- left: 0,
2075
- top: 0,
2076
- width: `${Math.min(a.progress, 100)}%`,
2077
- height: "100%",
2078
- bgcolor: "currentColor",
2079
- opacity: .4
2080
- }
2081
- }),
2082
- f && /* @__PURE__ */ U(l, {
2083
- "data-testid": `gantt-progress-handle-${e.id}`,
2084
- sx: {
2085
- position: "absolute",
2086
- left: `${Math.min(a.progress ?? 0, 100)}%`,
2087
- top: 0,
2088
- width: 6,
2089
- height: "100%",
2090
- transform: "translateX(-50%)",
2091
- cursor: "ew-resize",
2092
- bgcolor: "rgba(255,255,255,0.35)"
2093
- },
2094
- onMouseDown: (t) => {
2095
- t.stopPropagation();
2096
- let n = r / 100 * V;
2097
- me(t, e, a.progress ?? 0, n);
2098
- }
2099
- }),
2100
- d && /* @__PURE__ */ U(l, {
2101
- "data-testid": `gantt-resize-handle-${e.id}`,
2102
- sx: {
2103
- position: "absolute",
2104
- right: 0,
2105
- top: 0,
2106
- width: 6,
2107
- height: "100%",
2108
- cursor: "ew-resize"
2109
- },
2110
- onMouseDown: (t) => {
2111
- t.stopPropagation(), pe(t, e, "resize");
2112
- }
2113
- })
2114
- ]
2115
- })
2116
- ] });
2117
- })()
2118
- }, t);
2119
- };
2120
- return m ? /* @__PURE__ */ U(l, {
2121
- sx: {
2122
- position: "relative",
2123
- height: te.getTotalSize()
2124
- },
2125
- children: te.getVirtualItems().map((t) => e(R[t.index], t.key, t.start))
2126
- }) : /* @__PURE__ */ U(H, { children: R.map((t) => e(t, t.id)) });
2127
- })(),
2128
- /* @__PURE__ */ U(T, {
2129
- open: X !== null,
2130
- onClose: () => le(null),
2131
- anchorReference: "anchorPosition",
2132
- anchorPosition: X === null ? void 0 : {
2133
- top: X.mouseY,
2134
- left: X.mouseX
2257
+ m ? /* @__PURE__ */ U(l, {
2258
+ sx: {
2259
+ position: "relative",
2260
+ height: F.getTotalSize()
2135
2261
  },
2136
- children: [
2137
- "planned",
2138
- "in-progress",
2139
- "done",
2140
- "blocked"
2141
- ].map((e) => {
2142
- let t = {
2143
- planned: k.statusPlanned,
2144
- "in-progress": k.statusInProgress,
2145
- done: k.statusDone,
2146
- blocked: k.statusBlocked
2147
- };
2148
- return /* @__PURE__ */ U(E, {
2149
- selected: X?.task.status === e,
2150
- "data-testid": `gantt-status-menu-${e}`,
2151
- onClick: () => {
2152
- if (!X) return;
2153
- let t = O.getState().tasks.find((e) => e.id === X.task.id) ?? X.task;
2154
- D({
2155
- ...t,
2156
- status: e
2157
- }), Z.current?.(t, e), fe.current?.(O.getState().tasks), le(null);
2158
- },
2159
- children: t[e]
2160
- }, e);
2161
- })
2262
+ children: F.getVirtualItems().map((e) => /* @__PURE__ */ U(gn, {
2263
+ task: O[e.index],
2264
+ virtualTop: e.start,
2265
+ activeDrag: B,
2266
+ displayRange: k,
2267
+ totalWidth: j,
2268
+ gridColumnWidth: R,
2269
+ criticalTaskIds: P,
2270
+ draggable: u,
2271
+ resizable: d,
2272
+ progressDraggable: f,
2273
+ onTaskClick: n,
2274
+ onMilestoneClick: c,
2275
+ onContextMenu: (e, t, n) => ee({
2276
+ task: e,
2277
+ mouseX: t,
2278
+ mouseY: n
2279
+ }),
2280
+ suppressClickRef: V,
2281
+ handleBarMouseDown: G,
2282
+ handleProgressMouseDown: K,
2283
+ formatDragDate: q
2284
+ }, e.key))
2285
+ }) : /* @__PURE__ */ U(H, { children: O.map((e) => /* @__PURE__ */ U(gn, {
2286
+ task: e,
2287
+ activeDrag: B,
2288
+ displayRange: k,
2289
+ totalWidth: j,
2290
+ gridColumnWidth: R,
2291
+ criticalTaskIds: P,
2292
+ draggable: u,
2293
+ resizable: d,
2294
+ progressDraggable: f,
2295
+ onTaskClick: n,
2296
+ onMilestoneClick: c,
2297
+ onContextMenu: (e, t, n) => ee({
2298
+ task: e,
2299
+ mouseX: t,
2300
+ mouseY: n
2301
+ }),
2302
+ suppressClickRef: V,
2303
+ handleBarMouseDown: G,
2304
+ handleProgressMouseDown: K,
2305
+ formatDragDate: q
2306
+ }, e.id)) }),
2307
+ /* @__PURE__ */ U(xn, {
2308
+ contextMenu: J,
2309
+ onClose: () => ee(null),
2310
+ onSelect: (e, t) => {
2311
+ let n = T.getState().tasks.find((t) => t.id === e.id) ?? e;
2312
+ w({
2313
+ ...n,
2314
+ status: t
2315
+ }), te.current?.(n, t), ne.current?.(T.getState().tasks), ee(null);
2316
+ }
2162
2317
  }),
2163
- (K.length > 0 || q !== null) && /* @__PURE__ */ W("svg", {
2164
- "data-testid": "gantt-dependency-arrows",
2165
- style: {
2166
- position: "absolute",
2167
- top: ie,
2168
- left: 0,
2169
- width: V,
2170
- height: R.length * 40,
2171
- pointerEvents: "none",
2172
- overflow: "visible"
2173
- },
2174
- children: [
2175
- K.length > 0 && /* @__PURE__ */ U("defs", { children: /* @__PURE__ */ U("marker", {
2176
- id: I,
2177
- markerWidth: "6",
2178
- markerHeight: "4",
2179
- refX: "5",
2180
- refY: "2",
2181
- orient: "auto",
2182
- children: /* @__PURE__ */ U("polygon", {
2183
- points: "0 0, 6 2, 0 4",
2184
- fill: "currentColor"
2185
- })
2186
- }) }),
2187
- K.map((e) => /* @__PURE__ */ U("path", {
2188
- "data-testid": `gantt-dep-${e.key}`,
2189
- d: e.d,
2190
- fill: "none",
2191
- stroke: "currentColor",
2192
- strokeWidth: 1.5,
2193
- strokeOpacity: .4,
2194
- markerEnd: `url(#${I})`
2195
- }, e.key)),
2196
- q !== null && /* @__PURE__ */ U("line", {
2197
- "data-testid": "gantt-today-line",
2198
- x1: q,
2199
- y1: 0,
2200
- x2: q,
2201
- y2: R.length * 40,
2202
- stroke: N ?? y.palette.primary.main,
2203
- strokeWidth: 1.5,
2204
- strokeDasharray: "4 2"
2205
- })
2206
- ]
2318
+ /* @__PURE__ */ U(Sn, {
2319
+ dependencyLines: N,
2320
+ todayX: L,
2321
+ totalWidth: j,
2322
+ height: O.length * 40,
2323
+ top: z,
2324
+ arrowMarkerId: D
2207
2325
  })
2208
2326
  ]
2209
2327
  })
@@ -2211,15 +2329,15 @@ function hn({ scrollRef: e, onScroll: t, onTaskClick: n, onMilestoneClick: c, dr
2211
2329
  }
2212
2330
  //#endregion
2213
2331
  //#region src/components/gantt-chart/GanttToolbar.tsx
2214
- function gn(e) {
2332
+ function Tn(e) {
2215
2333
  return `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`;
2216
2334
  }
2217
- function _n(e) {
2335
+ function En(e) {
2218
2336
  let [t, n, r] = e.split("-").map(Number);
2219
2337
  return !t || !n || !r ? null : new Date(t, n - 1, r, 0, 0, 0, 0);
2220
2338
  }
2221
- function vn({ onScrollToToday: e, config: t }) {
2222
- let n = Sn(), r = Q((e) => e.timeScale), i = Q((e) => e.defaultTimeScale), o = Q((e) => e.setTimeScale), s = Q((e) => e.timelineRange), c = Q((e) => e.isRangeCustomized), u = Q((e) => e.isExpandedCustomized), d = Q((e) => e.setTimelineRange), f = Q((e) => e.resetTimelineRange), p = Q((e) => e.resetView), m = Q((e) => e.tasks), h = Q((e) => e.expandedIds), g = Q((e) => e.expandAll), _ = Q((e) => e.collapseAll), v = m.length > 0 && m.every((e) => h.has(e.id)), y = r !== i || c || u, b = a(() => Date.now(), []), x = b >= s.start.getTime() && b <= s.end.getTime(), C = {
2339
+ function Dn({ onScrollToToday: e, config: t }) {
2340
+ let n = $(), r = Q((e) => e.timeScale), i = Q((e) => e.defaultTimeScale), o = Q((e) => e.setTimeScale), s = Q((e) => e.timelineRange), c = Q((e) => e.isRangeCustomized), u = Q((e) => e.isExpandedCustomized), d = Q((e) => e.setTimelineRange), f = Q((e) => e.resetTimelineRange), p = Q((e) => e.resetView), m = Q((e) => e.tasks), h = Q((e) => e.expandedIds), g = Q((e) => e.expandAll), _ = Q((e) => e.collapseAll), v = m.length > 0 && m.every((e) => h.has(e.id)), y = r !== i || c || u, b = a(() => Date.now(), []), x = b >= s.start.getTime() && b <= s.end.getTime(), C = {
2223
2341
  days: n.scaleDays,
2224
2342
  weeks: n.scaleWeeks,
2225
2343
  months: n.scaleMonths,
@@ -2270,7 +2388,7 @@ function vn({ onScrollToToday: e, config: t }) {
2270
2388
  size: "small",
2271
2389
  onClick: v ? _ : g,
2272
2390
  "data-testid": "gantt-expand-collapse-all",
2273
- children: U(v ? Oe : ke, { fontSize: "small" })
2391
+ children: U(v ? Ae : je, { fontSize: "small" })
2274
2392
  })
2275
2393
  }),
2276
2394
  t.showScrollToToday && e && /* @__PURE__ */ U(F, {
@@ -2280,16 +2398,16 @@ function vn({ onScrollToToday: e, config: t }) {
2280
2398
  onClick: e,
2281
2399
  disabled: !x,
2282
2400
  "data-testid": "gantt-scroll-to-today",
2283
- children: /* @__PURE__ */ U(De, { fontSize: "small" })
2401
+ children: /* @__PURE__ */ U(ke, { fontSize: "small" })
2284
2402
  }) })
2285
2403
  }),
2286
2404
  t.showDateRange && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(M, {
2287
2405
  type: "date",
2288
2406
  size: "small",
2289
2407
  label: n.rangeFrom,
2290
- value: gn(s.start),
2408
+ value: Tn(s.start),
2291
2409
  onChange: (e) => {
2292
- let t = _n(e.target.value);
2410
+ let t = En(e.target.value);
2293
2411
  t && d({
2294
2412
  start: t,
2295
2413
  end: s.end
@@ -2304,9 +2422,9 @@ function vn({ onScrollToToday: e, config: t }) {
2304
2422
  type: "date",
2305
2423
  size: "small",
2306
2424
  label: n.rangeTo,
2307
- value: gn(s.end),
2425
+ value: Tn(s.end),
2308
2426
  onChange: (e) => {
2309
- let t = _n(e.target.value);
2427
+ let t = En(e.target.value);
2310
2428
  t && d({
2311
2429
  start: s.start,
2312
2430
  end: t
@@ -2324,7 +2442,7 @@ function vn({ onScrollToToday: e, config: t }) {
2324
2442
  size: "small",
2325
2443
  onClick: f,
2326
2444
  "data-testid": "gantt-range-reset",
2327
- children: /* @__PURE__ */ U(Ee, { fontSize: "small" })
2445
+ children: /* @__PURE__ */ U(Oe, { fontSize: "small" })
2328
2446
  })
2329
2447
  }),
2330
2448
  t.showResetView && /* @__PURE__ */ U(F, {
@@ -2334,7 +2452,7 @@ function vn({ onScrollToToday: e, config: t }) {
2334
2452
  onClick: p,
2335
2453
  disabled: !y,
2336
2454
  "data-testid": "gantt-reset-view",
2337
- children: /* @__PURE__ */ U(Te, { fontSize: "small" })
2455
+ children: /* @__PURE__ */ U(De, { fontSize: "small" })
2338
2456
  }) })
2339
2457
  })
2340
2458
  ]
@@ -2343,34 +2461,34 @@ function vn({ onScrollToToday: e, config: t }) {
2343
2461
  }
2344
2462
  //#endregion
2345
2463
  //#region src/components/gantt-chart/GanttChart.tsx
2346
- var yn = e(null);
2464
+ var On = e(null);
2347
2465
  function Q(e) {
2348
- let t = n(yn);
2466
+ let t = n(On);
2349
2467
  if (!t) throw Error("GanttChartStoreContext is missing.");
2350
- return be(t, e);
2468
+ return Se(t, e);
2351
2469
  }
2352
- function bn() {
2353
- let e = n(yn);
2470
+ function kn() {
2471
+ let e = n(On);
2354
2472
  if (!e) throw Error("GanttChartStoreContext is missing.");
2355
2473
  return e;
2356
2474
  }
2357
- var xn = e(Zt);
2358
- function Sn() {
2359
- return n(xn);
2475
+ var An = e($t);
2476
+ function $() {
2477
+ return n(An);
2360
2478
  }
2361
- var Cn = e({});
2362
- function wn() {
2363
- return n(Cn);
2479
+ var jn = e({});
2480
+ function Mn() {
2481
+ return n(jn);
2364
2482
  }
2365
- function Tn(e, t) {
2483
+ function Nn(e, t) {
2366
2484
  return e === void 0 ? t : e === "auto" ? "100%" : typeof e == "string" && /^\d+$/.test(e) ? Number(e) : e;
2367
2485
  }
2368
- var En = [
2486
+ var Pn = [
2369
2487
  "days",
2370
2488
  "weeks",
2371
2489
  "months",
2372
2490
  "quarters"
2373
- ], Dn = {
2491
+ ], Fn = {
2374
2492
  showScaleDays: !0,
2375
2493
  showScaleWeeks: !0,
2376
2494
  showScaleMonths: !0,
@@ -2381,21 +2499,21 @@ var En = [
2381
2499
  showRangeReset: !0,
2382
2500
  showResetView: !0
2383
2501
  };
2384
- function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEditTask: u, onDeleteTask: d, onStatusChange: f, onTasksChange: p, enableBuiltinDialogs: m = !0, onTaskCreated: h, onTaskUpdated: g, onTaskDeleted: _, showToolbar: v = !0, toolbarConfig: y, height: b, width: x, minPanelWidth: S = 200, maxPanelWidth: C = 600, zoomable: w = !1, draggable: T = !1, resizable: E = !1, inlineEdit: D = !1, progressDraggable: O = !1, showCriticalPath: k = !1, virtualizeRows: A = !1, onTaskMoved: j, onTaskResized: M }) {
2385
- let N = Tn(b, 400), P = a(() => ({
2386
- ...Dn,
2502
+ function In({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEditTask: u, onDeleteTask: d, onStatusChange: f, onTasksChange: p, enableBuiltinDialogs: m = !0, onTaskCreated: h, onTaskUpdated: g, onTaskDeleted: _, showToolbar: v = !0, toolbarConfig: y, height: b, width: x, minPanelWidth: S = 200, maxPanelWidth: C = 600, zoomable: w = !1, draggable: T = !1, resizable: E = !1, inlineEdit: D = !1, progressDraggable: O = !1, showCriticalPath: k = !1, virtualizeRows: A = !1, onTaskMoved: j, onTaskResized: M }) {
2503
+ let N = Nn(b, 400), P = a(() => ({
2504
+ ...Fn,
2387
2505
  ...y
2388
- }), [y]), F = Tn(x, "100%"), I = Q((e) => e.setTasks), L = Q((e) => e.timeScale), R = Q((e) => e.setTimeScale), z = Q((e) => e.timelineRange), B = o(null), V = o(null), H = o(!1), [G, K] = s(320);
2506
+ }), [y]), F = Nn(x, "100%"), I = Q((e) => e.setTasks), L = Q((e) => e.timeScale), R = Q((e) => e.setTimeScale), z = Q((e) => e.timelineRange), B = o(null), V = o(null), H = o(!1), [G, K] = s(320);
2389
2507
  r(() => {
2390
2508
  I(e);
2391
2509
  }, [e, I]);
2392
- let ee = () => {
2510
+ let q = () => {
2393
2511
  H.current ||= (H.current = !0, V.current && B.current && (V.current.scrollTop = B.current.scrollTop), !1);
2394
- }, te = () => {
2512
+ }, J = () => {
2395
2513
  H.current ||= (H.current = !0, B.current && V.current && (B.current.scrollTop = V.current.scrollTop), !1);
2396
- }, ne = t(() => {
2514
+ }, ee = t(() => {
2397
2515
  if (!V.current) return;
2398
- let e = At(z, L), t = Date.now(), n = e.start.getTime(), r = e.end.getTime(), i = (t - n) / (r - n) * V.current.scrollWidth;
2516
+ let e = Nt(z, L), t = Date.now(), n = e.start.getTime(), r = e.end.getTime(), i = (t - n) / (r - n) * V.current.scrollWidth;
2399
2517
  V.current.scrollLeft = Math.max(0, i - V.current.clientWidth / 2);
2400
2518
  }, [z, L]);
2401
2519
  r(() => {
@@ -2403,8 +2521,8 @@ function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEdi
2403
2521
  let e = V.current, t = (e) => {
2404
2522
  if (!e.ctrlKey) return;
2405
2523
  e.preventDefault();
2406
- let t = En.indexOf(L);
2407
- e.deltaY < 0 && t > 0 ? R(En[t - 1]) : e.deltaY > 0 && t < En.length - 1 && R(En[t + 1]);
2524
+ let t = Pn.indexOf(L);
2525
+ e.deltaY < 0 && t > 0 ? R(Pn[t - 1]) : e.deltaY > 0 && t < Pn.length - 1 && R(Pn[t + 1]);
2408
2526
  };
2409
2527
  return e.addEventListener("wheel", t, { passive: !1 }), () => e.removeEventListener("wheel", t);
2410
2528
  }, [
@@ -2412,7 +2530,7 @@ function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEdi
2412
2530
  L,
2413
2531
  R
2414
2532
  ]);
2415
- let q = t((e) => {
2533
+ let te = t((e) => {
2416
2534
  e.preventDefault();
2417
2535
  let t = e.clientX, n = G, r = (e) => {
2418
2536
  let r = e.clientX - t;
@@ -2437,8 +2555,8 @@ function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEdi
2437
2555
  borderRadius: 1,
2438
2556
  overflow: "hidden"
2439
2557
  },
2440
- children: [v && /* @__PURE__ */ U(vn, {
2441
- onScrollToToday: ne,
2558
+ children: [v && /* @__PURE__ */ U(Dn, {
2559
+ onScrollToToday: ee,
2442
2560
  config: P
2443
2561
  }), /* @__PURE__ */ W(l, {
2444
2562
  sx: {
@@ -2447,9 +2565,9 @@ function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEdi
2447
2565
  overflow: "hidden"
2448
2566
  },
2449
2567
  children: [
2450
- /* @__PURE__ */ U(ln, {
2568
+ /* @__PURE__ */ U(dn, {
2451
2569
  scrollRef: B,
2452
- onScroll: ee,
2570
+ onScroll: q,
2453
2571
  panelWidth: G,
2454
2572
  onTaskClick: n,
2455
2573
  onAddTask: c,
@@ -2473,11 +2591,11 @@ function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEdi
2473
2591
  cursor: "col-resize",
2474
2592
  "&:hover": { bgcolor: "action.hover" }
2475
2593
  },
2476
- onMouseDown: q
2594
+ onMouseDown: te
2477
2595
  }),
2478
- /* @__PURE__ */ U(hn, {
2596
+ /* @__PURE__ */ U(wn, {
2479
2597
  scrollRef: V,
2480
- onScroll: te,
2598
+ onScroll: J,
2481
2599
  onTaskClick: n,
2482
2600
  onMilestoneClick: i,
2483
2601
  draggable: T,
@@ -2494,14 +2612,14 @@ function On({ tasks: e, onTaskClick: n, onMilestoneClick: i, onAddTask: c, onEdi
2494
2612
  })]
2495
2613
  });
2496
2614
  }
2497
- function kn({ tasks: e, timeScale: t = "months", initialExpandAll: n = !1, showToolbar: r = !0, defaultRangeStart: i, defaultRangeEnd: o, translations: c, enableBuiltinDialogs: l = !0, toolbarConfig: u, zoomable: d = !1, draggable: f = !1, resizable: p = !1, inlineEdit: m = !1, progressDraggable: h = !1, showCriticalPath: g = !1, virtualizeRows: _ = !1, cascadeDependencies: v = !1, statusColors: y, ganttTheme: b, onTaskClick: x, onMilestoneClick: S, onAddTask: C, onEditTask: w, onDeleteTask: T, onStatusChange: E, onTasksChange: D, onTaskMoved: O, onTaskResized: k, onTaskCreated: A, onTaskUpdated: j, onTaskDeleted: M, height: N, width: P, minPanelWidth: F, maxPanelWidth: I }) {
2615
+ function Ln({ tasks: e, timeScale: t = "months", initialExpandAll: n = !1, showToolbar: r = !0, defaultRangeStart: i, defaultRangeEnd: o, translations: c, enableBuiltinDialogs: l = !0, toolbarConfig: u, zoomable: d = !1, draggable: f = !1, resizable: p = !1, inlineEdit: m = !1, progressDraggable: h = !1, showCriticalPath: g = !1, virtualizeRows: _ = !1, cascadeDependencies: v = !1, statusColors: y, ganttTheme: b, onTaskClick: x, onMilestoneClick: S, onAddTask: C, onEditTask: w, onDeleteTask: T, onStatusChange: E, onTasksChange: D, onTaskMoved: O, onTaskResized: k, onTaskCreated: A, onTaskUpdated: j, onTaskDeleted: M, height: N, width: P, minPanelWidth: F, maxPanelWidth: I }) {
2498
2616
  let L = a(() => ({
2499
- ...Zt,
2617
+ ...$t,
2500
2618
  ...c
2501
2619
  }), [c]), [R] = s(() => {
2502
- if (!(i !== void 0 || o !== void 0)) return Xt(e, t, n, void 0, v);
2503
- let r = kt(e);
2504
- return Xt(e, t, n, {
2620
+ if (!(i !== void 0 || o !== void 0)) return Qt(e, t, n, void 0, v);
2621
+ let r = Mt(e);
2622
+ return Qt(e, t, n, {
2505
2623
  start: i ?? r.start,
2506
2624
  end: o ?? r.end
2507
2625
  }, v);
@@ -2512,13 +2630,13 @@ function kn({ tasks: e, timeScale: t = "months", initialExpandAll: n = !1, showT
2512
2630
  ...b?.statusColors
2513
2631
  }
2514
2632
  }), [y, b]);
2515
- return /* @__PURE__ */ U(xn.Provider, {
2633
+ return /* @__PURE__ */ U(An.Provider, {
2516
2634
  value: L,
2517
- children: /* @__PURE__ */ U(Cn.Provider, {
2635
+ children: /* @__PURE__ */ U(jn.Provider, {
2518
2636
  value: z,
2519
- children: /* @__PURE__ */ U(yn.Provider, {
2637
+ children: /* @__PURE__ */ U(On.Provider, {
2520
2638
  value: R,
2521
- children: /* @__PURE__ */ U(On, {
2639
+ children: /* @__PURE__ */ U(In, {
2522
2640
  tasks: e,
2523
2641
  timeScale: t,
2524
2642
  enableBuiltinDialogs: l,
@@ -2554,8 +2672,8 @@ function kn({ tasks: e, timeScale: t = "months", initialExpandAll: n = !1, showT
2554
2672
  }
2555
2673
  //#endregion
2556
2674
  //#region src/components/password-strength-meter/util/password-strength.util.ts
2557
- var An = (e) => Math.max(0, Math.min(4, Math.round(e)));
2558
- function jn(e, t) {
2675
+ var Rn = (e) => Math.max(0, Math.min(4, Math.round(e)));
2676
+ function zn(e, t) {
2559
2677
  let n = e ?? "", r = n.length, i = /[a-z]/.test(n), a = /[A-Z]/.test(n), o = /\d/.test(n), s = /[^A-Za-z0-9]/.test(n), c = [
2560
2678
  i,
2561
2679
  a,
@@ -2577,7 +2695,7 @@ function jn(e, t) {
2577
2695
  }
2578
2696
  let l = 0;
2579
2697
  l += 1, r >= t + 4 && (l += 1), c >= 2 && (l += 1), c >= 3 && (l += 1), /^(.)\1+$/.test(n) && (l -= 2), /1234|abcd|qwer|password|passwort|admin/i.test(n) && (l -= 2);
2580
- let u = An(l), d = u <= 1 ? "weak" : u === 2 ? "ok" : u === 3 ? "good" : "very good";
2698
+ let u = Rn(l), d = u <= 1 ? "weak" : u === 2 ? "ok" : u === 3 ? "good" : "very good";
2581
2699
  return {
2582
2700
  score: u,
2583
2701
  percent: u * 25,
@@ -2590,8 +2708,38 @@ function jn(e, t) {
2590
2708
  };
2591
2709
  }
2592
2710
  //#endregion
2711
+ //#region src/components/password-strength-meter/PasswordStrengthBar.tsx
2712
+ function Bn({ percent: e, color: t, ariaLabel: n }) {
2713
+ return /* @__PURE__ */ U(l, {
2714
+ role: "progressbar",
2715
+ "aria-label": n,
2716
+ "aria-valuenow": e,
2717
+ "aria-valuemin": 0,
2718
+ "aria-valuemax": 100,
2719
+ sx: {
2720
+ width: "100%",
2721
+ height: "8px",
2722
+ border: "1px solid",
2723
+ borderColor: "divider",
2724
+ borderRadius: "6px",
2725
+ mt: .5,
2726
+ display: "flex"
2727
+ },
2728
+ children: /* @__PURE__ */ U(l, {
2729
+ "data-testid": "psm-meter",
2730
+ sx: {
2731
+ height: "100%",
2732
+ width: `${e}%`,
2733
+ backgroundColor: t,
2734
+ borderRadius: "6px",
2735
+ transition: "width 0.2s ease-in-out"
2736
+ }
2737
+ })
2738
+ });
2739
+ }
2740
+ //#endregion
2593
2741
  //#region src/components/password-strength-meter/PasswordStrengthMeter.types.ts
2594
- var Mn = {
2742
+ var Vn = {
2595
2743
  label: "Password",
2596
2744
  summaryHeaderLabel: "Requirements for your password",
2597
2745
  summaryMinChars: "At least {n} characters",
@@ -2602,18 +2750,18 @@ var Mn = {
2602
2750
  showPasswordLabel: "Show password",
2603
2751
  hidePasswordLabel: "Hide password",
2604
2752
  meterAriaLabel: "Password strength"
2605
- }, Nn = {
2753
+ }, Hn = {
2606
2754
  weak: "#cc0000",
2607
2755
  ok: "#fdc010",
2608
2756
  good: "#8bc34a",
2609
2757
  veryGood: "#43a047"
2610
- }, Pn = {
2758
+ }, Un = {
2611
2759
  failure: "#cc0000",
2612
2760
  success: "#43a047"
2613
2761
  };
2614
2762
  //#endregion
2615
2763
  //#region src/components/password-strength-meter/PasswordStrengthMeter.tsx
2616
- function Fn({ label: e, fulfilled: t, checkColors: n }) {
2764
+ function Wn({ label: e, fulfilled: t, checkColors: n }) {
2617
2765
  return /* @__PURE__ */ W(j, {
2618
2766
  direction: "row",
2619
2767
  sx: {
@@ -2639,14 +2787,14 @@ function Fn({ label: e, fulfilled: t, checkColors: n }) {
2639
2787
  })]
2640
2788
  });
2641
2789
  }
2642
- function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, helperText: c, autoComplete: u, showPasswordAdornment: d = !0, showMeter: f = !0, showSummary: p = !0, inputSize: m = "medium", translation: h, meterColors: g, passwordMinLength: _ = 8, checkColors: v = Pn, onPasswordChange: b }) {
2790
+ function Gn({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, helperText: c, autoComplete: u, showPasswordAdornment: d = !0, showMeter: f = !0, showSummary: p = !0, inputSize: m = "medium", translation: h, meterColors: g, passwordMinLength: _ = 8, checkColors: v = Un, onPasswordChange: b }) {
2643
2791
  let T = {
2644
- ...Mn,
2792
+ ...Vn,
2645
2793
  ...h
2646
2794
  }, E = {
2647
- ...Nn,
2795
+ ...Hn,
2648
2796
  ...g
2649
- }, O = `${i()}-password`, [k, A] = s(!1), [M, N] = s(""), P = e === void 0 ? M : e, F = a(() => jn(P, _), [P, _]);
2797
+ }, O = `${i()}-password`, [k, A] = s(!1), [M, N] = s(""), P = e === void 0 ? M : e, F = a(() => zn(P, _), [P, _]);
2650
2798
  return /* @__PURE__ */ W(j, { children: [
2651
2799
  /* @__PURE__ */ W(y, {
2652
2800
  variant: "outlined",
@@ -2666,7 +2814,7 @@ function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, h
2666
2814
  value: P,
2667
2815
  onChange: (t) => {
2668
2816
  let n = t.target.value;
2669
- e === void 0 && N(n), b && b(n, jn(n, _));
2817
+ e === void 0 && N(n), b && b(n, zn(n, _));
2670
2818
  },
2671
2819
  disabled: r,
2672
2820
  inputRef: n,
@@ -2691,7 +2839,7 @@ function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, h
2691
2839
  e.preventDefault();
2692
2840
  },
2693
2841
  edge: "end",
2694
- children: U(k ? je : Ae, {})
2842
+ children: U(k ? Ne : Me, {})
2695
2843
  })
2696
2844
  }) : null,
2697
2845
  label: T.label
@@ -2699,39 +2847,18 @@ function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, h
2699
2847
  c && /* @__PURE__ */ U(x, { children: c })
2700
2848
  ]
2701
2849
  }),
2702
- f && /* @__PURE__ */ U(l, {
2703
- role: "progressbar",
2704
- "aria-label": T.meterAriaLabel,
2705
- "aria-valuenow": F.percent,
2706
- "aria-valuemin": 0,
2707
- "aria-valuemax": 100,
2708
- sx: {
2709
- width: "100%",
2710
- height: "8px",
2711
- border: "1px solid",
2712
- borderColor: "divider",
2713
- borderRadius: "6px",
2714
- mt: .5,
2715
- display: "flex"
2716
- },
2717
- children: /* @__PURE__ */ U(l, {
2718
- "data-testid": "psm-meter",
2719
- sx: {
2720
- height: "100%",
2721
- width: `${F.percent}%`,
2722
- backgroundColor: ((e) => {
2723
- switch (e.meterStatus) {
2724
- case "weak": return E.weak;
2725
- case "ok": return E.ok;
2726
- case "good": return E.good;
2727
- case "very good": return E.veryGood;
2728
- default: return "transparent";
2729
- }
2730
- })(F),
2731
- borderRadius: "6px",
2732
- transition: "width 0.2s ease-in-out"
2850
+ f && /* @__PURE__ */ U(Bn, {
2851
+ percent: F.percent,
2852
+ color: ((e) => {
2853
+ switch (e.meterStatus) {
2854
+ case "weak": return E.weak;
2855
+ case "ok": return E.ok;
2856
+ case "good": return E.good;
2857
+ case "very good": return E.veryGood;
2858
+ default: return "transparent";
2733
2859
  }
2734
- })
2860
+ })(F),
2861
+ ariaLabel: T.meterAriaLabel
2735
2862
  }),
2736
2863
  p && /* @__PURE__ */ W(l, {
2737
2864
  "data-testid": "psm-summary",
@@ -2753,17 +2880,17 @@ function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, h
2753
2880
  children: [/* @__PURE__ */ W(j, {
2754
2881
  direction: "column",
2755
2882
  children: [
2756
- /* @__PURE__ */ U(Fn, {
2883
+ /* @__PURE__ */ U(Wn, {
2757
2884
  label: T.summaryMinChars.replace("{n}", String(_)),
2758
2885
  fulfilled: F.length >= _,
2759
2886
  checkColors: v
2760
2887
  }),
2761
- /* @__PURE__ */ U(Fn, {
2888
+ /* @__PURE__ */ U(Wn, {
2762
2889
  label: T.summaryCapitalLetter,
2763
2890
  fulfilled: F.hasUpper,
2764
2891
  checkColors: v
2765
2892
  }),
2766
- /* @__PURE__ */ U(Fn, {
2893
+ /* @__PURE__ */ U(Wn, {
2767
2894
  label: T.summaryLowerCaseLetter,
2768
2895
  fulfilled: F.hasLower,
2769
2896
  checkColors: v
@@ -2771,11 +2898,11 @@ function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, h
2771
2898
  ]
2772
2899
  }), /* @__PURE__ */ W(j, {
2773
2900
  direction: "column",
2774
- children: [/* @__PURE__ */ U(Fn, {
2901
+ children: [/* @__PURE__ */ U(Wn, {
2775
2902
  label: T.summaryNumber,
2776
2903
  fulfilled: F.hasDigit,
2777
2904
  checkColors: v
2778
- }), /* @__PURE__ */ U(Fn, {
2905
+ }), /* @__PURE__ */ U(Wn, {
2779
2906
  label: T.summarySpecialChar,
2780
2907
  fulfilled: F.hasSymbol,
2781
2908
  checkColors: v
@@ -2787,8 +2914,8 @@ function In({ value: e, name: t, inputRef: n, disabled: r = !1, error: o = !1, h
2787
2914
  }
2788
2915
  //#endregion
2789
2916
  //#region src/components/tag-selection/TagSelection.store.ts
2790
- function Ln(e) {
2791
- return xe((t) => ({
2917
+ function Kn(e) {
2918
+ return Ce((t) => ({
2792
2919
  tags: e,
2793
2920
  searchValue: "",
2794
2921
  setTags: (e) => {
@@ -2825,7 +2952,7 @@ function Ln(e) {
2825
2952
  }
2826
2953
  //#endregion
2827
2954
  //#region src/components/tag-selection/TagSelectionAutocomplete.tsx
2828
- var Rn = [
2955
+ var qn = [
2829
2956
  "default",
2830
2957
  "primary",
2831
2958
  "secondary",
@@ -2834,7 +2961,7 @@ var Rn = [
2834
2961
  "success",
2835
2962
  "warning"
2836
2963
  ];
2837
- function zn({ availableTags: e, searchValue: t, translation: n, onSearchChange: r, onTagSelect: i, onTagCreate: a, inputSize: o = "medium", chipSize: u = "medium", disabled: d = !1, loading: p = !1, isMaxReached: m = !1, allowCreate: h = !1, listboxMaxHeight: g }) {
2964
+ function Jn({ availableTags: e, searchValue: t, translation: n, onSearchChange: r, onTagSelect: i, onTagCreate: a, inputSize: o = "medium", chipSize: u = "medium", disabled: d = !1, loading: p = !1, isMaxReached: m = !1, allowCreate: h = !1, listboxMaxHeight: g }) {
2838
2965
  let [_, v] = s("default"), [y, b] = s(!1), x = d || m, C = e.filter((e) => e.label.toLowerCase().includes(t.trim().toLowerCase())), w = h && t.trim() !== "" && C.length === 0, T = y && !w, E = () => {
2839
2966
  a?.(t.trim(), _), v("default");
2840
2967
  }, D = () => {
@@ -2890,14 +3017,14 @@ function zn({ availableTags: e, searchValue: t, translation: n, onSearchChange:
2890
3017
  e.preventDefault();
2891
3018
  },
2892
3019
  onClick: E,
2893
- children: /* @__PURE__ */ U(me, { fontSize: "small" })
3020
+ children: /* @__PURE__ */ U(ge, { fontSize: "small" })
2894
3021
  }), /* @__PURE__ */ U(S, {
2895
3022
  size: "small",
2896
3023
  onMouseDown: (e) => {
2897
3024
  e.preventDefault();
2898
3025
  },
2899
3026
  onClick: D,
2900
- children: /* @__PURE__ */ U(Me, { fontSize: "small" })
3027
+ children: /* @__PURE__ */ U(Pe, { fontSize: "small" })
2901
3028
  })] }), e.slotProps?.input?.endAdornment] })
2902
3029
  }
2903
3030
  }
@@ -2933,7 +3060,7 @@ function zn({ availableTags: e, searchValue: t, translation: n, onSearchChange:
2933
3060
  gap: .5,
2934
3061
  alignItems: "center"
2935
3062
  },
2936
- children: Rn.map((e) => /* @__PURE__ */ U(f, {
3063
+ children: qn.map((e) => /* @__PURE__ */ U(f, {
2937
3064
  size: u,
2938
3065
  color: e,
2939
3066
  label: e,
@@ -2946,7 +3073,7 @@ function zn({ availableTags: e, searchValue: t, translation: n, onSearchChange:
2946
3073
  }
2947
3074
  //#endregion
2948
3075
  //#region src/components/tag-selection/TagSelectionChip.tsx
2949
- function Bn({ tag: e, onDelete: t, onClick: n, chipSize: r = "medium", disabled: i = !1 }) {
3076
+ function Yn({ tag: e, onDelete: t, onClick: n, chipSize: r = "medium", disabled: i = !1 }) {
2950
3077
  let a = !!(e.foregroundColor || e.backgroundColor);
2951
3078
  return /* @__PURE__ */ U(f, {
2952
3079
  size: r,
@@ -2973,7 +3100,7 @@ function Bn({ tag: e, onDelete: t, onClick: n, chipSize: r = "medium", disabled:
2973
3100
  }
2974
3101
  //#endregion
2975
3102
  //#region src/components/tag-selection/TagSelectionSelectedTags.tsx
2976
- function Vn({ selectedTags: e, translation: t, onTagDelete: n, showSelectedTagsLabel: r, chipSize: i = "medium", disabled: a = !1, maxVisibleChips: o, popoverPlacement: c = "bottom" }) {
3103
+ function Xn({ selectedTags: e, translation: t, onTagDelete: n, showSelectedTagsLabel: r, chipSize: i = "medium", disabled: a = !1, maxVisibleChips: o, popoverPlacement: c = "bottom" }) {
2977
3104
  let [u, d] = s(null), p = o === void 0 ? e : e.slice(0, o), m = o === void 0 ? [] : e.slice(o), h = !!u && m.length > 0, g = c === "top" ? {
2978
3105
  vertical: "top",
2979
3106
  horizontal: "left"
@@ -3003,7 +3130,7 @@ function Vn({ selectedTags: e, translation: t, onTagDelete: n, showSelectedTagsL
3003
3130
  flexWrap: "wrap",
3004
3131
  gap: 1
3005
3132
  },
3006
- children: [p.map((e) => /* @__PURE__ */ U(Bn, {
3133
+ children: [p.map((e) => /* @__PURE__ */ U(Yn, {
3007
3134
  tag: e,
3008
3135
  onDelete: n,
3009
3136
  chipSize: i,
@@ -3028,7 +3155,7 @@ function Vn({ selectedTags: e, translation: t, onTagDelete: n, showSelectedTagsL
3028
3155
  gap: .5,
3029
3156
  maxWidth: 320
3030
3157
  },
3031
- children: m.map((e) => /* @__PURE__ */ U(Bn, {
3158
+ children: m.map((e) => /* @__PURE__ */ U(Yn, {
3032
3159
  tag: e,
3033
3160
  onDelete: a ? void 0 : n,
3034
3161
  chipSize: i,
@@ -3041,7 +3168,7 @@ function Vn({ selectedTags: e, translation: t, onTagDelete: n, showSelectedTagsL
3041
3168
  }
3042
3169
  //#endregion
3043
3170
  //#region src/components/tag-selection/TagSelection.types.ts
3044
- var Hn = {
3171
+ var Zn = {
3045
3172
  selectedTagsLabel: "Selected tags",
3046
3173
  autoCompleteLabel: "Search and add tags",
3047
3174
  noSelectedTagsText: "No tags selected.",
@@ -3049,14 +3176,14 @@ var Hn = {
3049
3176
  placeholder: "Type to search...",
3050
3177
  loadingText: "Loading...",
3051
3178
  maxTagsReachedText: "Maximum number of tags reached."
3052
- }, Un = e(null);
3053
- function Wn(e) {
3054
- let t = n(Un);
3179
+ }, Qn = e(null);
3180
+ function $n(e) {
3181
+ let t = n(Qn);
3055
3182
  if (!t) throw Error("TagSelectionStoreContext is missing.");
3056
- return be(t, e);
3183
+ return Se(t, e);
3057
3184
  }
3058
- function Gn({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0, showAutoComplete: i = !0, inputSize: o = "medium", chipSize: s = "small", disabled: c = !1, loading: u = !1, maxTags: d, allowCreate: f = !1, maxVisibleChips: p, popoverPlacement: m = "bottom", listboxMaxHeight: h, translation: g, onTagSelect: _, onTagDelete: v, onTagsChange: y, onSearchChange: b, onTagCreate: x }) {
3059
- let S = Wn((e) => e.tags), C = Wn((e) => e.searchValue), w = Wn((e) => e.setTags), T = Wn((e) => e.setSearchValue), E = Wn((e) => e.selectTag), D = Wn((e) => e.deleteTag), O = Wn((e) => e.addTag);
3185
+ function er({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0, showAutoComplete: i = !0, inputSize: o = "medium", chipSize: s = "small", disabled: c = !1, loading: u = !1, maxTags: d, allowCreate: f = !1, maxVisibleChips: p, popoverPlacement: m = "bottom", listboxMaxHeight: h, translation: g, onTagSelect: _, onTagDelete: v, onTagsChange: y, onSearchChange: b, onTagCreate: x }) {
3186
+ let S = $n((e) => e.tags), C = $n((e) => e.searchValue), w = $n((e) => e.setTags), T = $n((e) => e.setSearchValue), E = $n((e) => e.selectTag), D = $n((e) => e.deleteTag), O = $n((e) => e.addTag);
3060
3187
  r(() => {
3061
3188
  w(e);
3062
3189
  }, [e, w]);
@@ -3065,7 +3192,7 @@ function Gn({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0,
3065
3192
  };
3066
3193
  return /* @__PURE__ */ U(l, {
3067
3194
  sx: { width: "100%" },
3068
- children: /* @__PURE__ */ W(j, { children: [t && /* @__PURE__ */ U(Vn, {
3195
+ children: /* @__PURE__ */ W(j, { children: [t && /* @__PURE__ */ U(Xn, {
3069
3196
  selectedTags: k,
3070
3197
  translation: g,
3071
3198
  onTagDelete: (e) => {
@@ -3081,7 +3208,7 @@ function Gn({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0,
3081
3208
  disabled: c,
3082
3209
  maxVisibleChips: p,
3083
3210
  popoverPlacement: m
3084
- }), i && /* @__PURE__ */ U(zn, {
3211
+ }), i && /* @__PURE__ */ U(Jn, {
3085
3212
  availableTags: A,
3086
3213
  searchValue: C,
3087
3214
  translation: g,
@@ -3118,14 +3245,14 @@ function Gn({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0,
3118
3245
  })] })
3119
3246
  });
3120
3247
  }
3121
- function Kn({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0, showAutoComplete: r = !0, translation: i, inputSize: a = "medium", chipSize: o = "small", disabled: c = !1, loading: l = !1, maxTags: u, allowCreate: d = !1, maxVisibleChips: f, popoverPlacement: p = "bottom", listboxMaxHeight: m, onTagSelect: h, onTagDelete: g, onTagsChange: _, onSearchChange: v, onTagCreate: y }) {
3248
+ function tr({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0, showAutoComplete: r = !0, translation: i, inputSize: a = "medium", chipSize: o = "small", disabled: c = !1, loading: l = !1, maxTags: u, allowCreate: d = !1, maxVisibleChips: f, popoverPlacement: p = "bottom", listboxMaxHeight: m, onTagSelect: h, onTagDelete: g, onTagsChange: _, onSearchChange: v, onTagCreate: y }) {
3122
3249
  let b = {
3123
- ...Hn,
3250
+ ...Zn,
3124
3251
  ...i
3125
- }, [x] = s(() => Ln(e));
3126
- return /* @__PURE__ */ U(Un.Provider, {
3252
+ }, [x] = s(() => Kn(e));
3253
+ return /* @__PURE__ */ U(Qn.Provider, {
3127
3254
  value: x,
3128
- children: /* @__PURE__ */ U(Gn, {
3255
+ children: /* @__PURE__ */ U(er, {
3129
3256
  tags: e,
3130
3257
  showSelectedTags: t,
3131
3258
  showSelectedTagsLabel: n,
@@ -3150,7 +3277,7 @@ function Kn({ tags: e, showSelectedTags: t = !0, showSelectedTagsLabel: n = !0,
3150
3277
  }
3151
3278
  //#endregion
3152
3279
  //#region src/components/rich-text-editor/RichTextEditor.types.ts
3153
- var qn = {
3280
+ var nr = {
3154
3281
  showBold: !0,
3155
3282
  showItalic: !0,
3156
3283
  showUnderline: !0,
@@ -3167,8 +3294,9 @@ var qn = {
3167
3294
  showTextColor: !0,
3168
3295
  showHighlight: !0,
3169
3296
  showUndoRedo: !0,
3170
- showClearFormat: !0
3171
- }, Jn = {
3297
+ showClearFormat: !0,
3298
+ showFullscreenButton: !1
3299
+ }, rr = {
3172
3300
  bold: "Bold",
3173
3301
  italic: "Italic",
3174
3302
  underline: "Underline",
@@ -3195,11 +3323,14 @@ var qn = {
3195
3323
  linkDialogCancel: "Cancel",
3196
3324
  linkDialogRemove: "Remove link",
3197
3325
  characterCount: "{count} characters",
3198
- characterCountMax: "{count} / {max} characters"
3326
+ characterCountMax: "{count} / {max} characters",
3327
+ wordCount: "{count} words",
3328
+ fullscreen: "Full screen",
3329
+ exitFullscreen: "Exit full screen"
3199
3330
  };
3200
3331
  //#endregion
3201
3332
  //#region src/components/rich-text-editor/RichTextEditorContent.tsx
3202
- function Yn({ editor: e, error: t, disabled: n, readonly: r }) {
3333
+ function ir({ editor: e, error: t, disabled: n, readonly: r }) {
3203
3334
  return /* @__PURE__ */ U(l, {
3204
3335
  sx: {
3205
3336
  flex: 1,
@@ -3283,12 +3414,12 @@ function Yn({ editor: e, error: t, disabled: n, readonly: r }) {
3283
3414
  }
3284
3415
  }
3285
3416
  },
3286
- children: /* @__PURE__ */ U(Ne, { editor: e })
3417
+ children: /* @__PURE__ */ U(Fe, { editor: e })
3287
3418
  });
3288
3419
  }
3289
3420
  //#endregion
3290
3421
  //#region src/components/rich-text-editor/RichTextEditorLinkDialog.tsx
3291
- function Xn({ open: e, onClose: t, editor: n, translation: i }) {
3422
+ function ar({ open: e, onClose: t, editor: n, translation: i }) {
3292
3423
  let [a, o] = s("");
3293
3424
  r(() => {
3294
3425
  if (e) {
@@ -3354,7 +3485,7 @@ function Xn({ open: e, onClose: t, editor: n, translation: i }) {
3354
3485
  }
3355
3486
  //#endregion
3356
3487
  //#region src/components/rich-text-editor/RichTextEditorColorPicker.tsx
3357
- var Zn = [
3488
+ var or = [
3358
3489
  "#000000",
3359
3490
  "#434343",
3360
3491
  "#666666",
@@ -3373,7 +3504,7 @@ var Zn = [
3373
3504
  "#8a2be2",
3374
3505
  "#ff1493",
3375
3506
  "#a52a2a"
3376
- ], Qn = [
3507
+ ], sr = [
3377
3508
  "#ffff00",
3378
3509
  "#ffd700",
3379
3510
  "#ffa500",
@@ -3393,7 +3524,7 @@ var Zn = [
3393
3524
  "#ffffff",
3394
3525
  "#000000"
3395
3526
  ];
3396
- function $n({ color: e, active: t, onClick: n }) {
3527
+ function cr({ color: e, active: t, onClick: n }) {
3397
3528
  return /* @__PURE__ */ U(F, {
3398
3529
  title: e,
3399
3530
  placement: "top",
@@ -3435,8 +3566,8 @@ function $n({ color: e, active: t, onClick: n }) {
3435
3566
  })
3436
3567
  });
3437
3568
  }
3438
- function er({ anchorEl: e, open: t, onClose: n, mode: r, activeColor: i, onSelectColor: a, onRemoveColor: s, removeLabel: c }) {
3439
- let u = o(null), d = r === "highlight" ? Qn : Zn;
3569
+ function lr({ anchorEl: e, open: t, onClose: n, mode: r, activeColor: i, onSelectColor: a, onRemoveColor: s, removeLabel: c }) {
3570
+ let u = o(null), d = r === "highlight" ? sr : or;
3440
3571
  function f(e) {
3441
3572
  a(e.target.value);
3442
3573
  }
@@ -3460,7 +3591,7 @@ function er({ anchorEl: e, open: t, onClose: n, mode: r, activeColor: i, onSelec
3460
3591
  gap: .5,
3461
3592
  mb: 1
3462
3593
  },
3463
- children: d.map((e) => /* @__PURE__ */ U($n, {
3594
+ children: d.map((e) => /* @__PURE__ */ U(cr, {
3464
3595
  color: e,
3465
3596
  active: i?.toLowerCase() === e.toLowerCase(),
3466
3597
  onClick: (e) => {
@@ -3521,7 +3652,7 @@ function er({ anchorEl: e, open: t, onClose: n, mode: r, activeColor: i, onSelec
3521
3652
  borderRadius: 1,
3522
3653
  ml: "auto"
3523
3654
  },
3524
- children: /* @__PURE__ */ U(tt, { fontSize: "small" })
3655
+ children: /* @__PURE__ */ U(at, { fontSize: "small" })
3525
3656
  })
3526
3657
  })
3527
3658
  ]
@@ -3530,24 +3661,7 @@ function er({ anchorEl: e, open: t, onClose: n, mode: r, activeColor: i, onSelec
3530
3661
  }
3531
3662
  //#endregion
3532
3663
  //#region src/components/rich-text-editor/RichTextEditorToolbar.tsx
3533
- function $({ label: e, icon: t, onClick: n, active: r, disabled: i }) {
3534
- return /* @__PURE__ */ U(F, {
3535
- title: e,
3536
- arrow: !0,
3537
- children: /* @__PURE__ */ U("span", { children: /* @__PURE__ */ U(S, {
3538
- size: "small",
3539
- onMouseDown: (e) => e.preventDefault(),
3540
- onClick: n,
3541
- disabled: i,
3542
- color: r ? "primary" : "default",
3543
- sx: { borderRadius: 1 },
3544
- "aria-label": e,
3545
- "aria-pressed": r,
3546
- children: t
3547
- }) })
3548
- });
3549
- }
3550
- function tr({ label: e, icon: t, activeColor: n, disabled: r, onClick: i }) {
3664
+ function ur({ label: e, icon: t, activeColor: n, disabled: r, onClick: i }) {
3551
3665
  return /* @__PURE__ */ U(F, {
3552
3666
  title: e,
3553
3667
  arrow: !0,
@@ -3579,50 +3693,28 @@ function tr({ label: e, icon: t, activeColor: n, disabled: r, onClick: i }) {
3579
3693
  }) })
3580
3694
  });
3581
3695
  }
3582
- function nr() {
3583
- return /* @__PURE__ */ U(l, {
3584
- component: "span",
3585
- sx: {
3586
- fontWeight: "bold",
3587
- fontSize: "0.875rem",
3588
- lineHeight: 1
3589
- },
3590
- children: "H1"
3591
- });
3592
- }
3593
- function rr() {
3594
- return /* @__PURE__ */ U(l, {
3595
- component: "span",
3596
- sx: {
3597
- fontWeight: "bold",
3598
- fontSize: "0.875rem",
3599
- lineHeight: 1
3600
- },
3601
- children: "H2"
3602
- });
3603
- }
3604
- function ir() {
3605
- return /* @__PURE__ */ U(l, {
3696
+ function dr({ level: e }) {
3697
+ return /* @__PURE__ */ W(l, {
3606
3698
  component: "span",
3607
3699
  sx: {
3608
3700
  fontWeight: "bold",
3609
3701
  fontSize: "0.875rem",
3610
3702
  lineHeight: 1
3611
3703
  },
3612
- children: "H3"
3704
+ children: ["H", e]
3613
3705
  });
3614
3706
  }
3615
- function ar({ editor: e, toolbarConfig: t, translation: n, disabled: r }) {
3616
- let [i, a] = s(!1), [o, c] = s(null), [u, d] = s(null), f = r || !e, p = e?.getAttributes("textStyle")?.color, m = e?.getAttributes("highlight")?.color, h = t.showBold || t.showItalic || t.showUnderline || t.showStrike, g = t.showHeading1 || t.showHeading2 || t.showHeading3, _ = t.showBulletList || t.showOrderedList, y = t.showBlockquote || t.showCodeBlock || t.showLink || t.showHorizontalRule, b = t.showTextColor || t.showHighlight, x = t.showUndoRedo || t.showClearFormat, S = [
3617
- h,
3618
- g,
3707
+ function fr({ editor: e, toolbarConfig: t, translation: n, disabled: r, isFullscreen: i, onToggleFullscreen: a }) {
3708
+ let [o, c] = s(!1), [u, d] = s(null), [f, p] = s(null), m = r || !e, h = e?.getAttributes("textStyle")?.color, g = e?.getAttributes("highlight")?.color, _ = t.showBold || t.showItalic || t.showUnderline || t.showStrike, y = t.showHeading1 || t.showHeading2 || t.showHeading3, b = t.showBulletList || t.showOrderedList, x = t.showBlockquote || t.showCodeBlock || t.showLink || t.showHorizontalRule, C = t.showTextColor || t.showHighlight, w = t.showUndoRedo || t.showClearFormat, T = [
3619
3709
  _,
3620
3710
  y,
3621
3711
  b,
3622
- x
3623
- ], C = S.filter(Boolean).length;
3624
- function w(e, t) {
3625
- return !e || S.slice(t + 1).findIndex(Boolean) === -1 ? null : /* @__PURE__ */ U(v, {
3712
+ x,
3713
+ C,
3714
+ w
3715
+ ], E = T.filter(Boolean).length;
3716
+ function D(e, t) {
3717
+ return !e || T.slice(t + 1).findIndex(Boolean) === -1 ? null : /* @__PURE__ */ U(v, {
3626
3718
  orientation: "vertical",
3627
3719
  flexItem: !0,
3628
3720
  sx: { mx: .5 }
@@ -3641,196 +3733,212 @@ function ar({ editor: e, toolbarConfig: t, translation: n, disabled: r }) {
3641
3733
  role: "toolbar",
3642
3734
  "aria-label": "Text formatting",
3643
3735
  children: [
3644
- h && /* @__PURE__ */ W(l, {
3736
+ _ && /* @__PURE__ */ W(l, {
3645
3737
  sx: {
3646
3738
  display: "flex",
3647
3739
  gap: .25
3648
3740
  },
3649
3741
  children: [
3650
- t.showBold && /* @__PURE__ */ U($, {
3742
+ t.showBold && /* @__PURE__ */ U(X, {
3651
3743
  label: n.bold,
3652
- icon: /* @__PURE__ */ U(He, { fontSize: "small" }),
3744
+ icon: /* @__PURE__ */ U(Ke, { fontSize: "small" }),
3653
3745
  onClick: () => e?.chain().focus().toggleBold().run(),
3654
3746
  active: e?.isActive("bold"),
3655
- disabled: f
3747
+ disabled: m
3656
3748
  }),
3657
- t.showItalic && /* @__PURE__ */ U($, {
3749
+ t.showItalic && /* @__PURE__ */ U(X, {
3658
3750
  label: n.italic,
3659
- icon: /* @__PURE__ */ U(Ue, { fontSize: "small" }),
3751
+ icon: /* @__PURE__ */ U(qe, { fontSize: "small" }),
3660
3752
  onClick: () => e?.chain().focus().toggleItalic().run(),
3661
3753
  active: e?.isActive("italic"),
3662
- disabled: f
3754
+ disabled: m
3663
3755
  }),
3664
- t.showUnderline && /* @__PURE__ */ U($, {
3756
+ t.showUnderline && /* @__PURE__ */ U(X, {
3665
3757
  label: n.underline,
3666
- icon: /* @__PURE__ */ U(We, { fontSize: "small" }),
3758
+ icon: /* @__PURE__ */ U(Je, { fontSize: "small" }),
3667
3759
  onClick: () => e?.chain().focus().toggleUnderline().run(),
3668
3760
  active: e?.isActive("underline"),
3669
- disabled: f
3761
+ disabled: m
3670
3762
  }),
3671
- t.showStrike && /* @__PURE__ */ U($, {
3763
+ t.showStrike && /* @__PURE__ */ U(X, {
3672
3764
  label: n.strike,
3673
- icon: /* @__PURE__ */ U(Ge, { fontSize: "small" }),
3765
+ icon: /* @__PURE__ */ U(Ye, { fontSize: "small" }),
3674
3766
  onClick: () => e?.chain().focus().toggleStrike().run(),
3675
3767
  active: e?.isActive("strike"),
3676
- disabled: f
3768
+ disabled: m
3677
3769
  })
3678
3770
  ]
3679
3771
  }),
3680
- w(h, 0),
3681
- g && /* @__PURE__ */ W(l, {
3772
+ D(_, 0),
3773
+ y && /* @__PURE__ */ W(l, {
3682
3774
  sx: {
3683
3775
  display: "flex",
3684
3776
  gap: .25
3685
3777
  },
3686
3778
  children: [
3687
- t.showHeading1 && /* @__PURE__ */ U($, {
3779
+ t.showHeading1 && /* @__PURE__ */ U(X, {
3688
3780
  label: n.heading1,
3689
- icon: /* @__PURE__ */ U(nr, {}),
3781
+ icon: /* @__PURE__ */ U(dr, { level: 1 }),
3690
3782
  onClick: () => e?.chain().focus().toggleHeading({ level: 1 }).run(),
3691
3783
  active: e?.isActive("heading", { level: 1 }),
3692
- disabled: f
3784
+ disabled: m
3693
3785
  }),
3694
- t.showHeading2 && /* @__PURE__ */ U($, {
3786
+ t.showHeading2 && /* @__PURE__ */ U(X, {
3695
3787
  label: n.heading2,
3696
- icon: /* @__PURE__ */ U(rr, {}),
3788
+ icon: /* @__PURE__ */ U(dr, { level: 2 }),
3697
3789
  onClick: () => e?.chain().focus().toggleHeading({ level: 2 }).run(),
3698
3790
  active: e?.isActive("heading", { level: 2 }),
3699
- disabled: f
3791
+ disabled: m
3700
3792
  }),
3701
- t.showHeading3 && /* @__PURE__ */ U($, {
3793
+ t.showHeading3 && /* @__PURE__ */ U(X, {
3702
3794
  label: n.heading3,
3703
- icon: /* @__PURE__ */ U(ir, {}),
3795
+ icon: /* @__PURE__ */ U(dr, { level: 3 }),
3704
3796
  onClick: () => e?.chain().focus().toggleHeading({ level: 3 }).run(),
3705
3797
  active: e?.isActive("heading", { level: 3 }),
3706
- disabled: f
3798
+ disabled: m
3707
3799
  })
3708
3800
  ]
3709
3801
  }),
3710
- w(g, 1),
3711
- _ && /* @__PURE__ */ W(l, {
3802
+ D(y, 1),
3803
+ b && /* @__PURE__ */ W(l, {
3712
3804
  sx: {
3713
3805
  display: "flex",
3714
3806
  gap: .25
3715
3807
  },
3716
- children: [t.showBulletList && /* @__PURE__ */ U($, {
3808
+ children: [t.showBulletList && /* @__PURE__ */ U(X, {
3717
3809
  label: n.bulletList,
3718
- icon: /* @__PURE__ */ U(Ke, { fontSize: "small" }),
3810
+ icon: /* @__PURE__ */ U(Xe, { fontSize: "small" }),
3719
3811
  onClick: () => e?.chain().focus().toggleBulletList().run(),
3720
3812
  active: e?.isActive("bulletList"),
3721
- disabled: f
3722
- }), t.showOrderedList && /* @__PURE__ */ U($, {
3813
+ disabled: m
3814
+ }), t.showOrderedList && /* @__PURE__ */ U(X, {
3723
3815
  label: n.orderedList,
3724
- icon: /* @__PURE__ */ U(qe, { fontSize: "small" }),
3816
+ icon: /* @__PURE__ */ U(Ze, { fontSize: "small" }),
3725
3817
  onClick: () => e?.chain().focus().toggleOrderedList().run(),
3726
3818
  active: e?.isActive("orderedList"),
3727
- disabled: f
3819
+ disabled: m
3728
3820
  })]
3729
3821
  }),
3730
- w(_, 2),
3731
- y && /* @__PURE__ */ W(l, {
3822
+ D(b, 2),
3823
+ x && /* @__PURE__ */ W(l, {
3732
3824
  sx: {
3733
3825
  display: "flex",
3734
3826
  gap: .25
3735
3827
  },
3736
3828
  children: [
3737
- t.showBlockquote && /* @__PURE__ */ U($, {
3829
+ t.showBlockquote && /* @__PURE__ */ U(X, {
3738
3830
  label: n.blockquote,
3739
- icon: /* @__PURE__ */ U(Je, { fontSize: "small" }),
3831
+ icon: /* @__PURE__ */ U(Qe, { fontSize: "small" }),
3740
3832
  onClick: () => e?.chain().focus().toggleBlockquote().run(),
3741
3833
  active: e?.isActive("blockquote"),
3742
- disabled: f
3834
+ disabled: m
3743
3835
  }),
3744
- t.showCodeBlock && /* @__PURE__ */ U($, {
3836
+ t.showCodeBlock && /* @__PURE__ */ U(X, {
3745
3837
  label: n.codeBlock,
3746
- icon: /* @__PURE__ */ U(Ye, { fontSize: "small" }),
3838
+ icon: /* @__PURE__ */ U($e, { fontSize: "small" }),
3747
3839
  onClick: () => e?.chain().focus().toggleCodeBlock().run(),
3748
3840
  active: e?.isActive("codeBlock"),
3749
- disabled: f
3841
+ disabled: m
3750
3842
  }),
3751
- t.showLink && /* @__PURE__ */ U($, {
3843
+ t.showLink && /* @__PURE__ */ U(X, {
3752
3844
  label: n.link,
3753
- icon: /* @__PURE__ */ U(Xe, { fontSize: "small" }),
3754
- onClick: () => a(!0),
3845
+ icon: /* @__PURE__ */ U(et, { fontSize: "small" }),
3846
+ onClick: () => c(!0),
3755
3847
  active: e?.isActive("link"),
3756
- disabled: f
3848
+ disabled: m
3757
3849
  }),
3758
- t.showHorizontalRule && /* @__PURE__ */ U($, {
3850
+ t.showHorizontalRule && /* @__PURE__ */ U(X, {
3759
3851
  label: n.horizontalRule,
3760
- icon: /* @__PURE__ */ U(Ze, { fontSize: "small" }),
3852
+ icon: /* @__PURE__ */ U(tt, { fontSize: "small" }),
3761
3853
  onClick: () => e?.chain().focus().setHorizontalRule().run(),
3762
- disabled: f
3854
+ disabled: m
3763
3855
  })
3764
3856
  ]
3765
3857
  }),
3766
- w(y, 3),
3767
- b && /* @__PURE__ */ W(l, {
3858
+ D(x, 3),
3859
+ C && /* @__PURE__ */ W(l, {
3768
3860
  sx: {
3769
3861
  display: "flex",
3770
3862
  gap: .25
3771
3863
  },
3772
- children: [t.showTextColor && /* @__PURE__ */ U(tr, {
3864
+ children: [t.showTextColor && /* @__PURE__ */ U(ur, {
3773
3865
  label: n.textColor,
3774
- icon: /* @__PURE__ */ U(Qe, { fontSize: "small" }),
3775
- activeColor: p,
3776
- disabled: f,
3777
- onClick: (e) => c(e.currentTarget)
3778
- }), t.showHighlight && /* @__PURE__ */ U(tr, {
3779
- label: n.highlight,
3780
- icon: /* @__PURE__ */ U($e, { fontSize: "small" }),
3781
- activeColor: m,
3782
- disabled: f,
3866
+ icon: /* @__PURE__ */ U(nt, { fontSize: "small" }),
3867
+ activeColor: h,
3868
+ disabled: m,
3783
3869
  onClick: (e) => d(e.currentTarget)
3870
+ }), t.showHighlight && /* @__PURE__ */ U(ur, {
3871
+ label: n.highlight,
3872
+ icon: /* @__PURE__ */ U(rt, { fontSize: "small" }),
3873
+ activeColor: g,
3874
+ disabled: m,
3875
+ onClick: (e) => p(e.currentTarget)
3784
3876
  })]
3785
3877
  }),
3786
- w(b, 4),
3787
- x && /* @__PURE__ */ W(l, {
3878
+ D(C, 4),
3879
+ w && /* @__PURE__ */ W(l, {
3788
3880
  sx: {
3789
3881
  display: "flex",
3790
3882
  gap: .25
3791
3883
  },
3792
- children: [t.showUndoRedo && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U($, {
3884
+ children: [t.showUndoRedo && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(X, {
3793
3885
  label: n.undo,
3794
- icon: /* @__PURE__ */ U(ge, { fontSize: "small" }),
3886
+ icon: /* @__PURE__ */ U(ve, { fontSize: "small" }),
3795
3887
  onClick: () => e?.chain().focus().undo().run(),
3796
- disabled: f || !e?.can().undo()
3797
- }), /* @__PURE__ */ U($, {
3888
+ disabled: m || !e?.can().undo()
3889
+ }), /* @__PURE__ */ U(X, {
3798
3890
  label: n.redo,
3799
- icon: /* @__PURE__ */ U(_e, { fontSize: "small" }),
3891
+ icon: /* @__PURE__ */ U(ye, { fontSize: "small" }),
3800
3892
  onClick: () => e?.chain().focus().redo().run(),
3801
- disabled: f || !e?.can().redo()
3802
- })] }), t.showClearFormat && /* @__PURE__ */ U($, {
3893
+ disabled: m || !e?.can().redo()
3894
+ })] }), t.showClearFormat && /* @__PURE__ */ U(X, {
3803
3895
  label: n.clearFormat,
3804
- icon: /* @__PURE__ */ U(et, { fontSize: "small" }),
3896
+ icon: /* @__PURE__ */ U(it, { fontSize: "small" }),
3805
3897
  onClick: () => e?.chain().focus().clearNodes().unsetAllMarks().run(),
3806
- disabled: f
3898
+ disabled: m
3807
3899
  })]
3808
3900
  }),
3809
- C === 0 && /* @__PURE__ */ U(l, { sx: { height: 32 } })
3901
+ E === 0 && /* @__PURE__ */ U(l, { sx: { height: 32 } }),
3902
+ t.showFullscreenButton && /* @__PURE__ */ U(l, {
3903
+ sx: { ml: "auto" },
3904
+ children: /* @__PURE__ */ U(F, {
3905
+ title: i ? n.exitFullscreen : n.fullscreen,
3906
+ arrow: !0,
3907
+ children: /* @__PURE__ */ U("span", { children: /* @__PURE__ */ U(S, {
3908
+ size: "small",
3909
+ onMouseDown: (e) => e.preventDefault(),
3910
+ onClick: a,
3911
+ disabled: r || !e,
3912
+ sx: { borderRadius: 1 },
3913
+ "aria-label": i ? n.exitFullscreen : n.fullscreen,
3914
+ children: U(i ? Ge : We, { fontSize: "small" })
3915
+ }) })
3916
+ })
3917
+ })
3810
3918
  ]
3811
3919
  }),
3812
- t.showLink && e && /* @__PURE__ */ U(Xn, {
3813
- open: i,
3814
- onClose: () => a(!1),
3920
+ t.showLink && e && /* @__PURE__ */ U(ar, {
3921
+ open: o,
3922
+ onClose: () => c(!1),
3815
3923
  editor: e,
3816
3924
  translation: n
3817
3925
  }),
3818
- t.showTextColor && /* @__PURE__ */ U(er, {
3819
- anchorEl: o,
3820
- open: !!o,
3821
- onClose: () => c(null),
3926
+ t.showTextColor && /* @__PURE__ */ U(lr, {
3927
+ anchorEl: u,
3928
+ open: !!u,
3929
+ onClose: () => d(null),
3822
3930
  mode: "textColor",
3823
- activeColor: p,
3931
+ activeColor: h,
3824
3932
  onSelectColor: (t) => e?.chain().focus().setColor(t).run(),
3825
3933
  onRemoveColor: () => e?.chain().focus().unsetColor().run(),
3826
3934
  removeLabel: n.removeTextColor
3827
3935
  }),
3828
- t.showHighlight && /* @__PURE__ */ U(er, {
3829
- anchorEl: u,
3830
- open: !!u,
3831
- onClose: () => d(null),
3936
+ t.showHighlight && /* @__PURE__ */ U(lr, {
3937
+ anchorEl: f,
3938
+ open: !!f,
3939
+ onClose: () => p(null),
3832
3940
  mode: "highlight",
3833
- activeColor: m,
3941
+ activeColor: g,
3834
3942
  onSelectColor: (t) => e?.chain().focus().setHighlight({ color: t }).run(),
3835
3943
  onRemoveColor: () => e?.chain().focus().unsetHighlight().run(),
3836
3944
  removeLabel: n.removeHighlight
@@ -3839,8 +3947,8 @@ function ar({ editor: e, toolbarConfig: t, translation: n, disabled: r }) {
3839
3947
  }
3840
3948
  //#endregion
3841
3949
  //#region src/components/rich-text-editor/RichTextEditorFooter.tsx
3842
- function or({ helperText: e, error: t, showCharacterCount: n, charCount: r, maxCharacters: i, translation: a }) {
3843
- let o = i === void 0 ? a.characterCount.replace("{count}", String(r)) : a.characterCountMax.replace("{count}", String(r)).replace("{max}", String(i));
3950
+ function pr({ helperText: e, error: t, showCharacterCount: n, charCount: r, maxCharacters: i, showWordCount: a, wordCount: o, translation: s }) {
3951
+ let c = i === void 0 ? s.characterCount.replace("{count}", String(r)) : s.characterCountMax.replace("{count}", String(r)).replace("{max}", String(i)), u = i !== void 0 && r >= i ? "error" : "text.secondary", d = s.wordCount.replace("{count}", String(o));
3844
3952
  return /* @__PURE__ */ W(l, {
3845
3953
  sx: {
3846
3954
  display: "flex",
@@ -3851,68 +3959,82 @@ function or({ helperText: e, error: t, showCharacterCount: n, charCount: r, maxC
3851
3959
  children: [/* @__PURE__ */ U(x, {
3852
3960
  error: t,
3853
3961
  children: e ?? ""
3854
- }), n && /* @__PURE__ */ U(x, {
3855
- sx: { color: i !== void 0 && r >= i ? "error" : "text.secondary" },
3856
- children: o
3962
+ }), (n || a) && /* @__PURE__ */ W(l, {
3963
+ sx: {
3964
+ display: "flex",
3965
+ gap: 1.5,
3966
+ alignItems: "center"
3967
+ },
3968
+ children: [a && /* @__PURE__ */ U(x, {
3969
+ sx: { color: "text.secondary" },
3970
+ children: d
3971
+ }), n && /* @__PURE__ */ U(x, {
3972
+ sx: { color: u },
3973
+ children: c
3974
+ })]
3857
3975
  })]
3858
3976
  });
3859
3977
  }
3860
3978
  //#endregion
3861
3979
  //#region src/components/rich-text-editor/RichTextEditor.tsx
3862
- function sr(e) {
3863
- if (!(e === "" || e === void 0)) return typeof e == "string" && e !== "auto" && !isNaN(Number(e)) ? Number(e) : e;
3864
- }
3865
- function cr({ value: e, onChange: t, placeholder: n, outputFormat: i = "html", height: a, width: o, showCharacterCount: s = !1, maxCharacters: c, toolbarConfig: u, disabled: d = !1, readonly: f = !1, name: p, error: m = !1, helperText: h, translation: g, onBlur: _, onFocus: y }) {
3866
- let b = {
3867
- ...Jn,
3868
- ...g
3869
- }, x = {
3870
- ...qn,
3871
- ...u
3872
- }, S = sr(a), C = sr(o), w = S === "auto", T = w ? void 0 : S ?? 200, E = Pe({
3980
+ function mr({ disabled: e = !1, error: t = !1, height: n, helperText: i, maxCharacters: a, name: o, placeholder: c, readonly: u = !1, showCharacterCount: d = !1, showToolbar: f = !0, showWordCount: p = !1, toolbarConfig: m, translation: h, value: g, width: _, onBlur: y, onChange: b, onFocus: x }) {
3981
+ let S = {
3982
+ ...rr,
3983
+ ...h
3984
+ }, C = {
3985
+ ...nr,
3986
+ ...m
3987
+ }, [w, T] = s(!1), E = kt(n), D = kt(_), k = E === "auto", A = k ? void 0 : E ?? 200, j = a !== void 0 && a > 0 || d || p, M = Ie({
3873
3988
  shouldRerenderOnTransaction: !0,
3874
3989
  extensions: [
3875
- Fe.configure({ link: { openOnClick: !1 } }),
3876
- Ie,
3877
- Le,
3878
- Re.configure({ multicolor: !0 }),
3879
- Ve.configure({
3990
+ Le.configure({ link: { openOnClick: !1 } }),
3991
+ Re,
3992
+ ze,
3993
+ Be.configure({ multicolor: !0 }),
3994
+ Ue.configure({
3880
3995
  transformPastedText: !0,
3881
3996
  transformCopiedText: !1
3882
3997
  }),
3883
- ze.configure({ placeholder: n ?? "" }),
3884
- ...c !== void 0 && c > 0 ? [Be.configure({ limit: c })] : s ? [Be] : []
3998
+ Ve.configure({ placeholder: c ?? "" }),
3999
+ ...j ? a !== void 0 && a > 0 ? [He.configure({ limit: a })] : [He] : []
3885
4000
  ],
3886
- content: e ?? "",
3887
- editable: !d && !f,
4001
+ content: g ?? "",
4002
+ editable: !e && !u,
3888
4003
  onUpdate({ editor: e }) {
3889
- t && t(i === "json" ? JSON.stringify(e.getJSON()) : e.getHTML());
4004
+ b?.(e.getHTML());
3890
4005
  },
3891
4006
  onBlur() {
3892
- _?.();
4007
+ y?.();
3893
4008
  },
3894
4009
  onFocus() {
3895
- y?.();
4010
+ x?.();
3896
4011
  }
3897
4012
  });
3898
4013
  r(() => {
3899
- !E || e === void 0 || (i === "json" ? JSON.stringify(E.getJSON()) : E.getHTML()) !== e && E.commands.setContent(e, { emitUpdate: !1 });
4014
+ !M || g === void 0 || M.getHTML() !== g && M.commands.setContent(g, { emitUpdate: !1 });
4015
+ }, [M, g]), r(() => {
4016
+ M && M.setEditable(!e && !u);
3900
4017
  }, [
3901
- E,
4018
+ M,
3902
4019
  e,
3903
- i
3904
- ]), r(() => {
3905
- E && E.setEditable(!d && !f);
3906
- }, [
3907
- E,
3908
- d,
3909
- f
4020
+ u
3910
4021
  ]);
3911
- let D = E?.storage.characterCount?.characters?.() ?? 0, k = s || c !== void 0 && c > 0 || !!h;
4022
+ let N = M?.storage.characterCount?.characters?.() ?? 0, P = M?.storage.characterCount?.words?.() ?? 0, F = d || a !== void 0 && a > 0 || p || !!i;
3912
4023
  return /* @__PURE__ */ W(l, {
3913
- sx: {
3914
- width: C ?? "100%",
3915
- ...w ? {
4024
+ sx: w ? {
4025
+ position: "fixed",
4026
+ top: 0,
4027
+ left: 0,
4028
+ width: "100vw",
4029
+ height: "100vh",
4030
+ zIndex: 1300,
4031
+ display: "flex",
4032
+ flexDirection: "column",
4033
+ bgcolor: "background.default",
4034
+ p: 1
4035
+ } : {
4036
+ width: D ?? "100%",
4037
+ ...k ? {
3916
4038
  display: "flex",
3917
4039
  flexDirection: "column",
3918
4040
  flex: 1
@@ -3925,50 +4047,54 @@ function cr({ value: e, onChange: t, placeholder: n, outputFormat: i = "html", h
3925
4047
  display: "flex",
3926
4048
  flexDirection: "column",
3927
4049
  overflow: "hidden",
3928
- ...w ? { flex: 1 } : { height: T },
3929
- borderColor: m ? "error.main" : void 0,
4050
+ ...w || k ? { flex: 1 } : { height: A },
4051
+ borderColor: t ? "error.main" : void 0,
3930
4052
  "&:focus-within": {
3931
- borderColor: m ? "error.main" : "primary.main",
4053
+ borderColor: t ? "error.main" : "primary.main",
3932
4054
  borderWidth: 2
3933
4055
  }
3934
4056
  },
3935
- children: [!f && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(ar, {
3936
- editor: E,
3937
- toolbarConfig: x,
3938
- translation: b,
3939
- disabled: d
3940
- }), /* @__PURE__ */ U(v, {})] }), /* @__PURE__ */ U(Yn, {
3941
- editor: E,
3942
- error: m,
3943
- disabled: d,
3944
- readonly: f
4057
+ children: [f && !u && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(fr, {
4058
+ editor: M,
4059
+ toolbarConfig: C,
4060
+ translation: S,
4061
+ disabled: e,
4062
+ isFullscreen: w,
4063
+ onToggleFullscreen: () => T((e) => !e)
4064
+ }), /* @__PURE__ */ U(v, {})] }), /* @__PURE__ */ U(ir, {
4065
+ editor: M,
4066
+ error: t,
4067
+ disabled: e,
4068
+ readonly: u
3945
4069
  })]
3946
4070
  }),
3947
- k && /* @__PURE__ */ U(or, {
3948
- helperText: h,
3949
- error: m,
3950
- showCharacterCount: s || c !== void 0 && c > 0,
3951
- charCount: D,
3952
- maxCharacters: c && c > 0 ? c : void 0,
3953
- translation: b
4071
+ F && /* @__PURE__ */ U(pr, {
4072
+ helperText: i,
4073
+ error: t,
4074
+ showCharacterCount: d || a !== void 0 && a > 0,
4075
+ charCount: N,
4076
+ maxCharacters: a && a > 0 ? a : void 0,
4077
+ showWordCount: p,
4078
+ wordCount: P,
4079
+ translation: S
3954
4080
  }),
3955
- p && /* @__PURE__ */ U("input", {
4081
+ o && /* @__PURE__ */ U("input", {
3956
4082
  type: "hidden",
3957
- name: p,
3958
- value: E ? i === "json" ? JSON.stringify(E.getJSON()) : E.getHTML() : ""
4083
+ name: o,
4084
+ value: M ? M.getHTML() : ""
3959
4085
  })
3960
4086
  ]
3961
4087
  });
3962
4088
  }
3963
4089
  //#endregion
3964
4090
  //#region src/components/sql-editor/SqlEditor.types.ts
3965
- var lr = {
4091
+ var hr = {
3966
4092
  showFormat: !0,
3967
4093
  showCopy: !0,
3968
4094
  showClear: !0,
3969
4095
  showExecute: !1,
3970
4096
  showUndoRedo: !0
3971
- }, ur = {
4097
+ }, gr = {
3972
4098
  format: "Format SQL",
3973
4099
  copy: "Copy",
3974
4100
  copySuccess: "Copied!",
@@ -3978,15 +4104,15 @@ var lr = {
3978
4104
  redo: "Redo",
3979
4105
  lineColumn: "Ln {line}, Col {col}",
3980
4106
  errorCount: "{count} error(s)"
3981
- }, dr = {
3982
- standard: ot,
3983
- mysql: rt,
3984
- postgresql: it,
3985
- sqlite: at,
3986
- mssql: nt
4107
+ }, _r = {
4108
+ standard: ut,
4109
+ mysql: st,
4110
+ postgresql: ct,
4111
+ sqlite: lt,
4112
+ mssql: ot
3987
4113
  };
3988
- function fr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly: a = !1, showLineNumbers: s = !0, dialect: c = "standard", keywordColor: u, stringColor: d, identifierColor: f, schema: p, onLint: m, onDiagnosticsChange: h, onViewReady: g, onCursorChange: _, onBlur: v, onFocus: y }) {
3989
- let b = o(null), x = o(null), S = o(t), C = o(_), w = o(v), T = o(y), E = o(g), D = o(m), O = o(h), k = o(new re()), A = o(new re()), j = L(), M = j.palette.mode === "dark", N = !!m, P = JSON.stringify(p);
4114
+ function vr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly: a = !1, showLineNumbers: s = !0, dialect: c = "standard", keywordColor: u, stringColor: d, identifierColor: f, schema: p, onLint: m, onDiagnosticsChange: h, onViewReady: g, onCursorChange: _, onBlur: v, onFocus: y }) {
4115
+ let b = o(null), x = o(null), S = o(t), C = o(_), w = o(v), T = o(y), E = o(g), D = o(m), O = o(h), k = o(new ne()), A = o(new ne()), j = L(), M = j.palette.mode === "dark", N = !!m, P = JSON.stringify(p);
3990
4116
  return r(() => {
3991
4117
  S.current = t;
3992
4118
  }, [t]), r(() => {
@@ -4003,44 +4129,44 @@ function fr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
4003
4129
  O.current = h;
4004
4130
  }, [h]), r(() => {
4005
4131
  if (!b.current) return;
4006
- let t = x.current?.state.doc.toString() ?? e ?? "", r = u ?? j.palette.primary.main, o = d ?? j.palette.success.main, l = f ?? j.palette.info.main, m = le.define([
4132
+ let t = x.current?.state.doc.toString() ?? e ?? "", r = u ?? j.palette.primary.main, o = d ?? j.palette.success.main, l = f ?? j.palette.info.main, m = de.define([
4007
4133
  {
4008
- tag: Z.keyword,
4134
+ tag: Y.keyword,
4009
4135
  color: r,
4010
4136
  fontWeight: "bold"
4011
4137
  },
4012
4138
  {
4013
- tag: Z.name,
4139
+ tag: Y.name,
4014
4140
  color: l
4015
4141
  },
4016
4142
  {
4017
- tag: [Z.string, Z.special(Z.string)],
4143
+ tag: [Y.string, Y.special(Y.string)],
4018
4144
  color: o,
4019
4145
  fontWeight: "bold"
4020
4146
  },
4021
4147
  {
4022
- tag: Z.number,
4148
+ tag: Y.number,
4023
4149
  color: j.palette.warning.main
4024
4150
  },
4025
4151
  {
4026
- tag: [Z.lineComment, Z.blockComment],
4152
+ tag: [Y.lineComment, Y.blockComment],
4027
4153
  color: j.palette.text.disabled,
4028
4154
  fontStyle: "italic"
4029
4155
  },
4030
4156
  {
4031
- tag: Z.operator,
4157
+ tag: Y.operator,
4032
4158
  color: j.palette.text.secondary
4033
4159
  },
4034
4160
  {
4035
- tag: [Z.function(Z.variableName), Z.function(Z.name)],
4161
+ tag: [Y.function(Y.variableName), Y.function(Y.name)],
4036
4162
  color: j.palette.secondary.main
4037
4163
  },
4038
4164
  {
4039
- tag: Z.typeName,
4165
+ tag: Y.typeName,
4040
4166
  color: j.palette.info.main
4041
4167
  },
4042
4168
  {
4043
- tag: Z.invalid,
4169
+ tag: Y.invalid,
4044
4170
  color: j.palette.error.main,
4045
4171
  textDecoration: "underline wavy"
4046
4172
  }
@@ -4129,24 +4255,24 @@ function fr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
4129
4255
  }
4130
4256
  }, v = [
4131
4257
  h,
4132
- ue(m),
4133
- st({
4134
- dialect: dr[c],
4258
+ fe(m),
4259
+ dt({
4260
+ dialect: _r[c],
4135
4261
  schema: g
4136
4262
  }),
4137
- J(),
4138
- ct(),
4139
- te.of([
4140
- ...se,
4263
+ se(),
4264
+ ft(),
4265
+ J.of([
4266
+ ...oe,
4141
4267
  ...ce,
4142
- ...lt
4268
+ ...pt
4143
4269
  ]),
4144
4270
  k.current.of(G.editable.of(!i && !a)),
4145
- A.current.of(ie.readOnly.of(a)),
4271
+ A.current.of(re.readOnly.of(a)),
4146
4272
  K(),
4147
- ...s ? [ne(), ee()] : [],
4148
- ...n ? [q(n)] : [],
4149
- ...N ? [de(), fe(_, { delay: 600 })] : [],
4273
+ ...s ? [ee(), q()] : [],
4274
+ ...n ? [te(n)] : [],
4275
+ ...N ? [pe(), me(_, { delay: 600 })] : [],
4150
4276
  G.updateListener.of((e) => {
4151
4277
  e.docChanged && S.current?.(e.state.doc.toString());
4152
4278
  let t = e.state.selection.main.head, n = e.state.doc.lineAt(t);
@@ -4161,7 +4287,7 @@ function fr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
4161
4287
  }
4162
4288
  })
4163
4289
  ], y = new G({
4164
- state: ie.create({
4290
+ state: re.create({
4165
4291
  doc: t,
4166
4292
  extensions: v
4167
4293
  }),
@@ -4188,7 +4314,7 @@ function fr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
4188
4314
  insert: e ?? ""
4189
4315
  } });
4190
4316
  }, [e]), r(() => {
4191
- x.current?.dispatch({ effects: [k.current.reconfigure(G.editable.of(!i && !a)), A.current.reconfigure(ie.readOnly.of(a))] });
4317
+ x.current?.dispatch({ effects: [k.current.reconfigure(G.editable.of(!i && !a)), A.current.reconfigure(re.readOnly.of(a))] });
4192
4318
  }, [i, a]), /* @__PURE__ */ U(l, {
4193
4319
  ref: b,
4194
4320
  sx: {
@@ -4208,29 +4334,14 @@ function fr({ value: e, onChange: t, placeholder: n, disabled: i = !1, readonly:
4208
4334
  }
4209
4335
  //#endregion
4210
4336
  //#region src/components/sql-editor/SqlEditorToolbar.tsx
4211
- var pr = {
4337
+ var yr = {
4212
4338
  standard: "sql",
4213
4339
  mysql: "mysql",
4214
4340
  postgresql: "postgresql",
4215
4341
  sqlite: "sqlite",
4216
4342
  mssql: "tsql"
4217
4343
  };
4218
- function mr({ label: e, icon: t, onClick: n, active: r, disabled: i }) {
4219
- return /* @__PURE__ */ U(F, {
4220
- title: e,
4221
- arrow: !0,
4222
- children: /* @__PURE__ */ U("span", { children: /* @__PURE__ */ U(S, {
4223
- size: "small",
4224
- onClick: n,
4225
- disabled: i,
4226
- color: r ? "primary" : "default",
4227
- sx: { borderRadius: 1 },
4228
- "aria-label": e,
4229
- children: t
4230
- }) })
4231
- });
4232
- }
4233
- function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled: i, onExecute: a }) {
4344
+ function br({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled: i, onExecute: a }) {
4234
4345
  let [o, c] = s(!1), u = i || !e.current;
4235
4346
  function d() {
4236
4347
  let t = e.current?.state.doc.toString() ?? "";
@@ -4248,18 +4359,18 @@ function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled
4248
4359
  }
4249
4360
  function p() {
4250
4361
  let t = e.current;
4251
- t && (X(t), t.focus());
4362
+ t && (ue(t), t.focus());
4252
4363
  }
4253
4364
  function m() {
4254
4365
  let t = e.current;
4255
- t && (Y(t), t.focus());
4366
+ t && (le(t), t.focus());
4256
4367
  }
4257
4368
  function h() {
4258
4369
  let t = e.current;
4259
4370
  if (!t) return;
4260
4371
  let n = t.state.doc.toString();
4261
4372
  try {
4262
- let e = dt(n, { language: pr[r] });
4373
+ let e = ht(n, { language: yr[r] });
4263
4374
  t.dispatch({ changes: {
4264
4375
  from: 0,
4265
4376
  to: t.state.doc.length,
@@ -4290,9 +4401,9 @@ function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled
4290
4401
  display: "flex",
4291
4402
  gap: .25
4292
4403
  },
4293
- children: /* @__PURE__ */ U(mr, {
4404
+ children: /* @__PURE__ */ U(X, {
4294
4405
  label: n.format,
4295
- icon: /* @__PURE__ */ U(ve, { fontSize: "small" }),
4406
+ icon: /* @__PURE__ */ U(be, { fontSize: "small" }),
4296
4407
  onClick: h,
4297
4408
  disabled: u
4298
4409
  })
@@ -4307,17 +4418,17 @@ function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled
4307
4418
  display: "flex",
4308
4419
  gap: .25
4309
4420
  },
4310
- children: [t.showCopy && /* @__PURE__ */ U(mr, {
4421
+ children: [t.showCopy && /* @__PURE__ */ U(X, {
4311
4422
  label: o ? n.copySuccess : n.copy,
4312
- icon: o ? /* @__PURE__ */ U(me, {
4423
+ icon: o ? /* @__PURE__ */ U(ge, {
4313
4424
  fontSize: "small",
4314
4425
  color: "success"
4315
- }) : /* @__PURE__ */ U(pe, { fontSize: "small" }),
4426
+ }) : /* @__PURE__ */ U(he, { fontSize: "small" }),
4316
4427
  onClick: d,
4317
4428
  disabled: u
4318
- }), t.showClear && /* @__PURE__ */ U(mr, {
4429
+ }), t.showClear && /* @__PURE__ */ U(X, {
4319
4430
  label: n.clear,
4320
- icon: /* @__PURE__ */ U(he, { fontSize: "small" }),
4431
+ icon: /* @__PURE__ */ U(_e, { fontSize: "small" }),
4321
4432
  onClick: f,
4322
4433
  disabled: u
4323
4434
  })]
@@ -4332,14 +4443,14 @@ function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled
4332
4443
  display: "flex",
4333
4444
  gap: .25
4334
4445
  },
4335
- children: [/* @__PURE__ */ U(mr, {
4446
+ children: [/* @__PURE__ */ U(X, {
4336
4447
  label: n.undo,
4337
- icon: /* @__PURE__ */ U(ge, { fontSize: "small" }),
4448
+ icon: /* @__PURE__ */ U(ve, { fontSize: "small" }),
4338
4449
  onClick: p,
4339
4450
  disabled: u
4340
- }), /* @__PURE__ */ U(mr, {
4451
+ }), /* @__PURE__ */ U(X, {
4341
4452
  label: n.redo,
4342
- icon: /* @__PURE__ */ U(_e, { fontSize: "small" }),
4453
+ icon: /* @__PURE__ */ U(ye, { fontSize: "small" }),
4343
4454
  onClick: m,
4344
4455
  disabled: u
4345
4456
  })]
@@ -4348,9 +4459,9 @@ function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled
4348
4459
  orientation: "vertical",
4349
4460
  flexItem: !0,
4350
4461
  sx: { mx: .5 }
4351
- }), /* @__PURE__ */ U(mr, {
4462
+ }), /* @__PURE__ */ U(X, {
4352
4463
  label: n.execute,
4353
- icon: /* @__PURE__ */ U(ut, { fontSize: "small" }),
4464
+ icon: /* @__PURE__ */ U(mt, { fontSize: "small" }),
4354
4465
  onClick: g,
4355
4466
  disabled: u
4356
4467
  })] }),
@@ -4360,7 +4471,7 @@ function hr({ viewRef: e, toolbarConfig: t, translation: n, dialect: r, disabled
4360
4471
  }
4361
4472
  //#endregion
4362
4473
  //#region src/components/sql-editor/SqlEditorFooter.tsx
4363
- function gr({ helperText: e, error: t, showLineColumn: n, showErrorCount: r, diagnosticsCount: i, cursorLine: a, cursorCol: o, translation: s }) {
4474
+ function xr({ helperText: e, error: t, showLineColumn: n, showErrorCount: r, diagnosticsCount: i, cursorLine: a, cursorCol: o, translation: s }) {
4364
4475
  let c = s.lineColumn.replace("{line}", String(a)).replace("{col}", String(o)), u = s.errorCount.replace("{count}", String(i));
4365
4476
  return /* @__PURE__ */ W(l, {
4366
4477
  sx: {
@@ -4376,7 +4487,7 @@ function gr({ helperText: e, error: t, showLineColumn: n, showErrorCount: r, dia
4376
4487
  alignItems: "center",
4377
4488
  gap: .5
4378
4489
  },
4379
- children: [/* @__PURE__ */ U(ft, { sx: {
4490
+ children: [/* @__PURE__ */ U(gt, { sx: {
4380
4491
  fontSize: "0.875rem",
4381
4492
  color: "error.main"
4382
4493
  } }), /* @__PURE__ */ U(x, {
@@ -4401,17 +4512,14 @@ function gr({ helperText: e, error: t, showLineColumn: n, showErrorCount: r, dia
4401
4512
  }
4402
4513
  //#endregion
4403
4514
  //#region src/components/sql-editor/SqlEditor.tsx
4404
- function _r(e) {
4405
- if (!(e === "" || e === void 0)) return typeof e == "string" && e !== "auto" && !isNaN(Number(e)) ? Number(e) : e;
4406
- }
4407
- function vr({ value: e, onChange: n, placeholder: r, height: i, width: a, disabled: c = !1, readonly: u = !1, error: d = !1, helperText: f, name: p, dialect: m = "standard", showLineNumbers: h = !0, showLineColumn: g = !0, showErrorCount: _ = !1, toolbarConfig: y, translation: b, highlightColors: x, schema: S, onExecute: C, onLint: w, onBlur: T, onFocus: E }) {
4515
+ function Sr({ value: e, onChange: n, placeholder: r, height: i, width: a, disabled: c = !1, readonly: u = !1, error: d = !1, helperText: f, name: p, dialect: m = "standard", showLineNumbers: h = !0, showLineColumn: g = !0, showErrorCount: _ = !1, toolbarConfig: y, translation: b, highlightColors: x, schema: S, onExecute: C, onLint: w, onBlur: T, onFocus: E }) {
4408
4516
  let D = {
4409
- ...ur,
4517
+ ...gr,
4410
4518
  ...b
4411
4519
  }, k = {
4412
- ...lr,
4520
+ ...hr,
4413
4521
  ...y
4414
- }, A = _r(i), j = _r(a), M = A === "auto", N = M ? void 0 : A ?? 300, P = o(null), [F, I] = s({
4522
+ }, A = kt(i), j = kt(a), M = A === "auto", N = M ? void 0 : A ?? 300, P = o(null), [F, I] = s({
4415
4523
  line: 1,
4416
4524
  col: 1
4417
4525
  }), [L, R] = s(0), z = t((e) => {
@@ -4447,14 +4555,14 @@ function vr({ value: e, onChange: n, placeholder: r, height: i, width: a, disabl
4447
4555
  borderWidth: 2
4448
4556
  }
4449
4557
  },
4450
- children: [!u && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(hr, {
4558
+ children: [!u && /* @__PURE__ */ W(H, { children: [/* @__PURE__ */ U(br, {
4451
4559
  viewRef: P,
4452
4560
  toolbarConfig: k,
4453
4561
  translation: D,
4454
4562
  dialect: m,
4455
4563
  disabled: c,
4456
4564
  onExecute: C
4457
- }), /* @__PURE__ */ U(v, {})] }), /* @__PURE__ */ U(fr, {
4565
+ }), /* @__PURE__ */ U(v, {})] }), /* @__PURE__ */ U(vr, {
4458
4566
  value: e,
4459
4567
  onChange: n,
4460
4568
  placeholder: r,
@@ -4474,7 +4582,7 @@ function vr({ value: e, onChange: n, placeholder: r, height: i, width: a, disabl
4474
4582
  onFocus: E
4475
4583
  })]
4476
4584
  }),
4477
- G && /* @__PURE__ */ U(gr, {
4585
+ G && /* @__PURE__ */ U(xr, {
4478
4586
  helperText: f,
4479
4587
  error: d,
4480
4588
  showLineColumn: g,
@@ -4493,4 +4601,4 @@ function vr({ value: e, onChange: n, placeholder: r, height: i, width: a, disabl
4493
4601
  });
4494
4602
  }
4495
4603
  //#endregion
4496
- export { vt as ConfirmDialogProvider, Pn as DEFAULT_CHECK_COLORS, pt as DEFAULT_CONFIRM_DIALOG_TRANSLATION, Zt as DEFAULT_GANTT_TRANSLATIONS, bt as DEFAULT_JSON_EDITOR_TOOLBAR_CONFIG, xt as DEFAULT_JSON_EDITOR_TRANSLATION, Nn as DEFAULT_METER_COLORS, Mn as DEFAULT_PASSWORD_TRANSLATIONS, qn as DEFAULT_RICH_TEXT_EDITOR_TOOLBAR_CONFIG, Jn as DEFAULT_RICH_TEXT_EDITOR_TRANSLATION, lr as DEFAULT_SQL_EDITOR_TOOLBAR_CONFIG, ur as DEFAULT_SQL_EDITOR_TRANSLATION, Hn as DEFAULT_TAG_SELECTION_TRANSLATION, kn as GanttChart, Ot as JsonEditor, In as PasswordStrengthMeter, cr as RichTextEditor, vr as SqlEditor, Kn as TagSelection, yt as useConfirm, Q as useGanttChartStore, wn as useGanttTheme, Sn as useGanttTranslations, bn as useRawGanttChartStore };
4604
+ export { St as ConfirmDialogProvider, Un as DEFAULT_CHECK_COLORS, _t as DEFAULT_CONFIRM_DIALOG_TRANSLATION, $t as DEFAULT_GANTT_TRANSLATIONS, wt as DEFAULT_JSON_EDITOR_TOOLBAR_CONFIG, Tt as DEFAULT_JSON_EDITOR_TRANSLATION, Hn as DEFAULT_METER_COLORS, Vn as DEFAULT_PASSWORD_TRANSLATIONS, nr as DEFAULT_RICH_TEXT_EDITOR_TOOLBAR_CONFIG, rr as DEFAULT_RICH_TEXT_EDITOR_TRANSLATION, hr as DEFAULT_SQL_EDITOR_TOOLBAR_CONFIG, gr as DEFAULT_SQL_EDITOR_TRANSLATION, Zn as DEFAULT_TAG_SELECTION_TRANSLATION, Ln as GanttChart, jt as JsonEditor, Gn as PasswordStrengthMeter, mr as RichTextEditor, Sr as SqlEditor, tr as TagSelection, Ct as useConfirm, Q as useGanttChartStore, Mn as useGanttTheme, $ as useGanttTranslations, kn as useRawGanttChartStore };