@ramses1er/cbk-toolkit 2.1.1 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/lib/src/auth-guard.d.ts +10 -0
- package/dist/packages/lib/src/auth-guard.d.ts.map +1 -0
- package/dist/packages/lib/src/auth-guard.js +60 -0
- package/dist/packages/lib/src/auth-guard.js.map +1 -0
- package/dist/packages/lib/src/handle-server-error.d.ts +9 -0
- package/dist/packages/lib/src/handle-server-error.d.ts.map +1 -0
- package/dist/packages/lib/src/handle-server-error.js +43 -0
- package/dist/packages/lib/src/handle-server-error.js.map +1 -0
- package/dist/packages/lib/src/http-error.d.ts +6 -0
- package/dist/packages/lib/src/http-error.d.ts.map +1 -0
- package/dist/packages/lib/src/http-error.js +12 -0
- package/dist/packages/lib/src/http-error.js.map +1 -0
- package/dist/packages/lib/src/index.d.ts +5 -0
- package/dist/packages/lib/src/index.d.ts.map +1 -0
- package/dist/packages/lib/src/index.js +9 -0
- package/dist/packages/lib/src/index.js.map +1 -0
- package/dist/packages/lib/src/with-auth.d.ts +8 -0
- package/dist/packages/lib/src/with-auth.d.ts.map +1 -0
- package/dist/packages/lib/src/with-auth.js +32 -0
- package/dist/packages/lib/src/with-auth.js.map +1 -0
- package/dist/packages/ui/src/config/create-side-nav.d.ts +6 -0
- package/dist/packages/ui/src/config/create-side-nav.d.ts.map +1 -0
- package/dist/packages/ui/src/config/create-side-nav.js +9 -0
- package/dist/packages/ui/src/config/create-side-nav.js.map +1 -0
- package/dist/packages/ui/src/feedback/confirmation.d.ts +16 -0
- package/dist/packages/ui/src/feedback/confirmation.d.ts.map +1 -0
- package/dist/packages/ui/src/feedback/confirmation.js +82 -0
- package/dist/packages/ui/src/feedback/confirmation.js.map +1 -0
- package/dist/packages/ui/src/feedback/error-display.d.ts +7 -0
- package/dist/packages/ui/src/feedback/error-display.d.ts.map +1 -0
- package/dist/packages/ui/src/feedback/error-display.js +11 -0
- package/dist/packages/ui/src/feedback/error-display.js.map +1 -0
- package/dist/packages/ui/src/forms/date-picker.d.ts +4 -0
- package/dist/packages/ui/src/forms/date-picker.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/date-picker.js +9 -0
- package/dist/packages/ui/src/forms/date-picker.js.map +1 -0
- package/dist/packages/ui/src/forms/field-container.d.ts +8 -0
- package/dist/packages/ui/src/forms/field-container.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/field-container.js +6 -0
- package/dist/packages/ui/src/forms/field-container.js.map +1 -0
- package/dist/packages/ui/src/forms/form.d.ts +9 -0
- package/dist/packages/ui/src/forms/form.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/form.js +63 -0
- package/dist/packages/ui/src/forms/form.js.map +1 -0
- package/dist/packages/ui/src/forms/input.d.ts +4 -0
- package/dist/packages/ui/src/forms/input.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/input.js +13 -0
- package/dist/packages/ui/src/forms/input.js.map +1 -0
- package/dist/packages/ui/src/forms/label.d.ts +7 -0
- package/dist/packages/ui/src/forms/label.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/label.js +9 -0
- package/dist/packages/ui/src/forms/label.js.map +1 -0
- package/dist/packages/ui/src/forms/select.d.ts +6 -0
- package/dist/packages/ui/src/forms/select.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/select.js +19 -0
- package/dist/packages/ui/src/forms/select.js.map +1 -0
- package/dist/packages/ui/src/forms/textarea.d.ts +4 -0
- package/dist/packages/ui/src/forms/textarea.d.ts.map +1 -0
- package/dist/packages/ui/src/forms/textarea.js +9 -0
- package/dist/packages/ui/src/forms/textarea.js.map +1 -0
- package/dist/packages/ui/src/headers/header-content.d.ts +11 -0
- package/dist/packages/ui/src/headers/header-content.d.ts.map +1 -0
- package/dist/packages/ui/src/headers/header-content.js +6 -0
- package/dist/packages/ui/src/headers/header-content.js.map +1 -0
- package/dist/packages/ui/src/illustrations/topic-illustration.d.ts +1 -0
- package/dist/packages/ui/src/illustrations/topic-illustration.d.ts.map +1 -0
- package/dist/packages/ui/src/illustrations/topic-illustration.js +69 -0
- package/dist/packages/ui/src/illustrations/topic-illustration.js.map +1 -0
- package/dist/packages/ui/src/index.d.ts +28 -0
- package/dist/packages/ui/src/index.d.ts.map +1 -0
- package/dist/packages/ui/src/index.js +38 -0
- package/dist/packages/ui/src/index.js.map +1 -0
- package/dist/packages/ui/src/layouts/side-nav.d.ts +45 -0
- package/dist/packages/ui/src/layouts/side-nav.d.ts.map +1 -0
- package/dist/packages/ui/src/layouts/side-nav.js +127 -0
- package/dist/packages/ui/src/layouts/side-nav.js.map +1 -0
- package/dist/packages/ui/src/loaders/loader-submit.d.ts +8 -0
- package/dist/packages/ui/src/loaders/loader-submit.d.ts.map +1 -0
- package/dist/packages/ui/src/loaders/loader-submit.js +7 -0
- package/dist/packages/ui/src/loaders/loader-submit.js.map +1 -0
- package/dist/packages/ui/src/loaders/loading.d.ts +6 -0
- package/dist/packages/ui/src/loaders/loading.d.ts.map +1 -0
- package/dist/packages/ui/src/loaders/loading.js +7 -0
- package/dist/packages/ui/src/loaders/loading.js.map +1 -0
- package/dist/packages/ui/src/modals/modal.d.ts +10 -0
- package/dist/packages/ui/src/modals/modal.d.ts.map +1 -0
- package/dist/packages/ui/src/modals/modal.js +36 -0
- package/dist/packages/ui/src/modals/modal.js.map +1 -0
- package/dist/packages/ui/src/pages/access-denied.d.ts +8 -0
- package/dist/packages/ui/src/pages/access-denied.d.ts.map +1 -0
- package/dist/packages/ui/src/pages/access-denied.js +8 -0
- package/dist/packages/ui/src/pages/access-denied.js.map +1 -0
- package/dist/packages/ui/src/pages/session-expired.d.ts +6 -0
- package/dist/packages/ui/src/pages/session-expired.d.ts.map +1 -0
- package/dist/packages/ui/src/pages/session-expired.js +21 -0
- package/dist/packages/ui/src/pages/session-expired.js.map +1 -0
- package/dist/packages/ui/src/pwa/InstallPrompt.d.ts +7 -0
- package/dist/packages/ui/src/pwa/InstallPrompt.d.ts.map +1 -0
- package/dist/packages/ui/src/pwa/InstallPrompt.js +71 -0
- package/dist/packages/ui/src/pwa/InstallPrompt.js.map +1 -0
- package/dist/packages/ui/src/pwa/SwRegistration.d.ts +5 -0
- package/dist/packages/ui/src/pwa/SwRegistration.d.ts.map +1 -0
- package/dist/packages/ui/src/pwa/SwRegistration.js +13 -0
- package/dist/packages/ui/src/pwa/SwRegistration.js.map +1 -0
- package/dist/packages/ui/src/route-guard/route-guard.d.ts +31 -0
- package/dist/packages/ui/src/route-guard/route-guard.d.ts.map +1 -0
- package/dist/packages/ui/src/route-guard/route-guard.js +75 -0
- package/dist/packages/ui/src/route-guard/route-guard.js.map +1 -0
- package/dist/packages/ui/src/search/input-search.d.ts +1 -0
- package/dist/packages/ui/src/search/input-search.d.ts.map +1 -0
- package/dist/packages/ui/src/search/input-search.js +47 -0
- package/dist/packages/ui/src/search/input-search.js.map +1 -0
- package/dist/packages/ui/src/search/select-search.d.ts +1 -0
- package/dist/packages/ui/src/search/select-search.d.ts.map +1 -0
- package/dist/packages/ui/src/search/select-search.js +100 -0
- package/dist/packages/ui/src/search/select-search.js.map +1 -0
- package/dist/packages/ui/src/table/actions-menu.d.ts +14 -0
- package/dist/packages/ui/src/table/actions-menu.d.ts.map +1 -0
- package/dist/packages/ui/src/table/actions-menu.js +53 -0
- package/dist/packages/ui/src/table/actions-menu.js.map +1 -0
- package/dist/packages/ui/src/table/table.d.ts +24 -0
- package/dist/packages/ui/src/table/table.d.ts.map +1 -0
- package/dist/packages/ui/src/table/table.js +99 -0
- package/dist/packages/ui/src/table/table.js.map +1 -0
- package/dist/packages/utils/src/fetcher.d.ts +16 -0
- package/dist/packages/utils/src/fetcher.d.ts.map +1 -0
- package/dist/packages/utils/src/fetcher.js +38 -0
- package/dist/packages/utils/src/fetcher.js.map +1 -0
- package/dist/packages/utils/src/formatCurrency.d.ts +1 -0
- package/dist/packages/utils/src/formatCurrency.d.ts.map +1 -0
- package/dist/packages/utils/src/formatCurrency.js +2 -0
- package/dist/packages/utils/src/formatCurrency.js.map +1 -0
- package/dist/packages/utils/src/formatDate.d.ts +1 -0
- package/dist/packages/utils/src/formatDate.d.ts.map +1 -0
- package/dist/packages/utils/src/formatDate.js +2 -0
- package/dist/packages/utils/src/formatDate.js.map +1 -0
- package/dist/packages/utils/src/index.d.ts +3 -0
- package/dist/packages/utils/src/index.d.ts.map +1 -0
- package/dist/packages/utils/src/index.js +2 -0
- package/dist/packages/utils/src/index.js.map +1 -0
- package/dist/src/client.d.ts +3 -0
- package/dist/src/client.d.ts.map +1 -0
- package/dist/src/client.js +5 -0
- package/dist/src/client.js.map +1 -0
- package/dist/src/server.d.ts +2 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +3 -0
- package/dist/src/server.js.map +1 -0
- package/package.json +8 -8
- package/dist/client.d.ts +0 -210
- package/dist/client.js +0 -1407
- package/dist/client.js.map +0 -1
- package/dist/server.d.ts +0 -33
- package/dist/server.js +0 -161
- package/dist/server.js.map +0 -1
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Printer, ChevronLeft, ChevronRight } from "lucide-react";
|
|
4
|
+
import clsx from "clsx";
|
|
5
|
+
import { useState, useMemo, useCallback } from "react";
|
|
6
|
+
import { ErrorDisplay } from "../feedback/error-display";
|
|
7
|
+
const VISIBLE_PAGES = 5;
|
|
8
|
+
function priorityCellClass(col) {
|
|
9
|
+
const base = col.priority === "medium"
|
|
10
|
+
? "hidden sm:table-cell"
|
|
11
|
+
: col.priority === "low"
|
|
12
|
+
? "hidden lg:table-cell"
|
|
13
|
+
: "";
|
|
14
|
+
if (!base)
|
|
15
|
+
return "";
|
|
16
|
+
return col.excludeFromPrint ? base : `${base} print:table-cell`;
|
|
17
|
+
}
|
|
18
|
+
export function Table({ data, columns, loading, error, label, printable, pageSize = 5, pageSizeOptions = [5, 10, 20], showPagination = true, }) {
|
|
19
|
+
const [tooltip, setTooltip] = useState(null);
|
|
20
|
+
const [page, setPage] = useState(1);
|
|
21
|
+
const [perPage, setPerPage] = useState(pageSize);
|
|
22
|
+
const totalPages = useMemo(() => Math.max(1, Math.ceil(data.length / perPage)), [data.length, perPage]);
|
|
23
|
+
const safePage = Math.min(page, totalPages);
|
|
24
|
+
const displayData = useMemo(() => data.slice((safePage - 1) * perPage, safePage * perPage), [data, safePage, perPage]);
|
|
25
|
+
const paginationRange = useMemo(() => {
|
|
26
|
+
const half = Math.floor(VISIBLE_PAGES / 2);
|
|
27
|
+
let start = Math.max(1, safePage - half);
|
|
28
|
+
let end = Math.min(totalPages, start + VISIBLE_PAGES - 1);
|
|
29
|
+
if (end - start + 1 < VISIBLE_PAGES) {
|
|
30
|
+
start = Math.max(1, end - VISIBLE_PAGES + 1);
|
|
31
|
+
}
|
|
32
|
+
const range = [];
|
|
33
|
+
if (start > 1) {
|
|
34
|
+
range.push(1);
|
|
35
|
+
if (start > 2)
|
|
36
|
+
range.push("...");
|
|
37
|
+
}
|
|
38
|
+
for (let i = start; i <= end; i++)
|
|
39
|
+
range.push(i);
|
|
40
|
+
if (end < totalPages) {
|
|
41
|
+
if (end < totalPages - 1)
|
|
42
|
+
range.push("...");
|
|
43
|
+
range.push(totalPages);
|
|
44
|
+
}
|
|
45
|
+
return range;
|
|
46
|
+
}, [safePage, totalPages]);
|
|
47
|
+
const handlePageSizeChange = useCallback((value) => {
|
|
48
|
+
setPerPage(value);
|
|
49
|
+
setPage(1);
|
|
50
|
+
}, []);
|
|
51
|
+
const handleMouseEnter = (e, content) => {
|
|
52
|
+
const rect = e.currentTarget.getBoundingClientRect();
|
|
53
|
+
setTooltip({
|
|
54
|
+
content,
|
|
55
|
+
x: rect.left + rect.width / 2,
|
|
56
|
+
y: rect.top,
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const handleMouseLeave = () => {
|
|
60
|
+
setTooltip(null);
|
|
61
|
+
};
|
|
62
|
+
const banner = error ? (_jsx("div", { className: "mb-4", children: _jsx(ErrorDisplay, { error: error }, error.message) })) : null;
|
|
63
|
+
if (loading) {
|
|
64
|
+
return (_jsxs("div", { className: "w-full overflow-x-auto", children: [banner, _jsx("div", { className: "rounded-lg shadow-md border border-gray-200", children: _jsx("div", { className: "flex items-center justify-center py-20 text-gray-500", children: "Chargement..." }) })] }));
|
|
65
|
+
}
|
|
66
|
+
if (!data || data.length === 0) {
|
|
67
|
+
return (_jsxs("div", { className: "w-full overflow-x-auto", children: [banner, _jsx("div", { className: "rounded-lg shadow-md border border-gray-200", children: _jsx("div", { className: "flex items-center justify-center py-20 text-gray-500", children: "Aucun \u00E9l\u00E9ment" }) })] }));
|
|
68
|
+
}
|
|
69
|
+
return (_jsxs("div", { className: "w-full overflow-x-auto", children: [banner, _jsxs("div", { className: "flex items-center justify-between mb-2", children: [label && (_jsxs("div", { className: "text-sm font-semibold text-gray-700", children: [label, ": ", data.length] })), printable && (_jsx("button", { onClick: () => window.print(), "aria-label": "Imprimer", onMouseEnter: (e) => handleMouseEnter(e, "Imprimer"), onMouseLeave: handleMouseLeave, className: "flex items-center justify-center w-9 h-9 text-white bg-gray-900 rounded-lg hover:bg-gray-700 transition-colors print:hidden ml-auto", children: _jsx(Printer, { className: "w-4 h-4" }) }))] }), _jsx("div", { className: "rounded-lg shadow-md border border-gray-200", children: _jsxs("table", { className: "w-full table-fixed divide-y divide-gray-200 print:table-fixed", children: [_jsx("thead", { className: "bg-gray-200 rounded-t-lg", children: _jsx("tr", { children: columns.map((col, index) => (_jsx("th", { className: clsx("px-6 py-3 text-left text-xs font-bold text-gray-900 uppercase tracking-wider", priorityCellClass(col), col.excludeFromPrint && "print:hidden"), children: col.header }, index))) }) }), _jsx("tbody", { className: clsx("bg-white divide-y divide-gray-200", printable && "print:hidden"), children: displayData.map((row, rowIndex) => (_jsx("tr", { className: "hover:bg-gray-100 transition-colors duration-200", children: columns.map((col, colIndex) => {
|
|
70
|
+
const cellContent = col.render
|
|
71
|
+
? col.render(row)
|
|
72
|
+
: String(row[col.accessor]);
|
|
73
|
+
const textContent = typeof cellContent === "string" ? cellContent : "";
|
|
74
|
+
return (_jsx("td", { className: clsx("px-6 py-4 text-sm text-gray-700", priorityCellClass(col), col.excludeFromPrint && "print:hidden"), children: typeof cellContent === "string" ? (_jsx("div", { className: col.breakWords ? "break-words" : "", onMouseEnter: (e) => handleMouseEnter(e, textContent), onMouseLeave: handleMouseLeave, children: cellContent })) : (cellContent) }, colIndex));
|
|
75
|
+
}) }, rowIndex))) }), printable && (_jsx("tbody", { className: "hidden print:table-row-group", children: data.map((row, rowIndex) => (_jsx("tr", { children: columns.map((col, colIndex) => {
|
|
76
|
+
const cellContent = col.render
|
|
77
|
+
? col.render(row)
|
|
78
|
+
: String(row[col.accessor]);
|
|
79
|
+
return (_jsx("td", { className: clsx("px-6 py-4 text-sm text-gray-700", col.excludeFromPrint && "print:hidden"), children: cellContent }, colIndex));
|
|
80
|
+
}) }, rowIndex))) }))] }) }), showPagination && totalPages > 1 && (_jsxs("div", { className: "flex flex-col items-center gap-3 mt-4 text-sm print:hidden sm:flex-row sm:justify-between", children: [_jsxs("div", { className: "flex items-center gap-2 text-gray-600", children: [_jsx("span", { children: "Lignes par page :" }), _jsx("select", { value: perPage, onChange: (e) => handlePageSizeChange(Number(e.target.value)), className: "border border-gray-300 rounded px-2 py-1 text-sm bg-white focus:outline-none focus:ring-2 focus:ring-gray-500", children: pageSizeOptions.map((opt) => (_jsx("option", { value: opt, children: opt }, opt))) })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { onClick: () => setPage((p) => Math.max(1, p - 1)), disabled: safePage <= 1, className: clsx("p-1.5 rounded transition-colors", safePage <= 1
|
|
81
|
+
? "text-gray-300 cursor-not-allowed"
|
|
82
|
+
: "text-gray-600 hover:bg-gray-100"), children: _jsx(ChevronLeft, { className: "w-4 h-4" }) }), paginationRange.map((item, i) => item === "..." ? (_jsx("span", { className: "px-2 text-gray-400", children: "..." }, `ellipsis-${i}`)) : (_jsx("button", { onClick: () => setPage(item), className: clsx("min-w-8 px-2 py-1 rounded text-sm font-medium transition-colors", item === safePage
|
|
83
|
+
? "bg-gray-200 text-gray-900"
|
|
84
|
+
: "text-gray-600 hover:bg-gray-100"), children: item }, item))), _jsx("button", { onClick: () => setPage((p) => Math.min(totalPages, p + 1)), disabled: safePage >= totalPages, className: clsx("p-1.5 rounded transition-colors", safePage >= totalPages
|
|
85
|
+
? "text-gray-300 cursor-not-allowed"
|
|
86
|
+
: "text-gray-600 hover:bg-gray-100"), children: _jsx(ChevronRight, { className: "w-4 h-4" }) })] }), _jsxs("div", { className: "text-gray-500", children: ["Page ", safePage, " sur ", totalPages] })] })), tooltip && (_jsx("div", { className: "fixed z-20 px-3 py-2 text-sm text-white bg-gray-800 rounded-lg shadow-lg pointer-events-none whitespace-nowrap", style: {
|
|
87
|
+
left: tooltip.x,
|
|
88
|
+
top: tooltip.y - 8,
|
|
89
|
+
transform: "translate(-50%, -100%)",
|
|
90
|
+
}, children: tooltip.content })), _jsx("style", { children: `
|
|
91
|
+
@media print {
|
|
92
|
+
body * { visibility: hidden; }
|
|
93
|
+
.w-full.overflow-x-auto { visibility: visible; }
|
|
94
|
+
.w-full.overflow-x-auto * { visibility: visible; }
|
|
95
|
+
.w-full.overflow-x-auto { position: absolute; left: 0; top: 0; width: 100%; }
|
|
96
|
+
}
|
|
97
|
+
` })] }));
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../../packages/ui/src/table/table.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class ApiError extends Error {
|
|
2
|
+
status: number;
|
|
3
|
+
code?: string;
|
|
4
|
+
data?: unknown;
|
|
5
|
+
constructor(params: {
|
|
6
|
+
message: string;
|
|
7
|
+
status: number;
|
|
8
|
+
code?: string;
|
|
9
|
+
data?: unknown;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
export type FetcherOptions = RequestInit & {
|
|
13
|
+
skipJsonParsing?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export declare function fetcher<T = unknown>(url: string, options?: FetcherOptions): Promise<T>;
|
|
16
|
+
//# sourceMappingURL=fetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../../../../packages/utils/src/fetcher.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAS,SAAQ,KAAK;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEV,MAAM,EAAE;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB;CAMF;AAQD,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAsB,OAAO,CAAC,CAAC,GAAG,OAAO,EACvC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC,CA+BZ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class ApiError extends Error {
|
|
2
|
+
status;
|
|
3
|
+
code;
|
|
4
|
+
data;
|
|
5
|
+
constructor(params) {
|
|
6
|
+
super(params.message);
|
|
7
|
+
this.status = params.status;
|
|
8
|
+
this.code = params.code;
|
|
9
|
+
this.data = params.data;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export async function fetcher(url, options = {}) {
|
|
13
|
+
const { headers, skipJsonParsing = false, ...rest } = options;
|
|
14
|
+
const response = await fetch(url, {
|
|
15
|
+
credentials: "include",
|
|
16
|
+
headers: {
|
|
17
|
+
"Content-Type": "application/json",
|
|
18
|
+
...headers,
|
|
19
|
+
},
|
|
20
|
+
...rest,
|
|
21
|
+
});
|
|
22
|
+
let responseData = null;
|
|
23
|
+
const contentType = response.headers.get("content-type");
|
|
24
|
+
if (!skipJsonParsing && contentType?.includes("application/json")) {
|
|
25
|
+
responseData = await response.json();
|
|
26
|
+
}
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
const backendError = responseData;
|
|
29
|
+
throw new ApiError({
|
|
30
|
+
message: backendError?.message || "Une erreur est survenue",
|
|
31
|
+
status: backendError?.status || response.status,
|
|
32
|
+
code: backendError?.code,
|
|
33
|
+
data: responseData,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return responseData;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=fetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../../../packages/utils/src/fetcher.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAC1B,MAAM,CAAS;IACf,IAAI,CAAU;IACd,IAAI,CAAW;IAEtB,YAAY,MAKX;QACC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAYD,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAW,EACX,UAA0B,EAAE;IAE5B,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,OAAO;SACX;QACD,GAAG,IAAI;KACR,CAAC,CAAC;IAEH,IAAI,YAAY,GAAY,IAAI,CAAC;IACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEzD,IAAI,CAAC,eAAe,IAAI,WAAW,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAClE,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,YAAiC,CAAC;QAEvD,MAAM,IAAI,QAAQ,CAAC;YACjB,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,yBAAyB;YAC3D,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM;YAC/C,IAAI,EAAE,YAAY,EAAE,IAAI;YACxB,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,YAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=formatCurrency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatCurrency.d.ts","sourceRoot":"","sources":["../../../../packages/utils/src/formatCurrency.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatCurrency.js","sourceRoot":"","sources":["../../../../packages/utils/src/formatCurrency.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=formatDate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDate.d.ts","sourceRoot":"","sources":["../../../../packages/utils/src/formatDate.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatDate.js","sourceRoot":"","sources":["../../../../packages/utils/src/formatDate.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/utils/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/utils/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAC;AAGzC,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,0BAA0B,CAAC;AAEzC,gBAAgB;AAChB,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AACA,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc,2BAA2B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramses1er/cbk-toolkit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./client": {
|
|
7
|
-
"import": "./dist/client.js",
|
|
8
|
-
"types": "./dist/client.d.ts"
|
|
7
|
+
"import": "./dist/src/client.js",
|
|
8
|
+
"types": "./dist/src/client.d.ts"
|
|
9
9
|
},
|
|
10
10
|
"./server": {
|
|
11
|
-
"import": "./dist/server.js",
|
|
12
|
-
"types": "./dist/server.d.ts"
|
|
11
|
+
"import": "./dist/src/server.js",
|
|
12
|
+
"types": "./dist/src/server.d.ts"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"tsup": "^8.5.0"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
|
-
"build": "
|
|
38
|
-
"dev": "
|
|
39
|
-
"clean": "
|
|
37
|
+
"build": "tsc -p tsconfig.build.json",
|
|
38
|
+
"dev": "tsc -p tsconfig.build.json --watch",
|
|
39
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\""
|
|
40
40
|
}
|
|
41
41
|
}
|
package/dist/client.d.ts
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
import * as React$1 from 'react';
|
|
2
|
-
import React__default, { ReactNode, ComponentType } from 'react';
|
|
3
|
-
|
|
4
|
-
type IconType = ReactNode | ComponentType<{
|
|
5
|
-
size?: number;
|
|
6
|
-
}>;
|
|
7
|
-
interface NavItem {
|
|
8
|
-
id: string;
|
|
9
|
-
label: string;
|
|
10
|
-
title?: string;
|
|
11
|
-
icon?: IconType;
|
|
12
|
-
href: string;
|
|
13
|
-
subItems?: NavItem[];
|
|
14
|
-
}
|
|
15
|
-
type FooterItem = {
|
|
16
|
-
icon?: IconType;
|
|
17
|
-
label: string;
|
|
18
|
-
href: string;
|
|
19
|
-
} | {
|
|
20
|
-
icon?: IconType;
|
|
21
|
-
label: string;
|
|
22
|
-
confirm: {
|
|
23
|
-
title?: string;
|
|
24
|
-
question: string;
|
|
25
|
-
messageYes: string;
|
|
26
|
-
messageNo: string;
|
|
27
|
-
onAction: () => Promise<void> | void;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
interface SideNavStaticConfig {
|
|
31
|
-
brand?: {
|
|
32
|
-
logo?: ReactNode;
|
|
33
|
-
name?: string;
|
|
34
|
-
tagline?: string;
|
|
35
|
-
};
|
|
36
|
-
mainItems: NavItem[];
|
|
37
|
-
title?: string;
|
|
38
|
-
footer?: FooterItem[];
|
|
39
|
-
toggleIcon?: ReactNode;
|
|
40
|
-
}
|
|
41
|
-
interface SideNavProps extends SideNavStaticConfig {
|
|
42
|
-
children: ReactNode;
|
|
43
|
-
currentPath: string;
|
|
44
|
-
}
|
|
45
|
-
declare function SideNav({ children, title, mainItems, currentPath, brand, footer, toggleIcon, }: SideNavProps): React$1.JSX.Element;
|
|
46
|
-
|
|
47
|
-
declare function createSideNav(config: SideNavStaticConfig): ({ children, currentPath, }: {
|
|
48
|
-
children: React.ReactNode;
|
|
49
|
-
currentPath: string;
|
|
50
|
-
}) => React$1.JSX.Element;
|
|
51
|
-
|
|
52
|
-
declare class ApiError extends Error {
|
|
53
|
-
status: number;
|
|
54
|
-
code?: string;
|
|
55
|
-
data?: unknown;
|
|
56
|
-
constructor(params: {
|
|
57
|
-
message: string;
|
|
58
|
-
status: number;
|
|
59
|
-
code?: string;
|
|
60
|
-
data?: unknown;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
type FetcherOptions = RequestInit & {
|
|
64
|
-
skipJsonParsing?: boolean;
|
|
65
|
-
};
|
|
66
|
-
declare function fetcher<T = unknown>(url: string, options?: FetcherOptions): Promise<T>;
|
|
67
|
-
|
|
68
|
-
type Column<T> = {
|
|
69
|
-
header: string;
|
|
70
|
-
accessor?: keyof T;
|
|
71
|
-
render?: (row: T) => React.ReactNode;
|
|
72
|
-
excludeFromPrint?: boolean;
|
|
73
|
-
};
|
|
74
|
-
type TableProps<T> = {
|
|
75
|
-
data: T[];
|
|
76
|
-
columns: Column<T>[];
|
|
77
|
-
loading?: boolean;
|
|
78
|
-
error?: ApiError | null;
|
|
79
|
-
label?: string;
|
|
80
|
-
printable?: boolean;
|
|
81
|
-
pageSize?: number;
|
|
82
|
-
pageSizeOptions?: number[];
|
|
83
|
-
showPagination?: boolean;
|
|
84
|
-
};
|
|
85
|
-
declare function Table<T>({ data, columns, loading, error, label, printable, pageSize, pageSizeOptions, showPagination, }: TableProps<T>): React$1.JSX.Element;
|
|
86
|
-
|
|
87
|
-
type TableAction<T> = {
|
|
88
|
-
label: string;
|
|
89
|
-
icon: React__default.ReactNode;
|
|
90
|
-
callback: (row: T) => void;
|
|
91
|
-
color?: string;
|
|
92
|
-
};
|
|
93
|
-
type ActionsMenuProps<T> = {
|
|
94
|
-
row: T;
|
|
95
|
-
actions: TableAction<T>[];
|
|
96
|
-
};
|
|
97
|
-
declare function ActionsMenu<T>({ row, actions }: ActionsMenuProps<T>): React__default.JSX.Element;
|
|
98
|
-
|
|
99
|
-
type ModalProps = {
|
|
100
|
-
title: string;
|
|
101
|
-
isOpen: boolean;
|
|
102
|
-
onClose: () => void;
|
|
103
|
-
children: React__default.ReactNode | ((requestClose: () => void) => React__default.ReactNode);
|
|
104
|
-
};
|
|
105
|
-
declare function Modal({ title, isOpen, onClose, children }: ModalProps): React__default.ReactPortal | null;
|
|
106
|
-
|
|
107
|
-
interface ConfirmationProps {
|
|
108
|
-
question: string;
|
|
109
|
-
messageYes: string;
|
|
110
|
-
messageNo: string;
|
|
111
|
-
requestClose: () => void;
|
|
112
|
-
onAction: () => void | Promise<void> | Promise<boolean> | Promise<{
|
|
113
|
-
success: true;
|
|
114
|
-
}>;
|
|
115
|
-
isProcessing: boolean;
|
|
116
|
-
error: ApiError | null;
|
|
117
|
-
resetRequest: () => void;
|
|
118
|
-
}
|
|
119
|
-
declare function Confirmation({ question, messageYes, messageNo, requestClose, onAction, isProcessing, error, resetRequest, }: ConfirmationProps): React$1.JSX.Element | null;
|
|
120
|
-
|
|
121
|
-
type HeaderContentProps = {
|
|
122
|
-
title: string;
|
|
123
|
-
description: string;
|
|
124
|
-
actionLabel?: string;
|
|
125
|
-
onAction?: () => void;
|
|
126
|
-
icon?: React__default.ReactNode;
|
|
127
|
-
};
|
|
128
|
-
declare function HeaderContent({ title, description, actionLabel, onAction, icon, }: HeaderContentProps): React__default.JSX.Element;
|
|
129
|
-
|
|
130
|
-
interface FormProps extends React__default.FormHTMLAttributes<HTMLFormElement> {
|
|
131
|
-
erreurs?: ApiError | null;
|
|
132
|
-
onErrorClose?: () => void;
|
|
133
|
-
}
|
|
134
|
-
declare const Form: React__default.FC<FormProps>;
|
|
135
|
-
|
|
136
|
-
interface FieldContainerProps {
|
|
137
|
-
children: React__default.ReactNode;
|
|
138
|
-
className?: string;
|
|
139
|
-
}
|
|
140
|
-
declare function FieldContainer({ children, className }: FieldContainerProps): React__default.JSX.Element;
|
|
141
|
-
|
|
142
|
-
interface LabelProps extends Omit<React__default.LabelHTMLAttributes<HTMLLabelElement>, "required"> {
|
|
143
|
-
required?: boolean;
|
|
144
|
-
}
|
|
145
|
-
declare const Label: React__default.ForwardRefExoticComponent<LabelProps & React__default.RefAttributes<HTMLLabelElement>>;
|
|
146
|
-
|
|
147
|
-
declare const Input: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & React__default.RefAttributes<HTMLInputElement>>;
|
|
148
|
-
|
|
149
|
-
declare const Select: React__default.ForwardRefExoticComponent<React__default.SelectHTMLAttributes<HTMLSelectElement> & React__default.RefAttributes<HTMLSelectElement>>;
|
|
150
|
-
|
|
151
|
-
declare const Option: React__default.ForwardRefExoticComponent<React__default.OptionHTMLAttributes<HTMLOptionElement> & React__default.RefAttributes<HTMLOptionElement>>;
|
|
152
|
-
|
|
153
|
-
declare const TextArea: React__default.ForwardRefExoticComponent<React__default.TextareaHTMLAttributes<HTMLTextAreaElement> & React__default.RefAttributes<HTMLTextAreaElement>>;
|
|
154
|
-
|
|
155
|
-
declare const DatePicker: React__default.ForwardRefExoticComponent<React__default.InputHTMLAttributes<HTMLInputElement> & React__default.RefAttributes<HTMLInputElement>>;
|
|
156
|
-
|
|
157
|
-
interface LoadingProps {
|
|
158
|
-
text: string;
|
|
159
|
-
}
|
|
160
|
-
declare function Loading(props: LoadingProps): React$1.JSX.Element;
|
|
161
|
-
|
|
162
|
-
interface LoaderSubmitProps {
|
|
163
|
-
label: string;
|
|
164
|
-
loadingLabel: string;
|
|
165
|
-
isLoading: boolean;
|
|
166
|
-
}
|
|
167
|
-
declare function LoaderSubmit({ label, loadingLabel, isLoading }: LoaderSubmitProps): React$1.JSX.Element;
|
|
168
|
-
|
|
169
|
-
interface SessionExpiredProps {
|
|
170
|
-
redirectUrl?: string;
|
|
171
|
-
}
|
|
172
|
-
declare function SessionExpired({ redirectUrl }: SessionExpiredProps): React$1.JSX.Element;
|
|
173
|
-
|
|
174
|
-
interface AccessDeniedProps {
|
|
175
|
-
logo: string;
|
|
176
|
-
redirectTo: string;
|
|
177
|
-
textRedirection: string;
|
|
178
|
-
}
|
|
179
|
-
declare function AccessDenied({ logo, redirectTo, textRedirection }: AccessDeniedProps): React$1.JSX.Element;
|
|
180
|
-
|
|
181
|
-
type UseCurrentUser = () => {
|
|
182
|
-
data?: {
|
|
183
|
-
role: {
|
|
184
|
-
name: string;
|
|
185
|
-
};
|
|
186
|
-
} | null;
|
|
187
|
-
isLoading: boolean;
|
|
188
|
-
};
|
|
189
|
-
interface RouteGuardInputConfig {
|
|
190
|
-
useCurrentUser: UseCurrentUser;
|
|
191
|
-
pagePermissions: Record<string, string[]>;
|
|
192
|
-
deniedPath?: string;
|
|
193
|
-
}
|
|
194
|
-
interface RouteGuardConfig {
|
|
195
|
-
useCurrentUser: UseCurrentUser;
|
|
196
|
-
pagePermissions: Record<string, string[]>;
|
|
197
|
-
deniedPath: string;
|
|
198
|
-
}
|
|
199
|
-
declare function createRouteGuardConfig(input: RouteGuardInputConfig): RouteGuardConfig;
|
|
200
|
-
interface RouteGuardProviderProps {
|
|
201
|
-
children: ReactNode;
|
|
202
|
-
config?: RouteGuardConfig;
|
|
203
|
-
useCurrentUser?: UseCurrentUser;
|
|
204
|
-
pagePermissions?: Record<string, string[]>;
|
|
205
|
-
deniedPath?: string;
|
|
206
|
-
}
|
|
207
|
-
declare function RouteGuardProvider({ children, config, useCurrentUser, pagePermissions, deniedPath, }: RouteGuardProviderProps): React$1.JSX.Element;
|
|
208
|
-
declare function routeGuard(page: string, Component: ComponentType): (props: Record<string, unknown>) => React$1.JSX.Element;
|
|
209
|
-
|
|
210
|
-
export { AccessDenied, ActionsMenu, ApiError, type Column, Confirmation, DatePicker, type FetcherOptions, FieldContainer, type FooterItem, Form, HeaderContent, Input, Label, LoaderSubmit, Loading, Modal, type NavItem, Option, type RouteGuardConfig, RouteGuardProvider, Select, SessionExpired, SideNav, type SideNavProps, type SideNavStaticConfig, Table, type TableAction, TextArea, type UseCurrentUser, createRouteGuardConfig, createSideNav, fetcher, routeGuard };
|