features: dynamic terminal components

This commit is contained in:
mengstabketemaw
2026-05-23 11:08:05 +03:00
parent 3485ef299d
commit cf3869ef66
4 changed files with 308 additions and 224 deletions

View File

@@ -485,6 +485,13 @@ export function getRouteDirection(
return null;
}
function getStationLocation(value: string): "inside" | "outside" | null {
const normalized = value.trim().toLowerCase();
if (normalized.startsWith("inside")) return "inside";
if (normalized.startsWith("outside")) return "outside";
return null;
}
export function calcWagons(containers: ContainerConfig[]): WagonCalcResult {
const Ft40Wagons = containers
.filter((c) => c.type === "40ft")
@@ -495,20 +502,6 @@ export function calcWagons(containers: ContainerConfig[]): WagonCalcResult {
const wagonLayout: WagonConfig[] = [];
let hasOddUnit = Ft20Wagons % 2 === 1;
let sharedWagons = Math.floor(Ft20Wagons / 2);
function getStationLocation(value: string): "inside" | "outside" | null {
const normalized = value.trim().toLowerCase();
if (normalized.startsWith("inside")) return "inside";
if (normalized.startsWith("outside")) return "outside";
return null;
}
export function calcWagons(
type: BookingFormValues["containerType"],
qty: number,
): WagonCalcResult {
if (type === "40ft") {
return { totalWagons: qty, hasOddUnit: false, sharedWagons: qty };
}
return {
totalWagons: sharedWagons + Ft40Wagons,
@@ -518,4 +511,4 @@ export function calcWagons(
ft20Wagons: Ft20Wagons,
wagonLayout,
};
}
}

View File

@@ -1,14 +1,25 @@
import { Controller, type UseFormReturn } from "react-hook-form";
import { Flame, MapPin, Snowflake } from "lucide-react";
import { Field, Separator, Switch } from "@edr/ui-common";
import { Field, SelectItem, Separator, Switch } from "@edr/ui-common";
import { type BookingFormValues, getRouteDirection, STATIONS } from "./schema";
import { SelectField, SelectOptions, StepHeader, StepLabel } from "./shared";
import { useDropdownSettingByCode } from "@/hooks/useDropdownSettings";
import { DropdownOption } from "@/types/dropdownSettings";
type BookingForm = UseFormReturn<BookingFormValues>;
const STATION_DROPDOWN_CODE = "stations_ter";
export function Step4Route({ form }: { form: BookingForm }) {
const originYard = form.watch("originYard");
const destinationYard = form.watch("destinationYard");
const {
data: stationSetting,
isLoading: stationsLoading,
isError: stationsError,
error: stationsFetchError,
} = useDropdownSettingByCode(STATION_DROPDOWN_CODE);
const stationOptions = getStationOptions(stationSetting?.children);
const direction = getRouteDirection(originYard, destinationYard);
const directionStyle: Record<string, string> = {
export: "bg-sky-50 text-sky-800 border-sky-200",
@@ -16,10 +27,11 @@ export function Step4Route({ form }: { form: BookingForm }) {
domestic: "bg-muted text-muted-foreground border-border",
};
const directionLabel: Record<string, string> = {
export: "Export workflow (Ethiopia to Djibouti)",
import: "Import workflow (Djibouti to Ethiopia)",
export: "Export workflow (inside country to outside country)",
import: "Import workflow (outside country to inside country)",
domestic: "Domestic corridor",
};
const stationSelectDisabled = stationsLoading || stationOptions.length === 0;
return (
<div className="space-y-6">
@@ -29,6 +41,7 @@ export function Step4Route({ form }: { form: BookingForm }) {
/>
<div className="space-y-3">
<StepLabel>Route</StepLabel>
<div className="grid gap-3 sm:grid-cols-2">
<Controller
name="originYard"
@@ -39,9 +52,12 @@ export function Step4Route({ form }: { form: BookingForm }) {
error={fieldState.error}
label="Origin Yard*"
placeholder="Select origin..."
disabled={stationSelectDisabled}
>
<SelectOptions
options={STATIONS.filter((s) => s !== destinationYard)}
<StationSelectOptions
options={stationOptions}
excludeValue={destinationYard}
isLoading={stationsLoading}
/>
</SelectField>
)}
@@ -55,14 +71,25 @@ export function Step4Route({ form }: { form: BookingForm }) {
error={fieldState.error}
label="Destination Yard *"
placeholder="Select destination..."
disabled={stationSelectDisabled}
>
<SelectOptions
options={STATIONS.filter((s) => s !== originYard)}
<StationSelectOptions
options={stationOptions}
excludeValue={originYard}
isLoading={stationsLoading}
/>
</SelectField>
)}
/>
</div>
{stationsError && (
<AlertBox tone="error">
Failed to load stations from the API.{" "}
{stationsFetchError instanceof Error
? stationsFetchError.message
: "Try again later."}
</AlertBox>
)}
{direction && (
<div
className={`flex items-center gap-2 rounded-lg border px-3 py-2 text-xs font-medium ${directionStyle[direction]}`}
@@ -117,3 +144,53 @@ export function Step4Route({ form }: { form: BookingForm }) {
</div>
);
}
function getStationOptions(options?: DropdownOption[]): DropdownOption[] {
return [...(options ?? [])].sort((a, b) => a.order - b.order);
}
function StationSelectOptions({
options,
excludeValue,
isLoading,
}: {
options: DropdownOption[];
excludeValue: string;
isLoading: boolean;
}) {
if (isLoading) {
return (
<SelectItem value="__stations_loading" disabled>
Loading stations...
</SelectItem>
);
}
const availableOptions = options.filter(
(option) => option.value !== excludeValue,
);
if (availableOptions.length === 0) {
return (
<SelectItem value="__stations_empty" disabled>
No stations available
</SelectItem>
);
}
return (
<>
{availableOptions.map((option) => (
<SelectItem
key={option.id}
value={option.value}
disabled={option.disabled}
>
{option.label}
</SelectItem>
))}
</>
);
}

View File

@@ -0,0 +1,24 @@
// vite.config.ts
import path from "node:path";
import { fileURLToPath } from "node:url";
import { defineConfig } from "file:///home/meng/projects/edr-platform/node_modules/.pnpm/vite@5.4.21_@types+node@24.12.4_lightningcss@1.32.0_terser@5.48.0/node_modules/vite/dist/node/index.js";
import react from "file:///home/meng/projects/edr-platform/node_modules/.pnpm/@vitejs+plugin-react@4.7.0_vite@5.4.21_@types+node@24.12.4_lightningcss@1.32.0_terser@5.48.0_/node_modules/@vitejs/plugin-react/dist/index.js";
import tailwindcss from "file:///home/meng/projects/edr-platform/node_modules/.pnpm/@tailwindcss+vite@4.3.0_vite@5.4.21_@types+node@24.12.4_lightningcss@1.32.0_terser@5.48.0_/node_modules/@tailwindcss/vite/dist/index.mjs";
var __vite_injected_original_import_meta_url = "file:///home/meng/projects/edr-platform/apps/edr-freight-web/portal/vite.config.ts";
var __dirname = path.dirname(fileURLToPath(__vite_injected_original_import_meta_url));
var vite_config_default = defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src")
}
},
server: {
port: 5173,
host: "0.0.0.0"
}
});
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9tZW5nL3Byb2plY3RzL2Vkci1wbGF0Zm9ybS9hcHBzL2Vkci1mcmVpZ2h0LXdlYi9wb3J0YWxcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL21lbmcvcHJvamVjdHMvZWRyLXBsYXRmb3JtL2FwcHMvZWRyLWZyZWlnaHQtd2ViL3BvcnRhbC92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9tZW5nL3Byb2plY3RzL2Vkci1wbGF0Zm9ybS9hcHBzL2Vkci1mcmVpZ2h0LXdlYi9wb3J0YWwvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgcmVhY3QgZnJvbSBcIkB2aXRlanMvcGx1Z2luLXJlYWN0XCI7XG5pbXBvcnQgdGFpbHdpbmRjc3MgZnJvbSBcIkB0YWlsd2luZGNzcy92aXRlXCI7XG5cbmNvbnN0IF9fZGlybmFtZSA9IHBhdGguZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICBwbHVnaW5zOiBbcmVhY3QoKSwgdGFpbHdpbmRjc3MoKV0sXG4gIHJlc29sdmU6IHtcbiAgICBhbGlhczoge1xuICAgICAgXCJAXCI6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwiLi9zcmNcIiksXG4gICAgfSxcbiAgfSxcbiAgc2VydmVyOiB7XG4gICAgcG9ydDogNTE3MyxcbiAgICBob3N0OiBcIjAuMC4wLjBcIixcbiAgfSxcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFzVyxPQUFPLFVBQVU7QUFDdlgsU0FBUyxxQkFBcUI7QUFFOUIsU0FBUyxvQkFBb0I7QUFDN0IsT0FBTyxXQUFXO0FBQ2xCLE9BQU8saUJBQWlCO0FBTHdNLElBQU0sMkNBQTJDO0FBT2pSLElBQU0sWUFBWSxLQUFLLFFBQVEsY0FBYyx3Q0FBZSxDQUFDO0FBRTdELElBQU8sc0JBQVEsYUFBYTtBQUFBLEVBQzFCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO0FBQUEsRUFDaEMsU0FBUztBQUFBLElBQ1AsT0FBTztBQUFBLE1BQ0wsS0FBSyxLQUFLLFFBQVEsV0FBVyxPQUFPO0FBQUEsSUFDdEM7QUFBQSxFQUNGO0FBQUEsRUFDQSxRQUFRO0FBQUEsSUFDTixNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsRUFDUjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==

394
pnpm-lock.yaml generated
View File

@@ -31,7 +31,7 @@ importers:
version: 3.8.3
turbo:
specifier: ^2.3.0
version: 2.9.14
version: 2.9.12
typescript:
specifier: ^5.5.4
version: 5.9.3
@@ -70,7 +70,7 @@ importers:
version: 0.1.4(kw56ayyn7pbkaoqn2kt3fjycd4)
'@tria-plc/iamapi-common':
specifier: ^0.1.6
version: 0.1.6(7mwzootr6eqk573psm353y24de)
version: 0.1.6(bxxqub5dwjzo6cpw3xthxxmjmy)
amqp-connection-manager:
specifier: ^5.0.0
version: 5.0.0(amqplib@2.0.1)
@@ -170,7 +170,7 @@ importers:
version: 5.100.11(react@19.2.6)
'@tria-plc/iamui-common':
specifier: 1.1.1
version: 1.1.1(33c6sm4c4ueuo474qk2tvnumee)
version: 1.1.1(hhtlbgyp7ft4czmlvyx3ist46y)
axios:
specifier: ^1.7.7
version: 1.16.0
@@ -182,13 +182,13 @@ importers:
version: 2.1.1
libphonenumber-js:
specifier: ^1.12.24
version: 1.13.1
version: 1.13.3
lucide-react:
specifier: ^1.14.0
version: 1.14.0(react@19.2.6)
version: 1.16.0(react@19.2.6)
radix-ui:
specifier: ^1.4.3
version: 1.4.3(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
version: 1.4.3(@types/react-dom@18.3.7(@types/react@18.3.29))(@types/react@18.3.29)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
react:
specifier: 19.2.6
version: 19.2.6
@@ -200,7 +200,7 @@ importers:
version: 6.30.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
recharts:
specifier: ^3.8.1
version: 3.8.1(@types/react@18.3.28)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1)
version: 3.8.1(@types/react@18.3.29)(react-dom@19.2.6(react@19.2.6))(react-is@19.2.6)(react@19.2.6)(redux@5.0.1)
tailwind-merge:
specifier: ^3.6.0
version: 3.6.0
@@ -216,7 +216,7 @@ importers:
version: link:../../../packages/config/tsconfig
'@tailwindcss/vite':
specifier: ^4.3.0
version: 4.3.0(vite@5.4.21(@types/node@24.12.4)(lightningcss@1.32.0)(terser@5.47.1))
version: 4.3.0(vite@5.4.21(@types/node@24.12.4)(lightningcss@1.32.0)(terser@5.48.0))
'@types/react':
specifier: ^18.3.11
version: 18.3.29
@@ -267,7 +267,7 @@ importers:
version: 1.1.1(hhtlbgyp7ft4czmlvyx3ist46y)
axios:
specifier: ^1.7.7
version: 1.16.1
version: 1.16.0
class-variance-authority:
specifier: ^0.7.1
version: 0.7.1
@@ -455,7 +455,7 @@ importers:
version: 5.100.11(react@19.2.6)
axios:
specifier: ^1.7.7
version: 1.16.1
version: 1.16.0
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -522,7 +522,7 @@ importers:
version: 5.100.11(react@19.2.6)
axios:
specifier: ^1.7.7
version: 1.16.1
version: 1.16.0
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -1355,11 +1355,6 @@ packages:
peerDependencies:
hono: ^4
'@hookform/resolvers@5.2.2':
resolution: {integrity: sha512-A/IxlMLShx3KjV/HeTcTfaMxdwy690+L/ZADoeaTltLx+CVuzkeVIPuybK3jrRfw7YZnmdKsVVHAlEPIAEUNlA==}
peerDependencies:
react-hook-form: ^7.55.0
'@hookform/resolvers@5.4.0':
resolution: {integrity: sha512-EIsqr/t/qbinPIhGjMdtvutIN1Kk4uwbROE9/UQ93CAVGR7GkA7Y92+fX80OzXi/OB67jVFYwKGO1WzkxmkFZw==}
peerDependencies:
@@ -3131,128 +3126,128 @@ packages:
'@rolldown/pluginutils@1.0.0-beta.27':
resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
'@rollup/rollup-android-arm-eabi@4.60.4':
resolution: {integrity: sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==}
'@rollup/rollup-android-arm-eabi@4.60.3':
resolution: {integrity: sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==}
cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.60.4':
resolution: {integrity: sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==}
'@rollup/rollup-android-arm64@4.60.3':
resolution: {integrity: sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==}
cpu: [arm64]
os: [android]
'@rollup/rollup-darwin-arm64@4.60.4':
resolution: {integrity: sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==}
'@rollup/rollup-darwin-arm64@4.60.3':
resolution: {integrity: sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==}
cpu: [arm64]
os: [darwin]
'@rollup/rollup-darwin-x64@4.60.4':
resolution: {integrity: sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==}
'@rollup/rollup-darwin-x64@4.60.3':
resolution: {integrity: sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==}
cpu: [x64]
os: [darwin]
'@rollup/rollup-freebsd-arm64@4.60.4':
resolution: {integrity: sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==}
'@rollup/rollup-freebsd-arm64@4.60.3':
resolution: {integrity: sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==}
cpu: [arm64]
os: [freebsd]
'@rollup/rollup-freebsd-x64@4.60.4':
resolution: {integrity: sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==}
'@rollup/rollup-freebsd-x64@4.60.3':
resolution: {integrity: sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==}
cpu: [x64]
os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.60.4':
resolution: {integrity: sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==}
'@rollup/rollup-linux-arm-gnueabihf@4.60.3':
resolution: {integrity: sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==}
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.60.4':
resolution: {integrity: sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==}
'@rollup/rollup-linux-arm-musleabihf@4.60.3':
resolution: {integrity: sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==}
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.60.4':
resolution: {integrity: sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==}
'@rollup/rollup-linux-arm64-gnu@4.60.3':
resolution: {integrity: sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==}
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-arm64-musl@4.60.4':
resolution: {integrity: sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==}
'@rollup/rollup-linux-arm64-musl@4.60.3':
resolution: {integrity: sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==}
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-loong64-gnu@4.60.4':
resolution: {integrity: sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==}
'@rollup/rollup-linux-loong64-gnu@4.60.3':
resolution: {integrity: sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==}
cpu: [loong64]
os: [linux]
'@rollup/rollup-linux-loong64-musl@4.60.4':
resolution: {integrity: sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==}
'@rollup/rollup-linux-loong64-musl@4.60.3':
resolution: {integrity: sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==}
cpu: [loong64]
os: [linux]
'@rollup/rollup-linux-ppc64-gnu@4.60.4':
resolution: {integrity: sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==}
'@rollup/rollup-linux-ppc64-gnu@4.60.3':
resolution: {integrity: sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==}
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-ppc64-musl@4.60.4':
resolution: {integrity: sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==}
'@rollup/rollup-linux-ppc64-musl@4.60.3':
resolution: {integrity: sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==}
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.60.4':
resolution: {integrity: sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==}
'@rollup/rollup-linux-riscv64-gnu@4.60.3':
resolution: {integrity: sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==}
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-riscv64-musl@4.60.4':
resolution: {integrity: sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==}
'@rollup/rollup-linux-riscv64-musl@4.60.3':
resolution: {integrity: sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==}
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.60.4':
resolution: {integrity: sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==}
'@rollup/rollup-linux-s390x-gnu@4.60.3':
resolution: {integrity: sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==}
cpu: [s390x]
os: [linux]
'@rollup/rollup-linux-x64-gnu@4.60.4':
resolution: {integrity: sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==}
'@rollup/rollup-linux-x64-gnu@4.60.3':
resolution: {integrity: sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==}
cpu: [x64]
os: [linux]
'@rollup/rollup-linux-x64-musl@4.60.4':
resolution: {integrity: sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==}
'@rollup/rollup-linux-x64-musl@4.60.3':
resolution: {integrity: sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==}
cpu: [x64]
os: [linux]
'@rollup/rollup-openbsd-x64@4.60.4':
resolution: {integrity: sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==}
'@rollup/rollup-openbsd-x64@4.60.3':
resolution: {integrity: sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==}
cpu: [x64]
os: [openbsd]
'@rollup/rollup-openharmony-arm64@4.60.4':
resolution: {integrity: sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==}
'@rollup/rollup-openharmony-arm64@4.60.3':
resolution: {integrity: sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==}
cpu: [arm64]
os: [openharmony]
'@rollup/rollup-win32-arm64-msvc@4.60.4':
resolution: {integrity: sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==}
'@rollup/rollup-win32-arm64-msvc@4.60.3':
resolution: {integrity: sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==}
cpu: [arm64]
os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.60.4':
resolution: {integrity: sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==}
'@rollup/rollup-win32-ia32-msvc@4.60.3':
resolution: {integrity: sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==}
cpu: [ia32]
os: [win32]
'@rollup/rollup-win32-x64-gnu@4.60.4':
resolution: {integrity: sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==}
'@rollup/rollup-win32-x64-gnu@4.60.3':
resolution: {integrity: sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==}
cpu: [x64]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.60.4':
resolution: {integrity: sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==}
'@rollup/rollup-win32-x64-msvc@4.60.3':
resolution: {integrity: sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==}
cpu: [x64]
os: [win32]
@@ -3677,33 +3672,33 @@ packages:
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
'@turbo/darwin-64@2.9.14':
resolution: {integrity: sha512-t7QiPflaEyBE4oayeZtSmu4mEfjgIrcNlNNl1z1dmIVPqEdtA7+CfTf8d7KXsOGPh6aNgWjKxyvQg9uGfDQF+A==}
'@turbo/darwin-64@2.9.12':
resolution: {integrity: sha512-eu3eFRmE9NjgZ0wPdRJ44l+LGSeIky+tz5ZQd8zQkw/Yqi+BM7wq+8nbabeoiVUcICi/IZweMOKl/MCmkrd1+g==}
cpu: [x64]
os: [darwin]
'@turbo/darwin-arm64@2.9.14':
resolution: {integrity: sha512-d23147mC9BsCPA9mJ0h/ubcpbRgcJBXbcG3+Vq7YLhjz3IXuvQsJ1UXH8f4MD76ZjJ4m/E4aRdJV+MW88CDfbw==}
'@turbo/darwin-arm64@2.9.12':
resolution: {integrity: sha512-RUkAE404z/J8NsyrUosMcBaXT6M4bRFxTQrmkDQBLQVXaC8Jl0e9bMvYDSX0GW7Ffm2m3j9y7RXgR1foeUAM9w==}
cpu: [arm64]
os: [darwin]
'@turbo/linux-64@2.9.14':
resolution: {integrity: sha512-P3ZKB5tuUDdDQWuAsACGUR1qv9W7BNWxdxqVJ0kZNuNNPRaVYTPPikLcp79+GiEcW3npsR+KyP38lnQiBc5aSA==}
'@turbo/linux-64@2.9.12':
resolution: {integrity: sha512-InIUtH7cw/vqXNX1Gr7QgWfmw3ct08pV5CpfdEOR48z2u2rzdmpIuk00B/Q2xCb0PMWtKgiMQynfuphmEuUyTQ==}
cpu: [x64]
os: [linux]
'@turbo/linux-arm64@2.9.14':
resolution: {integrity: sha512-ZRTlzcUMrrPv9ZuDzRF9n60Ym13bKeG9jDB8WjxyLhWNzV+AJQN+zdpIk3NJYf2zQsGUm1mNar2P0elRzLw25g==}
'@turbo/linux-arm64@2.9.12':
resolution: {integrity: sha512-lC6nD//Xh67fmJM0LKaLsg74Wry0aYrgMklpiNgCbUaMdPIOqj0A00iri3NU7Lb7pZHx8ViisgpeDKlpSgFUCA==}
cpu: [arm64]
os: [linux]
'@turbo/windows-64@2.9.14':
resolution: {integrity: sha512-exanwN6sIduZwykYeiTQj8kCmOhazP5WOz3bvXMcYtjhL6Z3iRWLewKrXCBq0bqwSP3iBMb/AerRCnHI4lx46A==}
'@turbo/windows-64@2.9.12':
resolution: {integrity: sha512-conYri8VUl72JOdYnLDPYwzqbPcY5ECoHmo9FWoKznemhaAIilj4maHqs9Uar0aKfNoZIULniy+6iWaLtLO34A==}
cpu: [x64]
os: [win32]
'@turbo/windows-arm64@2.9.14':
resolution: {integrity: sha512-fVdCsnmYoKICsycbWuuGp6Jvi51/3G/UluFWuAUCvR8PIW5IJkAk5BM9UF8PSm0Q2IphWHFZjYEgjHsh3B9y/g==}
'@turbo/windows-arm64@2.9.12':
resolution: {integrity: sha512-XoR4bsg62/L/esRVcmoMESEiNZ36+YmyjYGLpoqk8nwMgXzzVjNOgX0lRSz5w/U/ajLGv3nhMsS0Q2QOdvp2AQ==}
cpu: [arm64]
os: [win32]
@@ -11041,12 +11036,7 @@ snapshots:
'@hono/node-server@1.19.14(hono@4.12.22)':
dependencies:
hono: 4.12.18
'@hookform/resolvers@5.2.2(react-hook-form@7.75.0(react@19.2.6))':
dependencies:
'@standard-schema/utils': 0.3.0
react-hook-form: 7.75.0(react@19.2.6)
hono: 4.12.22
'@hookform/resolvers@5.4.0(react-hook-form@7.76.0(react@19.2.6))':
dependencies:
@@ -11665,10 +11655,10 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
'@nestjs/axios@4.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.16.1)(rxjs@7.8.2)':
'@nestjs/axios@4.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.16.0)(rxjs@7.8.2)':
dependencies:
'@nestjs/common': 11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2)
axios: 1.16.1
axios: 1.16.0
rxjs: 7.8.2
'@nestjs/cli@11.0.21(@types/node@20.19.41)(prettier@3.8.3)':
@@ -13035,7 +13025,7 @@ snapshots:
immer: 11.1.8
redux: 5.0.1
redux-thunk: 3.1.0(redux@5.0.1)
reselect: 5.2.0
reselect: 5.1.1
optionalDependencies:
react: 19.2.6
react-redux: 9.3.0(@types/react@18.3.29)(react@19.2.6)(redux@5.0.1)
@@ -13044,79 +13034,79 @@ snapshots:
'@rolldown/pluginutils@1.0.0-beta.27': {}
'@rollup/rollup-android-arm-eabi@4.60.4':
'@rollup/rollup-android-arm-eabi@4.60.3':
optional: true
'@rollup/rollup-android-arm64@4.60.4':
'@rollup/rollup-android-arm64@4.60.3':
optional: true
'@rollup/rollup-darwin-arm64@4.60.4':
'@rollup/rollup-darwin-arm64@4.60.3':
optional: true
'@rollup/rollup-darwin-x64@4.60.4':
'@rollup/rollup-darwin-x64@4.60.3':
optional: true
'@rollup/rollup-freebsd-arm64@4.60.4':
'@rollup/rollup-freebsd-arm64@4.60.3':
optional: true
'@rollup/rollup-freebsd-x64@4.60.4':
'@rollup/rollup-freebsd-x64@4.60.3':
optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.60.4':
'@rollup/rollup-linux-arm-gnueabihf@4.60.3':
optional: true
'@rollup/rollup-linux-arm-musleabihf@4.60.4':
'@rollup/rollup-linux-arm-musleabihf@4.60.3':
optional: true
'@rollup/rollup-linux-arm64-gnu@4.60.4':
'@rollup/rollup-linux-arm64-gnu@4.60.3':
optional: true
'@rollup/rollup-linux-arm64-musl@4.60.4':
'@rollup/rollup-linux-arm64-musl@4.60.3':
optional: true
'@rollup/rollup-linux-loong64-gnu@4.60.4':
'@rollup/rollup-linux-loong64-gnu@4.60.3':
optional: true
'@rollup/rollup-linux-loong64-musl@4.60.4':
'@rollup/rollup-linux-loong64-musl@4.60.3':
optional: true
'@rollup/rollup-linux-ppc64-gnu@4.60.4':
'@rollup/rollup-linux-ppc64-gnu@4.60.3':
optional: true
'@rollup/rollup-linux-ppc64-musl@4.60.4':
'@rollup/rollup-linux-ppc64-musl@4.60.3':
optional: true
'@rollup/rollup-linux-riscv64-gnu@4.60.4':
'@rollup/rollup-linux-riscv64-gnu@4.60.3':
optional: true
'@rollup/rollup-linux-riscv64-musl@4.60.4':
'@rollup/rollup-linux-riscv64-musl@4.60.3':
optional: true
'@rollup/rollup-linux-s390x-gnu@4.60.4':
'@rollup/rollup-linux-s390x-gnu@4.60.3':
optional: true
'@rollup/rollup-linux-x64-gnu@4.60.4':
'@rollup/rollup-linux-x64-gnu@4.60.3':
optional: true
'@rollup/rollup-linux-x64-musl@4.60.4':
'@rollup/rollup-linux-x64-musl@4.60.3':
optional: true
'@rollup/rollup-openbsd-x64@4.60.4':
'@rollup/rollup-openbsd-x64@4.60.3':
optional: true
'@rollup/rollup-openharmony-arm64@4.60.4':
'@rollup/rollup-openharmony-arm64@4.60.3':
optional: true
'@rollup/rollup-win32-arm64-msvc@4.60.4':
'@rollup/rollup-win32-arm64-msvc@4.60.3':
optional: true
'@rollup/rollup-win32-ia32-msvc@4.60.4':
'@rollup/rollup-win32-ia32-msvc@4.60.3':
optional: true
'@rollup/rollup-win32-x64-gnu@4.60.4':
'@rollup/rollup-win32-x64-gnu@4.60.3':
optional: true
'@rollup/rollup-win32-x64-msvc@4.60.4':
'@rollup/rollup-win32-x64-msvc@4.60.3':
optional: true
'@rtsao/scc@1.1.0': {}
@@ -13163,7 +13153,7 @@ snapshots:
'@parcel/watcher': 2.5.6
'@tailwindcss/node': 4.3.0
'@tailwindcss/oxide': 4.3.0
enhanced-resolve: 5.22.0
enhanced-resolve: 5.21.3
mri: 1.2.0
picocolors: 1.1.1
tailwindcss: 4.3.0
@@ -13171,7 +13161,7 @@ snapshots:
'@tailwindcss/node@4.3.0':
dependencies:
'@jridgewell/remapping': 2.3.5
enhanced-resolve: 5.22.0
enhanced-resolve: 5.21.3
jiti: 2.7.0
lightningcss: 1.32.0
magic-string: 0.30.21
@@ -13469,7 +13459,7 @@ snapshots:
'@tria-plc/api-common@0.1.4(kw56ayyn7pbkaoqn2kt3fjycd4)':
dependencies:
'@nestjs/axios': 4.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.16.1)(rxjs@7.8.2)
'@nestjs/axios': 4.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.16.0)(rxjs@7.8.2)
'@nestjs/common': 11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/core': 11.1.23(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/microservices@11.1.23)(@nestjs/platform-express@11.1.23)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/jwt': 11.0.2(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))
@@ -13478,9 +13468,9 @@ snapshots:
'@nestjs/swagger': 11.4.4(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.23)(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)
'@nestjs/throttler': 6.5.0(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.23)(reflect-metadata@0.2.2)
'@nestjs/typeorm': 11.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.23)(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.30(babel-plugin-macros@3.1.0)(pg@8.21.0)(ts-node@10.9.2(@types/node@20.19.41)(typescript@5.9.3)))
'@tria-plc/iamapi-common': 0.1.6(7mwzootr6eqk573psm353y24de)
'@tria-plc/iamapi-common': 0.1.6(bxxqub5dwjzo6cpw3xthxxmjmy)
argon2: 0.43.1
axios: 1.16.1
axios: 1.16.0
change-case: 5.4.4
class-transformer: 0.5.1
class-validator: 0.14.4
@@ -13511,9 +13501,9 @@ snapshots:
- debug
- supports-color
'@tria-plc/iamapi-common@0.1.6(7mwzootr6eqk573psm353y24de)':
'@tria-plc/iamapi-common@0.1.6(bxxqub5dwjzo6cpw3xthxxmjmy)':
dependencies:
'@nestjs/axios': 4.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.16.1)(rxjs@7.8.2)
'@nestjs/axios': 4.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.16.0)(rxjs@7.8.2)
'@nestjs/common': 11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/core': 11.1.23(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/microservices@11.1.23)(@nestjs/platform-express@11.1.23)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/jwt': 11.0.2(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))
@@ -13524,7 +13514,7 @@ snapshots:
'@nestjs/typeorm': 11.0.1(@nestjs/common@11.1.23(class-transformer@0.5.1)(class-validator@0.14.4)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.23)(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.30(babel-plugin-macros@3.1.0)(pg@8.21.0)(ts-node@10.9.2(@types/node@20.19.41)(typescript@5.9.3)))
'@tria-plc/api-common': 0.1.4(kw56ayyn7pbkaoqn2kt3fjycd4)
argon2: 0.43.1
axios: 1.16.1
axios: 1.16.0
class-transformer: 0.5.1
class-validator: 0.14.4
ethiopian-date: 0.0.6
@@ -13544,12 +13534,12 @@ snapshots:
- '@faker-js/faker'
- supports-color
'@tria-plc/iamui-common@1.1.1(33c6sm4c4ueuo474qk2tvnumee)':
'@tria-plc/iamui-common@1.1.1(hhtlbgyp7ft4czmlvyx3ist46y)':
dependencies:
'@chakra-ui/react': 3.35.0(@emotion/react@11.14.0(@types/react@18.3.28)(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@emotion/react': 11.14.0(@types/react@18.3.28)(react@19.2.6)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.3.28)(react@19.2.6))(@types/react@18.3.28)(react@19.2.6)
'@hookform/resolvers': 5.2.2(react-hook-form@7.75.0(react@19.2.6))
'@chakra-ui/react': 3.35.0(@emotion/react@11.14.0(@types/react@18.3.29)(react@19.2.6))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@emotion/react': 11.14.0(@types/react@18.3.29)(react@19.2.6)
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@18.3.29)(react@19.2.6))(@types/react@18.3.29)(react@19.2.6)
'@hookform/resolvers': 5.4.0(react-hook-form@7.76.0(react@19.2.6))
'@lottiefiles/react-lottie-player': 3.6.0(react@19.2.6)
'@mantine/core': 8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@18.3.29)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@mantine/dates': 8.3.18(@mantine/core@8.3.18(@mantine/hooks@8.3.18(react@19.2.6))(@types/react@18.3.29)(react-dom@19.2.6(react@19.2.6))(react@19.2.6))(@mantine/hooks@8.3.18(react@19.2.6))(dayjs@1.11.20)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
@@ -13584,19 +13574,19 @@ snapshots:
'@react-pdf/renderer': 4.5.1(react@19.2.6)
'@reduxjs/toolkit': 2.12.0(react-redux@9.3.0(@types/react@18.3.29)(react@19.2.6)(redux@5.0.1))(react@19.2.6)
'@tabler/icons-react': 3.44.0(react@19.2.6)
'@tanstack/react-query': 5.100.10(react@19.2.6)
'@tanstack/react-query-devtools': 5.100.10(@tanstack/react-query@5.100.10(react@19.2.6))(react@19.2.6)
'@tanstack/react-query': 5.100.11(react@19.2.6)
'@tanstack/react-query-devtools': 5.100.11(@tanstack/react-query@5.100.11(react@19.2.6))(react@19.2.6)
'@tanstack/react-table': 8.21.3(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@tinymce/tinymce-react': 6.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tinymce@7.9.2)
'@tiptap/extension-color': 3.23.1(@tiptap/extension-text-style@3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1)))
'@tiptap/extension-highlight': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))
'@tiptap/extension-image': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))
'@tiptap/extension-link': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)
'@tiptap/extension-text-align': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))
'@tiptap/extension-text-style': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))
'@tiptap/extension-underline': 3.23.1(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))
'@tiptap/react': 3.23.1(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.1(@tiptap/pm@3.23.1))(@tiptap/pm@3.23.1)(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@tiptap/starter-kit': 3.23.1
'@tinymce/tinymce-react': 6.3.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(tinymce@7.9.3)
'@tiptap/extension-color': 3.23.6(@tiptap/extension-text-style@3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6)))
'@tiptap/extension-highlight': 3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))
'@tiptap/extension-image': 3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))
'@tiptap/extension-link': 3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))(@tiptap/pm@3.23.6)
'@tiptap/extension-text-align': 3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))
'@tiptap/extension-text-style': 3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))
'@tiptap/extension-underline': 3.23.6(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))
'@tiptap/react': 3.23.6(@floating-ui/dom@1.7.6)(@tiptap/core@3.23.6(@tiptap/pm@3.23.6))(@tiptap/pm@3.23.6)(@types/react-dom@18.3.7(@types/react@18.3.29))(@types/react@18.3.29)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@tiptap/starter-kit': 3.23.6
axios: 1.16.0
class-variance-authority: 0.7.1
clsx: 2.1.1
@@ -13606,7 +13596,7 @@ snapshots:
ethiopian-calendar-date-converter: 2.1.6
ethiopian-calendar-new: 1.1.0
file-type: 18.7.0
framer-motion: 12.38.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
framer-motion: 12.40.0(@emotion/is-prop-valid@1.4.0)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
html2canvas: 1.4.1
i18next: 25.10.10(typescript@5.9.3)
i18next-browser-languagedetector: 8.2.1
@@ -13617,14 +13607,14 @@ snapshots:
lucide-react: 0.513.0(react@19.2.6)
mui-ethiopian-datepicker: 0.3.2(7jjaia43mjzq4dnknd34qnedty)
next-themes: 0.4.6(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
qs: 6.15.1
qs: 6.15.2
react: 19.2.6
react-cookie: 8.1.2(@types/react@18.3.29)(react@19.2.6)
react-datepicker: 8.10.0(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
react-day-picker: 9.14.0(react@19.2.6)
react-dom: 19.2.6(react@19.2.6)
react-dropzone: 14.4.1(react@19.2.6)
react-hook-form: 7.75.0(react@19.2.6)
react-hook-form: 7.76.0(react@19.2.6)
react-i18next: 15.7.4(i18next@25.10.10(typescript@5.9.3))(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(typescript@5.9.3)
react-icons: 5.6.0(react@19.2.6)
react-image-crop: 11.0.10(react@19.2.6)
@@ -13686,22 +13676,22 @@ snapshots:
'@tsconfig/node16@1.0.4': {}
'@turbo/darwin-64@2.9.14':
'@turbo/darwin-64@2.9.12':
optional: true
'@turbo/darwin-arm64@2.9.14':
'@turbo/darwin-arm64@2.9.12':
optional: true
'@turbo/linux-64@2.9.14':
'@turbo/linux-64@2.9.12':
optional: true
'@turbo/linux-arm64@2.9.14':
'@turbo/linux-arm64@2.9.12':
optional: true
'@turbo/windows-64@2.9.14':
'@turbo/windows-64@2.9.12':
optional: true
'@turbo/windows-arm64@2.9.14':
'@turbo/windows-arm64@2.9.12':
optional: true
'@types/amqplib@0.10.8':
@@ -13938,10 +13928,10 @@ snapshots:
'@typescript-eslint/parser@8.59.4(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.59.3
'@typescript-eslint/types': 8.59.3
'@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.59.3
'@typescript-eslint/scope-manager': 8.59.4
'@typescript-eslint/types': 8.59.4
'@typescript-eslint/typescript-estree': 8.59.4(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.59.4
debug: 4.4.3
eslint: 8.57.1
typescript: 5.9.3
@@ -13950,8 +13940,8 @@ snapshots:
'@typescript-eslint/project-service@8.59.4(typescript@5.9.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.59.3(typescript@5.9.3)
'@typescript-eslint/types': 8.59.3
'@typescript-eslint/tsconfig-utils': 8.59.4(typescript@5.9.3)
'@typescript-eslint/types': 8.59.4
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
@@ -13968,9 +13958,9 @@ snapshots:
'@typescript-eslint/type-utils@8.59.4(eslint@8.57.1)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.59.3
'@typescript-eslint/typescript-estree': 8.59.3(typescript@5.9.3)
'@typescript-eslint/utils': 8.59.3(eslint@8.57.1)(typescript@5.9.3)
'@typescript-eslint/types': 8.59.4
'@typescript-eslint/typescript-estree': 8.59.4(typescript@5.9.3)
'@typescript-eslint/utils': 8.59.4(eslint@8.57.1)(typescript@5.9.3)
debug: 4.4.3
eslint: 8.57.1
ts-api-utils: 2.5.0(typescript@5.9.3)
@@ -13982,10 +13972,10 @@ snapshots:
'@typescript-eslint/typescript-estree@8.59.4(typescript@5.9.3)':
dependencies:
'@typescript-eslint/project-service': 8.59.3(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.59.3(typescript@5.9.3)
'@typescript-eslint/types': 8.59.3
'@typescript-eslint/visitor-keys': 8.59.3
'@typescript-eslint/project-service': 8.59.4(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.59.4(typescript@5.9.3)
'@typescript-eslint/types': 8.59.4
'@typescript-eslint/visitor-keys': 8.59.4
debug: 4.4.3
minimatch: 10.2.5
semver: 7.8.1
@@ -14756,6 +14746,7 @@ snapshots:
debug: 4.4.3
transitivePeerDependencies:
- supports-color
optional: true
agent-base@7.1.4: {}
@@ -15172,11 +15163,9 @@ snapshots:
dependencies:
follow-redirects: 1.16.0
form-data: 4.0.5
https-proxy-agent: 5.0.1
proxy-from-env: 2.1.0
transitivePeerDependencies:
- debug
- supports-color
babel-jest@29.7.0(@babel/core@7.29.0):
dependencies:
@@ -15351,7 +15340,7 @@ snapshots:
baseline-browser-mapping: 2.10.31
caniuse-lite: 1.0.30001793
electron-to-chromium: 1.5.361
node-releases: 2.0.46
node-releases: 2.0.44
update-browserslist-db: 1.2.3(browserslist@4.28.2)
bs-logger@0.2.6:
@@ -17214,6 +17203,7 @@ snapshots:
debug: 4.4.3
transitivePeerDependencies:
- supports-color
optional: true
https-proxy-agent@7.0.6:
dependencies:
@@ -19448,7 +19438,7 @@ snapshots:
node-html-parser: 6.1.13
react: 19.2.6
react-pdf@10.4.1(@types/react@18.3.28)(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
react-pdf@10.4.1(@types/react@18.3.29)(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
dependencies:
clsx: 2.1.1
dequal: 2.0.3
@@ -19513,7 +19503,7 @@ snapshots:
'@remix-run/router': 1.23.2
react: 19.2.6
react-signature-canvas@1.1.0-alpha.2(@types/prop-types@15.7.15)(@types/react@18.3.28)(prop-types@15.8.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
react-signature-canvas@1.1.0-alpha.2(@types/prop-types@15.7.15)(@types/react@18.3.29)(prop-types@15.8.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6):
dependencies:
'@babel/runtime': 7.29.2
'@types/signature_pad': 2.3.6
@@ -19745,31 +19735,31 @@ snapshots:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.60.4
'@rollup/rollup-android-arm64': 4.60.4
'@rollup/rollup-darwin-arm64': 4.60.4
'@rollup/rollup-darwin-x64': 4.60.4
'@rollup/rollup-freebsd-arm64': 4.60.4
'@rollup/rollup-freebsd-x64': 4.60.4
'@rollup/rollup-linux-arm-gnueabihf': 4.60.4
'@rollup/rollup-linux-arm-musleabihf': 4.60.4
'@rollup/rollup-linux-arm64-gnu': 4.60.4
'@rollup/rollup-linux-arm64-musl': 4.60.4
'@rollup/rollup-linux-loong64-gnu': 4.60.4
'@rollup/rollup-linux-loong64-musl': 4.60.4
'@rollup/rollup-linux-ppc64-gnu': 4.60.4
'@rollup/rollup-linux-ppc64-musl': 4.60.4
'@rollup/rollup-linux-riscv64-gnu': 4.60.4
'@rollup/rollup-linux-riscv64-musl': 4.60.4
'@rollup/rollup-linux-s390x-gnu': 4.60.4
'@rollup/rollup-linux-x64-gnu': 4.60.4
'@rollup/rollup-linux-x64-musl': 4.60.4
'@rollup/rollup-openbsd-x64': 4.60.4
'@rollup/rollup-openharmony-arm64': 4.60.4
'@rollup/rollup-win32-arm64-msvc': 4.60.4
'@rollup/rollup-win32-ia32-msvc': 4.60.4
'@rollup/rollup-win32-x64-gnu': 4.60.4
'@rollup/rollup-win32-x64-msvc': 4.60.4
'@rollup/rollup-android-arm-eabi': 4.60.3
'@rollup/rollup-android-arm64': 4.60.3
'@rollup/rollup-darwin-arm64': 4.60.3
'@rollup/rollup-darwin-x64': 4.60.3
'@rollup/rollup-freebsd-arm64': 4.60.3
'@rollup/rollup-freebsd-x64': 4.60.3
'@rollup/rollup-linux-arm-gnueabihf': 4.60.3
'@rollup/rollup-linux-arm-musleabihf': 4.60.3
'@rollup/rollup-linux-arm64-gnu': 4.60.3
'@rollup/rollup-linux-arm64-musl': 4.60.3
'@rollup/rollup-linux-loong64-gnu': 4.60.3
'@rollup/rollup-linux-loong64-musl': 4.60.3
'@rollup/rollup-linux-ppc64-gnu': 4.60.3
'@rollup/rollup-linux-ppc64-musl': 4.60.3
'@rollup/rollup-linux-riscv64-gnu': 4.60.3
'@rollup/rollup-linux-riscv64-musl': 4.60.3
'@rollup/rollup-linux-s390x-gnu': 4.60.3
'@rollup/rollup-linux-x64-gnu': 4.60.3
'@rollup/rollup-linux-x64-musl': 4.60.3
'@rollup/rollup-openbsd-x64': 4.60.3
'@rollup/rollup-openharmony-arm64': 4.60.3
'@rollup/rollup-win32-arm64-msvc': 4.60.3
'@rollup/rollup-win32-ia32-msvc': 4.60.3
'@rollup/rollup-win32-x64-gnu': 4.60.3
'@rollup/rollup-win32-x64-msvc': 4.60.3
fsevents: 2.3.3
rope-sequence@1.3.4: {}
@@ -20078,7 +20068,7 @@ snapshots:
dependencies:
'@socket.io/component-emitter': 3.1.2
debug: 4.4.3
engine.io-client: 6.6.4
engine.io-client: 6.6.5
socket.io-parser: 4.2.6
transitivePeerDependencies:
- bufferutil
@@ -20618,7 +20608,7 @@ snapshots:
ts-loader@9.5.7(typescript@5.9.3)(webpack@5.106.0):
dependencies:
chalk: 4.1.2
enhanced-resolve: 5.22.0
enhanced-resolve: 5.21.3
micromatch: 4.0.8
semver: 7.8.1
source-map: 0.7.6
@@ -20651,7 +20641,7 @@ snapshots:
tsconfig-paths-webpack-plugin@4.2.0:
dependencies:
chalk: 4.1.2
enhanced-resolve: 5.22.0
enhanced-resolve: 5.21.3
tapable: 2.3.3
tsconfig-paths: 4.2.0
@@ -20672,12 +20662,12 @@ snapshots:
turbo@2.9.12:
optionalDependencies:
'@turbo/darwin-64': 2.9.14
'@turbo/darwin-arm64': 2.9.14
'@turbo/linux-64': 2.9.14
'@turbo/linux-arm64': 2.9.14
'@turbo/windows-64': 2.9.14
'@turbo/windows-arm64': 2.9.14
'@turbo/darwin-64': 2.9.12
'@turbo/darwin-arm64': 2.9.12
'@turbo/linux-64': 2.9.12
'@turbo/linux-arm64': 2.9.12
'@turbo/windows-64': 2.9.12
'@turbo/windows-arm64': 2.9.12
tw-animate-css@1.4.0: {}
@@ -20869,7 +20859,7 @@ snapshots:
urix@0.1.0: {}
use-callback-ref@1.3.3(@types/react@18.3.28)(react@19.2.6):
use-callback-ref@1.3.3(@types/react@18.3.29)(react@19.2.6):
dependencies:
react: 19.2.6
tslib: 2.8.1
@@ -20997,7 +20987,7 @@ snapshots:
dependencies:
esbuild: 0.21.5
postcss: 8.5.15
rollup: 4.60.4
rollup: 4.60.3
optionalDependencies:
'@types/node': 24.12.4
fsevents: 2.3.3
@@ -21097,7 +21087,7 @@ snapshots:
acorn-import-phases: 1.0.4(acorn@8.16.0)
browserslist: 4.28.2
chrome-trace-event: 1.0.4
enhanced-resolve: 5.22.0
enhanced-resolve: 5.21.3
es-module-lexer: 2.1.0
eslint-scope: 5.1.1
events: 3.3.0
@@ -21111,7 +21101,7 @@ snapshots:
tapable: 2.3.3
terser-webpack-plugin: 5.6.0(webpack@5.106.0)
watchpack: 2.5.1
webpack-sources: 3.5.0
webpack-sources: 3.4.1
transitivePeerDependencies:
- '@minify-html/node'
- '@swc/core'