@krosoft/react 0.0.374 → 0.0.375

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 (66) hide show
  1. package/dist/{AppActions-ooZhFY4I.js → AppActions-DeTaseV8.js} +1 -1
  2. package/dist/{AppMarkdown-DR9Xzort.js → AppMarkdown-C0ehlRtp.js} +1 -1
  3. package/dist/{AppSubTitle-RDgLo82r.js → AppSubTitle-OueYEE4L.js} +2 -2
  4. package/dist/{AppTitle-HcuNVulh.js → AppTitle-J-S0HNmz.js} +1 -1
  5. package/dist/{ErrorAlert-Cyqycy2z.js → ErrorAlert-CjapT2rI.js} +1 -1
  6. package/dist/{GenericForm-DrFyl2wt.js → GenericForm-Ze6ukTAA.js} +5 -5
  7. package/dist/{ImageInput-Br8DQPTc.js → ImageInput-BnPaGgnU.js} +1 -1
  8. package/dist/{MultiSelect-Bht0L5il.js → MultiSelect-BnidY_Ma.js} +2 -2
  9. package/dist/{SearchInput-VVu1aIU4.js → SearchInput-BIA1rBub.js} +2 -2
  10. package/dist/{SingleSelect-8V30LYCi.js → SingleSelect-CbIP1XXV.js} +3 -3
  11. package/dist/{behavior-DUMKzliu.js → behavior-BUdJHPMQ.js} +1 -1
  12. package/dist/{cards-s1HOBgc6.js → cards-olakli0j.js} +1 -1
  13. package/dist/changelog-1_YeDWEy.js +208 -0
  14. package/dist/{charts-DH_x5yPB.js → charts-674ZKA0q.js} +1 -1
  15. package/dist/components/core/cards/index.js +1 -1
  16. package/dist/components/core/changelog/AppChangelog.d.ts +1 -1
  17. package/dist/components/core/changelog/AppChangelog.d.ts.map +1 -1
  18. package/dist/components/core/changelog/AppChangelogEntry.d.ts +3 -1
  19. package/dist/components/core/changelog/AppChangelogEntry.d.ts.map +1 -1
  20. package/dist/components/core/changelog/AppChangelogTagFilter.d.ts +12 -0
  21. package/dist/components/core/changelog/AppChangelogTagFilter.d.ts.map +1 -0
  22. package/dist/components/core/changelog/index.js +1 -1
  23. package/dist/components/core/charts/index.js +1 -1
  24. package/dist/components/core/dialogs/index.js +2 -2
  25. package/dist/components/core/filters/index.js +5 -5
  26. package/dist/components/core/forms/index.js +1 -1
  27. package/dist/components/core/index.js +20 -20
  28. package/dist/components/core/inputs/index.js +5 -5
  29. package/dist/components/core/language/index.js +1 -1
  30. package/dist/components/core/layouts/index.js +7 -7
  31. package/dist/components/core/markdown/index.js +1 -1
  32. package/dist/components/core/navbar/index.js +1 -1
  33. package/dist/components/core/states/index.js +2 -2
  34. package/dist/components/core/table/index.js +2 -2
  35. package/dist/components/core/tabs/index.js +4 -4
  36. package/dist/components/core/theme/index.js +1 -1
  37. package/dist/components/index.js +20 -20
  38. package/dist/components/ui/index.js +1 -1
  39. package/dist/{dialogs-BGwVb_uW.js → dialogs-CZs-1NsV.js} +4 -4
  40. package/dist/helpers/changelog.helper.d.ts +12 -3
  41. package/dist/helpers/changelog.helper.d.ts.map +1 -1
  42. package/dist/helpers/index.js +29 -18
  43. package/dist/hooks/behavior/index.js +1 -1
  44. package/dist/hooks/index.js +4 -4
  45. package/dist/hooks/ui/index.js +3 -3
  46. package/dist/i18n/index.js +1 -1
  47. package/dist/i18n/krosoftLocales.d.ts +2 -0
  48. package/dist/i18n/krosoftLocales.d.ts.map +1 -1
  49. package/dist/{i18n-Cpw8DZt1.js → i18n-w2FziHQf.js} +4 -2
  50. package/dist/{inputs-ClkjpjY4.js → inputs-DidSjfrq.js} +1 -1
  51. package/dist/{language-Bb_6jQEn.js → language-BdqnKech.js} +2 -2
  52. package/dist/{navbar-CBtXvlA_.js → navbar-BvxHHN-8.js} +3 -3
  53. package/dist/pwa/index.js +1 -1
  54. package/dist/seasonal/index.js +1 -1
  55. package/dist/{sheet-DOU2o0gO.js → sheet-CGz2TZ_Z.js} +1 -1
  56. package/dist/{states-CuRWHlch.js → states-Bz4MEmfX.js} +1 -1
  57. package/dist/{theme-DsMX9lZ7.js → theme-DRs7tId5.js} +2 -2
  58. package/dist/types/ChangelogItem.d.ts +8 -0
  59. package/dist/types/ChangelogItem.d.ts.map +1 -0
  60. package/dist/types/index.d.ts +1 -0
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/{useDocumentTitle-BX7aZKoT.js → useDocumentTitle-BJ5nJtLS.js} +1 -1
  63. package/dist/{useLanguage-BigJQQLb.js → useLanguage-BvcHTj-R.js} +1 -1
  64. package/dist/{useTheme-C_AhwSy3.js → useTheme-D90lnVPl.js} +1 -1
  65. package/package.json +1 -1
  66. package/dist/changelog-m-U0JTTM.js +0 -139
@@ -1,34 +1,34 @@
1
1
  import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "../chart-wW-fwL3s.js";
2
- import { a as f, i as p, n as m, o as h, r as g, t as _ } from "../cards-s1HOBgc6.js";
2
+ import { a as f, i as p, n as m, o as h, r as g, t as _ } from "../cards-olakli0j.js";
3
3
  import { $ as v, $t as y, A as b, An as x, At as S, B as C, Bn as w, Bt as T, C as E, Cn as D, Ct as O, D as k, Dn as A, Dt as j, E as M, En as N, Et as P, F, Fn as I, Ft as L, G as R, Gn as z, Gt as B, H as V, Hn as H, Ht as U, I as W, In as G, It as K, J as q, Jn as J, Jt as Y, K as X, Kn as Z, Kt as Q, L as $, Ln as ee, Lt as te, M as ne, Mn as re, Mt as ie, N as ae, Nn as oe, Nt as se, O as ce, On as le, Ot as ue, P as de, Pn as fe, Pt as pe, Q as me, Qt as he, R as ge, Rn as _e, Rt as ve, S as ye, Sn as be, St as xe, T as Se, Tn as Ce, Tt as we, U as Te, Un as Ee, Ut as De, V as Oe, Vn as ke, Vt as Ae, W as je, Wn as Me, Wt as Ne, X as Pe, Xn as Fe, Xt as Ie, Y as Le, Yn as Re, Yt as ze, Z as Be, Zt as Ve, _ as He, _n as Ue, _t as We, a as Ge, an as Ke, at as qe, b as Je, bn as Ye, bt as Xe, c as Ze, cn as Qe, ct as $e, d as et, dn as tt, dt as nt, en as rt, et as it, f as at, fn as ot, ft as st, g as ct, gn as lt, gt as ut, h as dt, hn as ft, ht as pt, i as mt, in as ht, it as gt, j as _t, jn as vt, jt as yt, k as bt, kn as xt, kt as St, l as Ct, ln as wt, lt as Tt, m as Et, mn as Dt, mt as Ot, n as kt, nn as At, nt as jt, o as Mt, on as Nt, ot as Pt, p as Ft, pn as It, pt as Lt, q as Rt, qn as zt, qt as Bt, r as Vt, rn as Ht, rt as Ut, s as Wt, sn as Gt, st as Kt, t as qt, tn as Jt, tt as Yt, u as Xt, un as Zt, ut as Qt, v as $t, vn as en, vt as tn, w as nn, wn as rn, wt as an, x as on, xn as sn, xt as cn, y as ln, yn as un, yt as dn, z as fn, zn as pn, zt as mn } from "../ui-Fxy95kSJ.js";
4
4
  import { n as hn, r as gn, t as _n } from "../alert-REQGK9bR.js";
5
5
  import { a as vn, c as yn, i as bn, l as xn, n as Sn, o as Cn, r as wn, s as Tn, t as En } from "../tooltip-_geGvbS7.js";
6
- import { A as Dn, C as On, D as kn, E as An, F as jn, M as Mn, N as Nn, O as Pn, P as Fn, S as In, T as Ln, _ as Rn, a as zn, b as Bn, c as Vn, d as Hn, f as Un, g as Wn, h as Gn, i as Kn, j as qn, k as Jn, l as Yn, m as Xn, n as Zn, o as Qn, p as $n, r as er, s as tr, t as nr, u as rr, v as ir, w as ar, x as or, y as sr } from "../sheet-DOU2o0gO.js";
6
+ import { A as Dn, C as On, D as kn, E as An, F as jn, M as Mn, N as Nn, O as Pn, P as Fn, S as In, T as Ln, _ as Rn, a as zn, b as Bn, c as Vn, d as Hn, f as Un, g as Wn, h as Gn, i as Kn, j as qn, k as Jn, l as Yn, m as Xn, n as Zn, o as Qn, p as $n, r as er, s as tr, t as nr, u as rr, v as ir, w as ar, x as or, y as sr } from "../sheet-CGz2TZ_Z.js";
7
7
  import { n as cr, t as lr } from "../switch-DspImmo_.js";
8
8
  import { a as ur, c as dr, i as fr, l as pr, n as mr, o as hr, r as gr, s as _r, t as vr, u as yr } from "../select-KWMg2_7Z.js";
9
9
  import { t as br } from "../skeleton-D6Ga4BLw.js";
10
- import { t as xr } from "../SearchInput-VVu1aIU4.js";
11
- import { t as Sr } from "../AppMarkdown-DR9Xzort.js";
12
- import { t as Cr } from "../changelog-m-U0JTTM.js";
13
- import { a as wr, c as Tr, i as Er, n as Dr, o as Or, r as kr, s as Ar, t as jr } from "../charts-DH_x5yPB.js";
14
- import { t as Mr } from "../ErrorAlert-Cyqycy2z.js";
15
- import { i as Nr, n as Pr, r as Fr, t as Ir } from "../dialogs-BGwVb_uW.js";
16
- import { t as Lr } from "../ImageInput-Br8DQPTc.js";
17
- import { t as Rr } from "../AppActions-ooZhFY4I.js";
18
- import { t as zr } from "../AppSubTitle-RDgLo82r.js";
19
- import { t as Br } from "../MultiSelect-Bht0L5il.js";
20
- import { t as Vr } from "../GenericForm-DrFyl2wt.js";
21
- import { n as Hr, r as Ur, t as Wr } from "../SingleSelect-8V30LYCi.js";
10
+ import { t as xr } from "../SearchInput-BIA1rBub.js";
11
+ import { t as Sr } from "../AppMarkdown-C0ehlRtp.js";
12
+ import { t as Cr } from "../changelog-1_YeDWEy.js";
13
+ import { a as wr, c as Tr, i as Er, n as Dr, o as Or, r as kr, s as Ar, t as jr } from "../charts-674ZKA0q.js";
14
+ import { t as Mr } from "../ErrorAlert-CjapT2rI.js";
15
+ import { i as Nr, n as Pr, r as Fr, t as Ir } from "../dialogs-CZs-1NsV.js";
16
+ import { t as Lr } from "../ImageInput-BnPaGgnU.js";
17
+ import { t as Rr } from "../AppActions-DeTaseV8.js";
18
+ import { t as zr } from "../AppSubTitle-OueYEE4L.js";
19
+ import { t as Br } from "../MultiSelect-BnidY_Ma.js";
20
+ import { t as Vr } from "../GenericForm-Ze6ukTAA.js";
21
+ import { n as Hr, r as Ur, t as Wr } from "../SingleSelect-CbIP1XXV.js";
22
22
  import { ActiveFilters as Gr, AdvancedFilters as Kr, ConditionFilter as qr, ConditionFilterGroup as Jr, FilterField as Yr, FilterPills as Xr, FilterPillsGroup as Zr, FiltersContainer as Qr, FiltersMobileDrawer as $r, TableFilter as ei } from "./core/filters/index.js";
23
23
  import { n as ti, t as ni } from "../icons-n0m_1w7z.js";
24
- import { n as ri, t as ii } from "../inputs-ClkjpjY4.js";
25
- import { t as ai } from "../language-Bb_6jQEn.js";
26
- import { t as oi } from "../AppTitle-HcuNVulh.js";
27
- import { n as si, t as ci } from "../states-CuRWHlch.js";
24
+ import { n as ri, t as ii } from "../inputs-DidSjfrq.js";
25
+ import { t as ai } from "../language-BdqnKech.js";
26
+ import { t as oi } from "../AppTitle-J-S0HNmz.js";
27
+ import { n as si, t as ci } from "../states-Bz4MEmfX.js";
28
28
  import { AppPageHeader as li, KpiCardsLayout as ui } from "./core/layouts/index.js";
29
- import { a as di, i as fi, n as pi, o as mi, r as hi, t as gi } from "../navbar-CBtXvlA_.js";
29
+ import { a as di, i as fi, n as pi, o as mi, r as hi, t as gi } from "../navbar-BvxHHN-8.js";
30
30
  import { DataTable as _i, JsonTableOutput as vi, TableActions as yi, TableBody as bi, TableBulkActions as xi, TableHeader as Si, TablePagination as Ci, TableSettings as wi } from "./core/table/index.js";
31
31
  import { AppTabContainer as Ti, AppTabHeader as Ei, AppTabs as Di, AppVerticalTabs as Oi } from "./core/tabs/index.js";
32
- import { t as ki } from "../theme-DsMX9lZ7.js";
32
+ import { t as ki } from "../theme-DRs7tId5.js";
33
33
  import "./core/index.js";
34
34
  export { Ir as AboutDialog, zt as Accordion, J as AccordionContent, Re as AccordionItem, Fe as AccordionTrigger, Gr as ActiveFilters, Kr as AdvancedFilters, _n as Alert, hn as AlertDescription, _e as AlertDialog, pn as AlertDialogAction, w as AlertDialogCancel, ke as AlertDialogContent, H as AlertDialogDescription, Ee as AlertDialogFooter, Me as AlertDialogHeader, z as AlertDialogTitle, Z as AlertDialogTrigger, gn as AlertTitle, Rr as AppActions, Cr as AppChangelog, Nr as AppDialog, Sr as AppMarkdown, li as AppPageHeader, zr as AppSubTitle, Ti as AppTabContainer, Ei as AppTabHeader, Di as AppTabs, oi as AppTitle, Oi as AppVerticalTabs, ee as AspectRatio, fe as Avatar, I as AvatarFallback, G as AvatarImage, re as Badge, Tr as BarChartHorizontal, Ar as BarChartVertical, Ce as Breadcrumb, N as BreadcrumbEllipsis, A as BreadcrumbItem, le as BreadcrumbLink, xt as BreadcrumbList, x as BreadcrumbPage, vt as BreadcrumbSeparator, yn as Button, wr as CHART_COLORS, rn as Calendar, l as Card, t as CardContent, a as CardDescription, d as CardFooter, n as CardHeader, r as CardTitle, un as Carousel, Ye as CarouselContent, sn as CarouselItem, be as CarouselNext, D as CarouselPrevious, Er as ChartCard, u as ChartContainer, o as ChartLegend, c as ChartLegendContent, i as ChartStyle, e as ChartTooltip, s as ChartTooltipContent, en as Checkbox, kr as CircularGauge, ft as Collapsible, lt as CollapsibleContent, Ue as CollapsibleTrigger, Rn as Command, ir as CommandDialog, sr as CommandEmpty, Bn as CommandGroup, or as CommandInput, In as CommandItem, On as CommandList, ar as CommandSeparator, Ln as CommandShortcut, qr as ConditionFilter, Jr as ConditionFilterGroup, Pr as ConfirmationDialog, rt as ContextMenu, Jt as ContextMenuCheckboxItem, At as ContextMenuContent, Ht as ContextMenuGroup, ht as ContextMenuItem, Ke as ContextMenuLabel, Nt as ContextMenuPortal, Gt as ContextMenuRadioGroup, Qe as ContextMenuRadioItem, wt as ContextMenuSeparator, Zt as ContextMenuShortcut, tt as ContextMenuSub, ot as ContextMenuSubContent, It as ContextMenuSubTrigger, Dt as ContextMenuTrigger, h as DashboardCard, _i as DataTable, Ur as DatePicker, Hr as DateRangePicker, An as Dialog, kn as DialogClose, Pn as DialogContent, Jn as DialogDescription, Dn as DialogFooter, qn as DialogHeader, Mn as DialogOverlay, Nn as DialogPortal, Fn as DialogTitle, jn as DialogTrigger, Ne as Drawer, B as DrawerClose, Q as DrawerContent, Bt as DrawerDescription, Y as DrawerFooter, ze as DrawerHeader, Ie as DrawerOverlay, Ve as DrawerPortal, he as DrawerTitle, y as DrawerTrigger, St as DropdownMenu, S as DropdownMenuCheckboxItem, yt as DropdownMenuContent, ie as DropdownMenuGroup, se as DropdownMenuItem, pe as DropdownMenuLabel, L as DropdownMenuPortal, K as DropdownMenuRadioGroup, te as DropdownMenuRadioItem, ve as DropdownMenuSeparator, mn as DropdownMenuShortcut, T as DropdownMenuSub, Ae as DropdownMenuSubContent, U as DropdownMenuSubTrigger, De as DropdownMenuTrigger, Mr as ErrorAlert, si as ErrorState, ri as FileDropzone, Yr as FilterField, Xr as FilterPills, Zr as FilterPillsGroup, Qr as FiltersContainer, $r as FiltersMobileDrawer, ti as FlagFrIcon, ni as FlagGbIcon, cn as Form, xe as FormControl, O as FormDescription, Fr as FormDialog, an as FormField, we as FormItem, P as FormLabel, j as FormMessage, Vr as GenericForm, mi as GlobalSearch, tn as HoverCard, dn as HoverCardContent, Xe as HoverCardTrigger, Lr as ImageInput, Wn as Input, Ot as InputOTP, pt as InputOTPGroup, ut as InputOTPSeparator, We as InputOTPSlot, vi as JsonTableOutput, f as KpiCard, p as KpiCards, ui as KpiCardsLayout, cr as Label, ai as LanguageSelector, Dr as LineChart, ci as LoadingState, me as Menubar, v as MenubarCheckboxItem, it as MenubarContent, Yt as MenubarGroup, jt as MenubarItem, Ut as MenubarLabel, gt as MenubarMenu, qe as MenubarPortal, Pt as MenubarRadioGroup, Kt as MenubarRadioItem, $e as MenubarSeparator, Tt as MenubarShortcut, Qt as MenubarSub, nt as MenubarSubContent, st as MenubarSubTrigger, Lt as MenubarTrigger, g as MetricCard, Br as MultiSelect, Te as NavigationMenu, je as NavigationMenuContent, R as NavigationMenuIndicator, X as NavigationMenuItem, Rt as NavigationMenuLink, q as NavigationMenuList, Le as NavigationMenuTrigger, Pe as NavigationMenuViewport, di as NotificationsBell, W as Pagination, $ as PaginationContent, ge as PaginationEllipsis, fn as PaginationItem, C as PaginationLink, Oe as PaginationNext, V as PaginationPrevious, jr as PieChart, $n as Popover, Xn as PopoverContent, Gn as PopoverTrigger, F as Progress, ae as RadioGroup, de as RadioGroupItem, ii as RatingInput, b as ResizableHandle, _t as ResizablePanel, ne as ResizablePanelGroup, Hn as ScrollArea, Un as ScrollBar, xr as SearchInput, vr as Select, mr as SelectContent, gr as SelectGroup, fr as SelectItem, ur as SelectLabel, hr as SelectScrollDownButton, _r as SelectScrollUpButton, dr as SelectSeparator, pr as SelectTrigger, yr as SelectValue, bt as Separator, nr as Sheet, Zn as SheetClose, er as SheetContent, Kn as SheetDescription, zn as SheetFooter, Qn as SheetHeader, tr as SheetOverlay, Vn as SheetPortal, Yn as SheetTitle, rr as SheetTrigger, hi as Sidebar, pi as SidebarHeader, fi as SidebarNavItem, on as SimpleTable, ye as SimpleTableBody, E as SimpleTableCaption, nn as SimpleTableCell, Se as SimpleTableFooter, M as SimpleTableHead, k as SimpleTableHeader, ce as SimpleTableRow, Wr as SingleSelect, br as Skeleton, m as SkeletonCard, _ as SkeletonCards, Je as Slider, $t as Sonner, lr as Switch, yi as TableActions, bi as TableBody, xi as TableBulkActions, ei as TableFilter, Si as TableHeader, Ci as TablePagination, wi as TableSettings, Et as Tabs, dt as TabsContent, ct as TabsList, He as TabsTrigger, Ft as Textarea, ki as ThemeSelector, Mt as Toast, Wt as ToastAction, Ze as ToastClose, Ct as ToastDescription, Xt as ToastProvider, et as ToastTitle, at as ToastViewport, Ge as Toaster, Vt as Toggle, qt as ToggleGroup, kt as ToggleGroupItem, En as Tooltip, Sn as TooltipContent, wn as TooltipProvider, bn as TooltipTrigger, gi as Topbar, oe as badgeVariants, xn as buttonVariants, vn as controlBaseClass, Cn as controlFilterWidthClass, Tn as controlTriggerClass, Or as getChartColor, Be as navigationMenuTriggerStyle, ln as toast, mt as toggleVariants, ue as useFormField };
@@ -2,7 +2,7 @@ import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, r as c, s as
2
2
  import { $ as f, $t as p, A as m, An as h, At as g, B as _, Bn as v, Bt as y, C as b, Cn as x, Ct as S, D as C, Dn as w, Dt as T, E, En as D, Et as O, F as k, Fn as A, Ft as j, G as M, Gn as N, Gt as P, H as F, Hn as I, Ht as L, I as R, In as z, It as B, J as V, Jn as H, Jt as U, K as W, Kn as G, Kt as K, L as q, Ln as J, Lt as Y, M as X, Mn as Z, Mt as Q, N as $, Nn as ee, Nt as te, O as ne, On as re, Ot as ie, P as ae, Pn as oe, Pt as se, Q as ce, Qt as le, R as ue, Rn as de, Rt as fe, S as pe, Sn as me, St as he, T as ge, Tn as _e, Tt as ve, U as ye, Un as be, Ut as xe, V as Se, Vn as Ce, Vt as we, W as Te, Wn as Ee, Wt as De, X as Oe, Xn as ke, Xt as Ae, Y as je, Yn as Me, Yt as Ne, Z as Pe, Zt as Fe, _ as Ie, _n as Le, _t as Re, a as ze, an as Be, at as Ve, b as He, bn as Ue, bt as We, c as Ge, cn as Ke, ct as qe, d as Je, dn as Ye, dt as Xe, en as Ze, et as Qe, f as $e, fn as et, ft as tt, g as nt, gn as rt, gt as it, h as at, hn as ot, ht as st, i as ct, in as lt, it as ut, j as dt, jn as ft, jt as pt, k as mt, kn as ht, kt as gt, l as _t, ln as vt, lt as yt, m as bt, mn as xt, mt as St, n as Ct, nn as wt, nt as Tt, o as Et, on as Dt, ot as Ot, p as kt, pn as At, pt as jt, q as Mt, qn as Nt, qt as Pt, r as Ft, rn as It, rt as Lt, s as Rt, sn as zt, st as Bt, t as Vt, tn as Ht, tt as Ut, u as Wt, un as Gt, ut as Kt, v as qt, vn as Jt, vt as Yt, w as Xt, wn as Zt, wt as Qt, x as $t, xn as en, xt as tn, y as nn, yn as rn, yt as an, z as on, zn as sn, zt as cn } from "../../ui-Fxy95kSJ.js";
3
3
  import { n as ln, r as un, t as dn } from "../../alert-REQGK9bR.js";
4
4
  import { a as fn, c as pn, i as mn, l as hn, n as gn, o as _n, r as vn, s as yn, t as bn } from "../../tooltip-_geGvbS7.js";
5
- import { A as xn, C as Sn, D as Cn, E as wn, F as Tn, M as En, N as Dn, O as On, P as kn, S as An, T as jn, _ as Mn, a as Nn, b as Pn, c as Fn, d as In, f as Ln, g as Rn, h as zn, i as Bn, j as Vn, k as Hn, l as Un, m as Wn, n as Gn, o as Kn, p as qn, r as Jn, s as Yn, t as Xn, u as Zn, v as Qn, w as $n, x as er, y as tr } from "../../sheet-DOU2o0gO.js";
5
+ import { A as xn, C as Sn, D as Cn, E as wn, F as Tn, M as En, N as Dn, O as On, P as kn, S as An, T as jn, _ as Mn, a as Nn, b as Pn, c as Fn, d as In, f as Ln, g as Rn, h as zn, i as Bn, j as Vn, k as Hn, l as Un, m as Wn, n as Gn, o as Kn, p as qn, r as Jn, s as Yn, t as Xn, u as Zn, v as Qn, w as $n, x as er, y as tr } from "../../sheet-CGz2TZ_Z.js";
6
6
  import { n as nr, t as rr } from "../../switch-DspImmo_.js";
7
7
  import { a as ir, c as ar, i as or, l as sr, n as cr, o as lr, r as ur, s as dr, t as fr, u as pr } from "../../select-KWMg2_7Z.js";
8
8
  import { t as mr } from "../../skeleton-D6Ga4BLw.js";
@@ -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-Cpw8DZt1.js";
2
+ import { r as t, t as n } from "./i18n-w2FziHQf.js";
3
3
  import { Bn as r, F as i, Gn as a, Hn as o, Rn as s, Un as c, Vn as l, Wn as u } from "./ui-Fxy95kSJ.js";
4
4
  import { c as d } from "./tooltip-_geGvbS7.js";
5
- import { E as f, O as p, P as m, j as h, k as g } from "./sheet-DOU2o0gO.js";
6
- import { t as _ } from "./ErrorAlert-Cyqycy2z.js";
7
- import { t as v } from "./GenericForm-DrFyl2wt.js";
5
+ import { E as f, O as p, P as m, j as h, k as g } from "./sheet-CGz2TZ_Z.js";
6
+ import { t as _ } from "./ErrorAlert-CjapT2rI.js";
7
+ import { t as v } from "./GenericForm-Ze6ukTAA.js";
8
8
  import { useEffect as y, useId as b, useState as x } from "react";
9
9
  import { Fragment as S, jsx as C, jsxs as w } from "react/jsx-runtime";
10
10
  import { Pen as T, Save as E, X as D } from "lucide-react";
@@ -1,4 +1,5 @@
1
1
  import type { ChangelogEntry } from "../types/ChangelogEntry.js";
2
+ import type { ChangelogItem } from "../types/ChangelogItem.js";
2
3
  /** Slug façon GitHub (rehype-slug) : `2026-10-30 14:41` → `2026-10-30-1441`. */
3
4
  export declare const slugifyChangelogTitle: (title: string) => string;
4
5
  /**
@@ -7,8 +8,16 @@ export declare const slugifyChangelogTitle: (title: string) => string;
7
8
  */
8
9
  export declare const parseChangelog: (markdown: string) => ChangelogEntry[];
9
10
  /**
10
- * Filtre les entrées dont le titre ou le contenu contient tous les mots de la recherche,
11
- * sans tenir compte de la casse ni des accents. Une recherche vide renvoie toutes les entrées.
11
+ * Découpe le contenu d'une entrée en éléments par module : chaque paragraphe qui commence par `**Module** :`
12
+ * ouvre un élément, les blocs suivants (listes, paragraphes) lui restent rattachés jusqu'au module suivant.
13
+ * Le texte placé avant le premier module forme un élément sans tag.
12
14
  */
13
- export declare const filterChangelog: (entries: ChangelogEntry[], query: string) => ChangelogEntry[];
15
+ export declare const splitChangelogItems: (content: string) => ChangelogItem[];
16
+ /**
17
+ * Filtre les entrées dont le titre ou le contenu contient tous les mots de la recherche (sans casse ni accents)
18
+ * et, si des modules sont choisis, qui touchent au moins l'un d'eux. Sans critère, toutes les entrées sont gardées.
19
+ */
20
+ export declare const filterChangelog: (entries: ChangelogEntry[], query: string, tags?: string[]) => ChangelogEntry[];
21
+ /** Modules (tags) cités dans le journal, sans doublon, triés par ordre alphabétique. */
22
+ export declare const getChangelogTags: (entries: ChangelogEntry[]) => string[];
14
23
  //# sourceMappingURL=changelog.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/changelog.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAK7D,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MAK9B,CAAC;AAazB;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,cAAc,EAiC/D,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,cAAc,EAAE,EAAE,OAAO,MAAM,KAAG,cAAc,EASxF,CAAC"}
1
+ {"version":3,"file":"changelog.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/changelog.helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAK3D,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,KAAG,MAK9B,CAAC;AAazB;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,KAAG,cAAc,EAiC/D,CAAC;AAOF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,aAAa,EAqBlE,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,cAAc,EAAE,EAAE,OAAO,MAAM,EAAE,OAAM,MAAM,EAAO,KAAG,cAAc,EAY7G,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,GAAI,SAAS,cAAc,EAAE,KAAG,MAAM,EAGlE,CAAC"}
@@ -28,16 +28,27 @@ var n = /^## +(.+?)\s*$/, r = /^(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}))?/
28
28
  });
29
29
  }
30
30
  return s(), t;
31
- }, s = (e) => e.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase(), c = (e, t) => {
32
- let n = s(t).split(/\s+/).filter(Boolean);
33
- return n.length === 0 ? e : e.filter((e) => {
34
- let t = s(`${e.title}\n${e.content}`);
35
- return n.every((e) => t.includes(e));
31
+ }, s = /^\*\*([^*\n]+?)\*\*\s*:\s*/, c = (e) => e.charAt(0).toLocaleUpperCase() + e.slice(1), l = (e) => {
32
+ let t = [], n = e.split(/\r?\n\s*\r?\n/).map((e) => e.trim()).filter(Boolean);
33
+ for (let e of n) {
34
+ let n = s.exec(e), r = t.length > 0 ? t[t.length - 1] : void 0;
35
+ n ? t.push({
36
+ tag: n[1].trim(),
37
+ content: c(e.slice(n[0].length))
38
+ }) : r ? r.content = `${r.content}\n\n${e}` : t.push({ content: e });
39
+ }
40
+ return t;
41
+ }, u = (e) => e.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase(), d = (e, t, n = []) => {
42
+ let r = u(t).split(/\s+/).filter(Boolean);
43
+ return r.length === 0 && n.length === 0 ? e : e.filter((e) => {
44
+ if (n.length > 0 && !l(e.content).some((e) => e.tag !== void 0 && n.includes(e.tag))) return !1;
45
+ let t = u(`${e.title}\n${e.content}`);
46
+ return r.every((e) => t.includes(e));
36
47
  });
37
- };
48
+ }, f = (e) => [...new Set(e.flatMap((e) => l(e.content).flatMap((e) => e.tag === void 0 ? [] : [e.tag])))].sort((e, t) => e.localeCompare(t));
38
49
  //#endregion
39
50
  //#region src/helpers/supabase.helper.ts
40
- function l(e, t, n = {}) {
51
+ function p(e, t, n = {}) {
41
52
  let r = e, i = t.debouncedSearchText ?? t.searchText;
42
53
  if (i?.trim() && n.searchColumns?.length) {
43
54
  let e = `%${i.trim()}%`, t = n.searchColumns.map((t) => `${t}.ilike.${e}`).join(",");
@@ -59,13 +70,13 @@ function l(e, t, n = {}) {
59
70
  let a = (t.currentPage - 1) * t.pageSize, o = a + t.pageSize - 1;
60
71
  return r = r.range(a, o), r;
61
72
  }
62
- function u(e, t) {
73
+ function m(e, t) {
63
74
  return e ? e.map((e) => {
64
75
  let n = e[t];
65
76
  return Array.isArray(n) ? n[0] : n;
66
77
  }).filter((e) => !!e) : [];
67
78
  }
68
- function d(e, t) {
79
+ function h(e, t) {
69
80
  if (!e) return null;
70
81
  let n = Array.isArray(e) ? e[0] : e;
71
82
  if (!n) return null;
@@ -77,24 +88,24 @@ function d(e, t) {
77
88
  }
78
89
  //#endregion
79
90
  //#region src/helpers/table.helper.ts
80
- var f = {
91
+ var g = {
81
92
  left: "text-left",
82
93
  center: "text-center",
83
94
  right: "text-right"
84
95
  };
85
- function p(e) {
96
+ function _(e) {
86
97
  if (e.align !== void 0) return e.align;
87
98
  let t = (e.className ?? "").split(/\s+/);
88
99
  return t.includes("text-right") ? "right" : t.includes("text-center") ? "center" : "left";
89
100
  }
90
- function m(e) {
91
- return f[e];
101
+ function v(e) {
102
+ return g[e];
92
103
  }
93
- var h = "__selection__", g = "__actions__", _ = {
104
+ var y = "__selection__", b = "__actions__", x = {
94
105
  left: "border-r border-border",
95
106
  right: "border-l border-border"
96
107
  };
97
- function v(e, t) {
108
+ function S(e, t) {
98
109
  if (e === void 0) return {
99
110
  className: "relative",
100
111
  style: {}
@@ -106,12 +117,12 @@ function v(e, t) {
106
117
  n ? "z-20" : "z-10",
107
118
  "before:absolute before:inset-0 before:-z-10 before:pointer-events-none",
108
119
  n ? "before:bg-muted/50" : "group-hover:before:bg-muted/50",
109
- e.isEdge ? _[e.side] : ""
120
+ e.isEdge ? x[e.side] : ""
110
121
  ].filter(Boolean).join(" "),
111
122
  style: e.side === "left" ? { left: e.offset } : { right: e.offset }
112
123
  };
113
124
  }
114
- function y(e) {
125
+ function C(e) {
115
126
  return {
116
127
  read: () => {
117
128
  if (typeof window < "u") try {
@@ -131,4 +142,4 @@ function y(e) {
131
142
  };
132
143
  }
133
144
  //#endregion
134
- export { g as ACTIONS_COLUMN_KEY, h as SELECTION_COLUMN_KEY, l as applyTableStateToQuery, e as cn, c as filterChangelog, m as getAlignmentClass, p as getColumnAlignment, v as getFixedCellProps, y as localStorageColumnVisibility, u as mapNestedRelationMany, d as mapNestedRelationOne, o as parseChangelog, t as rehypeVersionSlug, i as slugifyChangelogTitle };
145
+ export { b as ACTIONS_COLUMN_KEY, y as SELECTION_COLUMN_KEY, p as applyTableStateToQuery, e as cn, d as filterChangelog, v as getAlignmentClass, f as getChangelogTags, _ as getColumnAlignment, S as getFixedCellProps, C as localStorageColumnVisibility, m as mapNestedRelationMany, h as mapNestedRelationOne, o as parseChangelog, t as rehypeVersionSlug, i as slugifyChangelogTitle, l as splitChangelogItems };
@@ -1 +1 @@
1
- export { t as URL_DATE_FORMAT, n as parseDateRange, r as serializeDateRange, p as useConfirmDeleteDialog, m as useConfirmationDialog, f as useDebounce, d as useDebouncedValue, h as useDialog, u as usePage, l as useSidebar, c as useTable, i as useUrlArrayState, a as useUrlDateRangeState, o as useUrlNumberState, s as useUrlState } from "../../behavior-DUMKzliu.js";
1
+ export { t as URL_DATE_FORMAT, n as parseDateRange, r as serializeDateRange, p as useConfirmDeleteDialog, m as useConfirmationDialog, f as useDebounce, d as useDebouncedValue, h as useDialog, u as usePage, l as useSidebar, c as useTable, i as useUrlArrayState, a as useUrlDateRangeState, o as useUrlNumberState, s as useUrlState } from "../../behavior-BUdJHPMQ.js";
@@ -3,9 +3,9 @@ import { n as t, t as n } from "../useToast-UeDRLovh.js";
3
3
  import { t as r } from "../useNotifications-CyhTruIG.js";
4
4
  import { t as i } from "../useMobile-pTQ8lWvt.js";
5
5
  import { n as a, t as o } from "../useFixedColumns-Bo-Az3Hp.js";
6
- import { t as s } from "../useDocumentTitle-BX7aZKoT.js";
7
- import { t as c } from "../useLanguage-BigJQQLb.js";
6
+ import { t as s } from "../useDocumentTitle-BJ5nJtLS.js";
7
+ import { t as c } from "../useLanguage-BvcHTj-R.js";
8
8
  import { t as l } from "../ui-nQGnCss1.js";
9
- import { t as u } from "../useTheme-C_AhwSy3.js";
10
- import { a as d, c as f, d as p, f as m, h, i as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T } from "../behavior-DUMKzliu.js";
9
+ import { t as u } from "../useTheme-D90lnVPl.js";
10
+ import { a as d, c as f, d as p, f as m, h, i as g, l as _, m as v, n as y, o as b, p as x, r as S, s as C, t as w, u as T } from "../behavior-BUdJHPMQ.js";
11
11
  export { w as URL_DATE_FORMAT, y as parseDateRange, S as serializeDateRange, n as toast, x as useConfirmDeleteDialog, v as useConfirmationDialog, a as useDataTable, m as useDebounce, p as useDebouncedValue, h as useDialog, s as useDocumentTitle, o as useFixedColumns, c as useLanguage, i as useMobile, r as useNotifications, T as usePage, e as useScrollFade, l as useServerTable, _ as useSidebar, f as useTable, u as useTheme, t as useToast, g as useUrlArrayState, d as useUrlDateRangeState, b as useUrlNumberState, C as useUrlState };
@@ -3,8 +3,8 @@ import { n as t, t as n } from "../../useToast-UeDRLovh.js";
3
3
  import { t as r } from "../../useNotifications-CyhTruIG.js";
4
4
  import { t as i } from "../../useMobile-pTQ8lWvt.js";
5
5
  import { n as a, t as o } from "../../useFixedColumns-Bo-Az3Hp.js";
6
- import { t as s } from "../../useDocumentTitle-BX7aZKoT.js";
7
- import { t as c } from "../../useLanguage-BigJQQLb.js";
6
+ import { t as s } from "../../useDocumentTitle-BJ5nJtLS.js";
7
+ import { t as c } from "../../useLanguage-BvcHTj-R.js";
8
8
  import { t as l } from "../../ui-nQGnCss1.js";
9
- import { t as u } from "../../useTheme-C_AhwSy3.js";
9
+ import { t as u } from "../../useTheme-D90lnVPl.js";
10
10
  export { n as toast, a as useDataTable, s as useDocumentTitle, o as useFixedColumns, c as useLanguage, i as useMobile, r as useNotifications, e as useScrollFade, l as useServerTable, u as useTheme, t as useToast };
@@ -1 +1 @@
1
- export { i as KROSOFT_NAMESPACE, n as dateFnsLocale, a as krosoftLocales, o as registerKrosoftLocales, r as useDateFnsLocale, t as useKrosoftTranslation } from "../i18n-Cpw8DZt1.js";
1
+ export { i as KROSOFT_NAMESPACE, n as dateFnsLocale, a as krosoftLocales, o as registerKrosoftLocales, r as useDateFnsLocale, t as useKrosoftTranslation } from "../i18n-w2FziHQf.js";
@@ -174,6 +174,7 @@ export declare const krosoftLocales: {
174
174
  empty: string;
175
175
  searchPlaceholder: string;
176
176
  noResult: string;
177
+ tagsPlaceholder: string;
177
178
  };
178
179
  };
179
180
  en: {
@@ -344,6 +345,7 @@ export declare const krosoftLocales: {
344
345
  empty: string;
345
346
  searchPlaceholder: string;
346
347
  noResult: string;
348
+ tagsPlaceholder: string;
347
349
  };
348
350
  };
349
351
  };
@@ -1 +1 @@
1
- {"version":3,"file":"krosoftLocales.d.ts","sourceRoot":"","sources":["../../src/i18n/krosoftLocales.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,8FAA8F;AAC9F,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC;AAEzC,gGAAgG;AAChG,UAAU,QAAQ;IAChB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACjH,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,QAAQ,EAAE,gBAAuB;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,KAAG,IAM5G,CAAC"}
1
+ {"version":3,"file":"krosoftLocales.d.ts","sourceRoot":"","sources":["../../src/i18n/krosoftLocales.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,8FAA8F;AAC9F,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAa,CAAC;AAEzC,gGAAgG;AAChG,UAAU,QAAQ;IAChB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACjH,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,QAAQ,EAAE,gBAAuB;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,KAAG,IAM5G,CAAC"}
@@ -167,7 +167,8 @@ var r = {
167
167
  nav: "Dates",
168
168
  empty: "No release notes.",
169
169
  searchPlaceholder: "Search release notes...",
170
- noResult: "No release note matches \"{{query}}\"."
170
+ noResult: "No release note matches your criteria.",
171
+ tagsPlaceholder: "Categories"
171
172
  }
172
173
  }, i = {
173
174
  actions: {
@@ -336,7 +337,8 @@ var r = {
336
337
  nav: "Dates",
337
338
  empty: "Aucune note de version.",
338
339
  searchPlaceholder: "Rechercher dans les nouveautés...",
339
- noResult: "Aucune note ne correspond à « {{query}} »."
340
+ noResult: "Aucune note ne correspond à vos critères.",
341
+ tagsPlaceholder: "Catégories"
340
342
  }
341
343
  }, a = "krosoft", o = {
342
344
  fr: i,
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-Cpw8DZt1.js";
2
+ import { t } from "./i18n-w2FziHQf.js";
3
3
  import { useRef as n, useState as r } from "react";
4
4
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
5
5
  import { Heart as s, Loader2 as c, Star as l, UploadIcon as u } from "lucide-react";
@@ -1,7 +1,7 @@
1
- import { t as e } from "./i18n-Cpw8DZt1.js";
1
+ import { t as e } from "./i18n-w2FziHQf.js";
2
2
  import { c as t, i as n, n as r, r as i, t as a } from "./tooltip-_geGvbS7.js";
3
3
  import { i as o, l as s, n as c, t as l, u } from "./select-KWMg2_7Z.js";
4
- import { t as d } from "./useLanguage-BigJQQLb.js";
4
+ import { t as d } from "./useLanguage-BvcHTj-R.js";
5
5
  import "react";
6
6
  import { jsx as f, jsxs as p } from "react/jsx-runtime";
7
7
  import { LanguagesIcon as m } from "lucide-react";
@@ -1,9 +1,9 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-Cpw8DZt1.js";
2
+ import { t } from "./i18n-w2FziHQf.js";
3
3
  import { c as n, i as r, n as i, r as a, t as o } from "./tooltip-_geGvbS7.js";
4
- import { C as s, S as c, b as l, d as u, g as d, h as f, i as p, l as m, m as h, p as g, r as _, t as v, v as y, x as b, y as x } from "./sheet-DOU2o0gO.js";
4
+ import { C as s, S as c, b as l, d as u, g as d, h as f, i as p, l as m, m as h, p as g, r as _, t as v, v as y, x as b, y as x } from "./sheet-CGz2TZ_Z.js";
5
5
  import { t as S } from "./skeleton-D6Ga4BLw.js";
6
- import { l as C } from "./behavior-DUMKzliu.js";
6
+ import { l as C } from "./behavior-BUdJHPMQ.js";
7
7
  import * as w from "react";
8
8
  import { Fragment as T, jsx as E, jsxs as D } from "react/jsx-runtime";
9
9
  import { BellIcon as O, ChevronDownIcon as k, ClockIcon as A, LoaderCircleIcon as j, MenuIcon as M, SearchIcon as N, Trash2Icon as P, XIcon as F } from "lucide-react";
package/dist/pwa/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { t as e } from "../i18n-Cpw8DZt1.js";
1
+ import { t as e } from "../i18n-w2FziHQf.js";
2
2
  import { useEffect as t } from "react";
3
3
  import { toast as n } from "sonner";
4
4
  import { useRegisterSW as r } from "virtual:pwa-register/react";
@@ -1,4 +1,4 @@
1
- import { t as e } from "../i18n-Cpw8DZt1.js";
1
+ import { t as e } from "../i18n-w2FziHQf.js";
2
2
  import { n as t, t as n } from "../switch-DspImmo_.js";
3
3
  import { t as r } from "../useNotifications-CyhTruIG.js";
4
4
  import { useCallback as i, useMemo as a, useSyncExternalStore as o } from "react";
@@ -1,5 +1,5 @@
1
1
  import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { t } from "./i18n-Cpw8DZt1.js";
2
+ import { t } from "./i18n-w2FziHQf.js";
3
3
  import { a as n } from "./tooltip-_geGvbS7.js";
4
4
  import * as r from "react";
5
5
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-Cpw8DZt1.js";
1
+ import { t as e } from "./i18n-w2FziHQf.js";
2
2
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
3
  import { Loader2Icon as r } from "lucide-react";
4
4
  //#region src/components/core/states/ErrorState.tsx
@@ -1,7 +1,7 @@
1
- import { t as e } from "./i18n-Cpw8DZt1.js";
1
+ import { t as e } from "./i18n-w2FziHQf.js";
2
2
  import { c as t, i as n, n as r, r as i, t as a } from "./tooltip-_geGvbS7.js";
3
3
  import { i as o, l as s, n as c, t as l, u } from "./select-KWMg2_7Z.js";
4
- import { t as d } from "./useTheme-C_AhwSy3.js";
4
+ import { t as d } from "./useTheme-D90lnVPl.js";
5
5
  import "react";
6
6
  import { jsx as f, jsxs as p } from "react/jsx-runtime";
7
7
  //#region src/components/core/theme/ThemeSelector.tsx
@@ -0,0 +1,8 @@
1
+ /** Élément d'une entrée de journal : un module (tag) et son texte markdown. */
2
+ export interface ChangelogItem {
3
+ /** Module issu du préfixe `**Module** :` ; absent pour un texte sans préfixe. */
4
+ tag?: string;
5
+ /** Markdown de l'élément, préfixe retiré. */
6
+ content: string;
7
+ }
8
+ //# sourceMappingURL=ChangelogItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangelogItem.d.ts","sourceRoot":"","sources":["../../src/types/ChangelogItem.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -1,6 +1,7 @@
1
1
  export * from "./AppAction";
2
2
  export * from "./ButtonVariantType";
3
3
  export * from "./ChangelogEntry";
4
+ export * from "./ChangelogItem";
4
5
  export * from "./ChartDatum";
5
6
  export * from "./ConfirmDialogConfig";
6
7
  export * from "./DataTableBulkAction";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-Cpw8DZt1.js";
1
+ import { t as e } from "./i18n-w2FziHQf.js";
2
2
  import { useEffect as t } from "react";
3
3
  //#region src/hooks/ui/useDocumentTitle.ts
4
4
  var n = (n, r, i) => {
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-Cpw8DZt1.js";
1
+ import { t as e } from "./i18n-w2FziHQf.js";
2
2
  import { t } from "./useNotifications-CyhTruIG.js";
3
3
  import { useTranslation as n } from "react-i18next";
4
4
  //#region src/hooks/ui/useLanguage.ts
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-Cpw8DZt1.js";
1
+ import { t as e } from "./i18n-w2FziHQf.js";
2
2
  import { t } from "./useNotifications-CyhTruIG.js";
3
3
  import { useTheme as n } from "next-themes";
4
4
  //#region src/hooks/ui/useTheme.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krosoft/react",
3
- "version": "0.0.374",
3
+ "version": "0.0.375",
4
4
  "description": "Krosoft shared React package",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -1,139 +0,0 @@
1
- import { t as e } from "./tailwind.helper-CJaRYBmL.js";
2
- import { filterChangelog as t, parseChangelog as n } from "./helpers/index.js";
3
- import { r, t as i } from "./i18n-Cpw8DZt1.js";
4
- import { t as a } from "./SearchInput-VVu1aIU4.js";
5
- import { t as o } from "./useNotifications-CyhTruIG.js";
6
- import { t as s } from "./AppMarkdown-DR9Xzort.js";
7
- import { useEffect as c, useMemo as l, useState as u } from "react";
8
- import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
9
- import { LinkIcon as m } from "lucide-react";
10
- import { useLocation as h, useNavigate as g } from "react-router-dom";
11
- import { format as _ } from "date-fns";
12
- //#region src/components/core/changelog/AppChangelogEntry.tsx
13
- var v = ({ entry: t, isLatest: n, isLast: a, isActive: o, onSelect: c, onCopyLink: l }) => {
14
- let { t: u } = i(), h = r();
15
- return /* @__PURE__ */ p("section", {
16
- id: t.id,
17
- className: "group flex scroll-mt-4 gap-4",
18
- children: [/* @__PURE__ */ p("div", {
19
- className: "flex w-24 shrink-0 flex-col items-center",
20
- children: [
21
- /* @__PURE__ */ f("a", {
22
- href: `#${t.id}`,
23
- onClick: (e) => {
24
- e.preventDefault(), c(t.id);
25
- },
26
- className: e("mb-2 text-center text-xs font-medium leading-tight text-muted-foreground hover:text-primary", o && "text-primary"),
27
- children: t.date ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f("span", {
28
- className: "block",
29
- children: _(t.date, "d MMM yyyy", { locale: h })
30
- }), t.hasTime ? /* @__PURE__ */ f("span", {
31
- className: "block opacity-70",
32
- children: _(t.date, "HH:mm", { locale: h })
33
- }) : null] }) : t.title
34
- }),
35
- /* @__PURE__ */ f("div", { className: e("relative z-10 size-3 shrink-0 rounded-full", n ? "bg-primary" : "bg-muted-foreground/40", o && "ring-4 ring-primary/20") }),
36
- a ? null : /* @__PURE__ */ f("div", { className: "w-0.5 grow bg-border" })
37
- ]
38
- }), /* @__PURE__ */ p("div", {
39
- className: e("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", o && "border-primary/50"),
40
- children: [/* @__PURE__ */ f("button", {
41
- type: "button",
42
- onClick: () => {
43
- l(t.id);
44
- },
45
- title: u("markdown.copyLink"),
46
- "aria-label": u("markdown.copyLink"),
47
- 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",
48
- children: /* @__PURE__ */ f(m, { className: "size-4" })
49
- }), /* @__PURE__ */ f(s, {
50
- content: t.content,
51
- headingAnchors: !1
52
- })]
53
- })]
54
- });
55
- }, y = ({ entries: t, activeId: n, onSelect: a, className: o }) => {
56
- let { t: s } = i(), c = r();
57
- return /* @__PURE__ */ p("nav", {
58
- "aria-label": s("changelog.nav"),
59
- className: o,
60
- children: [/* @__PURE__ */ f("p", {
61
- className: "mb-2 px-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground",
62
- children: s("changelog.nav")
63
- }), /* @__PURE__ */ f("ul", {
64
- className: "space-y-0.5 border-l",
65
- children: t.map((t) => /* @__PURE__ */ f("li", { children: /* @__PURE__ */ f("a", {
66
- href: `#${t.id}`,
67
- onClick: (e) => {
68
- e.preventDefault(), a(t.id);
69
- },
70
- className: e("-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", t.id === n && "border-primary font-medium text-primary hover:border-primary hover:text-primary"),
71
- children: t.date ? _(t.date, t.hasTime ? "d MMM yyyy · HH:mm" : "d MMM yyyy", { locale: c }) : t.title
72
- }) }, t.id))
73
- })]
74
- });
75
- }, b = ({ content: e, showNav: r = !0, showSearch: s = !0 }) => {
76
- let { t: d } = i(), { showSuccess: m, showError: _ } = o(), b = h(), x = g(), [S, C] = u(""), w = l(() => n(e), [e]), T = l(() => t(w, S), [w, S]), E = w[0]?.id, D = decodeURIComponent(b.hash.slice(1)), O = T.some((e) => e.id === D) ? D : void 0;
77
- c(() => {
78
- if (!O) return;
79
- let e = requestAnimationFrame(() => {
80
- document.getElementById(O)?.scrollIntoView({
81
- behavior: "smooth",
82
- block: "start"
83
- });
84
- });
85
- return () => {
86
- cancelAnimationFrame(e);
87
- };
88
- }, [O]);
89
- let k = (e) => {
90
- x({
91
- search: b.search,
92
- hash: `#${e}`
93
- }, { replace: !0 });
94
- }, A = async (e) => {
95
- k(e);
96
- let t = `${window.location.origin}${b.pathname}${b.search}#${e}`;
97
- try {
98
- await navigator.clipboard.writeText(t), m(d("markdown.linkCopied"));
99
- } catch {
100
- _(d("markdown.linkCopyError"));
101
- }
102
- };
103
- return w.length === 0 ? /* @__PURE__ */ f("p", {
104
- className: "text-sm text-muted-foreground",
105
- children: d("changelog.empty")
106
- }) : /* @__PURE__ */ p("div", {
107
- className: "flex gap-8",
108
- children: [/* @__PURE__ */ p("div", {
109
- className: "min-w-0 flex-1",
110
- children: [
111
- s ? /* @__PURE__ */ f(a, {
112
- search: S,
113
- onSearch: C,
114
- placeholder: d("changelog.searchPlaceholder"),
115
- className: "mb-6 md:w-96"
116
- }) : null,
117
- T.length === 0 ? /* @__PURE__ */ f("p", {
118
- className: "text-sm text-muted-foreground",
119
- children: d("changelog.noResult", { query: S.trim() })
120
- }) : null,
121
- T.map((e, t) => /* @__PURE__ */ f(v, {
122
- entry: e,
123
- isLatest: e.id === E,
124
- isLast: t === T.length - 1,
125
- isActive: e.id === O,
126
- onSelect: k,
127
- onCopyLink: (e) => void A(e)
128
- }, e.id))
129
- ]
130
- }), r && T.length > 0 ? /* @__PURE__ */ f(y, {
131
- entries: T,
132
- activeId: O,
133
- onSelect: k,
134
- className: "sticky top-4 hidden max-h-[calc(100vh-2rem)] w-52 shrink-0 self-start overflow-y-auto xl:block"
135
- }) : null]
136
- });
137
- };
138
- //#endregion
139
- export { b as t };