@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.
Files changed (106) hide show
  1. package/dist/AppActions-D8KKXpq-.js +60 -0
  2. package/dist/{AppSubTitle-C8zoMJo_.js → AppSubTitle-CVhjWRBp.js} +7 -7
  3. package/dist/{AppTitle-BR4JFZfp.js → AppTitle-DBGJRsjU.js} +6 -6
  4. package/dist/{ErrorAlert-DClCk3Ey.js → ErrorAlert-6ECy_Dox.js} +5 -5
  5. package/dist/{GenericForm-JqObtUCQ.js → GenericForm-C86_Jk7X.js} +104 -105
  6. package/dist/{ImageInput-BLIo5LYH.js → ImageInput-DvHgBYsy.js} +5 -5
  7. package/dist/{MultiSelect-B0Ke0cfS.js → MultiSelect-TGu_k3KM.js} +7 -7
  8. package/dist/{SearchInput-CXZd2rSc.js → SearchInput-Csflv8Az.js} +31 -31
  9. package/dist/{behavior-DDtrNBAq.js → behavior-C4WdfbR1.js} +1 -1
  10. package/dist/{cards-Ct4wFYa8.js → cards-nqZOcSkh.js} +42 -42
  11. package/dist/{charts-CwT9AFWj.js → charts-BfeSrTmX.js} +1 -1
  12. package/dist/components/core/cards/index.js +1 -1
  13. package/dist/components/core/charts/index.js +1 -1
  14. package/dist/components/core/dialogs/index.js +3 -3
  15. package/dist/components/core/filters/ActiveFilters.d.ts +2 -2
  16. package/dist/components/core/filters/ActiveFilters.d.ts.map +1 -1
  17. package/dist/components/core/filters/SearchableFilterPill.d.ts +2 -2
  18. package/dist/components/core/filters/SearchableFilterPill.d.ts.map +1 -1
  19. package/dist/components/core/filters/TableFilter.d.ts.map +1 -1
  20. package/dist/components/core/filters/index.js +127 -127
  21. package/dist/components/core/forms/GenericForm.d.ts.map +1 -1
  22. package/dist/components/core/forms/index.js +1 -1
  23. package/dist/components/core/index.js +19 -19
  24. package/dist/components/core/inputs/index.js +4 -4
  25. package/dist/components/core/language/index.js +1 -1
  26. package/dist/components/core/layouts/index.js +26 -26
  27. package/dist/components/core/navbar/NotificationsBell.d.ts +8 -2
  28. package/dist/components/core/navbar/NotificationsBell.d.ts.map +1 -1
  29. package/dist/components/core/navbar/index.js +1 -1
  30. package/dist/components/core/states/index.js +2 -2
  31. package/dist/components/core/table/DataTable.d.ts +4 -19
  32. package/dist/components/core/table/DataTable.d.ts.map +1 -1
  33. package/dist/components/core/table/TableActions.d.ts +2 -2
  34. package/dist/components/core/table/TableActions.d.ts.map +1 -1
  35. package/dist/components/core/table/TableBody.d.ts +6 -6
  36. package/dist/components/core/table/TableBody.d.ts.map +1 -1
  37. package/dist/components/core/table/TableBulkActions.d.ts +2 -2
  38. package/dist/components/core/table/TableBulkActions.d.ts.map +1 -1
  39. package/dist/components/core/table/TableHeader.d.ts +2 -2
  40. package/dist/components/core/table/TableHeader.d.ts.map +1 -1
  41. package/dist/components/core/table/TablePagination.d.ts.map +1 -1
  42. package/dist/components/core/table/TableSettings.d.ts +2 -2
  43. package/dist/components/core/table/TableSettings.d.ts.map +1 -1
  44. package/dist/components/core/table/index.js +1 -1
  45. package/dist/components/core/tabs/AppVerticalTabs.d.ts.map +1 -1
  46. package/dist/components/core/tabs/index.js +39 -40
  47. package/dist/components/core/theme/index.js +1 -1
  48. package/dist/components/index.js +19 -19
  49. package/dist/components/ui/index.js +2 -2
  50. package/dist/constants/datatable.d.ts +1 -1
  51. package/dist/dialogs-BiPcEbRx.js +207 -0
  52. package/dist/helpers/table.helper.d.ts +4 -4
  53. package/dist/helpers/table.helper.d.ts.map +1 -1
  54. package/dist/hooks/behavior/index.js +1 -1
  55. package/dist/hooks/index.js +6 -6
  56. package/dist/hooks/ui/index.js +5 -5
  57. package/dist/hooks/ui/useDataTable.d.ts +1 -1
  58. package/dist/hooks/ui/useDataTable.d.ts.map +1 -1
  59. package/dist/i18n/index.js +1 -1
  60. package/dist/i18n/krosoftLocales.d.ts +22 -0
  61. package/dist/i18n/krosoftLocales.d.ts.map +1 -1
  62. package/dist/i18n/useKrosoftTranslation.d.ts +9 -6
  63. package/dist/i18n/useKrosoftTranslation.d.ts.map +1 -1
  64. package/dist/{i18n-DW5zKBEK.js → i18n-CevI9Cgk.js} +35 -13
  65. package/dist/{inputs-CNDApo_M.js → inputs-BUXmTc40.js} +3 -3
  66. package/dist/{language-CK_kDejF.js → language-DeQC57bX.js} +9 -9
  67. package/dist/{navbar-UsCqs4DK.js → navbar-Cl4welok.js} +75 -62
  68. package/dist/pwa/index.js +4 -4
  69. package/dist/{sheet-_rrCMue7.js → sheet-RYwa4-Nl.js} +7 -7
  70. package/dist/{states-BusGNKku.js → states-C6lWnADN.js} +2 -2
  71. package/dist/{table-CZ5Ogd4w.js → table-BWEBIVqj.js} +235 -242
  72. package/dist/{theme-QayeX440.js → theme-Dwc4zNXG.js} +9 -9
  73. package/dist/types/AppAction.d.ts +1 -1
  74. package/dist/types/AppAction.d.ts.map +1 -1
  75. package/dist/types/{BulkAction.d.ts → DataTableBulkAction.d.ts} +3 -3
  76. package/dist/types/DataTableBulkAction.d.ts.map +1 -0
  77. package/dist/types/{ColumnDef.d.ts → DataTableColumn.d.ts} +3 -3
  78. package/dist/types/DataTableColumn.d.ts.map +1 -0
  79. package/dist/types/DataTableConfig.d.ts +21 -5
  80. package/dist/types/DataTableConfig.d.ts.map +1 -1
  81. package/dist/types/{RowAction.d.ts → DataTableRowAction.d.ts} +3 -3
  82. package/dist/types/DataTableRowAction.d.ts.map +1 -0
  83. package/dist/types/DataTableServerState.d.ts +20 -0
  84. package/dist/types/DataTableServerState.d.ts.map +1 -0
  85. package/dist/types/FilterFieldConfig.d.ts +2 -2
  86. package/dist/types/FilterFieldConfig.d.ts.map +1 -1
  87. package/dist/types/FilterSection.d.ts +1 -1
  88. package/dist/types/FilterSection.d.ts.map +1 -1
  89. package/dist/types/UseDataTableProps.d.ts +10 -16
  90. package/dist/types/UseDataTableProps.d.ts.map +1 -1
  91. package/dist/types/UseDataTableResult.d.ts +3 -3
  92. package/dist/types/UseDataTableResult.d.ts.map +1 -1
  93. package/dist/types/index.d.ts +4 -3
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/{ui-hnbBp9RZ.js → ui-D7YSs2kF.js} +1 -1
  96. package/dist/{ui-Dg7lq9J8.js → ui-IEH46J4v.js} +4 -4
  97. package/dist/{useDocumentTitle-D7MywIeB.js → useDocumentTitle-C5TsEDqh.js} +4 -4
  98. package/dist/{useFixedColumns-DnzqhbfT.js → useFixedColumns-BVZs3wbh.js} +27 -27
  99. package/dist/{useLanguage-B1dusDJk.js → useLanguage-DdVIzhME.js} +1 -1
  100. package/dist/{useTheme-D1APOG9I.js → useTheme-ZzPZl0MM.js} +1 -1
  101. package/package.json +2 -2
  102. package/dist/AppActions-CcU3ClFS.js +0 -60
  103. package/dist/dialogs-BDtZIxQa.js +0 -208
  104. package/dist/types/BulkAction.d.ts.map +0 -1
  105. package/dist/types/ColumnDef.d.ts.map +0 -1
  106. package/dist/types/RowAction.d.ts.map +0 -1
@@ -1,28 +1,28 @@
1
- import { i as e, n as t, r as n, s as r, t as i } from "./tooltip-BmZ9Bfou.js";
2
- import { t as a } from "./i18n-DW5zKBEK.js";
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-D1APOG9I.js";
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 } = a(), { theme: y, handleThemeChange: b, currentThemeOption: x, nextThemeOption: S, cycleTheme: C } = d(m);
9
+ let { t: v } = e(), { theme: y, handleThemeChange: b, currentThemeOption: x, nextThemeOption: S, cycleTheme: C } = d(m);
10
10
  if (h === "mini") {
11
- let a = x?.icon;
12
- return /* @__PURE__ */ f(n, { children: /* @__PURE__ */ p(i, { children: [/* @__PURE__ */ f(e, {
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(r, {
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: [a && /* @__PURE__ */ f(a, { className: "size-4" }), /* @__PURE__ */ p("span", {
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(t, {
25
+ }), /* @__PURE__ */ p(n, {
26
26
  side: "bottom",
27
27
  align: "center",
28
28
  children: ["Passer en ", S?.label]
@@ -11,7 +11,7 @@ export type AppAction = {
11
11
  icon?: React.ElementType;
12
12
  labelKey?: string;
13
13
  variant?: ButtonVariantType;
14
- onClick: never;
14
+ onClick?: never;
15
15
  disabled?: boolean;
16
16
  children: AppAction[];
17
17
  className?: string;
@@ -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;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,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 BulkAction {
3
- label: string;
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=BulkAction.d.ts.map
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 ColumnDef<T> {
2
+ export interface DataTableColumn<T> {
3
3
  key: string;
4
- label: string;
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=ColumnDef.d.ts.map
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
- * Destinée à accueillir progressivement les réglages aujourd'hui passés à plat en props
6
- * (bordered, colonnes figées…).
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;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,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
+ {"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 RowAction<T> {
3
- label: string;
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=RowAction.d.ts.map
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
- label: string;
5
- badgeLabel?: string;
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,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,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
+ {"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
- title: string;
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,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;CACjC"}
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 { BulkAction } from "./BulkAction";
2
- import { ColumnDef } from "./ColumnDef";
3
- import { RowAction } from "./RowAction";
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: ColumnDef<T>[];
7
- getRowId: (row: T) => string;
8
- defaultPageSize: number;
9
- actions?: RowAction<T>[];
10
- bulkActions?: BulkAction[];
7
+ columns: DataTableColumn<T>[];
8
+ rowKey: (row: T) => string;
9
+ pageSizeDefault: number;
10
+ actions?: DataTableRowAction<T>[];
11
+ bulkActions?: DataTableBulkAction[];
11
12
  columnVisibility?: boolean;
12
- totalRows?: number;
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,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAG3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAG9C,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
+ {"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 { ColumnDef } from "./ColumnDef";
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: ColumnDef<T>[];
22
- visibleColumnsArray: ColumnDef<T>[];
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,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,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,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,mBAAmB,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,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"}
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"}
@@ -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,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,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-_rrCMue7.js";
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-B1dusDJk.js";
6
- import "./useDocumentTitle-D7MywIeB.js";
7
- import "./useFixedColumns-DnzqhbfT.js";
8
- import "./useTheme-D1APOG9I.js";
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 { useEffect as e } from "react";
2
- import { useTranslation as t } from "react-i18next";
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 } = t();
6
- e(() => {
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, getRowId: c, defaultPageSize: l, actions: u, bulkActions: d, columnVisibility: f = !0, totalRows: p, currentPage: te, pageSize: ne, onPageChange: m, onPageSizeChange: h, sortColumn: g, sortDirection: re, onSortChange: _ }) {
19
- let [ie, v] = i(s.find((e) => e.sortable === !0)?.key ?? null), y = g === void 0 ? ie : g, [ae, oe] = i("asc"), b = re ?? ae, [x, S] = i([]), [C, se] = i({}), [w, T] = i({}), [E, D] = i(null), [O, k] = i(1), A = te ?? O, [ce, le] = i(l), j = ne ?? ce, ue = 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(() => E === null ? s : ee(E, s), [E, s]), B = n(() => {
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]: w[t.key] ?? t.minWidth ?? a
26
- }), {}), [s, w]), de = V.length + +!!R + (L || f ? 1 : 0), U = p ?? t.length, W = Math.max(1, Math.ceil(U / j)), G = A > W ? W : A, K = U === 0 ? 0 : (G - 1) * j, q = p === void 0 ? Math.min(K + j, t.length) : Math.min(K + t.length, p), J = e((e) => {
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) : (le(e), k(1));
30
- }, [h]), fe = e((e) => {
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]), pe = e((e) => {
33
+ }, [A, J]), me = e((e) => {
34
34
  let t = typeof e == "function" ? e(j) : e;
35
35
  Y(t);
36
- }, [j, Y]), me = e((e) => {
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) : (v(e), oe(t), J(1));
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
- T((e) => ({
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]), Q = e((e, t) => {
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
- ]), he = (e, t) => {
62
+ ]), _e = (e, t) => {
63
63
  F.current = t, e.dataTransfer.effectAllowed = "move", e.dataTransfer.setData("text/html", t);
64
- }, ge = (e, t) => {
64
+ }, Q = (e, t) => {
65
65
  e.preventDefault(), e.dataTransfer.dropEffect = "move", I.current = t;
66
- }, _e = (e, t) => {
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), D(n), F.current = null, I.current = null);
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: fe,
93
+ setCurrentPage: pe,
94
94
  pageSize: j,
95
- setPageSize: pe,
95
+ setPageSize: me,
96
96
  totalPages: W,
97
97
  safeCurrentPage: G,
98
98
  startIndex: K,
99
99
  endIndex: q,
100
- tableRef: ue,
100
+ tableRef: de,
101
101
  hasActions: L,
102
102
  hasBulkActions: R,
103
103
  orderedColumns: z,
104
104
  visibleColumnsArray: V,
105
- colSpanCount: de,
106
- paginatedData: n(() => p === void 0 ? $.slice(K, q) : $, [
105
+ colSpanCount: fe,
106
+ paginatedData: n(() => f === void 0 ? $.slice(K, q) : $, [
107
107
  $,
108
108
  K,
109
109
  q,
110
- p
110
+ f
111
111
  ]),
112
- handleSort: me,
113
- handleMouseDown: Q,
114
- handleDragStart: he,
115
- handleDragOver: ge,
116
- handleDrop: _e,
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
- se((t) => ({
121
+ w((t) => ({
122
122
  ...t,
123
123
  [e]: !n
124
124
  }));
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-DW5zKBEK.js";
1
+ import { t as e } from "./i18n-CevI9Cgk.js";
2
2
  import { t } from "./useNotifications-CyhTruIG.js";
3
3
  import { useTranslation as n } from "react-i18next";
4
4
  //#region src/hooks/ui/useLanguage.ts
@@ -1,4 +1,4 @@
1
- import { t as e } from "./i18n-DW5zKBEK.js";
1
+ import { t as e } from "./i18n-CevI9Cgk.js";
2
2
  import { t } from "./useNotifications-CyhTruIG.js";
3
3
  import { useTheme as n } from "next-themes";
4
4
  //#region src/hooks/ui/useTheme.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krosoft/react",
3
- "version": "0.0.261",
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.27",
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 };