@krosoft/react 0.0.97 → 0.0.98

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 (57) hide show
  1. package/dist/{AppSubTitle-Bc8utqt7.js → AppSubTitle-Bt3_01sd.js} +1 -1
  2. package/dist/{AppTitle-QlMMlpbQ.js → AppTitle-cR9yMcWN.js} +6 -6
  3. package/dist/{AppVerticalTabs--Kb9OFa4.js → AppVerticalTabs-Br5Y27x2.js} +5 -5
  4. package/dist/{ConfirmationDialog-Bv-O4ui4.js → ConfirmationDialog-Bhboi93k.js} +6 -6
  5. package/dist/{DataTable-DWGao3TY.js → DataTable-7kgRjvT3.js} +229 -213
  6. package/dist/{ErrorAlert-DpOsMww8.js → ErrorAlert-D1laKrGq.js} +2 -2
  7. package/dist/{LoadingState-M_TV_5Ui.js → LoadingState-DiBl13bH.js} +1 -1
  8. package/dist/{MetricCard-BjTGW3b2.js → MetricCard-5xmlrXzH.js} +5 -5
  9. package/dist/{SearchInput-CKG1_3iS.js → SearchInput-CcCFcweT.js} +6 -6
  10. package/dist/{TableFilter-oBrNz-v_.js → TableFilter-Dd9SvVEF.js} +8 -8
  11. package/dist/{ThemeSelector-Bzxc7UEq.js → ThemeSelector-Cl2EWB-n.js} +3 -3
  12. package/dist/{Topbar-QKCJiWdO.js → Topbar-6UWKhkXJ.js} +3 -3
  13. package/dist/{alert-sHZy6NHC.js → alert-srKINZRG.js} +2 -2
  14. package/dist/{badge-C09fRxvd.js → badge-BmjaQmQ3.js} +2 -2
  15. package/dist/components/core/cards/index.js +1 -1
  16. package/dist/components/core/dialogs/index.js +2 -2
  17. package/dist/components/core/filters/index.js +1 -1
  18. package/dist/components/core/index.js +13 -13
  19. package/dist/components/core/inputs/index.js +1 -1
  20. package/dist/components/core/layouts/index.js +2 -2
  21. package/dist/components/core/navbar/index.js +1 -1
  22. package/dist/components/core/states/index.js +2 -2
  23. package/dist/components/core/table/DataTable.d.ts +9 -1
  24. package/dist/components/core/table/DataTable.d.ts.map +1 -1
  25. package/dist/components/core/table/index.js +1 -1
  26. package/dist/components/core/tabs/index.js +1 -1
  27. package/dist/components/core/theme/index.js +1 -1
  28. package/dist/components/index.js +18 -18
  29. package/dist/components/ui/button.d.ts +1 -1
  30. package/dist/components/ui/index.js +6 -6
  31. package/dist/{ellipsis-vertical-BVxSFNOa.js → ellipsis-vertical-DHhj4CGv.js} +1 -1
  32. package/dist/{grip-vertical-CJ07_87Y.js → grip-vertical-PGZER0-H.js} +1 -1
  33. package/dist/helpers/index.d.ts +1 -0
  34. package/dist/helpers/index.d.ts.map +1 -1
  35. package/dist/helpers/index.js +47 -2
  36. package/dist/helpers/supabase.helper.d.ts +75 -0
  37. package/dist/helpers/supabase.helper.d.ts.map +1 -0
  38. package/dist/hooks/index.d.ts +1 -0
  39. package/dist/hooks/index.d.ts.map +1 -1
  40. package/dist/hooks/index.js +46 -10
  41. package/dist/hooks/ui/useDataTable.d.ts +1 -1
  42. package/dist/hooks/ui/useDataTable.d.ts.map +1 -1
  43. package/dist/hooks/ui/useServerTable.d.ts +22 -0
  44. package/dist/hooks/ui/useServerTable.d.ts.map +1 -0
  45. package/dist/{index-DSyPHOLE.js → index-BSI9LuBZ.js} +1 -1
  46. package/dist/{loader-circle-GAYBtm3z.js → loader-circle-DEbczXZA.js} +1 -1
  47. package/dist/{select-zzSnHs9S.js → select-CDIMkakd.js} +3 -3
  48. package/dist/{toaster-B09ou5gw.js → toaster-Cz2Lbp2C.js} +4 -4
  49. package/dist/{toggle-group-iLf3T7oV.js → toggle-group-pAjKlGGO.js} +4 -4
  50. package/dist/{tooltip-CAu4DEhc.js → tooltip-mWS3Mix6.js} +2 -2
  51. package/dist/types/UseDataTableProps.d.ts +8 -0
  52. package/dist/types/UseDataTableProps.d.ts.map +1 -1
  53. package/dist/useDataTable-CxcA5S-s.js +126 -0
  54. package/dist/{useTheme-Bn8z_uxy.js → useTheme-BtR4Ahrp.js} +2 -2
  55. package/package.json +1 -1
  56. package/dist/useDataTable-CQpx3zTg.js +0 -91
  57. /package/dist/{index-gWiv5-6R.js → tailwind.helper-gWiv5-6R.js} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { jsxs as r, jsx as s } from "react/jsx-runtime";
2
- import { A as i, a as l } from "./alert-sHZy6NHC.js";
3
- import { c as n } from "./index-DSyPHOLE.js";
2
+ import { A as i, a as l } from "./alert-srKINZRG.js";
3
+ import { c as n } from "./index-BSI9LuBZ.js";
4
4
  /**
5
5
  * @license lucide-react v1.16.0 - ISC
6
6
  *
@@ -1,5 +1,5 @@
1
1
  import { jsxs as r, jsx as t } from "react/jsx-runtime";
2
- import { L as i } from "./loader-circle-GAYBtm3z.js";
2
+ import { L as i } from "./loader-circle-DEbczXZA.js";
3
3
  const d = ({ message: e }) => /* @__PURE__ */ r("div", { className: "p-6 border border-destructive bg-destructive/10 text-destructive rounded-md animate-fade-in", children: [
4
4
  /* @__PURE__ */ t("p", { className: "font-semibold mb-2", children: "Une erreur est survenue." }),
5
5
  e !== void 0 && e !== "" ? /* @__PURE__ */ t("p", { className: "text-sm opacity-80", children: e }) : null
@@ -1,11 +1,11 @@
1
1
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { I as l, M as p, J as m, N as x } from "./toggle-group-iLf3T7oV.js";
3
- import { c } from "./index-gWiv5-6R.js";
2
+ import { I as l, M as p, J as m, N as x } from "./toggle-group-pAjKlGGO.js";
3
+ import { c } from "./tailwind.helper-gWiv5-6R.js";
4
4
  import { useTranslation as f } from "react-i18next";
5
5
  import { formatNumber as b } from "@krosoft/core/helpers";
6
- import "./alert-sHZy6NHC.js";
7
- import "./tooltip-CAu4DEhc.js";
8
- import "./select-zzSnHs9S.js";
6
+ import "./alert-srKINZRG.js";
7
+ import "./tooltip-mWS3Mix6.js";
8
+ import "./select-CDIMkakd.js";
9
9
  import "next-themes";
10
10
  import "react";
11
11
  const v = () => /* @__PURE__ */ s(l, { className: "animate-pulse", children: [
@@ -1,13 +1,13 @@
1
1
  import { jsxs as s, jsx as n } from "react/jsx-runtime";
2
2
  import * as L from "react";
3
3
  import { useState as C, useRef as P, useEffect as j, useMemo as S } from "react";
4
- import { cm as E, cn as N, co as k, cp as F, cq as W, H as A, bv as X, bx as V, bw as _, ce as J, _ as R, aW as I } from "./toggle-group-iLf3T7oV.js";
5
- import "./alert-sHZy6NHC.js";
6
- import { c as b } from "./index-gWiv5-6R.js";
7
- import { B as x, C as H } from "./tooltip-CAu4DEhc.js";
8
- import { X as D, C as Q } from "./select-zzSnHs9S.js";
4
+ import { cm as E, cn as N, co as k, cp as F, cq as W, H as A, bv as X, bx as V, bw as _, ce as J, _ as R, aW as I } from "./toggle-group-pAjKlGGO.js";
5
+ import "./alert-srKINZRG.js";
6
+ import { c as b } from "./tailwind.helper-gWiv5-6R.js";
7
+ import { B as x, C as H } from "./tooltip-mWS3Mix6.js";
8
+ import { X as D, C as Q } from "./select-CDIMkakd.js";
9
9
  import "next-themes";
10
- import { c as Y } from "./index-DSyPHOLE.js";
10
+ import { c as Y } from "./index-BSI9LuBZ.js";
11
11
  /**
12
12
  * @license lucide-react v1.16.0 - ISC
13
13
  *
@@ -1,14 +1,14 @@
1
1
  import { jsxs as m, jsx as r } from "react/jsx-runtime";
2
2
  import { useState as k, useEffect as M, useMemo as A } from "react";
3
- import { M as $, a as O, D as _, b as I, S as j } from "./SearchInput-CKG1_3iS.js";
4
- import { aW as C, bD as z, bM as R, bF as B, bI as Q, bL as V, a$ as H, bH as W, bv as X, bx as G, bw as J, ce as K, _ as P } from "./toggle-group-iLf3T7oV.js";
5
- import "./alert-sHZy6NHC.js";
6
- import { B as w, C as U } from "./tooltip-CAu4DEhc.js";
7
- import { X as E, S as Y, h as Z, i as q, a as ee, c as re } from "./select-zzSnHs9S.js";
3
+ import { M as $, a as O, D as _, b as I, S as j } from "./SearchInput-CcCFcweT.js";
4
+ import { aW as C, bD as z, bM as R, bF as B, bI as Q, bL as V, a$ as H, bH as W, bv as X, bx as G, bw as J, ce as K, _ as P } from "./toggle-group-pAjKlGGO.js";
5
+ import "./alert-srKINZRG.js";
6
+ import { B as w, C as U } from "./tooltip-mWS3Mix6.js";
7
+ import { X as E, S as Y, h as Z, i as q, a as ee, c as re } from "./select-CDIMkakd.js";
8
8
  import "next-themes";
9
- import { B as L } from "./badge-C09fRxvd.js";
10
- import { c as te } from "./index-gWiv5-6R.js";
11
- import { c as le } from "./index-DSyPHOLE.js";
9
+ import { B as L } from "./badge-BmjaQmQ3.js";
10
+ import { c as te } from "./tailwind.helper-gWiv5-6R.js";
11
+ import { c as le } from "./index-BSI9LuBZ.js";
12
12
  /**
13
13
  * @license lucide-react v1.16.0 - ISC
14
14
  *
@@ -1,7 +1,7 @@
1
1
  import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
- import { b as m, T as h, c as u, B as g, a as f } from "./tooltip-CAu4DEhc.js";
3
- import { S as v, h as b, i as N, a as S, c as x } from "./select-zzSnHs9S.js";
4
- import { a as C } from "./useTheme-Bn8z_uxy.js";
2
+ import { b as m, T as h, c as u, B as g, a as f } from "./tooltip-mWS3Mix6.js";
3
+ import { S as v, h as b, i as N, a as S, c as x } from "./select-CDIMkakd.js";
4
+ import { u as C } from "./useTheme-BtR4Ahrp.js";
5
5
  function I({ themeOptions: r, variant: i = "select" }) {
6
6
  const { theme: n, handleThemeChange: t, currentThemeOption: e, nextThemeOption: c, cycleTheme: o } = C(r);
7
7
  if (i === "mini") {
@@ -1,8 +1,8 @@
1
1
  import { jsxs as i, jsx as e, Fragment as y } from "react/jsx-runtime";
2
- import { C as k, T as C, c as j, a as T, b as z, B as S } from "./tooltip-CAu4DEhc.js";
3
- import { c as o } from "./index-gWiv5-6R.js";
2
+ import { C as k, T as C, c as j, a as T, b as z, B as S } from "./tooltip-mWS3Mix6.js";
3
+ import { c as o } from "./tailwind.helper-gWiv5-6R.js";
4
4
  import * as D from "react";
5
- import { c as W } from "./index-DSyPHOLE.js";
5
+ import { c as W } from "./index-BSI9LuBZ.js";
6
6
  /**
7
7
  * @license lucide-react v1.16.0 - ISC
8
8
  *
@@ -1,7 +1,7 @@
1
1
  import { jsx as a } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
- import { a as l } from "./index-DSyPHOLE.js";
4
- import { c as i } from "./index-gWiv5-6R.js";
3
+ import { a as l } from "./index-BSI9LuBZ.js";
4
+ import { c as i } from "./tailwind.helper-gWiv5-6R.js";
5
5
  const d = l(
6
6
  "relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground",
7
7
  {
@@ -1,6 +1,6 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { a as n } from "./index-DSyPHOLE.js";
3
- import { c as a } from "./index-gWiv5-6R.js";
2
+ import { a as n } from "./index-BSI9LuBZ.js";
3
+ import { c as a } from "./tailwind.helper-gWiv5-6R.js";
4
4
  const s = n(
5
5
  "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
6
6
  {
@@ -1,4 +1,4 @@
1
- import { C as s, a as d, D as C, K as e, b as o, M as t } from "../../../MetricCard-BjTGW3b2.js";
1
+ import { C as s, a as d, D as C, K as e, b as o, M as t } from "../../../MetricCard-5xmlrXzH.js";
2
2
  export {
3
3
  s as CardSkeleton,
4
4
  d as CardsSkeleton,
@@ -1,5 +1,5 @@
1
- import { A as i, C as l, a as s, F as g } from "../../../ConfirmationDialog-Bv-O4ui4.js";
2
- import { D as e, a as r, b as t, c as n, d as f, e as m, f as p, g as C, h as F, i as P, P as c } from "../../../toggle-group-iLf3T7oV.js";
1
+ import { A as i, C as l, a as s, F as g } from "../../../ConfirmationDialog-Bhboi93k.js";
2
+ import { D as e, a as r, b as t, c as n, d as f, e as m, f as p, g as C, h as F, i as P, P as c } from "../../../toggle-group-pAjKlGGO.js";
3
3
  export {
4
4
  i as AppDialog,
5
5
  l as ConfirmDeleteDialog,
@@ -1,4 +1,4 @@
1
- import { A as l, a as i, F as r, S as s, T as t } from "../../../TableFilter-oBrNz-v_.js";
1
+ import { A as l, a as i, F as r, S as s, T as t } from "../../../TableFilter-Dd9SvVEF.js";
2
2
  export {
3
3
  l as ActiveFilters,
4
4
  i as AdvancedFilters,
@@ -1,16 +1,16 @@
1
- import { C as r, a as s, D as o, K as t, b as i, M as l } from "../../MetricCard-BjTGW3b2.js";
2
- import { A as b, C as D, a as g, F as T } from "../../ConfirmationDialog-Bv-O4ui4.js";
3
- import { D as c, a as d, b as A, c as m, d as S, e as f, f as x, g as C, h as F, i as P, P as h } from "../../toggle-group-iLf3T7oV.js";
4
- import { A as u, a as v, F as E, S as M, T as H } from "../../TableFilter-oBrNz-v_.js";
5
- import { D as y, a as B, M as I, S as L, b as N } from "../../SearchInput-CKG1_3iS.js";
6
- import { A as R, a as V } from "../../AppTitle-QlMMlpbQ.js";
7
- import { A as q } from "../../AppSubTitle-Bc8utqt7.js";
8
- import { S as z, a as G, T as J } from "../../Topbar-QKCJiWdO.js";
9
- import { E as U } from "../../ErrorAlert-DpOsMww8.js";
10
- import { E as X, L as Y } from "../../LoadingState-M_TV_5Ui.js";
11
- import { D as _, T as $, a as aa, b as ea, c as ra, d as sa, e as oa } from "../../DataTable-DWGao3TY.js";
12
- import { A as ia, a as la, b as pa, c as ba } from "../../AppVerticalTabs--Kb9OFa4.js";
13
- import { T as ga } from "../../ThemeSelector-Bzxc7UEq.js";
1
+ import { C as r, a as s, D as o, K as t, b as i, M as l } from "../../MetricCard-5xmlrXzH.js";
2
+ import { A as b, C as D, a as g, F as T } from "../../ConfirmationDialog-Bhboi93k.js";
3
+ import { D as c, a as d, b as A, c as m, d as S, e as f, f as x, g as C, h as F, i as P, P as h } from "../../toggle-group-pAjKlGGO.js";
4
+ import { A as u, a as v, F as E, S as M, T as H } from "../../TableFilter-Dd9SvVEF.js";
5
+ import { D as y, a as B, M as I, S as L, b as N } from "../../SearchInput-CcCFcweT.js";
6
+ import { A as R, a as V } from "../../AppTitle-cR9yMcWN.js";
7
+ import { A as q } from "../../AppSubTitle-Bt3_01sd.js";
8
+ import { S as z, a as G, T as J } from "../../Topbar-6UWKhkXJ.js";
9
+ import { E as U } from "../../ErrorAlert-D1laKrGq.js";
10
+ import { E as X, L as Y } from "../../LoadingState-DiBl13bH.js";
11
+ import { D as _, T as $, a as aa, b as ea, c as ra, d as sa, e as oa } from "../../DataTable-7kgRjvT3.js";
12
+ import { A as ia, a as la, b as pa, c as ba } from "../../AppVerticalTabs-Br5Y27x2.js";
13
+ import { T as ga } from "../../ThemeSelector-Cl2EWB-n.js";
14
14
  export {
15
15
  u as ActiveFilters,
16
16
  v as AdvancedFilters,
@@ -1,4 +1,4 @@
1
- import { D as t, a as c, M as r, S as s, b as S } from "../../../SearchInput-CKG1_3iS.js";
1
+ import { D as t, a as c, M as r, S as s, b as S } from "../../../SearchInput-CcCFcweT.js";
2
2
  export {
3
3
  t as DatePicker,
4
4
  c as DateRangePicker,
@@ -1,5 +1,5 @@
1
- import { A as o, a as t } from "../../../AppTitle-QlMMlpbQ.js";
2
- import { A as e } from "../../../AppSubTitle-Bc8utqt7.js";
1
+ import { A as o, a as t } from "../../../AppTitle-cR9yMcWN.js";
2
+ import { A as e } from "../../../AppSubTitle-Bt3_01sd.js";
3
3
  export {
4
4
  o as AppActions,
5
5
  e as AppSubTitle,
@@ -1,4 +1,4 @@
1
- import { S as e, a as b, T as o } from "../../../Topbar-QKCJiWdO.js";
1
+ import { S as e, a as b, T as o } from "../../../Topbar-6UWKhkXJ.js";
2
2
  export {
3
3
  e as Sidebar,
4
4
  b as SidebarNavItem,
@@ -1,5 +1,5 @@
1
- import { E as t } from "../../../ErrorAlert-DpOsMww8.js";
2
- import { E as e, L as E } from "../../../LoadingState-M_TV_5Ui.js";
1
+ import { E as t } from "../../../ErrorAlert-D1laKrGq.js";
2
+ import { E as e, L as E } from "../../../LoadingState-DiBl13bH.js";
3
3
  export {
4
4
  t as ErrorAlert,
5
5
  e as ErrorState,
@@ -15,6 +15,14 @@ export interface DataTableProps<T> {
15
15
  noDataMessage?: string;
16
16
  defaultPageSize?: number;
17
17
  pageSizeOptions?: number[];
18
+ totalRows?: number;
19
+ currentPage?: number;
20
+ pageSize?: number;
21
+ onPageChange?: (page: number) => void;
22
+ onPageSizeChange?: (pageSize: number) => void;
23
+ sortColumn?: string | null;
24
+ sortDirection?: "asc" | "desc";
25
+ onSortChange?: (column: string | null, direction: "asc" | "desc") => void;
18
26
  }
19
- export declare function DataTable<T>({ data, columns, getRowId, onRowClick, actions, bulkActions, draggableColumns, resizableColumns, columnVisibility, isLoading, noDataMessage, defaultPageSize, pageSizeOptions, }: DataTableProps<T>): React.JSX.Element;
27
+ export declare function DataTable<T>({ data, columns, getRowId, onRowClick, actions, bulkActions, draggableColumns, resizableColumns, columnVisibility, isLoading, noDataMessage, defaultPageSize, pageSizeOptions, totalRows, currentPage, pageSize: controlledPageSize, onPageChange, onPageSizeChange, sortColumn: controlledSortColumn, sortDirection: controlledSortDirection, onSortChange, }: DataTableProps<T>): React.JSX.Element;
20
28
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/components/core/table/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMvE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,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,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,gBAAuB,EACvB,gBAAuB,EACvB,gBAAuB,EACvB,SAAiB,EACjB,aAAgC,EAChC,eAAmC,EACnC,eAA2C,GAC5C,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwGvC"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../src/components/core/table/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAMvE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,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,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,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;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,OAAO,EACP,WAAW,EACX,gBAAuB,EACvB,gBAAuB,EACvB,gBAAuB,EACvB,SAAiB,EACjB,aAAgC,EAChC,eAAmC,EACnC,eAA2C,EAC3C,SAAS,EACT,WAAW,EACX,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EACZ,gBAAgB,EAChB,UAAU,EAAE,oBAAoB,EAChC,aAAa,EAAE,uBAAuB,EACtC,YAAY,GACb,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgHvC"}
@@ -1,4 +1,4 @@
1
- import { D as s, T as b, a as l, b as T, c as t, d as o, e as i } from "../../../DataTable-DWGao3TY.js";
1
+ import { D as s, T as b, a as l, b as T, c as t, d as o, e as i } from "../../../DataTable-7kgRjvT3.js";
2
2
  export {
3
3
  s as DataTable,
4
4
  b as TableActions,
@@ -1,4 +1,4 @@
1
- import { A as s, a as b, b as e, c as r } from "../../../AppVerticalTabs--Kb9OFa4.js";
1
+ import { A as s, a as b, b as e, c as r } from "../../../AppVerticalTabs-Br5Y27x2.js";
2
2
  export {
3
3
  s as AppTabContainer,
4
4
  b as AppTabHeader,
@@ -1,4 +1,4 @@
1
- import { T as r } from "../../../ThemeSelector-Bzxc7UEq.js";
1
+ import { T as r } from "../../../ThemeSelector-Cl2EWB-n.js";
2
2
  export {
3
3
  r as ThemeSelector
4
4
  };
@@ -1,21 +1,21 @@
1
- import { C as s, a as o, D as r, K as t, b as n, M as i } from "../MetricCard-BjTGW3b2.js";
2
- import { A as b, C as p, a as u, F as g } from "../ConfirmationDialog-Bv-O4ui4.js";
3
- import { A as d, j as c, k as m, l as T, m as S, n as D, o as M, p as A, q as x, r as P, s as h, t as w, u as I, v, w as F, x as f, B, y as L, z as R, C as k, E as G, F as H, G as N, H as y, I as E, J as O, K as V, L as z, M as K, N as U, O as j, Q as q, R as J, S as Q, T as W, U as X, V as Y, W as Z, X as _, Y as $, Z as aa, _ as ea, $ as sa, a0 as oa, a1 as ra, a2 as ta, a3 as na, a4 as ia, a5 as la, a6 as ba, a7 as pa, a8 as ua, a9 as ga, aa as Ca, ab as da, ac as ca, ad as ma, ae as Ta, af as Sa, ag as Da, ah as Ma, ai as Aa, aj as xa, ak as Pa, al as ha, am as wa, D as Ia, a as va, b as Fa, c as fa, d as Ba, e as La, f as Ra, g as ka, h as Ga, i as Ha, an as Na, ao as ya, ap as Ea, aq as Oa, ar as Va, as as za, at as Ka, au as Ua, av as ja, aw as qa, ax as Ja, ay as Qa, az as Wa, aA as Xa, aB as Ya, aC as Za, aD as _a, aE as $a, aF as ae, aG as ee, aH as se, aI as oe, aJ as re, aK as te, aL as ne, aM as ie, aN as le, aO as be, aP as pe, aQ as ue, aR as ge, aS as Ce, aT as de, aU as ce, aV as me, aW as Te, aX as Se, aY as De, aZ as Me, a_ as Ae, a$ as xe, b0 as Pe, b1 as he, b2 as we, b3 as Ie, b4 as ve, b5 as Fe, b6 as fe, b7 as Be, b8 as Le, b9 as Re, ba as ke, bb as Ge, bc as He, bd as Ne, be as ye, bf as Ee, bg as Oe, bh as Ve, bi as ze, bj as Ke, bk as Ue, bl as je, bm as qe, bn as Je, bo as Qe, bp as We, bq as Xe, br as Ye, bs as Ze, bt as _e, bu as $e, bv as as, bw as es, bx as ss, P as os, by as rs, bz as ts, bA as ns, bB as is, bC as ls, bD as bs, bE as ps, bF as us, bG as gs, bH as Cs, bI as ds, bJ as cs, bK as ms, bL as Ts, bM as Ss, bN as Ds, bO as Ms, bP as As, bQ as xs, bR as Ps, bS as hs, bT as ws, bU as Is, bV as vs, bW as Fs, bX as fs, bY as Bs, bZ as Ls, b_ as Rs, b$ as ks, c0 as Gs, c1 as Hs, c2 as Ns, c3 as ys, c4 as Es, c5 as Os, c6 as Vs, c7 as zs, c8 as Ks, c9 as Us, ca as js, cb as qs, cc as Js, cd as Qs } from "../toggle-group-iLf3T7oV.js";
4
- import { A as Xs, a as Ys, F as Zs, S as _s, T as $s } from "../TableFilter-oBrNz-v_.js";
5
- import { D as eo, a as so, M as oo, S as ro, b as to } from "../SearchInput-CKG1_3iS.js";
6
- import { A as io, a as lo } from "../AppTitle-QlMMlpbQ.js";
7
- import { A as po } from "../AppSubTitle-Bc8utqt7.js";
8
- import { S as go, a as Co, T as co } from "../Topbar-QKCJiWdO.js";
9
- import { E as To } from "../ErrorAlert-DpOsMww8.js";
10
- import { E as Do, L as Mo } from "../LoadingState-M_TV_5Ui.js";
11
- import { D as xo, T as Po, a as ho, b as wo, c as Io, d as vo, e as Fo } from "../DataTable-DWGao3TY.js";
12
- import { A as Bo, a as Lo, b as Ro, c as ko } from "../AppVerticalTabs--Kb9OFa4.js";
13
- import { T as Ho } from "../ThemeSelector-Bzxc7UEq.js";
14
- import { A as yo, a as Eo, b as Oo } from "../alert-sHZy6NHC.js";
15
- import { A as zo, C as Ko, a as Uo, b as jo, R as qo, c as Jo, d as Qo, S as Wo, T as Xo, e as Yo } from "../toaster-B09ou5gw.js";
16
- import { B as _o, b as $o } from "../badge-C09fRxvd.js";
17
- import { B as er, T as sr, a as or, b as rr, c as tr, d as nr } from "../tooltip-CAu4DEhc.js";
18
- import { S as lr, a as br, b as pr, c as ur, d as gr, e as Cr, f as dr, g as cr, h as mr, i as Tr } from "../select-zzSnHs9S.js";
1
+ import { C as s, a as o, D as r, K as t, b as n, M as i } from "../MetricCard-5xmlrXzH.js";
2
+ import { A as b, C as p, a as u, F as g } from "../ConfirmationDialog-Bhboi93k.js";
3
+ import { A as d, j as c, k as m, l as T, m as S, n as D, o as M, p as A, q as x, r as P, s as h, t as w, u as I, v, w as F, x as f, B, y as L, z as R, C as k, E as G, F as H, G as N, H as y, I as E, J as O, K as V, L as z, M as K, N as U, O as j, Q as q, R as J, S as Q, T as W, U as X, V as Y, W as Z, X as _, Y as $, Z as aa, _ as ea, $ as sa, a0 as oa, a1 as ra, a2 as ta, a3 as na, a4 as ia, a5 as la, a6 as ba, a7 as pa, a8 as ua, a9 as ga, aa as Ca, ab as da, ac as ca, ad as ma, ae as Ta, af as Sa, ag as Da, ah as Ma, ai as Aa, aj as xa, ak as Pa, al as ha, am as wa, D as Ia, a as va, b as Fa, c as fa, d as Ba, e as La, f as Ra, g as ka, h as Ga, i as Ha, an as Na, ao as ya, ap as Ea, aq as Oa, ar as Va, as as za, at as Ka, au as Ua, av as ja, aw as qa, ax as Ja, ay as Qa, az as Wa, aA as Xa, aB as Ya, aC as Za, aD as _a, aE as $a, aF as ae, aG as ee, aH as se, aI as oe, aJ as re, aK as te, aL as ne, aM as ie, aN as le, aO as be, aP as pe, aQ as ue, aR as ge, aS as Ce, aT as de, aU as ce, aV as me, aW as Te, aX as Se, aY as De, aZ as Me, a_ as Ae, a$ as xe, b0 as Pe, b1 as he, b2 as we, b3 as Ie, b4 as ve, b5 as Fe, b6 as fe, b7 as Be, b8 as Le, b9 as Re, ba as ke, bb as Ge, bc as He, bd as Ne, be as ye, bf as Ee, bg as Oe, bh as Ve, bi as ze, bj as Ke, bk as Ue, bl as je, bm as qe, bn as Je, bo as Qe, bp as We, bq as Xe, br as Ye, bs as Ze, bt as _e, bu as $e, bv as as, bw as es, bx as ss, P as os, by as rs, bz as ts, bA as ns, bB as is, bC as ls, bD as bs, bE as ps, bF as us, bG as gs, bH as Cs, bI as ds, bJ as cs, bK as ms, bL as Ts, bM as Ss, bN as Ds, bO as Ms, bP as As, bQ as xs, bR as Ps, bS as hs, bT as ws, bU as Is, bV as vs, bW as Fs, bX as fs, bY as Bs, bZ as Ls, b_ as Rs, b$ as ks, c0 as Gs, c1 as Hs, c2 as Ns, c3 as ys, c4 as Es, c5 as Os, c6 as Vs, c7 as zs, c8 as Ks, c9 as Us, ca as js, cb as qs, cc as Js, cd as Qs } from "../toggle-group-pAjKlGGO.js";
4
+ import { A as Xs, a as Ys, F as Zs, S as _s, T as $s } from "../TableFilter-Dd9SvVEF.js";
5
+ import { D as eo, a as so, M as oo, S as ro, b as to } from "../SearchInput-CcCFcweT.js";
6
+ import { A as io, a as lo } from "../AppTitle-cR9yMcWN.js";
7
+ import { A as po } from "../AppSubTitle-Bt3_01sd.js";
8
+ import { S as go, a as Co, T as co } from "../Topbar-6UWKhkXJ.js";
9
+ import { E as To } from "../ErrorAlert-D1laKrGq.js";
10
+ import { E as Do, L as Mo } from "../LoadingState-DiBl13bH.js";
11
+ import { D as xo, T as Po, a as ho, b as wo, c as Io, d as vo, e as Fo } from "../DataTable-7kgRjvT3.js";
12
+ import { A as Bo, a as Lo, b as Ro, c as ko } from "../AppVerticalTabs-Br5Y27x2.js";
13
+ import { T as Ho } from "../ThemeSelector-Cl2EWB-n.js";
14
+ import { A as yo, a as Eo, b as Oo } from "../alert-srKINZRG.js";
15
+ import { A as zo, C as Ko, a as Uo, b as jo, R as qo, c as Jo, d as Qo, S as Wo, T as Xo, e as Yo } from "../toaster-Cz2Lbp2C.js";
16
+ import { B as _o, b as $o } from "../badge-BmjaQmQ3.js";
17
+ import { B as er, T as sr, a as or, b as rr, c as tr, d as nr } from "../tooltip-mWS3Mix6.js";
18
+ import { S as lr, a as br, b as pr, c as ur, d as gr, e as Cr, f as dr, g as cr, h as mr, i as Tr } from "../select-CDIMkakd.js";
19
19
  export {
20
20
  d as Accordion,
21
21
  c as AccordionContent,
@@ -1,7 +1,7 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
2
  import * as React from "react";
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | "styled" | null | undefined;
4
+ variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "styled" | null | undefined;
5
5
  size?: "default" | "icon" | "sm" | "lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -1,9 +1,9 @@
1
- import { A as s, j as o, k as r, l as t, m as n, n as i, o as l, p as b, q as u, r as g, s as p, t as C, u as d, v as c, w as m, x as S, B as T, y as M, z as D, C as w, E as x, F as P, G as I, H as h, I as v, J as A, K as F, L as B, M as L, N as G, O as R, Q as H, R as N, S as k, T as f, U as y, V as O, W as V, X as z, Y as E, Z as U, _ as j, $ as q, a0 as J, a1 as K, a2 as Q, a3 as W, a4 as X, a5 as Y, a6 as Z, a7 as _, a8 as $, a9 as aa, aa as ea, ab as sa, ac as oa, ad as ra, ae as ta, af as na, ag as ia, ah as la, ai as ba, aj as ua, ak as ga, al as pa, am as Ca, D as da, a as ca, b as ma, c as Sa, d as Ta, e as Ma, f as Da, g as wa, h as xa, i as Pa, an as Ia, ao as ha, ap as va, aq as Aa, ar as Fa, as as Ba, at as La, au as Ga, av as Ra, aw as Ha, ax as Na, ay as ka, az as fa, aA as ya, aB as Oa, aC as Va, aD as za, aE as Ea, aF as Ua, aG as ja, aH as qa, aI as Ja, aJ as Ka, aK as Qa, aL as Wa, aM as Xa, aN as Ya, aO as Za, aP as _a, aQ as $a, aR as ae, aS as ee, aT as se, aU as oe, aV as re, aW as te, aX as ne, aY as ie, aZ as le, a_ as be, a$ as ue, b0 as ge, b1 as pe, b2 as Ce, b3 as de, b4 as ce, b5 as me, b6 as Se, b7 as Te, b8 as Me, b9 as De, ba as we, bb as xe, bc as Pe, bd as Ie, be as he, bf as ve, bg as Ae, bh as Fe, bi as Be, bj as Le, bk as Ge, bl as Re, bm as He, bn as Ne, bo as ke, bp as fe, bq as ye, br as Oe, bs as Ve, bt as ze, bu as Ee, bv as Ue, bw as je, bx as qe, P as Je, by as Ke, bz as Qe, bA as We, bB as Xe, bC as Ye, bD as Ze, bE as _e, bF as $e, bG as as, bH as es, bI as ss, bJ as os, bK as rs, bL as ts, bM as ns, bN as is, bO as ls, bP as bs, bQ as us, bR as gs, bS as ps, bT as Cs, bU as ds, bV as cs, bW as ms, bX as Ss, bY as Ts, bZ as Ms, b_ as Ds, b$ as ws, c0 as xs, c1 as Ps, c2 as Is, c3 as hs, c4 as vs, c5 as As, c6 as Fs, c7 as Bs, c8 as Ls, c9 as Gs, ca as Rs, cb as Hs, cc as Ns, cd as ks } from "../../toggle-group-iLf3T7oV.js";
2
- import { A as ys, a as Os, b as Vs } from "../../alert-sHZy6NHC.js";
3
- import { A as Es, C as Us, a as js, b as qs, R as Js, c as Ks, d as Qs, S as Ws, T as Xs, e as Ys } from "../../toaster-B09ou5gw.js";
4
- import { B as _s, b as $s } from "../../badge-C09fRxvd.js";
5
- import { B as eo, T as so, a as oo, b as ro, c as to, d as no } from "../../tooltip-CAu4DEhc.js";
6
- import { S as lo, a as bo, b as uo, c as go, d as po, e as Co, f as co, g as mo, h as So, i as To } from "../../select-zzSnHs9S.js";
1
+ import { A as s, j as o, k as r, l as t, m as n, n as i, o as l, p as b, q as u, r as g, s as p, t as C, u as d, v as c, w as m, x as S, B as T, y as M, z as D, C as w, E as x, F as P, G as I, H as h, I as v, J as A, K as F, L as B, M as L, N as G, O as R, Q as H, R as N, S as k, T as f, U as y, V as O, W as V, X as z, Y as E, Z as U, _ as j, $ as q, a0 as J, a1 as K, a2 as Q, a3 as W, a4 as X, a5 as Y, a6 as Z, a7 as _, a8 as $, a9 as aa, aa as ea, ab as sa, ac as oa, ad as ra, ae as ta, af as na, ag as ia, ah as la, ai as ba, aj as ua, ak as ga, al as pa, am as Ca, D as da, a as ca, b as ma, c as Sa, d as Ta, e as Ma, f as Da, g as wa, h as xa, i as Pa, an as Ia, ao as ha, ap as va, aq as Aa, ar as Fa, as as Ba, at as La, au as Ga, av as Ra, aw as Ha, ax as Na, ay as ka, az as fa, aA as ya, aB as Oa, aC as Va, aD as za, aE as Ea, aF as Ua, aG as ja, aH as qa, aI as Ja, aJ as Ka, aK as Qa, aL as Wa, aM as Xa, aN as Ya, aO as Za, aP as _a, aQ as $a, aR as ae, aS as ee, aT as se, aU as oe, aV as re, aW as te, aX as ne, aY as ie, aZ as le, a_ as be, a$ as ue, b0 as ge, b1 as pe, b2 as Ce, b3 as de, b4 as ce, b5 as me, b6 as Se, b7 as Te, b8 as Me, b9 as De, ba as we, bb as xe, bc as Pe, bd as Ie, be as he, bf as ve, bg as Ae, bh as Fe, bi as Be, bj as Le, bk as Ge, bl as Re, bm as He, bn as Ne, bo as ke, bp as fe, bq as ye, br as Oe, bs as Ve, bt as ze, bu as Ee, bv as Ue, bw as je, bx as qe, P as Je, by as Ke, bz as Qe, bA as We, bB as Xe, bC as Ye, bD as Ze, bE as _e, bF as $e, bG as as, bH as es, bI as ss, bJ as os, bK as rs, bL as ts, bM as ns, bN as is, bO as ls, bP as bs, bQ as us, bR as gs, bS as ps, bT as Cs, bU as ds, bV as cs, bW as ms, bX as Ss, bY as Ts, bZ as Ms, b_ as Ds, b$ as ws, c0 as xs, c1 as Ps, c2 as Is, c3 as hs, c4 as vs, c5 as As, c6 as Fs, c7 as Bs, c8 as Ls, c9 as Gs, ca as Rs, cb as Hs, cc as Ns, cd as ks } from "../../toggle-group-pAjKlGGO.js";
2
+ import { A as ys, a as Os, b as Vs } from "../../alert-srKINZRG.js";
3
+ import { A as Es, C as Us, a as js, b as qs, R as Js, c as Ks, d as Qs, S as Ws, T as Xs, e as Ys } from "../../toaster-Cz2Lbp2C.js";
4
+ import { B as _s, b as $s } from "../../badge-BmjaQmQ3.js";
5
+ import { B as eo, T as so, a as oo, b as ro, c as to, d as no } from "../../tooltip-mWS3Mix6.js";
6
+ import { S as lo, a as bo, b as uo, c as go, d as po, e as Co, f as co, g as mo, h as So, i as To } from "../../select-CDIMkakd.js";
7
7
  export {
8
8
  s as Accordion,
9
9
  o as AccordionContent,
@@ -1,4 +1,4 @@
1
- import { c } from "./index-DSyPHOLE.js";
1
+ import { c } from "./index-BSI9LuBZ.js";
2
2
  /**
3
3
  * @license lucide-react v1.16.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import { c } from "./index-DSyPHOLE.js";
1
+ import { c } from "./index-BSI9LuBZ.js";
2
2
  /**
3
3
  * @license lucide-react v1.16.0 - ISC
4
4
  *
@@ -1,2 +1,3 @@
1
1
  export * from "./tailwind.helper";
2
+ export * from "./supabase.helper";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
@@ -1,4 +1,49 @@
1
- import { c as r } from "../index-gWiv5-6R.js";
1
+ import { c as k } from "../tailwind.helper-gWiv5-6R.js";
2
+ function a(s, r, i = {}) {
3
+ var m, d, f;
4
+ let n = s;
5
+ const u = r.debouncedSearchText ?? r.searchText;
6
+ if (u != null && u.trim() && ((m = i.searchColumns) != null && m.length)) {
7
+ const e = `%${u.trim()}%`, o = i.searchColumns.map((c) => `${c}.ilike.${e}`).join(",");
8
+ n = n.or(o);
9
+ }
10
+ if (r.appliedFilters) {
11
+ for (const e in r.appliedFilters)
12
+ if (Object.prototype.hasOwnProperty.call(r.appliedFilters, e)) {
13
+ const o = r.appliedFilters[e];
14
+ if (o == null || o === "" || Array.isArray(o) && o.length === 0) continue;
15
+ const c = (d = i.filters) == null ? void 0 : d[e], p = (c == null ? void 0 : c.column) ?? e, l = (c == null ? void 0 : c.type) ?? "eq";
16
+ if (l === "custom")
17
+ continue;
18
+ l === "ilike" ? n = n.ilike(p, `%${String(o)}%`) : l === "eq" ? n = n.eq(p, o) : l === "in" && Array.isArray(o) && (n = n.in(p, o));
19
+ }
20
+ }
21
+ if (r.sortColumn) {
22
+ const e = ((f = i.sortColumns) == null ? void 0 : f[r.sortColumn]) ?? r.sortColumn;
23
+ n = n.order(e, { ascending: r.sortDirection === "asc" });
24
+ }
25
+ const t = (r.currentPage - 1) * r.pageSize, y = t + r.pageSize - 1;
26
+ return n = n.range(t, y), n;
27
+ }
28
+ function h(s, r) {
29
+ return s ? s.map((i) => {
30
+ const n = i[r];
31
+ return Array.isArray(n) ? n[0] : n;
32
+ }).filter((i) => !!i) : [];
33
+ }
34
+ function A(s, r) {
35
+ if (!s) return null;
36
+ const i = Array.isArray(s) ? s[0] : s;
37
+ if (!i) return null;
38
+ if (r) {
39
+ const n = i[r];
40
+ return Array.isArray(n) ? n[0] : n;
41
+ }
42
+ return i;
43
+ }
2
44
  export {
3
- r as cn
45
+ a as applyTableStateToQuery,
46
+ k as cn,
47
+ h as mapNestedRelationMany,
48
+ A as mapNestedRelationOne
4
49
  };
@@ -0,0 +1,75 @@
1
+ export interface PostgrestQueryLike {
2
+ or: (filters: string, options?: {
3
+ foreignTable?: string;
4
+ }) => PostgrestQueryLike;
5
+ ilike: (column: string, pattern: string) => PostgrestQueryLike;
6
+ eq: (column: string, value: unknown) => PostgrestQueryLike;
7
+ in: (column: string, values: unknown[]) => PostgrestQueryLike;
8
+ order: (column: string, options: {
9
+ ascending: boolean;
10
+ nullsFirst?: boolean;
11
+ foreignTable?: string;
12
+ }) => PostgrestQueryLike;
13
+ range: (from: number, to: number, options?: {
14
+ foreignTable?: string;
15
+ }) => PostgrestQueryLike;
16
+ }
17
+ export interface TableStateLike<TFilters> {
18
+ currentPage: number;
19
+ pageSize: number;
20
+ sortColumn: string | null;
21
+ sortDirection: "asc" | "desc";
22
+ searchText: string;
23
+ debouncedSearchText?: string;
24
+ appliedFilters: TFilters;
25
+ }
26
+ export interface SupabaseFilterConfig<TFilters> {
27
+ /**
28
+ * Database columns to perform global search on.
29
+ * If search text is provided, it applies: .or("col1.ilike.%text%,col2.ilike.%text%")
30
+ */
31
+ searchColumns?: string[];
32
+ /**
33
+ * Mapping definitions for each key in appliedFilters.
34
+ */
35
+ filters?: {
36
+ [K in keyof TFilters]?: {
37
+ /**
38
+ * Column name in the DB. If omitted, the filter key is used as the column name.
39
+ */
40
+ column?: string;
41
+ /**
42
+ * The filter type to apply.
43
+ * - "ilike": case-insensitive search (uses `%value%`)
44
+ * - "eq": exact match
45
+ * - "in": match any value in the array
46
+ * - "custom": ignored by the helper (handled manually)
47
+ */
48
+ type: "ilike" | "eq" | "in" | "custom";
49
+ };
50
+ };
51
+ /**
52
+ * Mapping table sortColumn values to database column names.
53
+ * If a sortColumn value is not mapped here, it will be used as-is.
54
+ */
55
+ sortColumns?: Record<string, string>;
56
+ }
57
+ export declare function applyTableStateToQuery<TFilters extends Record<string, unknown>>(query: PostgrestQueryLike, tableState: TableStateLike<TFilters>, config?: SupabaseFilterConfig<TFilters>): PostgrestQueryLike;
58
+ /**
59
+ * Extracts a list of related records from a many-to-many join array.
60
+ * Handles the case where Supabase returns the nested object inside an array or as a single object.
61
+ *
62
+ * @example
63
+ * // profile.tenants_users = [{ tenant_id: 1, tenants: { id: 1, name: "Tenant A" } }]
64
+ * mapNestedRelationMany(profile.tenants_users, "tenants") // [{ id: 1, name: "Tenant A" }]
65
+ */
66
+ export declare function mapNestedRelationMany<T = unknown>(relationArray: Record<string, unknown>[] | null | undefined, nestedKey: string): T[];
67
+ /**
68
+ * Extracts a single related record from a join record or array.
69
+ *
70
+ * @example
71
+ * // profile.users_roles = [{ role_id: 2, roles: { id: 2, name: "Admin" } }]
72
+ * mapNestedRelationOne(profile.users_roles, "roles") // { id: 2, name: "Admin" }
73
+ */
74
+ export declare function mapNestedRelationOne<T = unknown>(relationArrayOrObject: Record<string, unknown> | Record<string, unknown>[] | null | undefined, nestedKey?: string): T | null;
75
+ //# sourceMappingURL=supabase.helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/supabase.helper.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,kBAAkB,CAAC;IACjF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAC/D,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,kBAAkB,CAAC;IAC3D,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,kBAAkB,CAAC;IAC9D,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,kBAAkB,CAAC;IAC5H,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,kBAAkB,CAAC;CAC9F;AAED,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,QAAQ,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB,CAAC,QAAQ;IAC5C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE;SACP,CAAC,IAAI,MAAM,QAAQ,CAAC,CAAC,EAAE;YACtB;;eAEG;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAEhB;;;;;;eAMG;YACH,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC;SACxC;KACF,CAAC;IAEF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,KAAK,EAAE,kBAAkB,EACzB,UAAU,EAAE,cAAc,CAAC,QAAQ,CAAC,EACpC,MAAM,GAAE,oBAAoB,CAAC,QAAQ,CAAM,GAC1C,kBAAkB,CAoDpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,GAAG,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAQtI;AAED;;;;;;GAMG;AAEH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAC9C,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,EAC7F,SAAS,CAAC,EAAE,MAAM,GACjB,CAAC,GAAG,IAAI,CAUV"}
@@ -5,4 +5,5 @@ export { useToast, toast } from "./ui/useToast";
5
5
  export { useTheme } from "./ui/useTheme";
6
6
  export type { ThemeOption } from "./ui/useTheme";
7
7
  export { useDataTable } from "./ui/useDataTable";
8
+ export { useServerTable } from "./ui/useServerTable";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,12 +1,48 @@
1
- import { u as e } from "../useMobile-DN1_OMDB.js";
2
- import { u as t, a as u } from "../useTheme-Bn8z_uxy.js";
3
- import { t as f, u as m } from "../useToast-BFTk4lWz.js";
4
- import { u as p } from "../useDataTable-CQpx3zTg.js";
1
+ import { u as E } from "../useMobile-DN1_OMDB.js";
2
+ import { a as j, u as q } from "../useTheme-BtR4Ahrp.js";
3
+ import { t as y, u as B } from "../useToast-BFTk4lWz.js";
4
+ import { u as H } from "../useDataTable-CxcA5S-s.js";
5
+ import { useState as a, useEffect as F, useCallback as r } from "react";
6
+ function k(o, c = "nom", t = {}) {
7
+ const [i, n] = a(t.initialPage ?? 1), [u, l] = a(t.initialPageSize ?? 10), [h, S] = a(c), [g, C] = a(t.initialSortDirection ?? "asc"), [s, d] = a(t.initialSearchText ?? ""), [m, T] = a(t.initialSearchText ?? ""), [x, f] = a(o);
8
+ F(() => {
9
+ const e = setTimeout(() => {
10
+ T(s);
11
+ }, t.debounceMs ?? 300);
12
+ return () => {
13
+ clearTimeout(e);
14
+ };
15
+ }, [s, t.debounceMs]);
16
+ const b = r((e) => {
17
+ d(e), n(1);
18
+ }, []), P = r((e) => {
19
+ f(e), n(1);
20
+ }, []), p = r((e, D) => {
21
+ S(e), C(D);
22
+ }, []), z = r((e) => {
23
+ l(e), n(1);
24
+ }, []);
25
+ return {
26
+ currentPage: i,
27
+ onPageChange: n,
28
+ pageSize: u,
29
+ onPageSizeChange: z,
30
+ sortColumn: h,
31
+ sortDirection: g,
32
+ onSortChange: p,
33
+ searchText: s,
34
+ debouncedSearchText: m,
35
+ onSearchChange: b,
36
+ appliedFilters: x,
37
+ onFiltersChange: P
38
+ };
39
+ }
5
40
  export {
6
- f as toast,
7
- p as useDataTable,
8
- e as useMobile,
9
- t as useNotifications,
10
- u as useTheme,
11
- m as useToast
41
+ y as toast,
42
+ H as useDataTable,
43
+ E as useMobile,
44
+ j as useNotifications,
45
+ k as useServerTable,
46
+ q as useTheme,
47
+ B as useToast
12
48
  };
@@ -1,4 +1,4 @@
1
1
  import { UseDataTableProps } from "@/types/UseDataTableProps";
2
2
  import { UseDataTableResult } from "@/types/UseDataTableResult";
3
- export declare function useDataTable<T>({ data, columns, getRowId, defaultPageSize, actions, bulkActions, columnVisibility, }: UseDataTableProps<T>): UseDataTableResult<T>;
3
+ export declare function useDataTable<T>({ data, columns, getRowId, defaultPageSize, actions, bulkActions, columnVisibility, totalRows, currentPage: controlledCurrentPage, pageSize: controlledPageSize, onPageChange, onPageSizeChange, sortColumn: controlledSortColumn, sortDirection: controlledSortDirection, onSortChange, }: UseDataTableProps<T>): UseDataTableResult<T>;
4
4
  //# sourceMappingURL=useDataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDataTable.d.ts","sourceRoot":"","sources":["../../../src/hooks/ui/useDataTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACP,WAAW,EACX,gBAAuB,GACxB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAuM9C"}
1
+ {"version":3,"file":"useDataTable.d.ts","sourceRoot":"","sources":["../../../src/hooks/ui/useDataTable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,OAAO,EACP,WAAW,EACX,gBAAuB,EACvB,SAAS,EACT,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EACZ,gBAAgB,EAChB,UAAU,EAAE,oBAAoB,EAChC,aAAa,EAAE,uBAAuB,EACtC,YAAY,GACb,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAqQ9C"}