@krosoft/react 0.0.261 → 0.0.263
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/AppActions-D8KKXpq-.js +60 -0
- package/dist/{AppSubTitle-C8zoMJo_.js → AppSubTitle-CVhjWRBp.js} +7 -7
- package/dist/{AppTitle-BR4JFZfp.js → AppTitle-DBGJRsjU.js} +6 -6
- package/dist/{ErrorAlert-DClCk3Ey.js → ErrorAlert-6ECy_Dox.js} +5 -5
- package/dist/{GenericForm-JqObtUCQ.js → GenericForm-C86_Jk7X.js} +104 -105
- package/dist/{ImageInput-BLIo5LYH.js → ImageInput-DvHgBYsy.js} +5 -5
- package/dist/{MultiSelect-B0Ke0cfS.js → MultiSelect-TGu_k3KM.js} +7 -7
- package/dist/{SearchInput-CXZd2rSc.js → SearchInput-Csflv8Az.js} +31 -31
- package/dist/{behavior-DDtrNBAq.js → behavior-C4WdfbR1.js} +1 -1
- package/dist/{cards-Ct4wFYa8.js → cards-nqZOcSkh.js} +42 -42
- package/dist/{charts-CwT9AFWj.js → charts-BfeSrTmX.js} +1 -1
- package/dist/components/core/cards/index.js +1 -1
- package/dist/components/core/charts/index.js +1 -1
- package/dist/components/core/dialogs/index.js +3 -3
- package/dist/components/core/filters/ActiveFilters.d.ts +2 -2
- package/dist/components/core/filters/ActiveFilters.d.ts.map +1 -1
- package/dist/components/core/filters/SearchableFilterPill.d.ts +2 -2
- package/dist/components/core/filters/SearchableFilterPill.d.ts.map +1 -1
- package/dist/components/core/filters/TableFilter.d.ts.map +1 -1
- package/dist/components/core/filters/index.js +127 -127
- package/dist/components/core/forms/GenericForm.d.ts.map +1 -1
- package/dist/components/core/forms/index.js +1 -1
- package/dist/components/core/index.js +19 -19
- package/dist/components/core/inputs/index.js +4 -4
- package/dist/components/core/language/index.js +1 -1
- package/dist/components/core/layouts/index.js +26 -26
- package/dist/components/core/navbar/NotificationsBell.d.ts +8 -2
- package/dist/components/core/navbar/NotificationsBell.d.ts.map +1 -1
- package/dist/components/core/navbar/index.js +1 -1
- package/dist/components/core/states/index.js +2 -2
- package/dist/components/core/table/DataTable.d.ts +4 -19
- package/dist/components/core/table/DataTable.d.ts.map +1 -1
- package/dist/components/core/table/TableActions.d.ts +2 -2
- package/dist/components/core/table/TableActions.d.ts.map +1 -1
- package/dist/components/core/table/TableBody.d.ts +6 -6
- package/dist/components/core/table/TableBody.d.ts.map +1 -1
- package/dist/components/core/table/TableBulkActions.d.ts +2 -2
- package/dist/components/core/table/TableBulkActions.d.ts.map +1 -1
- package/dist/components/core/table/TableHeader.d.ts +2 -2
- package/dist/components/core/table/TableHeader.d.ts.map +1 -1
- package/dist/components/core/table/TablePagination.d.ts.map +1 -1
- package/dist/components/core/table/TableSettings.d.ts +2 -2
- package/dist/components/core/table/TableSettings.d.ts.map +1 -1
- package/dist/components/core/table/index.js +1 -1
- package/dist/components/core/tabs/AppVerticalTabs.d.ts.map +1 -1
- package/dist/components/core/tabs/index.js +39 -40
- package/dist/components/core/theme/index.js +1 -1
- package/dist/components/index.js +19 -19
- package/dist/components/ui/index.js +2 -2
- package/dist/constants/datatable.d.ts +1 -1
- package/dist/dialogs-BiPcEbRx.js +207 -0
- package/dist/helpers/table.helper.d.ts +4 -4
- package/dist/helpers/table.helper.d.ts.map +1 -1
- package/dist/hooks/behavior/index.js +1 -1
- package/dist/hooks/index.js +6 -6
- package/dist/hooks/ui/index.js +5 -5
- package/dist/hooks/ui/useDataTable.d.ts +1 -1
- package/dist/hooks/ui/useDataTable.d.ts.map +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/krosoftLocales.d.ts +22 -0
- package/dist/i18n/krosoftLocales.d.ts.map +1 -1
- package/dist/i18n/useKrosoftTranslation.d.ts +9 -6
- package/dist/i18n/useKrosoftTranslation.d.ts.map +1 -1
- package/dist/{i18n-DW5zKBEK.js → i18n-CevI9Cgk.js} +35 -13
- package/dist/{inputs-CNDApo_M.js → inputs-BUXmTc40.js} +3 -3
- package/dist/{language-CK_kDejF.js → language-DeQC57bX.js} +9 -9
- package/dist/{navbar-UsCqs4DK.js → navbar-Cl4welok.js} +75 -62
- package/dist/pwa/index.js +4 -4
- package/dist/{sheet-_rrCMue7.js → sheet-RYwa4-Nl.js} +7 -7
- package/dist/{states-BusGNKku.js → states-C6lWnADN.js} +2 -2
- package/dist/{table-CZ5Ogd4w.js → table-BWEBIVqj.js} +235 -242
- package/dist/{theme-QayeX440.js → theme-Dwc4zNXG.js} +9 -9
- package/dist/types/AppAction.d.ts +1 -1
- package/dist/types/AppAction.d.ts.map +1 -1
- package/dist/types/{BulkAction.d.ts → DataTableBulkAction.d.ts} +3 -3
- package/dist/types/DataTableBulkAction.d.ts.map +1 -0
- package/dist/types/{ColumnDef.d.ts → DataTableColumn.d.ts} +3 -3
- package/dist/types/DataTableColumn.d.ts.map +1 -0
- package/dist/types/DataTableConfig.d.ts +21 -5
- package/dist/types/DataTableConfig.d.ts.map +1 -1
- package/dist/types/{RowAction.d.ts → DataTableRowAction.d.ts} +3 -3
- package/dist/types/DataTableRowAction.d.ts.map +1 -0
- package/dist/types/DataTableServerState.d.ts +20 -0
- package/dist/types/DataTableServerState.d.ts.map +1 -0
- package/dist/types/FilterFieldConfig.d.ts +2 -2
- package/dist/types/FilterFieldConfig.d.ts.map +1 -1
- package/dist/types/FilterSection.d.ts +1 -1
- package/dist/types/FilterSection.d.ts.map +1 -1
- package/dist/types/UseDataTableProps.d.ts +10 -16
- package/dist/types/UseDataTableProps.d.ts.map +1 -1
- package/dist/types/UseDataTableResult.d.ts +3 -3
- package/dist/types/UseDataTableResult.d.ts.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/{ui-hnbBp9RZ.js → ui-D7YSs2kF.js} +1 -1
- package/dist/{ui-Dg7lq9J8.js → ui-IEH46J4v.js} +4 -4
- package/dist/{useDocumentTitle-D7MywIeB.js → useDocumentTitle-C5TsEDqh.js} +4 -4
- package/dist/{useFixedColumns-DnzqhbfT.js → useFixedColumns-BVZs3wbh.js} +27 -27
- package/dist/{useLanguage-B1dusDJk.js → useLanguage-DdVIzhME.js} +1 -1
- package/dist/{useTheme-D1APOG9I.js → useTheme-ZzPZl0MM.js} +1 -1
- package/package.json +2 -2
- package/dist/AppActions-CcU3ClFS.js +0 -60
- package/dist/dialogs-BDtZIxQa.js +0 -208
- package/dist/types/BulkAction.d.ts.map +0 -1
- package/dist/types/ColumnDef.d.ts.map +0 -1
- package/dist/types/RowAction.d.ts.map +0 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as a } from "./
|
|
1
|
+
import { t as e } from "./i18n-CevI9Cgk.js";
|
|
2
|
+
import { i as t, n, r, s as i, t as a } from "./tooltip-BmZ9Bfou.js";
|
|
3
3
|
import { i as o, l as s, n as c, t as l, u } from "./select-DmLScQKX.js";
|
|
4
|
-
import { t as d } from "./useTheme-
|
|
4
|
+
import { t as d } from "./useTheme-ZzPZl0MM.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
|
|
8
8
|
function m({ themeOptions: m, variant: h = "select", id: g, className: _ }) {
|
|
9
|
-
let { t: v } =
|
|
9
|
+
let { t: v } = e(), { theme: y, handleThemeChange: b, currentThemeOption: x, nextThemeOption: S, cycleTheme: C } = d(m);
|
|
10
10
|
if (h === "mini") {
|
|
11
|
-
let
|
|
12
|
-
return /* @__PURE__ */ f(
|
|
11
|
+
let e = x?.icon;
|
|
12
|
+
return /* @__PURE__ */ f(r, { children: /* @__PURE__ */ p(a, { children: [/* @__PURE__ */ f(t, {
|
|
13
13
|
asChild: !0,
|
|
14
|
-
children: /* @__PURE__ */ p(
|
|
14
|
+
children: /* @__PURE__ */ p(i, {
|
|
15
15
|
id: g,
|
|
16
16
|
variant: "ghost",
|
|
17
17
|
size: "icon",
|
|
18
18
|
onClick: C,
|
|
19
19
|
className: _,
|
|
20
|
-
children: [
|
|
20
|
+
children: [e && /* @__PURE__ */ f(e, { className: "size-4" }), /* @__PURE__ */ p("span", {
|
|
21
21
|
className: "sr-only",
|
|
22
22
|
children: ["Thème actuel : ", x?.label]
|
|
23
23
|
})]
|
|
24
24
|
})
|
|
25
|
-
}), /* @__PURE__ */ p(
|
|
25
|
+
}), /* @__PURE__ */ p(n, {
|
|
26
26
|
side: "bottom",
|
|
27
27
|
align: "center",
|
|
28
28
|
children: ["Passer en ", S?.label]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppAction.d.ts","sourceRoot":"","sources":["../../src/types/AppAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,SAAS,GACjB;IACE,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"AppAction.d.ts","sourceRoot":"","sources":["../../src/types/AppAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,SAAS,GACjB;IACE,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export interface
|
|
3
|
-
|
|
2
|
+
export interface DataTableBulkAction {
|
|
3
|
+
labelKey: string;
|
|
4
4
|
icon?: React.ElementType;
|
|
5
5
|
onClick: (selectedIds: string[], clearSelection: () => void) => void;
|
|
6
6
|
variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=DataTableBulkAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableBulkAction.d.ts","sourceRoot":"","sources":["../../src/types/DataTableBulkAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAElC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;CAClF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export interface
|
|
2
|
+
export interface DataTableColumn<T> {
|
|
3
3
|
key: string;
|
|
4
|
-
|
|
4
|
+
headerKey: string;
|
|
5
5
|
defaultVisible?: boolean;
|
|
6
6
|
minWidth?: number;
|
|
7
7
|
sortable?: boolean;
|
|
@@ -11,4 +11,4 @@ export interface ColumnDef<T> {
|
|
|
11
11
|
renderCell?: (row: T) => React.ReactNode;
|
|
12
12
|
getSortValue?: (row: T) => string | number | boolean | null | undefined;
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=DataTableColumn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableColumn.d.ts","sourceRoot":"","sources":["../../src/types/DataTableColumn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IAEZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAGzB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAEpC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAEzC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CACzE"}
|
|
@@ -1,14 +1,30 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { DataTableBulkAction } from "./DataTableBulkAction";
|
|
3
|
+
import type { DataTableColumn } from "./DataTableColumn";
|
|
1
4
|
import type { DataTableMessages } from "./DataTableMessages";
|
|
5
|
+
import type { DataTableRowAction } from "./DataTableRowAction";
|
|
2
6
|
/**
|
|
3
7
|
* Options de comportement/présentation du `DataTable`, regroupées en un seul objet.
|
|
4
8
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* Le paramètre générique `T` est conservé dès maintenant : les prochains réglages
|
|
9
|
-
* (rendu de ligne conditionnel, etc.) dépendront du type de la donnée.
|
|
9
|
+
* Seuls les données et l'état contrôlé (data, isLoading, error, pagination/tri server-side)
|
|
10
|
+
* restent passés à plat en props.
|
|
10
11
|
*/
|
|
11
12
|
export interface DataTableConfig<T> {
|
|
13
|
+
/** Définition des colonnes du tableau. */
|
|
14
|
+
columns: DataTableColumn<T>[];
|
|
15
|
+
/** Retourne la clé unique de la ligne (key React, sélection). */
|
|
16
|
+
rowKey: (row: T) => string;
|
|
17
|
+
onRowClick?: (row: T, event: React.MouseEvent<HTMLTableRowElement>) => void;
|
|
18
|
+
/** Retourne l'URL de destination de la ligne au clic (prioritaire sur onRowClick). */
|
|
19
|
+
onRowNavigate?: (row: T) => string;
|
|
20
|
+
/** Actions par ligne, affichées en ligne ou dans le menu kebab (`overflow`). */
|
|
21
|
+
actions?: DataTableRowAction<T>[];
|
|
22
|
+
/** Actions rapides sur la sélection multiple. */
|
|
23
|
+
bulkActions?: DataTableBulkAction[];
|
|
24
|
+
/** Nombre de lignes par page au premier affichage. */
|
|
25
|
+
pageSizeDefault?: number;
|
|
26
|
+
/** Options proposées pour le nombre de lignes par page. */
|
|
27
|
+
pageSizeOptions?: number[];
|
|
12
28
|
/** Réduit la hauteur des lignes pour un affichage compact. */
|
|
13
29
|
dense?: boolean;
|
|
14
30
|
/** Affiche les bordures entre colonnes. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableConfig.d.ts","sourceRoot":"","sources":["../../src/types/DataTableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataTableConfig.d.ts","sourceRoot":"","sources":["../../src/types/DataTableConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,0CAA0C;IAC1C,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,iEAAiE;IACjE,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC5E,sFAAsF;IACtF,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IACnC,gFAAgF;IAChF,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,iDAAiD;IACjD,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export interface
|
|
3
|
-
|
|
2
|
+
export interface DataTableRowAction<T> {
|
|
3
|
+
labelKey: string;
|
|
4
4
|
icon?: React.ElementType;
|
|
5
5
|
onClick: (row: T) => void;
|
|
6
6
|
className?: string;
|
|
@@ -9,4 +9,4 @@ export interface RowAction<T> {
|
|
|
9
9
|
disabled?: (row: T) => boolean;
|
|
10
10
|
overflow?: boolean;
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=DataTableRowAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableRowAction.d.ts","sourceRoot":"","sources":["../../src/types/DataTableRowAction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kBAAkB,CAAC,CAAC;IAEnC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IACzB,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IAEjF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;IAE/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* État contrôlé du `DataTable` en mode server-side : la pagination (et le tri
|
|
3
|
+
* s'il est délégué) sont pilotés par le parent, qui recharge les données à
|
|
4
|
+
* chaque changement. La présence de cet objet active le mode server-side.
|
|
5
|
+
*
|
|
6
|
+
* Le retour de `useServerTable` s'emboîte directement : `server={{ ...table, totalRows }}`.
|
|
7
|
+
*/
|
|
8
|
+
export interface DataTableServerState {
|
|
9
|
+
/** Nombre total de lignes côté serveur (toutes pages confondues). */
|
|
10
|
+
totalRows: number;
|
|
11
|
+
currentPage: number;
|
|
12
|
+
pageSize: number;
|
|
13
|
+
onPageChange: (page: number) => void;
|
|
14
|
+
onPageSizeChange: (pageSize: number) => void;
|
|
15
|
+
/** Tri server-side (optionnel) : sans onSortChange, le tri reste local. */
|
|
16
|
+
sortColumn?: string | null;
|
|
17
|
+
sortDirection?: "asc" | "desc";
|
|
18
|
+
onSortChange?: (column: string | null, direction: "asc" | "desc") => void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=DataTableServerState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableServerState.d.ts","sourceRoot":"","sources":["../../src/types/DataTableServerState.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;CAC3E"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { SelectOption } from "@krosoft/core/types";
|
|
2
2
|
export interface FilterFieldConfig<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
3
3
|
key: Extract<keyof T, string>;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
labelKey: string;
|
|
5
|
+
badgeLabelKey?: string;
|
|
6
6
|
type: "text" | "select" | "date" | "date-range" | "number" | "multi-select";
|
|
7
7
|
placeholder?: string;
|
|
8
8
|
options?: SelectOption[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterFieldConfig.d.ts","sourceRoot":"","sources":["../../src/types/FilterFieldConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5F,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9B,
|
|
1
|
+
{"version":3,"file":"FilterFieldConfig.d.ts","sourceRoot":"","sources":["../../src/types/FilterFieldConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5F,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FilterFieldConfig } from "./FilterFieldConfig";
|
|
2
2
|
export interface FilterSection<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
3
|
-
|
|
3
|
+
titleKey: string;
|
|
4
4
|
filters: FilterFieldConfig<T>[];
|
|
5
5
|
}
|
|
6
6
|
//# sourceMappingURL=FilterSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterSection.d.ts","sourceRoot":"","sources":["../../src/types/FilterSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxF,
|
|
1
|
+
{"version":3,"file":"FilterSection.d.ts","sourceRoot":"","sources":["../../src/types/FilterSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;CACjC"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { DataTableBulkAction } from "./DataTableBulkAction";
|
|
2
|
+
import { DataTableColumn } from "./DataTableColumn";
|
|
3
|
+
import { DataTableServerState } from "./DataTableServerState";
|
|
4
|
+
import { DataTableRowAction } from "./DataTableRowAction";
|
|
4
5
|
export interface UseDataTableProps<T> {
|
|
5
6
|
data: T[];
|
|
6
|
-
columns:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
actions?:
|
|
10
|
-
bulkActions?:
|
|
7
|
+
columns: DataTableColumn<T>[];
|
|
8
|
+
rowKey: (row: T) => string;
|
|
9
|
+
pageSizeDefault: number;
|
|
10
|
+
actions?: DataTableRowAction<T>[];
|
|
11
|
+
bulkActions?: DataTableBulkAction[];
|
|
11
12
|
columnVisibility?: boolean;
|
|
12
|
-
|
|
13
|
-
currentPage?: number;
|
|
14
|
-
pageSize?: number;
|
|
15
|
-
onPageChange?: (page: number) => void;
|
|
16
|
-
onPageSizeChange?: (pageSize: number) => void;
|
|
17
|
-
sortColumn?: string | null;
|
|
18
|
-
sortDirection?: "asc" | "desc";
|
|
19
|
-
onSortChange?: (column: string | null, direction: "asc" | "desc") => void;
|
|
13
|
+
server?: DataTableServerState;
|
|
20
14
|
}
|
|
21
15
|
//# sourceMappingURL=UseDataTableProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseDataTableProps.d.ts","sourceRoot":"","sources":["../../src/types/UseDataTableProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"UseDataTableProps.d.ts","sourceRoot":"","sources":["../../src/types/UseDataTableProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { DataTableColumn } from "./DataTableColumn";
|
|
3
3
|
export interface UseDataTableResult<T> {
|
|
4
4
|
sortColumn: string | null;
|
|
5
5
|
sortDirection: "asc" | "desc";
|
|
@@ -18,8 +18,8 @@ export interface UseDataTableResult<T> {
|
|
|
18
18
|
tableRef: React.RefObject<HTMLTableElement | null>;
|
|
19
19
|
hasActions: boolean;
|
|
20
20
|
hasBulkActions: boolean;
|
|
21
|
-
orderedColumns:
|
|
22
|
-
visibleColumnsArray:
|
|
21
|
+
orderedColumns: DataTableColumn<T>[];
|
|
22
|
+
visibleColumnsArray: DataTableColumn<T>[];
|
|
23
23
|
colSpanCount: number;
|
|
24
24
|
paginatedData: T[];
|
|
25
25
|
handleSort: (columnKey: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseDataTableResult.d.ts","sourceRoot":"","sources":["../../src/types/UseDataTableResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"UseDataTableResult.d.ts","sourceRoot":"","sources":["../../src/types/UseDataTableResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IACrC,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,EAAE,CAAC;IACnB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,sBAAsB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
export * from "./AppAction";
|
|
2
|
-
export * from "./BulkAction";
|
|
3
2
|
export * from "./ButtonVariantType";
|
|
4
3
|
export * from "./ChartDatum";
|
|
5
|
-
export * from "./ColumnDef";
|
|
6
4
|
export * from "./ConfirmDialogConfig";
|
|
5
|
+
export * from "./DataTableBulkAction";
|
|
6
|
+
export * from "./DataTableColumn";
|
|
7
7
|
export * from "./DataTableConfig";
|
|
8
8
|
export * from "./DataTableMessages";
|
|
9
|
+
export * from "./DataTableRowAction";
|
|
10
|
+
export * from "./DataTableServerState";
|
|
9
11
|
export * from "./DateRangeValue";
|
|
10
12
|
export * from "./FilterFieldConfig";
|
|
11
13
|
export * from "./FilterSection";
|
|
12
14
|
export * from "./forms";
|
|
13
|
-
export * from "./RowAction";
|
|
14
15
|
export * from "./TabConfig";
|
|
15
16
|
export * from "./UseDataTableProps";
|
|
16
17
|
export * from "./UseDataTableResult";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,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,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,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"}
|
|
@@ -3,7 +3,7 @@ import "./helpers/index.js";
|
|
|
3
3
|
import "./chart-Dq3AIrue.js";
|
|
4
4
|
import "./alert-REQGK9bR.js";
|
|
5
5
|
import { c as t, s as n } from "./tooltip-BmZ9Bfou.js";
|
|
6
|
-
import "./sheet-
|
|
6
|
+
import "./sheet-RYwa4-Nl.js";
|
|
7
7
|
import "./select-DmLScQKX.js";
|
|
8
8
|
import "./skeleton-D6Ga4BLw.js";
|
|
9
9
|
import { t as r } from "./useScrollFade-D9kqJBDh.js";
|
|
@@ -2,10 +2,10 @@ import "./useScrollFade-D9kqJBDh.js";
|
|
|
2
2
|
import "./useToast-UeDRLovh.js";
|
|
3
3
|
import "./useMobile-pTQ8lWvt.js";
|
|
4
4
|
import "./useNotifications-CyhTruIG.js";
|
|
5
|
-
import "./useLanguage-
|
|
6
|
-
import "./useDocumentTitle-
|
|
7
|
-
import "./useFixedColumns-
|
|
8
|
-
import "./useTheme-
|
|
5
|
+
import "./useLanguage-DdVIzhME.js";
|
|
6
|
+
import "./useDocumentTitle-C5TsEDqh.js";
|
|
7
|
+
import "./useFixedColumns-BVZs3wbh.js";
|
|
8
|
+
import "./useTheme-ZzPZl0MM.js";
|
|
9
9
|
import { useCallback as e, useEffect as t, useState as n } from "react";
|
|
10
10
|
//#region src/hooks/ui/useServerTable.ts
|
|
11
11
|
function r(r, i = "nom", a = {}) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { t as e } from "./i18n-CevI9Cgk.js";
|
|
2
|
+
import { useEffect as t } from "react";
|
|
3
3
|
//#region src/hooks/ui/useDocumentTitle.ts
|
|
4
4
|
var n = (n, r, i) => {
|
|
5
|
-
let { t: a } =
|
|
6
|
-
|
|
5
|
+
let { t: a } = e();
|
|
6
|
+
t(() => {
|
|
7
7
|
let e = a(n), t = document.title, o = r ? `${e} - ${r}` : e, s = i ? `${o} | ${i}` : o;
|
|
8
8
|
return document.title = s, () => {
|
|
9
9
|
document.title = t;
|
|
@@ -15,28 +15,28 @@ var a = 100, o = (e) => e.defaultVisible !== !1, ee = (e, t) => {
|
|
|
15
15
|
r.splice(a, 0, e.key), i.add(e.key);
|
|
16
16
|
}), r.map((e) => n.get(e)).filter((e) => e !== void 0);
|
|
17
17
|
};
|
|
18
|
-
function s({ data: t, columns: s,
|
|
19
|
-
let
|
|
18
|
+
function s({ data: t, columns: s, rowKey: c, pageSizeDefault: l, actions: u, bulkActions: d, columnVisibility: te = !0, server: ne }) {
|
|
19
|
+
let { totalRows: f, currentPage: p, pageSize: re, onPageChange: m, onPageSizeChange: h, sortColumn: g, sortDirection: ie, onSortChange: _ } = ne ?? {}, [v, ae] = i(s.find((e) => e.sortable === !0)?.key ?? null), y = g === void 0 ? v : g, [oe, se] = i("asc"), b = ie ?? oe, [x, S] = i([]), [C, w] = i({}), [T, E] = i({}), [D, O] = i(null), [ce, k] = i(1), A = p ?? ce, [le, ue] = i(l), j = re ?? le, de = r(null), M = r(null), N = r(0), P = r(0), F = r(null), I = r(null), L = u !== void 0 && u.length > 0, R = d !== void 0 && d.length > 0, z = n(() => D === null ? s : ee(D, s), [D, s]), B = n(() => {
|
|
20
20
|
let e = /* @__PURE__ */ new Set();
|
|
21
21
|
for (let t of s) (C[t.key] ?? o(t)) && e.add(t.key);
|
|
22
22
|
return e;
|
|
23
23
|
}, [s, C]), V = n(() => z.filter((e) => B.has(e.key)), [z, B]), H = n(() => s.reduce((e, t) => ({
|
|
24
24
|
...e,
|
|
25
|
-
[t.key]:
|
|
26
|
-
}), {}), [s,
|
|
25
|
+
[t.key]: T[t.key] ?? t.minWidth ?? a
|
|
26
|
+
}), {}), [s, T]), fe = V.length + +!!R + (L || te ? 1 : 0), U = f ?? t.length, W = Math.max(1, Math.ceil(U / j)), G = A > W ? W : A, K = U === 0 ? 0 : (G - 1) * j, q = f === void 0 ? Math.min(K + j, t.length) : Math.min(K + t.length, f), J = e((e) => {
|
|
27
27
|
m ? m(e) : k(e);
|
|
28
28
|
}, [m]), Y = e((e) => {
|
|
29
|
-
h ? h(e) : (
|
|
30
|
-
}, [h]),
|
|
29
|
+
h ? h(e) : (ue(e), k(1));
|
|
30
|
+
}, [h]), pe = e((e) => {
|
|
31
31
|
let t = typeof e == "function" ? e(A) : e;
|
|
32
32
|
J(t);
|
|
33
|
-
}, [A, J]),
|
|
33
|
+
}, [A, J]), me = e((e) => {
|
|
34
34
|
let t = typeof e == "function" ? e(j) : e;
|
|
35
35
|
Y(t);
|
|
36
|
-
}, [j, Y]),
|
|
36
|
+
}, [j, Y]), he = e((e) => {
|
|
37
37
|
if (s.find((t) => t.key === e)?.sortable !== !0) return;
|
|
38
38
|
let t = "asc";
|
|
39
|
-
y === e && (t = b === "asc" ? "desc" : "asc"), _ ? _(e, t) : (
|
|
39
|
+
y === e && (t = b === "asc" ? "desc" : "asc"), _ ? _(e, t) : (ae(e), se(t), J(1));
|
|
40
40
|
}, [
|
|
41
41
|
s,
|
|
42
42
|
y,
|
|
@@ -47,26 +47,26 @@ function s({ data: t, columns: s, getRowId: c, defaultPageSize: l, actions: u, b
|
|
|
47
47
|
let t = M.current;
|
|
48
48
|
if (t === null) return;
|
|
49
49
|
let n = e.clientX - N.current, r = Math.max(80, P.current + n);
|
|
50
|
-
|
|
50
|
+
E((e) => ({
|
|
51
51
|
...e,
|
|
52
52
|
[t]: r
|
|
53
53
|
}));
|
|
54
54
|
}, []), Z = e(function e() {
|
|
55
55
|
M.current = null, document.removeEventListener("mousemove", X), document.removeEventListener("mouseup", e);
|
|
56
|
-
}, [X]),
|
|
56
|
+
}, [X]), ge = e((e, t) => {
|
|
57
57
|
e.preventDefault(), e.stopPropagation(), M.current = t, N.current = e.clientX, P.current = H[t], document.addEventListener("mousemove", X), document.addEventListener("mouseup", Z);
|
|
58
58
|
}, [
|
|
59
59
|
H,
|
|
60
60
|
X,
|
|
61
61
|
Z
|
|
62
|
-
]),
|
|
62
|
+
]), _e = (e, t) => {
|
|
63
63
|
F.current = t, e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/html", t);
|
|
64
|
-
},
|
|
64
|
+
}, Q = (e, t) => {
|
|
65
65
|
e.preventDefault(), e.dataTransfer.dropEffect = "move", I.current = t;
|
|
66
|
-
},
|
|
66
|
+
}, ve = (e, t) => {
|
|
67
67
|
if (e.preventDefault(), F.current === null || F.current === t) return;
|
|
68
68
|
let n = z.map((e) => e.key), r = n.indexOf(F.current), i = n.indexOf(t);
|
|
69
|
-
r !== -1 && i !== -1 && (n.splice(r, 1), n.splice(i, 0, F.current),
|
|
69
|
+
r !== -1 && i !== -1 && (n.splice(r, 1), n.splice(i, 0, F.current), O(n), F.current = null, I.current = null);
|
|
70
70
|
}, $ = n(() => _ === void 0 ? [...t].sort((e, t) => {
|
|
71
71
|
if (y === null) return 0;
|
|
72
72
|
let n = s.find((e) => e.key === y), r = n?.getSortValue === void 0 ? e[y] : n.getSortValue(e), i = n?.getSortValue === void 0 ? t[y] : n.getSortValue(t);
|
|
@@ -90,35 +90,35 @@ function s({ data: t, columns: s, getRowId: c, defaultPageSize: l, actions: u, b
|
|
|
90
90
|
visibleColumns: B,
|
|
91
91
|
columnWidths: H,
|
|
92
92
|
currentPage: A,
|
|
93
|
-
setCurrentPage:
|
|
93
|
+
setCurrentPage: pe,
|
|
94
94
|
pageSize: j,
|
|
95
|
-
setPageSize:
|
|
95
|
+
setPageSize: me,
|
|
96
96
|
totalPages: W,
|
|
97
97
|
safeCurrentPage: G,
|
|
98
98
|
startIndex: K,
|
|
99
99
|
endIndex: q,
|
|
100
|
-
tableRef:
|
|
100
|
+
tableRef: de,
|
|
101
101
|
hasActions: L,
|
|
102
102
|
hasBulkActions: R,
|
|
103
103
|
orderedColumns: z,
|
|
104
104
|
visibleColumnsArray: V,
|
|
105
|
-
colSpanCount:
|
|
106
|
-
paginatedData: n(() =>
|
|
105
|
+
colSpanCount: fe,
|
|
106
|
+
paginatedData: n(() => f === void 0 ? $.slice(K, q) : $, [
|
|
107
107
|
$,
|
|
108
108
|
K,
|
|
109
109
|
q,
|
|
110
|
-
|
|
110
|
+
f
|
|
111
111
|
]),
|
|
112
|
-
handleSort:
|
|
113
|
-
handleMouseDown:
|
|
114
|
-
handleDragStart:
|
|
115
|
-
handleDragOver:
|
|
116
|
-
handleDrop:
|
|
112
|
+
handleSort: he,
|
|
113
|
+
handleMouseDown: ge,
|
|
114
|
+
handleDragStart: _e,
|
|
115
|
+
handleDragOver: Q,
|
|
116
|
+
handleDrop: ve,
|
|
117
117
|
toggleColumnVisibility: (e) => {
|
|
118
118
|
let t = s.find((t) => t.key === e);
|
|
119
119
|
if (t === void 0) return;
|
|
120
120
|
let n = C[e] ?? o(t);
|
|
121
|
-
|
|
121
|
+
w((t) => ({
|
|
122
122
|
...t,
|
|
123
123
|
[e]: !n
|
|
124
124
|
}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@krosoft/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.263",
|
|
4
4
|
"description": "Krosoft shared React package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
98
|
"@krosoft/core": "^0.0.62",
|
|
99
|
-
"@krosoft/tooling-eslint": "^0.0.
|
|
99
|
+
"@krosoft/tooling-eslint": "^0.0.28",
|
|
100
100
|
"@krosoft/tooling-eslint-react": "^0.0.29",
|
|
101
101
|
"@krosoft/tooling-prettier": "^0.0.18",
|
|
102
102
|
"@krosoft/tooling-tsconfig-react": "^0.0.10",
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { t as e } from "./tailwind.helper-CJaRYBmL.js";
|
|
2
|
-
import { Bt as t, Ft as n, Gt as r, Nt as i, jt as a } from "./ui-hnbBp9RZ.js";
|
|
3
|
-
import { s as o } from "./tooltip-BmZ9Bfou.js";
|
|
4
|
-
import { t as s } from "./useMobile-pTQ8lWvt.js";
|
|
5
|
-
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
-
import { useTranslation as u } from "react-i18next";
|
|
7
|
-
import { MoreVerticalIcon as d } from "lucide-react";
|
|
8
|
-
//#region src/components/core/layouts/AppActions.tsx
|
|
9
|
-
function f({ actions: f, className: p }) {
|
|
10
|
-
let { t: m } = u(), h = s();
|
|
11
|
-
return !f || f.length === 0 ? null : h ? /* @__PURE__ */ l(a, { children: [/* @__PURE__ */ c(r, {
|
|
12
|
-
asChild: !0,
|
|
13
|
-
children: /* @__PURE__ */ c(o, {
|
|
14
|
-
variant: "outline",
|
|
15
|
-
size: "icon",
|
|
16
|
-
children: /* @__PURE__ */ c(d, { className: "size-4" })
|
|
17
|
-
})
|
|
18
|
-
}), /* @__PURE__ */ c(i, {
|
|
19
|
-
align: "end",
|
|
20
|
-
className: "min-w-48",
|
|
21
|
-
children: f.map((r, i) => r ? r.children && r.children.length > 0 ? /* @__PURE__ */ l("div", { children: [i > 0 && /* @__PURE__ */ c(t, {}), r.children.map((t, r) => t ? /* @__PURE__ */ l(n, {
|
|
22
|
-
onClick: () => void t.onClick(),
|
|
23
|
-
disabled: t.disabled,
|
|
24
|
-
className: e("gap-2", t.className),
|
|
25
|
-
children: [t.icon && /* @__PURE__ */ c(t.icon, { className: "size-4" }), t.labelKey && m(t.labelKey)]
|
|
26
|
-
}, r) : null)] }, i) : /* @__PURE__ */ l(n, {
|
|
27
|
-
onClick: () => void r.onClick(),
|
|
28
|
-
disabled: r.disabled,
|
|
29
|
-
className: e("gap-2", r.className),
|
|
30
|
-
children: [r.icon && /* @__PURE__ */ c(r.icon, { className: "size-4" }), r.labelKey && m(r.labelKey)]
|
|
31
|
-
}, i) : null)
|
|
32
|
-
})] }) : ((t) => /* @__PURE__ */ c("div", {
|
|
33
|
-
className: e("flex gap-2", p),
|
|
34
|
-
children: t.map((t, s) => t ? t.children && t.children.length > 0 ? /* @__PURE__ */ l(a, { children: [/* @__PURE__ */ c(r, {
|
|
35
|
-
asChild: !0,
|
|
36
|
-
children: /* @__PURE__ */ l(o, {
|
|
37
|
-
variant: t.variant,
|
|
38
|
-
disabled: t.disabled,
|
|
39
|
-
className: e("gap-2", t.className),
|
|
40
|
-
children: [t.icon && /* @__PURE__ */ c(t.icon, { className: "size-4" }), t.labelKey && m(t.labelKey)]
|
|
41
|
-
})
|
|
42
|
-
}), /* @__PURE__ */ c(i, {
|
|
43
|
-
align: "end",
|
|
44
|
-
children: t.children.map((t, r) => t ? /* @__PURE__ */ l(n, {
|
|
45
|
-
onClick: () => void t.onClick(),
|
|
46
|
-
disabled: t.disabled,
|
|
47
|
-
className: e("gap-2", t.className),
|
|
48
|
-
children: [t.icon && /* @__PURE__ */ c(t.icon, { className: "size-4" }), t.labelKey && m(t.labelKey)]
|
|
49
|
-
}, r) : null)
|
|
50
|
-
})] }, s) : /* @__PURE__ */ l(o, {
|
|
51
|
-
variant: t.variant,
|
|
52
|
-
onClick: () => void t.onClick(),
|
|
53
|
-
disabled: t.disabled,
|
|
54
|
-
className: e("gap-2", t.className),
|
|
55
|
-
children: [t.icon && /* @__PURE__ */ c(t.icon, { className: "size-4" }), t.labelKey && m(t.labelKey)]
|
|
56
|
-
}, s) : null)
|
|
57
|
-
}))(f);
|
|
58
|
-
}
|
|
59
|
-
//#endregion
|
|
60
|
-
export { f as t };
|