@krosoft/react 0.0.372 → 0.0.373

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/{AppActions-BDqro0i9.js → AppActions-DwzK-4t7.js} +1 -1
  2. package/dist/{markdown-DSJCcNLW.js → AppMarkdown-ZT7xBtTk.js} +1 -1
  3. package/dist/{AppSubTitle-BUDlWxlr.js → AppSubTitle-Bf9rFryk.js} +2 -2
  4. package/dist/{AppTitle-DPmsaG7W.js → AppTitle-CQgw2Ody.js} +1 -1
  5. package/dist/{ErrorAlert-BlFBMJKb.js → ErrorAlert-BYy61fcZ.js} +1 -1
  6. package/dist/{GenericForm-yN7n8H-J.js → GenericForm-C-vJXpaF.js} +5 -5
  7. package/dist/{ImageInput-C33Qz6iQ.js → ImageInput-BDTQi0U9.js} +1 -1
  8. package/dist/{MultiSelect-C0zdITRK.js → MultiSelect-60rgAOBX.js} +2 -2
  9. package/dist/{SearchInput-Jglr2iL0.js → SearchInput-CqU6crOu.js} +3 -3
  10. package/dist/{behavior-DHRFESHv.js → behavior-DRGttGb4.js} +15 -15
  11. package/dist/{cards-DztQfhm5.js → cards-Bwm6Scwc.js} +1 -1
  12. package/dist/changelog-DA5nb3BI.js +126 -0
  13. package/dist/changelog.helper-BjCKlB0M.js +31 -0
  14. package/dist/{charts-Dkl6yR2w.js → charts-hsygNEkd.js} +1 -1
  15. package/dist/components/core/cards/index.js +1 -1
  16. package/dist/components/core/changelog/AppChangelog.d.ts +16 -0
  17. package/dist/components/core/changelog/AppChangelog.d.ts.map +1 -0
  18. package/dist/components/core/changelog/AppChangelogEntry.d.ts +14 -0
  19. package/dist/components/core/changelog/AppChangelogEntry.d.ts.map +1 -0
  20. package/dist/components/core/changelog/AppChangelogNav.d.ts +12 -0
  21. package/dist/components/core/changelog/AppChangelogNav.d.ts.map +1 -0
  22. package/dist/components/core/changelog/index.d.ts +3 -0
  23. package/dist/components/core/changelog/index.d.ts.map +1 -0
  24. package/dist/components/core/changelog/index.js +1 -0
  25. package/dist/components/core/charts/index.js +1 -1
  26. package/dist/components/core/dialogs/index.js +2 -2
  27. package/dist/components/core/filters/index.js +4 -4
  28. package/dist/components/core/forms/index.js +1 -1
  29. package/dist/components/core/index.d.ts +1 -0
  30. package/dist/components/core/index.d.ts.map +1 -1
  31. package/dist/components/core/index.js +25 -24
  32. package/dist/components/core/inputs/index.js +4 -4
  33. package/dist/components/core/language/index.js +1 -1
  34. package/dist/components/core/layouts/index.js +7 -7
  35. package/dist/components/core/markdown/index.js +1 -1
  36. package/dist/components/core/navbar/index.js +1 -1
  37. package/dist/components/core/states/index.js +2 -2
  38. package/dist/components/core/table/index.js +2 -2
  39. package/dist/components/core/tabs/index.js +4 -4
  40. package/dist/components/core/theme/index.js +1 -1
  41. package/dist/components/index.js +25 -24
  42. package/dist/components/ui/index.js +1 -1
  43. package/dist/{dialogs-QZii0VSI.js → dialogs-0PwhK6c1.js} +4 -4
  44. package/dist/helpers/changelog.helper.d.ts +9 -0
  45. package/dist/helpers/changelog.helper.d.ts.map +1 -0
  46. package/dist/helpers/index.d.ts +1 -0
  47. package/dist/helpers/index.d.ts.map +1 -1
  48. package/dist/helpers/index.js +15 -14
  49. package/dist/hooks/behavior/index.js +1 -1
  50. package/dist/hooks/index.js +7 -7
  51. package/dist/hooks/ui/index.js +6 -6
  52. package/dist/i18n/index.js +1 -1
  53. package/dist/i18n/krosoftLocales.d.ts +8 -0
  54. package/dist/i18n/krosoftLocales.d.ts.map +1 -1
  55. package/dist/{i18n-BLIrm5Rk.js → i18n-CytpX2hK.js} +8 -0
  56. package/dist/{inputs-CF9324Xz.js → inputs-D-ZCdo5D.js} +1 -1
  57. package/dist/{language-BHtRQqgU.js → language-Du46nzYN.js} +2 -2
  58. package/dist/{navbar-DNQXcl3F.js → navbar-j2_a1yrA.js} +3 -3
  59. package/dist/pwa/index.js +1 -1
  60. package/dist/seasonal/index.js +1 -1
  61. package/dist/{sheet-De5YryEi.js → sheet-AgDmjyf2.js} +1 -1
  62. package/dist/{states-DXTJV4DS.js → states-BVEFGM99.js} +1 -1
  63. package/dist/{theme-BQRtT5mk.js → theme-CVY1Dh3F.js} +2 -2
  64. package/dist/types/ChangelogEntry.d.ts +14 -0
  65. package/dist/types/ChangelogEntry.d.ts.map +1 -0
  66. package/dist/types/index.d.ts +1 -0
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/{useDocumentTitle-DKldGP8V.js → useDocumentTitle-DYRVJ5wt.js} +1 -1
  69. package/dist/{useLanguage-CPfCdO2T.js → useLanguage-CJM24_Ab.js} +1 -1
  70. package/dist/{useTheme-Cbep8NPk.js → useTheme-C5PI6ifZ.js} +1 -1
  71. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-BLIrm5Rk.js";
2
+ import { t } from "./i18n-CytpX2hK.js";
3
3
  import { Nt as n, Rt as r, Ut as i, jt as a, kt as o } from "./ui-Fxy95kSJ.js";
4
4
  import { c as s } from "./tooltip-_geGvbS7.js";
5
5
  import { t as c } from "./useMobile-pTQ8lWvt.js";
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
2
  import { t } from "./markdown.helper-YJE2H5KQ.js";
3
- import { t as n } from "./i18n-BLIrm5Rk.js";
3
+ import { t as n } from "./i18n-CytpX2hK.js";
4
4
  import { t as r } from "./useNotifications-CyhTruIG.js";
5
5
  import { useEffect as i } from "react";
6
6
  import { jsx as a, jsxs as o } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
- import { t as e } from "./i18n-BLIrm5Rk.js";
2
- import { t } from "./AppActions-BDqro0i9.js";
1
+ import { t as e } from "./i18n-CytpX2hK.js";
2
+ import { t } from "./AppActions-DwzK-4t7.js";
3
3
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  //#region src/components/core/layouts/AppSubTitle.tsx
5
5
  function i({ titleKey: i, actions: a, className: o }) {
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-BLIrm5Rk.js";
2
+ import { t } from "./i18n-CytpX2hK.js";
3
3
  import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
4
  //#region src/components/core/layouts/AppTitle.tsx
5
5
  function i({ titleKey: i, descriptionKey: a, isSubTitle: o, inline: s }) {
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-BLIrm5Rk.js";
1
+ import { t as e } from "./i18n-CytpX2hK.js";
2
2
  import { n as t, t as n } from "./alert-REQGK9bR.js";
3
3
  import "react";
4
4
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
@@ -1,14 +1,14 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
2
  import { c as t, d as n, s as r } from "./chart-wW-fwL3s.js";
3
- import { t as i } from "./i18n-BLIrm5Rk.js";
3
+ import { t as i } from "./i18n-CytpX2hK.js";
4
4
  import { Dt as a, Et as o, St as s, Tt as c, p as l, vn as u, wt as d, xt as f } from "./ui-Fxy95kSJ.js";
5
5
  import { c as p } from "./tooltip-_geGvbS7.js";
6
- import { g as m } from "./sheet-De5YryEi.js";
6
+ import { g as m } from "./sheet-AgDmjyf2.js";
7
7
  import { i as h, l as g, n as _, t as ee, u as v } from "./select-KWMg2_7Z.js";
8
8
  import { n as y } from "./useToast-UeDRLovh.js";
9
- import { t as b } from "./ImageInput-C33Qz6iQ.js";
10
- import { t as x } from "./AppSubTitle-BUDlWxlr.js";
11
- import { t as S } from "./MultiSelect-C0zdITRK.js";
9
+ import { t as b } from "./ImageInput-BDTQi0U9.js";
10
+ import { t as x } from "./AppSubTitle-Bf9rFryk.js";
11
+ import { t as S } from "./MultiSelect-60rgAOBX.js";
12
12
  import { useEffect as C, useRef as w, useState as T } from "react";
13
13
  import { jsx as E, jsxs as D } from "react/jsx-runtime";
14
14
  import { useForm as O } from "react-hook-form";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-BLIrm5Rk.js";
2
+ import { t } from "./i18n-CytpX2hK.js";
3
3
  import { c as n } from "./tooltip-_geGvbS7.js";
4
4
  import { t as r } from "./useNotifications-CyhTruIG.js";
5
5
  import { forwardRef as i, useRef as a, useState as o } from "react";
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-BLIrm5Rk.js";
2
+ import { t } from "./i18n-CytpX2hK.js";
3
3
  import { Mn as n, vn as r } from "./ui-Fxy95kSJ.js";
4
4
  import { a as i, o as a, s as o } from "./tooltip-_geGvbS7.js";
5
- import { h as s, m as c, p as l } from "./sheet-De5YryEi.js";
5
+ import { h as s, m as c, p as l } from "./sheet-AgDmjyf2.js";
6
6
  import { useCallback as u, useLayoutEffect as d, useMemo as f, useRef as p, useState as m } from "react";
7
7
  import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
8
8
  import { ChevronDownIcon as v, SearchIcon as y, XIcon as b } from "lucide-react";
@@ -1,10 +1,10 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { r as t, t as n } from "./i18n-BLIrm5Rk.js";
2
+ import { r as t, t as n } from "./i18n-CytpX2hK.js";
3
3
  import { wn as r } from "./ui-Fxy95kSJ.js";
4
4
  import { c as i, o as a, s as o } from "./tooltip-_geGvbS7.js";
5
- import { g as s, h as c, m as l, p as u } from "./sheet-De5YryEi.js";
5
+ import { g as s, h as c, m as l, p as u } from "./sheet-AgDmjyf2.js";
6
6
  import { i as d, l as f, n as p, t as m, u as h } from "./select-KWMg2_7Z.js";
7
- import { n as g, r as _ } from "./MultiSelect-C0zdITRK.js";
7
+ import { n as g, r as _ } from "./MultiSelect-60rgAOBX.js";
8
8
  import * as v from "react";
9
9
  import { useEffect as y, useMemo as b, useRef as x, useState as S } from "react";
10
10
  import { jsx as C, jsxs as w } from "react/jsx-runtime";
@@ -1,13 +1,13 @@
1
- import { t as e } from "./i18n-BLIrm5Rk.js";
1
+ import { t as e } from "./i18n-CytpX2hK.js";
2
2
  import { n as t } from "./datatable-COQcYUrk.js";
3
3
  import "./constants/index.js";
4
4
  import { n, t as r } from "./sidebar.context-BahtU6hE.js";
5
5
  import * as i from "react";
6
6
  import { useCallback as a, useContext as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
7
7
  import { TrashIcon as d } from "lucide-react";
8
- import { format as f, parse as p } from "date-fns";
9
- import { useQuery as m } from "@tanstack/react-query";
10
- import { useSearchParams as h } from "react-router-dom";
8
+ import { useSearchParams as f } from "react-router-dom";
9
+ import { format as p, parse as m } from "date-fns";
10
+ import { useQuery as h } from "@tanstack/react-query";
11
11
  //#region src/hooks/behavior/useDialog.ts
12
12
  var g = (e) => {
13
13
  let [t, n] = u(null);
@@ -84,8 +84,8 @@ var g = (e) => {
84
84
  let e = o(r);
85
85
  if (e === void 0) throw Error("useSidebar must be used within a SidebarProvider");
86
86
  return e;
87
- }, C = ({ queryKey: e, queryFn: n, defaultSortField: r = "", defaultSortDirection: i = "asc", defaultPageSize: o = t, additionalQueryParams: d = {}, resetUrlParams: f = [], onResetFilters: p = () => {}, enabled: g = !0 }) => {
88
- let [_, v] = h(), b = parseInt(_.get("page") || "1", 10), x = _.get("search") || "", S = _.get("sortField") || r, C = _.get("sortDirection") || i, [w, T] = u(b), [E, D] = u(o), O = a((e) => {
87
+ }, C = ({ queryKey: e, queryFn: n, defaultSortField: r = "", defaultSortDirection: i = "asc", defaultPageSize: o = t, additionalQueryParams: d = {}, resetUrlParams: p = [], onResetFilters: m = () => {}, enabled: g = !0 }) => {
88
+ let [_, v] = f(), b = parseInt(_.get("page") || "1", 10), x = _.get("search") || "", S = _.get("sortField") || r, C = _.get("sortDirection") || i, [w, T] = u(b), [E, D] = u(o), O = a((e) => {
89
89
  D(e), T(1);
90
90
  }, []), [k, A] = u(x), [j, M] = u(S), [N, P] = u(C), [F, I] = y(k, 300), L = l(F);
91
91
  s(() => {
@@ -117,16 +117,16 @@ var g = (e) => {
117
117
  }] : [], [j, N]), B = a((e) => {
118
118
  e && (j === e ? P(N === "asc" ? "desc" : "asc") : (M(e), P("asc")));
119
119
  }, [j, N]), V = a(() => {
120
- A(""), I(""), T(1), M(r), P(i), v((e) => (e.delete("page"), e.delete("search"), e.delete("sortField"), e.delete("sortDirection"), f.forEach((t) => {
120
+ A(""), I(""), T(1), M(r), P(i), v((e) => (e.delete("page"), e.delete("search"), e.delete("sortField"), e.delete("sortDirection"), p.forEach((t) => {
121
121
  e.delete(t);
122
- }), e), { replace: !0 }), p();
122
+ }), e), { replace: !0 }), m();
123
123
  }, [
124
124
  r,
125
125
  i,
126
126
  I,
127
127
  v,
128
- f,
129
- p
128
+ p,
129
+ m
130
130
  ]), H = c(() => [
131
131
  ...e,
132
132
  R,
@@ -135,7 +135,7 @@ var g = (e) => {
135
135
  e,
136
136
  R,
137
137
  z
138
- ]), { data: U, isLoading: W, error: G, refetch: K } = m({
138
+ ]), { data: U, isLoading: W, error: G, refetch: K } = h({
139
139
  queryKey: H,
140
140
  queryFn: () => n(R, z),
141
141
  enabled: g
@@ -159,7 +159,7 @@ var g = (e) => {
159
159
  };
160
160
  }, w = "yyyy-MM-dd";
161
161
  function T(e, t, n, r) {
162
- let [i, o] = h(), s = i.get(e), c;
162
+ let [i, o] = f(), s = i.get(e), c;
163
163
  c = s === null ? t : n ? n(s) : s;
164
164
  let l = a((n) => {
165
165
  o((i) => {
@@ -182,16 +182,16 @@ function D(e, t) {
182
182
  }
183
183
  var O = (e) => {
184
184
  if (!e) return;
185
- let [t, n] = e.split("_"), r = t ? p(t, w, /* @__PURE__ */ new Date()) : void 0;
185
+ let [t, n] = e.split("_"), r = t ? m(t, w, /* @__PURE__ */ new Date()) : void 0;
186
186
  if (!r || isNaN(r.getTime())) return;
187
- let i = n ? p(n, w, /* @__PURE__ */ new Date()) : void 0;
187
+ let i = n ? m(n, w, /* @__PURE__ */ new Date()) : void 0;
188
188
  return {
189
189
  from: r,
190
190
  to: i && !isNaN(i.getTime()) ? i : void 0
191
191
  };
192
192
  }, k = (e) => {
193
193
  if (!e?.from) return "";
194
- let t = f(e.from, w), n = e.to ? f(e.to, w) : "";
194
+ let t = p(e.from, w), n = e.to ? p(e.to, w) : "";
195
195
  return n ? `${t}_${n}` : t;
196
196
  };
197
197
  function A(e) {
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
2
  import { c as t, d as n, f as r, s as i } from "./chart-wW-fwL3s.js";
3
- import { t as a } from "./i18n-BLIrm5Rk.js";
3
+ import { t as a } from "./i18n-CytpX2hK.js";
4
4
  import { t as o } from "./skeleton-D6Ga4BLw.js";
5
5
  import "react";
6
6
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
@@ -0,0 +1,126 @@
1
+ import { t as e } from "./changelog.helper-BjCKlB0M.js";
2
+ import { t } from "./tailwind.helper-CJaRYBmL.js";
3
+ import { r as n, t as r } from "./i18n-CytpX2hK.js";
4
+ import { t as i } from "./useNotifications-CyhTruIG.js";
5
+ import { t as a } from "./AppMarkdown-ZT7xBtTk.js";
6
+ import { useEffect as o, useMemo as s } from "react";
7
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
8
+ import { LinkIcon as d } from "lucide-react";
9
+ import { useLocation as f, useNavigate as p } from "react-router-dom";
10
+ import { format as m } from "date-fns";
11
+ //#region src/components/core/changelog/AppChangelogEntry.tsx
12
+ var h = ({ entry: e, isLatest: i, isLast: o, isActive: s, onSelect: f, onCopyLink: p }) => {
13
+ let { t: h } = r(), g = n();
14
+ return /* @__PURE__ */ u("section", {
15
+ id: e.id,
16
+ className: "group flex scroll-mt-4 gap-4",
17
+ children: [/* @__PURE__ */ u("div", {
18
+ className: "flex w-24 shrink-0 flex-col items-center",
19
+ children: [
20
+ /* @__PURE__ */ l("a", {
21
+ href: `#${e.id}`,
22
+ onClick: (t) => {
23
+ t.preventDefault(), f(e.id);
24
+ },
25
+ className: t("mb-2 text-center text-xs font-medium leading-tight text-muted-foreground hover:text-primary", s && "text-primary"),
26
+ children: e.date ? /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l("span", {
27
+ className: "block",
28
+ children: m(e.date, "d MMM yyyy", { locale: g })
29
+ }), e.hasTime ? /* @__PURE__ */ l("span", {
30
+ className: "block opacity-70",
31
+ children: m(e.date, "HH:mm", { locale: g })
32
+ }) : null] }) : e.title
33
+ }),
34
+ /* @__PURE__ */ l("div", { className: t("relative z-10 size-3 shrink-0 rounded-full", i ? "bg-primary" : "bg-muted-foreground/40", s && "ring-4 ring-primary/20") }),
35
+ o ? null : /* @__PURE__ */ l("div", { className: "w-0.5 grow bg-border" })
36
+ ]
37
+ }), /* @__PURE__ */ u("div", {
38
+ className: t("relative mb-6 min-w-0 grow rounded-lg border bg-card px-5 py-4 pr-12 shadow-sm transition-colors [&>p:last-child]:mb-0", s && "border-primary/50"),
39
+ children: [/* @__PURE__ */ l("button", {
40
+ type: "button",
41
+ onClick: () => {
42
+ p(e.id);
43
+ },
44
+ title: h("markdown.copyLink"),
45
+ "aria-label": h("markdown.copyLink"),
46
+ className: "absolute right-4 top-4 inline-flex text-muted-foreground transition-opacity hover:text-primary md:opacity-0 md:focus-visible:opacity-100 md:group-hover:opacity-100",
47
+ children: /* @__PURE__ */ l(d, { className: "size-4" })
48
+ }), /* @__PURE__ */ l(a, {
49
+ content: e.content,
50
+ headingAnchors: !1
51
+ })]
52
+ })]
53
+ });
54
+ }, g = ({ entries: e, activeId: i, onSelect: a, className: o }) => {
55
+ let { t: s } = r(), c = n();
56
+ return /* @__PURE__ */ u("nav", {
57
+ "aria-label": s("changelog.nav"),
58
+ className: o,
59
+ children: [/* @__PURE__ */ l("p", {
60
+ className: "mb-2 px-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",
61
+ children: s("changelog.nav")
62
+ }), /* @__PURE__ */ l("ul", {
63
+ className: "space-y-0.5 border-l",
64
+ children: e.map((e) => /* @__PURE__ */ l("li", { children: /* @__PURE__ */ l("a", {
65
+ href: `#${e.id}`,
66
+ onClick: (t) => {
67
+ t.preventDefault(), a(e.id);
68
+ },
69
+ className: t("-ml-px block border-l-2 border-transparent px-3 py-1 text-sm text-muted-foreground hover:border-muted-foreground/40 hover:text-foreground", e.id === i && "border-primary font-medium text-primary hover:border-primary hover:text-primary"),
70
+ children: e.date ? m(e.date, e.hasTime ? "d MMM yyyy · HH:mm" : "d MMM yyyy", { locale: c }) : e.title
71
+ }) }, e.id))
72
+ })]
73
+ });
74
+ }, _ = ({ content: t, showNav: n = !0 }) => {
75
+ let { t: a } = r(), { showSuccess: c, showError: d } = i(), m = f(), _ = p(), v = s(() => e(t), [t]), y = decodeURIComponent(m.hash.slice(1)), b = v.some((e) => e.id === y) ? y : void 0;
76
+ o(() => {
77
+ if (!b) return;
78
+ let e = requestAnimationFrame(() => {
79
+ document.getElementById(b)?.scrollIntoView({
80
+ behavior: "smooth",
81
+ block: "start"
82
+ });
83
+ });
84
+ return () => {
85
+ cancelAnimationFrame(e);
86
+ };
87
+ }, [b]);
88
+ let x = (e) => {
89
+ _({
90
+ search: m.search,
91
+ hash: `#${e}`
92
+ }, { replace: !0 });
93
+ }, S = async (e) => {
94
+ x(e);
95
+ let t = `${window.location.origin}${m.pathname}${m.search}#${e}`;
96
+ try {
97
+ await navigator.clipboard.writeText(t), c(a("markdown.linkCopied"));
98
+ } catch {
99
+ d(a("markdown.linkCopyError"));
100
+ }
101
+ };
102
+ return v.length === 0 ? /* @__PURE__ */ l("p", {
103
+ className: "text-sm text-muted-foreground",
104
+ children: a("changelog.empty")
105
+ }) : /* @__PURE__ */ u("div", {
106
+ className: "flex gap-8",
107
+ children: [/* @__PURE__ */ l("div", {
108
+ className: "min-w-0 flex-1",
109
+ children: v.map((e, t) => /* @__PURE__ */ l(h, {
110
+ entry: e,
111
+ isLatest: t === 0,
112
+ isLast: t === v.length - 1,
113
+ isActive: e.id === b,
114
+ onSelect: x,
115
+ onCopyLink: (e) => void S(e)
116
+ }, e.id))
117
+ }), n ? /* @__PURE__ */ l(g, {
118
+ entries: v,
119
+ activeId: b,
120
+ onSelect: x,
121
+ className: "sticky top-4 hidden max-h-[calc(100vh-2rem)] w-52 shrink-0 self-start overflow-y-auto xl:block"
122
+ }) : null]
123
+ });
124
+ };
125
+ //#endregion
126
+ export { _ as t };
@@ -0,0 +1,31 @@
1
+ //#region src/helpers/changelog.helper.ts
2
+ var e = /^## +(.+?)\s*$/, t = /^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}))?/, n = (e) => e.trim().toLowerCase().replace(/[^\p{L}\p{N}\s_-]/gu, "").replace(/\s/g, "-"), r = (e) => {
3
+ let n = t.exec(e);
4
+ if (!n) return { hasTime: !1 };
5
+ let [, r, i, a, o, s] = n, c = o !== void 0 && s !== void 0, l = new Date(Number(r), Number(i) - 1, Number(a), c ? Number(o) : 0, c ? Number(s) : 0);
6
+ return Number.isNaN(l.getTime()) ? { hasTime: !1 } : {
7
+ date: l,
8
+ hasTime: c
9
+ };
10
+ }, i = (t) => {
11
+ let i = [], a = /* @__PURE__ */ new Map(), o, s = () => {
12
+ if (!o) return;
13
+ let e = n(o.title), t = a.get(e) ?? 0;
14
+ a.set(e, t + 1), i.push({
15
+ id: t === 0 ? e : `${e}-${String(t)}`,
16
+ title: o.title,
17
+ ...r(o.title),
18
+ content: o.lines.join("\n").trim()
19
+ });
20
+ };
21
+ for (let n of t.split(/\r?\n/)) {
22
+ let t = e.exec(n)?.[1];
23
+ t === void 0 ? o?.lines.push(n) : (s(), o = {
24
+ title: t,
25
+ lines: []
26
+ });
27
+ }
28
+ return s(), i;
29
+ };
30
+ //#endregion
31
+ export { n, i as t };
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
2
  import { a as t, c as n, d as r, f as i, l as a, n as o, o as s, r as c, s as l, t as u } from "./chart-wW-fwL3s.js";
3
- import { t as d } from "./i18n-BLIrm5Rk.js";
3
+ import { t as d } from "./i18n-CytpX2hK.js";
4
4
  import { t as f } from "./skeleton-D6Ga4BLw.js";
5
5
  import { t as p } from "./useMobile-pTQ8lWvt.js";
6
6
  import * as m from "react";
@@ -1 +1 @@
1
- export { o as DashboardCard, a as KpiCard, i as KpiCards, r as MetricCard, n as SkeletonCard, t as SkeletonCards } from "../../../cards-DztQfhm5.js";
1
+ export { o as DashboardCard, a as KpiCard, i as KpiCards, r as MetricCard, n as SkeletonCard, t as SkeletonCards } from "../../../cards-Bwm6Scwc.js";
@@ -0,0 +1,16 @@
1
+ import type { JSX } from "react";
2
+ export interface AppChangelogProps {
3
+ /**
4
+ * Journal en markdown : une entrée par titre `## AAAA-MM-JJ HH:MM`, les plus récentes en premier.
5
+ * Le contenu de chaque entrée est rendu par `AppMarkdown`.
6
+ */
7
+ content: string;
8
+ /** Sommaire des dates à droite de la frise (écrans larges uniquement). Vrai par défaut. */
9
+ showNav?: boolean;
10
+ }
11
+ /**
12
+ * Frise d'un journal des modifications. Chaque date porte une ancre partageable (`#2026-10-30-1441`) :
13
+ * ouvrir l'url fait défiler jusqu'à l'entrée, qui est mise en évidence dans la frise et le sommaire.
14
+ */
15
+ export declare const AppChangelog: ({ content, showNav }: AppChangelogProps) => JSX.Element;
16
+ //# sourceMappingURL=AppChangelog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppChangelog.d.ts","sourceRoot":"","sources":["../../../../src/components/core/changelog/AppChangelog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AASjC,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,sBAA6B,iBAAiB,KAAG,GAAG,CAAC,OAoEjF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { JSX } from "react";
2
+ import type { ChangelogEntry } from "../../../types/ChangelogEntry.js";
3
+ interface AppChangelogEntryProps {
4
+ entry: ChangelogEntry;
5
+ isLatest: boolean;
6
+ isLast: boolean;
7
+ isActive: boolean;
8
+ onSelect: (id: string) => void;
9
+ onCopyLink: (id: string) => void;
10
+ }
11
+ /** Une entrée de la frise : date et pastille à gauche, reliées par un trait, contenu markdown dans une carte à droite. */
12
+ export declare const AppChangelogEntry: ({ entry, isLatest, isLast, isActive, onSelect, onCopyLink }: AppChangelogEntryProps) => JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=AppChangelogEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppChangelogEntry.d.ts","sourceRoot":"","sources":["../../../../src/components/core/changelog/AppChangelogEntry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,0HAA0H;AAC1H,eAAO,MAAM,iBAAiB,GAAI,6DAA6D,sBAAsB,KAAG,GAAG,CAAC,OAmD3H,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { JSX } from "react";
2
+ import type { ChangelogEntry } from "../../../types/ChangelogEntry.js";
3
+ interface AppChangelogNavProps {
4
+ entries: ChangelogEntry[];
5
+ activeId?: string;
6
+ onSelect: (id: string) => void;
7
+ className?: string;
8
+ }
9
+ /** Sommaire des dates de la frise : un clic fait défiler jusqu'à l'entrée (et pose son ancre dans l'url). */
10
+ export declare const AppChangelogNav: ({ entries, activeId, onSelect, className }: AppChangelogNavProps) => JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=AppChangelogNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppChangelogNav.d.ts","sourceRoot":"","sources":["../../../../src/components/core/changelog/AppChangelogNav.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,UAAU,oBAAoB;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6GAA6G;AAC7G,eAAO,MAAM,eAAe,GAAI,4CAA4C,oBAAoB,KAAG,GAAG,CAAC,OA4BtG,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { AppChangelog } from "./AppChangelog";
2
+ export type { AppChangelogProps } from "./AppChangelog";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/core/changelog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export { t as AppChangelog } from "../../../changelog-DA5nb3BI.js";
@@ -1 +1 @@
1
- export { c as BarChartHorizontal, s as BarChartVertical, a as CHART_COLORS, i as ChartCard, r as CircularGauge, n as LineChart, t as PieChart, o as getChartColor } from "../../../charts-Dkl6yR2w.js";
1
+ export { c as BarChartHorizontal, s as BarChartVertical, a as CHART_COLORS, i as ChartCard, r as CircularGauge, n as LineChart, t as PieChart, o as getChartColor } from "../../../charts-hsygNEkd.js";
@@ -1,4 +1,4 @@
1
1
  import { F as e } from "../../../ui-Fxy95kSJ.js";
2
- import { A as t, D as n, E as r, F as i, M as a, N as o, O as s, P as c, j as l, k as u } from "../../../sheet-De5YryEi.js";
3
- import { i as d, n as f, r as p, t as m } from "../../../dialogs-QZii0VSI.js";
2
+ import { A as t, D as n, E as r, F as i, M as a, N as o, O as s, P as c, j as l, k as u } from "../../../sheet-AgDmjyf2.js";
3
+ import { i as d, n as f, r as p, t as m } from "../../../dialogs-0PwhK6c1.js";
4
4
  export { m as AboutDialog, d as AppDialog, f as ConfirmationDialog, r as Dialog, n as DialogClose, s as DialogContent, u as DialogDescription, t as DialogFooter, l as DialogHeader, a as DialogOverlay, o as DialogPortal, c as DialogTitle, i as DialogTrigger, p as FormDialog, e as Progress };
@@ -1,12 +1,12 @@
1
1
  import { t as e } from "../../../tailwind.helper-CJaRYBmL.js";
2
- import { t } from "../../../i18n-BLIrm5Rk.js";
2
+ import { t } from "../../../i18n-CytpX2hK.js";
3
3
  import { $t as n, Gt as r, Jt as i, Kt as a, Mn as o, Qt as s, Wt as c, Yt as l, n as u, t as d } from "../../../ui-Fxy95kSJ.js";
4
4
  import { a as f, c as p } from "../../../tooltip-_geGvbS7.js";
5
- import { a as m, g as h, h as g, l as _, m as v, o as y, p as b, r as x, t as S, u as C } from "../../../sheet-De5YryEi.js";
5
+ import { a as m, g as h, h as g, l as _, m as v, o as y, p as b, r as x, t as S, u as C } from "../../../sheet-AgDmjyf2.js";
6
6
  import { n as w } from "../../../switch-DspImmo_.js";
7
7
  import { t as T } from "../../../useMobile-pTQ8lWvt.js";
8
- import { t as E } from "../../../MultiSelect-C0zdITRK.js";
9
- import { i as D, n as O, r as k, t as A } from "../../../SearchInput-Jglr2iL0.js";
8
+ import { t as E } from "../../../MultiSelect-60rgAOBX.js";
9
+ import { i as D, n as O, r as k, t as A } from "../../../SearchInput-CqU6crOu.js";
10
10
  import { useEffect as j, useMemo as M, useRef as N, useState as P } from "react";
11
11
  import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
12
12
  import { getLocale as R } from "@krosoft/core/helpers";
@@ -1 +1 @@
1
- export { t as GenericForm } from "../../../GenericForm-yN7n8H-J.js";
1
+ export { t as GenericForm } from "../../../GenericForm-C-vJXpaF.js";
@@ -1,4 +1,5 @@
1
1
  export * from "./cards";
2
+ export * from "./changelog";
2
3
  export * from "./charts";
3
4
  export * from "./dialogs";
4
5
  export * from "./filters";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -1,25 +1,26 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "../../cards-DztQfhm5.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../../cards-Bwm6Scwc.js";
2
2
  import { F as o } from "../../ui-Fxy95kSJ.js";
3
- import { A as s, D as c, E as l, F as u, M as d, N as f, O as p, P as m, j as h, k as g } from "../../sheet-De5YryEi.js";
4
- import { a as _, c as v, i as y, n as b, o as x, r as S, s as C, t as w } from "../../charts-Dkl6yR2w.js";
5
- import { t as T } from "../../ErrorAlert-BlFBMJKb.js";
6
- import { i as E, n as D, r as O, t as k } from "../../dialogs-QZii0VSI.js";
7
- import { t as A } from "../../ImageInput-C33Qz6iQ.js";
8
- import { t as j } from "../../AppActions-BDqro0i9.js";
9
- import { t as M } from "../../AppSubTitle-BUDlWxlr.js";
10
- import { t as N } from "../../MultiSelect-C0zdITRK.js";
11
- import { t as P } from "../../GenericForm-yN7n8H-J.js";
12
- import { i as F, n as I, r as L, t as R } from "../../SearchInput-Jglr2iL0.js";
13
- import { ActiveFilters as z, AdvancedFilters as B, ConditionFilter as V, ConditionFilterGroup as H, FilterField as U, FilterPills as W, FilterPillsGroup as G, FiltersContainer as K, FiltersMobileDrawer as q, TableFilter as J } from "./filters/index.js";
14
- import { n as Y, t as X } from "../../icons-n0m_1w7z.js";
15
- import { n as Z, t as Q } from "../../inputs-CF9324Xz.js";
16
- import { t as $ } from "../../language-BHtRQqgU.js";
17
- import { t as ee } from "../../AppTitle-DPmsaG7W.js";
18
- import { n as te, t as ne } from "../../states-DXTJV4DS.js";
19
- import { AppPageHeader as re, KpiCardsLayout as ie } from "./layouts/index.js";
20
- import { a as ae, i as oe, n as se, o as ce, r as le, t as ue } from "../../navbar-DNQXcl3F.js";
21
- import { DataTable as de, JsonTableOutput as fe, TableActions as pe, TableBody as me, TableBulkActions as he, TableHeader as ge, TablePagination as _e, TableSettings as ve } from "./table/index.js";
22
- import { AppTabContainer as ye, AppTabHeader as be, AppTabs as xe, AppVerticalTabs as Se } from "./tabs/index.js";
23
- import { t as Ce } from "../../theme-BQRtT5mk.js";
24
- import { t as we } from "../../markdown-DSJCcNLW.js";
25
- export { k as AboutDialog, z as ActiveFilters, B as AdvancedFilters, j as AppActions, E as AppDialog, we as AppMarkdown, re as AppPageHeader, M as AppSubTitle, ye as AppTabContainer, be as AppTabHeader, xe as AppTabs, ee as AppTitle, Se as AppVerticalTabs, v as BarChartHorizontal, C as BarChartVertical, _ as CHART_COLORS, y as ChartCard, S as CircularGauge, V as ConditionFilter, H as ConditionFilterGroup, D as ConfirmationDialog, r as DashboardCard, de as DataTable, F as DatePicker, L as DateRangePicker, l as Dialog, c as DialogClose, p as DialogContent, g as DialogDescription, s as DialogFooter, h as DialogHeader, d as DialogOverlay, f as DialogPortal, m as DialogTitle, u as DialogTrigger, T as ErrorAlert, te as ErrorState, Z as FileDropzone, U as FilterField, W as FilterPills, G as FilterPillsGroup, K as FiltersContainer, q as FiltersMobileDrawer, Y as FlagFrIcon, X as FlagGbIcon, O as FormDialog, P as GenericForm, ce as GlobalSearch, A as ImageInput, fe as JsonTableOutput, e as KpiCard, t as KpiCards, ie as KpiCardsLayout, $ as LanguageSelector, b as LineChart, ne as LoadingState, i as MetricCard, N as MultiSelect, ae as NotificationsBell, w as PieChart, o as Progress, Q as RatingInput, R as SearchInput, le as Sidebar, se as SidebarHeader, oe as SidebarNavItem, I as SingleSelect, n as SkeletonCard, a as SkeletonCards, pe as TableActions, me as TableBody, he as TableBulkActions, J as TableFilter, ge as TableHeader, _e as TablePagination, ve as TableSettings, Ce as ThemeSelector, ue as Topbar, x as getChartColor };
3
+ import { A as s, D as c, E as l, F as u, M as d, N as f, O as p, P as m, j as h, k as g } from "../../sheet-AgDmjyf2.js";
4
+ import { t as _ } from "../../AppMarkdown-ZT7xBtTk.js";
5
+ import { t as v } from "../../changelog-DA5nb3BI.js";
6
+ import { a as y, c as b, i as x, n as S, o as C, r as w, s as T, t as E } from "../../charts-hsygNEkd.js";
7
+ import { t as D } from "../../ErrorAlert-BYy61fcZ.js";
8
+ import { i as O, n as k, r as A, t as j } from "../../dialogs-0PwhK6c1.js";
9
+ import { t as M } from "../../ImageInput-BDTQi0U9.js";
10
+ import { t as N } from "../../AppActions-DwzK-4t7.js";
11
+ import { t as P } from "../../AppSubTitle-Bf9rFryk.js";
12
+ import { t as F } from "../../MultiSelect-60rgAOBX.js";
13
+ import { t as I } from "../../GenericForm-C-vJXpaF.js";
14
+ import { i as L, n as R, r as z, t as B } from "../../SearchInput-CqU6crOu.js";
15
+ import { ActiveFilters as V, AdvancedFilters as H, ConditionFilter as U, ConditionFilterGroup as W, FilterField as G, FilterPills as K, FilterPillsGroup as q, FiltersContainer as J, FiltersMobileDrawer as Y, TableFilter as X } from "./filters/index.js";
16
+ import { n as Z, t as Q } from "../../icons-n0m_1w7z.js";
17
+ import { n as $, t as ee } from "../../inputs-D-ZCdo5D.js";
18
+ import { t as te } from "../../language-Du46nzYN.js";
19
+ import { t as ne } from "../../AppTitle-CQgw2Ody.js";
20
+ import { n as re, t as ie } from "../../states-BVEFGM99.js";
21
+ import { AppPageHeader as ae, KpiCardsLayout as oe } from "./layouts/index.js";
22
+ import { a as se, i as ce, n as le, o as ue, r as de, t as fe } from "../../navbar-j2_a1yrA.js";
23
+ import { DataTable as pe, JsonTableOutput as me, TableActions as he, TableBody as ge, TableBulkActions as _e, TableHeader as ve, TablePagination as ye, TableSettings as be } from "./table/index.js";
24
+ import { AppTabContainer as xe, AppTabHeader as Se, AppTabs as Ce, AppVerticalTabs as we } from "./tabs/index.js";
25
+ import { t as Te } from "../../theme-CVY1Dh3F.js";
26
+ export { j as AboutDialog, V as ActiveFilters, H as AdvancedFilters, N as AppActions, v as AppChangelog, O as AppDialog, _ as AppMarkdown, ae as AppPageHeader, P as AppSubTitle, xe as AppTabContainer, Se as AppTabHeader, Ce as AppTabs, ne as AppTitle, we as AppVerticalTabs, b as BarChartHorizontal, T as BarChartVertical, y as CHART_COLORS, x as ChartCard, w as CircularGauge, U as ConditionFilter, W as ConditionFilterGroup, k as ConfirmationDialog, r as DashboardCard, pe as DataTable, L as DatePicker, z as DateRangePicker, l as Dialog, c as DialogClose, p as DialogContent, g as DialogDescription, s as DialogFooter, h as DialogHeader, d as DialogOverlay, f as DialogPortal, m as DialogTitle, u as DialogTrigger, D as ErrorAlert, re as ErrorState, $ as FileDropzone, G as FilterField, K as FilterPills, q as FilterPillsGroup, J as FiltersContainer, Y as FiltersMobileDrawer, Z as FlagFrIcon, Q as FlagGbIcon, A as FormDialog, I as GenericForm, ue as GlobalSearch, M as ImageInput, me as JsonTableOutput, e as KpiCard, t as KpiCards, oe as KpiCardsLayout, te as LanguageSelector, S as LineChart, ie as LoadingState, i as MetricCard, F as MultiSelect, se as NotificationsBell, E as PieChart, o as Progress, ee as RatingInput, B as SearchInput, de as Sidebar, le as SidebarHeader, ce as SidebarNavItem, R as SingleSelect, n as SkeletonCard, a as SkeletonCards, he as TableActions, ge as TableBody, _e as TableBulkActions, X as TableFilter, ve as TableHeader, ye as TablePagination, be as TableSettings, Te as ThemeSelector, fe as Topbar, C as getChartColor };
@@ -1,5 +1,5 @@
1
- import { t as e } from "../../../ImageInput-C33Qz6iQ.js";
2
- import { t } from "../../../MultiSelect-C0zdITRK.js";
3
- import { i as n, n as r, r as i, t as a } from "../../../SearchInput-Jglr2iL0.js";
4
- import { n as o, t as s } from "../../../inputs-CF9324Xz.js";
1
+ import { t as e } from "../../../ImageInput-BDTQi0U9.js";
2
+ import { t } from "../../../MultiSelect-60rgAOBX.js";
3
+ import { i as n, n as r, r as i, t as a } from "../../../SearchInput-CqU6crOu.js";
4
+ import { n as o, t as s } from "../../../inputs-D-ZCdo5D.js";
5
5
  export { n as DatePicker, i as DateRangePicker, o as FileDropzone, e as ImageInput, t as MultiSelect, s as RatingInput, a as SearchInput, r as SingleSelect };
@@ -1 +1 @@
1
- export { t as LanguageSelector } from "../../../language-BHtRQqgU.js";
1
+ export { t as LanguageSelector } from "../../../language-Du46nzYN.js";
@@ -1,11 +1,11 @@
1
- import { t as e } from "../../../i18n-BLIrm5Rk.js";
2
- import { i as t, t as n } from "../../../cards-DztQfhm5.js";
1
+ import { t as e } from "../../../i18n-CytpX2hK.js";
2
+ import { i as t, t as n } from "../../../cards-Bwm6Scwc.js";
3
3
  import { c as r } from "../../../tooltip-_geGvbS7.js";
4
- import { t as i } from "../../../AppActions-BDqro0i9.js";
5
- import { t as a } from "../../../AppSubTitle-BUDlWxlr.js";
6
- import { t as o } from "../../../useDocumentTitle-DKldGP8V.js";
7
- import { t as s } from "../../../AppTitle-DPmsaG7W.js";
8
- import { n as c } from "../../../states-DXTJV4DS.js";
4
+ import { t as i } from "../../../AppActions-DwzK-4t7.js";
5
+ import { t as a } from "../../../AppSubTitle-Bf9rFryk.js";
6
+ import { t as o } from "../../../useDocumentTitle-DYRVJ5wt.js";
7
+ import { t as s } from "../../../AppTitle-CQgw2Ody.js";
8
+ import { n as c } from "../../../states-BVEFGM99.js";
9
9
  import "react";
10
10
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
11
11
  import { ArrowLeftIcon as d } from "lucide-react";
@@ -1 +1 @@
1
- export { t as AppMarkdown } from "../../../markdown-DSJCcNLW.js";
1
+ export { t as AppMarkdown } from "../../../AppMarkdown-ZT7xBtTk.js";
@@ -1 +1 @@
1
- export { o as GlobalSearch, a as NotificationsBell, r as Sidebar, n as SidebarHeader, i as SidebarNavItem, t as Topbar } from "../../../navbar-DNQXcl3F.js";
1
+ export { o as GlobalSearch, a as NotificationsBell, r as Sidebar, n as SidebarHeader, i as SidebarNavItem, t as Topbar } from "../../../navbar-j2_a1yrA.js";
@@ -1,3 +1,3 @@
1
- import { t as e } from "../../../ErrorAlert-BlFBMJKb.js";
2
- import { n as t, t as n } from "../../../states-DXTJV4DS.js";
1
+ import { t as e } from "../../../ErrorAlert-BYy61fcZ.js";
2
+ import { n as t, t as n } from "../../../states-BVEFGM99.js";
3
3
  export { e as ErrorAlert, t as ErrorState, n as LoadingState };
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "../../../tailwind.helper-CJaRYBmL.js";
2
2
  import { ACTIONS_COLUMN_KEY as t, SELECTION_COLUMN_KEY as n, getAlignmentClass as r, getColumnAlignment as i, getFixedCellProps as a } from "../../../helpers/index.js";
3
- import { t as o } from "../../../i18n-BLIrm5Rk.js";
3
+ import { t as o } from "../../../i18n-CytpX2hK.js";
4
4
  import { D as s, E as c, Nt as l, O as u, S as d, Ut as f, jt as p, kt as m, vn as h, w as g, x as _ } from "../../../ui-Fxy95kSJ.js";
5
5
  import { c as v, i as y, n as b, r as x, t as S } from "../../../tooltip-_geGvbS7.js";
6
- import { h as C, m as w, p as T } from "../../../sheet-De5YryEi.js";
6
+ import { h as C, m as w, p as T } from "../../../sheet-AgDmjyf2.js";
7
7
  import { n as E, t as D } from "../../../switch-DspImmo_.js";
8
8
  import { i as O, l as k, n as A, t as j, u as M } from "../../../select-KWMg2_7Z.js";
9
9
  import { n as N, t as P } from "../../../useFixedColumns-Bo-Az3Hp.js";