@datum-cloud/datum-ui 0.3.0-alpha.3670fb2 → 0.3.0-alpha.919cfab

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 (44) hide show
  1. package/dist/{calendar-date-picker-mlbzp3xR.mjs → calendar-date-picker-BMzLl1Yn.mjs} +2 -1
  2. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts +2 -1
  3. package/dist/components/features/calendar-date-picker/calendar-date-picker.d.ts.map +1 -1
  4. package/dist/components/features/data-table/components/active-filters.d.ts +1 -1
  5. package/dist/components/features/data-table/components/active-filters.d.ts.map +1 -1
  6. package/dist/components/features/data-table/components/loading.d.ts.map +1 -1
  7. package/dist/components/features/data-table/components/search.d.ts +1 -1
  8. package/dist/components/features/data-table/components/search.d.ts.map +1 -1
  9. package/dist/components/features/data-table/core/client-provider.d.ts +6 -7
  10. package/dist/components/features/data-table/core/client-provider.d.ts.map +1 -1
  11. package/dist/components/features/data-table/core/data-table-context.d.ts +14 -0
  12. package/dist/components/features/data-table/core/data-table-context.d.ts.map +1 -1
  13. package/dist/components/features/data-table/core/filter-engine.d.ts +5 -0
  14. package/dist/components/features/data-table/core/filter-engine.d.ts.map +1 -1
  15. package/dist/components/features/data-table/core/server-provider.d.ts +6 -7
  16. package/dist/components/features/data-table/core/server-provider.d.ts.map +1 -1
  17. package/dist/components/features/data-table/core/store.d.ts.map +1 -1
  18. package/dist/components/features/data-table/data-table.d.ts +1 -1
  19. package/dist/components/features/data-table/filters/checkbox-filter.d.ts +1 -1
  20. package/dist/components/features/data-table/filters/checkbox-filter.d.ts.map +1 -1
  21. package/dist/components/features/data-table/filters/date-picker-filter.d.ts +1 -1
  22. package/dist/components/features/data-table/filters/date-picker-filter.d.ts.map +1 -1
  23. package/dist/components/features/data-table/filters/select-filter.d.ts +1 -1
  24. package/dist/components/features/data-table/filters/select-filter.d.ts.map +1 -1
  25. package/dist/components/features/data-table/hooks/index.d.ts +1 -1
  26. package/dist/components/features/data-table/hooks/index.d.ts.map +1 -1
  27. package/dist/components/features/data-table/hooks/use-data-table-client.d.ts +2 -15
  28. package/dist/components/features/data-table/hooks/use-data-table-client.d.ts.map +1 -1
  29. package/dist/components/features/data-table/hooks/use-data-table-server.d.ts +2 -25
  30. package/dist/components/features/data-table/hooks/use-data-table-server.d.ts.map +1 -1
  31. package/dist/components/features/data-table/hooks/use-is-client.d.ts +8 -0
  32. package/dist/components/features/data-table/hooks/use-is-client.d.ts.map +1 -0
  33. package/dist/components/features/data-table/hooks/use-selectors.d.ts +4 -35
  34. package/dist/components/features/data-table/hooks/use-selectors.d.ts.map +1 -1
  35. package/dist/components/features/data-table/index.d.ts +2 -4
  36. package/dist/components/features/data-table/index.d.ts.map +1 -1
  37. package/dist/components/features/data-table/types.d.ts +23 -30
  38. package/dist/components/features/data-table/types.d.ts.map +1 -1
  39. package/dist/data-table/index.mjs +383 -358
  40. package/dist/date-picker/index.mjs +1 -1
  41. package/dist/index.mjs +1 -1
  42. package/package.json +55 -1
  43. package/dist/components/features/data-table/hooks/use-data-table-context.d.ts +0 -2
  44. package/dist/components/features/data-table/hooks/use-data-table-context.d.ts.map +0 -1
@@ -36,7 +36,7 @@ const multiSelectVariants = cva("flex font-normal shadow-none items-center justi
36
36
  } },
37
37
  defaultVariants: { variant: "default" }
38
38
  });
39
- function CalendarDatePicker({ ref, id = "calendar-date-picker", className, triggerClassName, date, closeOnSelect = false, numberOfMonths = 2, yearsRange = 10, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture = false, disablePast = false, maxRange, popoverClassName, ...props }) {
39
+ function CalendarDatePicker({ ref, id = "calendar-date-picker", className, triggerClassName, date, closeOnSelect = false, numberOfMonths = 2, yearsRange = 10, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture = false, disablePast = false, maxRange, popoverClassName, disabled, ...props }) {
40
40
  const [isPopoverOpen, setIsPopoverOpen] = React$1.useState(false);
41
41
  const [selectedRange, setSelectedRange] = React$1.useState(numberOfMonths === 2 ? "This Year" : "Today");
42
42
  const [monthFrom, setMonthFrom] = React$1.useState(date?.from);
@@ -428,6 +428,7 @@ function CalendarDatePicker({ ref, id = "calendar-date-picker", className, trigg
428
428
  id: "date",
429
429
  ref,
430
430
  ...props,
431
+ disabled,
431
432
  className: cn("w-full", triggerClassName, multiSelectVariants({
432
433
  variant,
433
434
  className
@@ -31,8 +31,9 @@ interface CalendarDatePickerProps extends React.HTMLAttributes<HTMLButtonElement
31
31
  disablePast?: boolean;
32
32
  maxRange?: number;
33
33
  popoverClassName?: string;
34
+ disabled?: boolean;
34
35
  }
35
- export declare function CalendarDatePicker({ ref, id, className, triggerClassName, date, closeOnSelect, numberOfMonths, yearsRange, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture, disablePast, maxRange, popoverClassName, ...props }: CalendarDatePickerProps & {
36
+ export declare function CalendarDatePicker({ ref, id, className, triggerClassName, date, closeOnSelect, numberOfMonths, yearsRange, onDateSelect, variant, placeholder, excludePresets, customPresets, minDate, maxDate, disableFuture, disablePast, maxRange, popoverClassName, disabled, ...props }: CalendarDatePickerProps & {
36
37
  ref?: React.RefObject<HTMLButtonElement | null>;
37
38
  }): import("react/jsx-runtime").JSX.Element;
38
39
  export declare namespace CalendarDatePicker {
@@ -1 +1 @@
1
- {"version":3,"file":"calendar-date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/calendar-date-picker/calendar-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,QAAA,MAAM,mBAAmB;;8EAiBxB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;CACV;AAED,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IAEjC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAA2B,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAqB,EAAE,cAAkB,EAAE,UAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,aAAqB,EAAE,WAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAAE,2CA+xB3Z;yBA/xBe,kBAAkB"}
1
+ {"version":3,"file":"calendar-date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/features/calendar-date-picker/calendar-date-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAiBjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,QAAA,MAAM,mBAAmB;;8EAiBxB,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,IAAI,CAAA;IACX,GAAG,EAAE,IAAI,CAAA;CACV;AAED,UAAU,uBACR,SAAQ,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,YAAY,CAAC,OAAO,mBAAmB,CAAC;IACzF,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,EAAE,SAAS,CAAA;IACf,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,KAAK,IAAI,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,aAAa,CAAC,EAAE,eAAe,EAAE,CAAA;IAEjC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,GAAG,EAAE,EAA2B,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAqB,EAAE,cAAkB,EAAE,UAAe,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,aAAqB,EAAE,WAAmB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAAE,2CAgyBra;yBAhyBe,kBAAkB"}
@@ -1,5 +1,5 @@
1
1
  import type { ActiveFiltersProps } from '../types';
2
- declare function ActiveFiltersInner({ label, filterLabels, formatFilterValue: formatter, clearAll, clearAllLabel, className, groupClassName, badgeClassName, }: ActiveFiltersProps): import("react/jsx-runtime").JSX.Element | null;
2
+ declare function ActiveFiltersInner({ label, excludeFilters, filterLabels, formatFilterValue: formatter, clearAll, clearAllLabel, className, groupClassName, badgeClassName, }: ActiveFiltersProps): import("react/jsx-runtime").JSX.Element | null;
3
3
  export declare const DataTableActiveFilters: import("react").MemoExoticComponent<typeof ActiveFiltersInner>;
4
4
  export {};
5
5
  //# sourceMappingURL=active-filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"active-filters.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/components/active-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAwClD,iBAAS,kBAAkB,CAAC,EAC1B,KAA0B,EAC1B,YAA2B,EAC3B,iBAAiB,EAAE,SAAS,EAC5B,QAAiB,EACjB,aAA2B,EAC3B,SAAS,EACT,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,kDAqJpB;AAED,eAAO,MAAM,sBAAsB,gEAA2B,CAAA"}
1
+ {"version":3,"file":"active-filters.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/components/active-filters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAwClD,iBAAS,kBAAkB,CAAC,EAC1B,KAA0B,EAC1B,cAAc,EACd,YAA2B,EAC3B,iBAAiB,EAAE,SAAS,EAC5B,QAAiB,EACjB,aAA2B,EAC3B,SAAS,EACT,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,kDA4JpB;AAED,eAAO,MAAM,sBAAsB,gEAA2B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/components/loading.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAI5C,wBAAgB,gBAAgB,CAAC,EAC/B,IAA2B,EAC3B,OAAW,EACX,SAAS,GACV,EAAE,YAAY,2CAqBd"}
1
+ {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/components/loading.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAY5C,wBAAgB,gBAAgB,CAAC,EAC/B,IAA2B,EAC3B,OAAW,EACX,SAAS,GACV,EAAE,YAAY,2CA2Bd"}
@@ -1,3 +1,3 @@
1
1
  import type { SearchProps } from '../types';
2
- export declare function DataTableSearch({ placeholder, debounceMs, className, }: SearchProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DataTableSearch({ placeholder, debounceMs, className, disabled, }: SearchProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/components/search.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAM3C,wBAAgB,eAAe,CAAC,EAC9B,WAAyB,EACzB,UAAgC,EAChC,SAAS,GACV,EAAE,WAAW,2CA4Bb"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/components/search.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAM3C,wBAAgB,eAAe,CAAC,EAC9B,WAAyB,EACzB,UAAgC,EAChC,SAAS,EACT,QAAQ,GACT,EAAE,WAAW,2CA6Bb"}
@@ -1,11 +1,10 @@
1
- import type { Table } from '@tanstack/react-table';
2
1
  import type { ReactNode } from 'react';
3
- import type { DataTableStore } from '../types';
4
- export interface DataTableClientProviderProps<TData> {
5
- readonly store: DataTableStore<TData>;
6
- readonly table: Table<TData>;
2
+ import type { UseDataTableClientOptions } from '../hooks/use-data-table-client';
3
+ export type DataTableClientProviderProps<TData> = UseDataTableClientOptions<TData> & {
7
4
  readonly className?: string;
5
+ /** Rendered during SSR and first client paint. Defaults to a skeleton table. Set to `null` to render nothing. */
6
+ readonly ssrFallback?: ReactNode | null;
8
7
  readonly children: ReactNode;
9
- }
10
- export declare function ClientProvider<TData>({ store, table, className, children, }: DataTableClientProviderProps<TData>): import("react/jsx-runtime").JSX.Element;
8
+ };
9
+ export declare function ClientProvider<TData>(props: DataTableClientProviderProps<TData>): import("react/jsx-runtime").JSX.Element;
11
10
  //# sourceMappingURL=client-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-provider.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/client-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG9C,MAAM,WAAW,4BAA4B,CAAC,KAAK;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,EACpC,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,4BAA4B,CAAC,KAAK,CAAC,2CAQrC"}
1
+ {"version":3,"file":"client-provider.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/client-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAM/E,MAAM,MAAM,4BAA4B,CAAC,KAAK,IAAI,yBAAyB,CAAC,KAAK,CAAC,GAAG;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,CAAA;AAwBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,4BAA4B,CAAC,KAAK,CAAC,2CAW/E"}
@@ -2,6 +2,20 @@ import type { Table } from '@tanstack/react-table';
2
2
  import type { DataTableContextValue, DataTableStore } from '../types';
3
3
  export declare const DataTableStoreContext: import("react").Context<DataTableStore<any> | null>;
4
4
  export declare const TableInstanceContext: import("react").Context<Table<any> | null>;
5
+ /**
6
+ * Monotonic counter that increments on every store mutation.
7
+ * Table-dependent hooks consume this context to force re-renders
8
+ * through React's {children} composition boundary, since the
9
+ * mutable table singleton (stable ref) cannot trigger context updates.
10
+ */
11
+ export declare const DataTableRenderKeyContext: import("react").Context<number>;
12
+ /**
13
+ * Forces a re-render when the store changes. Used by table-dependent hooks.
14
+ * Uses useContext (not use()) because use() does not reliably register
15
+ * context subscriptions in SSR/hydration scenarios (React Router SSR),
16
+ * preventing re-renders when the context value changes.
17
+ */
18
+ export declare function useRenderKey(): number;
5
19
  export declare const DataTableContext: import("react").Context<DataTableContextValue<any> | null>;
6
20
  /** @deprecated Use selector hooks from hooks/use-selectors instead */
7
21
  export declare function useDataTableContext<TData>(): DataTableContextValue<TData>;
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-context.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/data-table-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGrE,eAAO,MAAM,qBAAqB,qDAAkD,CAAA;AACpF,eAAO,MAAM,oBAAoB,4CAAyC,CAAA;AAG1E,eAAO,MAAM,gBAAgB,4DAAyD,CAAA;AAEtF,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAMzE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,CAMhE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAMtD"}
1
+ {"version":3,"file":"data-table-context.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/data-table-context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAGrE,eAAO,MAAM,qBAAqB,qDAAkD,CAAA;AACpF,eAAO,MAAM,oBAAoB,4CAAyC,CAAA;AAE1E;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,iCAA2B,CAAA;AAEjE;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAGD,eAAO,MAAM,gBAAgB,4DAAyD,CAAA;AAEtF,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,KAAK,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAMzE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,CAMhE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAMtD"}
@@ -1,5 +1,10 @@
1
1
  import type { FilterStrategy } from '../types';
2
2
  type FilterFn = (cellValue: unknown, filterValue: unknown) => boolean;
3
+ /**
4
+ * Resolve a dot-path on an object (e.g. "status.registrationApproval").
5
+ * Falls back to a flat key lookup when the path has no dots.
6
+ */
7
+ export declare function resolvePath(obj: unknown, path: string): unknown;
3
8
  interface FilterStrategies {
4
9
  'checkbox': FilterFn;
5
10
  'select': FilterFn;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-engine.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/filter-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,KAAK,QAAQ,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,CAAA;AAErE,UAAU,gBAAgB;IACxB,UAAU,EAAE,QAAQ,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,QAAQ,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAA;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CACxB;AAED,eAAO,MAAM,iBAAiB,EAAE,gBAsC/B,CAAA;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAChC,IAAI,EAAE,KAAK,EAAE,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,YAAY,EAAE;IACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACjD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC7B,GACA,KAAK,EAAE,CA0CT"}
1
+ {"version":3,"file":"filter-engine.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/filter-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,KAAK,QAAQ,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,CAAA;AAErE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAW/D;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,QAAQ,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,QAAQ,CAAA;IACpB,UAAU,EAAE,QAAQ,CAAA;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CACxB;AAED,eAAO,MAAM,iBAAiB,EAAE,gBAsC/B,CAAA;AAUD,wBAAgB,YAAY,CAAC,KAAK,EAChC,IAAI,EAAE,KAAK,EAAE,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,YAAY,EAAE;IACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IACjD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC7B,GACA,KAAK,EAAE,CA0CT"}
@@ -1,11 +1,10 @@
1
- import type { Table } from '@tanstack/react-table';
2
1
  import type { ReactNode } from 'react';
3
- import type { DataTableStore } from '../types';
4
- export interface DataTableServerProviderProps<TData> {
5
- readonly store: DataTableStore<TData>;
6
- readonly table: Table<TData>;
2
+ import type { UseDataTableServerOptions } from '../hooks/use-data-table-server';
3
+ export type DataTableServerProviderProps<TResponse, TData> = UseDataTableServerOptions<TResponse, TData> & {
7
4
  readonly className?: string;
5
+ /** Rendered during SSR and first client paint. Defaults to a skeleton table. Set to `null` to render nothing. */
6
+ readonly ssrFallback?: ReactNode | null;
8
7
  readonly children: ReactNode;
9
- }
10
- export declare function ServerProvider<TData>({ store, table, className, children, }: DataTableServerProviderProps<TData>): import("react/jsx-runtime").JSX.Element;
8
+ };
9
+ export declare function ServerProvider<TResponse, TData>(props: DataTableServerProviderProps<TResponse, TData>): import("react/jsx-runtime").JSX.Element;
11
10
  //# sourceMappingURL=server-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-provider.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/server-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAG9C,MAAM,WAAW,4BAA4B,CAAC,KAAK;IACjD,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,EACpC,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,4BAA4B,CAAC,KAAK,CAAC,2CAQrC"}
1
+ {"version":3,"file":"server-provider.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/server-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAM/E,MAAM,MAAM,4BAA4B,CAAC,SAAS,EAAE,KAAK,IAAI,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG;IACzG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,iHAAiH;IACjH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAC7B,CAAA;AAwBD,wBAAgB,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,2CAWrG"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EAGf,MAAM,UAAU,CAAA;AAIjB,wBAAgB,oBAAoB,CAAC,KAAK,EACxC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACjC,cAAc,CAAC,KAAK,CAAC,CAmKvB"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/core/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EAGf,MAAM,UAAU,CAAA;AAIjB,wBAAgB,oBAAoB,CAAC,KAAK,EACxC,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,GACjC,cAAc,CAAC,KAAK,CAAC,CAoKvB"}
@@ -14,7 +14,7 @@ import { SelectFilter } from './filters/select-filter';
14
14
  export declare const DataTable: {
15
15
  readonly Client: typeof ClientProvider;
16
16
  readonly Server: typeof ServerProvider;
17
- readonly ActiveFilters: import("react").MemoExoticComponent<({ label, filterLabels, formatFilterValue: formatter, clearAll, clearAllLabel, className, groupClassName, badgeClassName, }: import("./types").ActiveFiltersProps) => import("react/jsx-runtime").JSX.Element | null>;
17
+ readonly ActiveFilters: import("react").MemoExoticComponent<({ label, excludeFilters, filterLabels, formatFilterValue: formatter, clearAll, clearAllLabel, className, groupClassName, badgeClassName, }: import("./types").ActiveFiltersProps) => import("react/jsx-runtime").JSX.Element | null>;
18
18
  readonly Content: typeof DataTableContent;
19
19
  readonly InlineContent: typeof DataTableInlineContent;
20
20
  readonly ColumnHeader: typeof DataTableColumnHeader;
@@ -1,3 +1,3 @@
1
1
  import type { FilterCheckboxProps } from '../types';
2
- export declare function CheckboxFilter({ column, label, options, className, checkboxPopoverClassName, }: FilterCheckboxProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function CheckboxFilter({ column, label, options, className, checkboxPopoverClassName, disabled, }: FilterCheckboxProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=checkbox-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/filters/checkbox-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAiBnD,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,wBAAwB,GACzB,EAAE,mBAAmB,2CAwHrB"}
1
+ {"version":3,"file":"checkbox-filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/filters/checkbox-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAiBnD,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,wBAAwB,EACxB,QAAQ,GACT,EAAE,mBAAmB,2CAyHrB"}
@@ -1,3 +1,3 @@
1
1
  import type { FilterDatePickerProps } from '../types';
2
- export declare function DatePickerFilter({ column, label, className, datePickerPopoverClassName, disableFuture, disablePast, minDate, maxDate, }: FilterDatePickerProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DatePickerFilter({ column, label, className, datePickerPopoverClassName, disableFuture, disablePast, minDate, maxDate, disabled, }: FilterDatePickerProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=date-picker-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/filters/date-picker-filter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAKrD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,2CA0CvB"}
1
+ {"version":3,"file":"date-picker-filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/filters/date-picker-filter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAKrD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,KAAK,EACL,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,qBAAqB,2CA2CvB"}
@@ -1,3 +1,3 @@
1
1
  import type { FilterSelectProps } from '../types';
2
- export declare function SelectFilter({ column, label, options, placeholder, searchable, className, selectPopoverClassName, }: FilterSelectProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function SelectFilter({ column, label, options, placeholder, searchable, className, selectPopoverClassName, disabled, }: FilterSelectProps): import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=select-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/filters/select-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAoBjD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAiB,EACjB,SAAS,EACT,sBAAsB,GACvB,EAAE,iBAAiB,2CAkFnB"}
1
+ {"version":3,"file":"select-filter.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/filters/select-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAoBjD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAiB,EACjB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,EAAE,iBAAiB,2CAmFnB"}
@@ -1,4 +1,4 @@
1
1
  export { useDataTableClient } from './use-data-table-client';
2
2
  export { useDataTableServer } from './use-data-table-server';
3
- export { useDataTableContext, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, } from './use-selectors';
3
+ export { useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, } from './use-selectors';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA"}
@@ -1,18 +1,5 @@
1
- import type { ColumnDef, SortingState } from '@tanstack/react-table';
2
- import type { DataTableStore, FilterValue, SelectionColumnOptions, StateAdapter } from '../types';
3
- export interface UseDataTableClientOptions<TData> {
4
- readonly data: TData[];
5
- readonly columns: ColumnDef<TData, any>[];
6
- readonly pageSize?: number;
7
- readonly getRowId?: (row: TData) => string;
8
- readonly enableRowSelection?: boolean | SelectionColumnOptions;
9
- readonly defaultSort?: SortingState;
10
- readonly defaultFilters?: FilterValue;
11
- readonly searchableColumns?: string[];
12
- readonly searchFn?: (row: TData, query: string) => boolean;
13
- readonly filterFns?: Record<string, (cellValue: unknown, filterValue: unknown) => boolean>;
14
- readonly stateAdapter?: StateAdapter;
15
- }
1
+ import type { DataTableStore, UseDataTableClientOptions } from '../types';
2
+ export type { UseDataTableClientOptions };
16
3
  export declare function useDataTableClient<TData>(options: UseDataTableClientOptions<TData>): {
17
4
  store: DataTableStore<TData>;
18
5
  table: import("@tanstack/react-table").Table<TData>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-data-table-client.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-data-table-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAsB,cAAc,EAAE,WAAW,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAWrH,MAAM,WAAW,yBAAyB,CAAC,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAA;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,KAAK,OAAO,CAAC,CAAA;IAC1F,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CACrC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC;;;EAuHlF"}
1
+ {"version":3,"file":"use-data-table-client.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-data-table-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EACd,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAWjB,YAAY,EAAE,yBAAyB,EAAE,CAAA;AAEzC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,yBAAyB,CAAC,KAAK,CAAC;;;EAuHlF"}
@@ -1,28 +1,5 @@
1
- import type { ColumnDef, SortingState } from '@tanstack/react-table';
2
- import type { DataTableStore, FilterValue, SelectionColumnOptions, StateAdapter } from '../types';
3
- export interface ServerFetchArgs {
4
- readonly sorting: SortingState;
5
- readonly filters: FilterValue;
6
- readonly search: string;
7
- readonly cursor: string | undefined;
8
- readonly limit: number;
9
- }
10
- export interface ServerTransformResult<TData> {
11
- readonly data: TData[];
12
- readonly nextCursor?: string;
13
- readonly hasNextPage: boolean;
14
- }
15
- export interface UseDataTableServerOptions<TResponse, TData> {
16
- readonly columns: ColumnDef<TData, any>[];
17
- readonly fetchFn: (args: ServerFetchArgs) => Promise<TResponse>;
18
- readonly transform: (response: TResponse) => ServerTransformResult<TData>;
19
- readonly limit?: number;
20
- readonly getRowId?: (row: TData) => string;
21
- readonly enableRowSelection?: boolean | SelectionColumnOptions;
22
- readonly defaultSort?: SortingState;
23
- readonly defaultFilters?: FilterValue;
24
- readonly stateAdapter?: StateAdapter;
25
- }
1
+ import type { DataTableStore, UseDataTableServerOptions } from '../types';
2
+ export type { UseDataTableServerOptions };
26
3
  export declare function useDataTableServer<TResponse, TData>(options: UseDataTableServerOptions<TResponse, TData>): {
27
4
  store: DataTableStore<TData>;
28
5
  table: import("@tanstack/react-table").Table<TData>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-data-table-server.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-data-table-server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,YAAY,EACb,MAAM,UAAU,CAAA;AASjB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,yBAAyB,CAAC,SAAS,EAAE,KAAK;IACzD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/D,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAA;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAA;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAA;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;CACrC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,KAAK,EACjD,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC;;;EAkKrD"}
1
+ {"version":3,"file":"use-data-table-server.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-data-table-server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AASjB,YAAY,EAAE,yBAAyB,EAAE,CAAA;AAEzC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,KAAK,EACjD,OAAO,EAAE,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC;;;EAkKrD"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns `false` during SSR and `true` after hydration.
3
+ * Used to gate components that depend on client-only APIs
4
+ * (e.g. TanStack Table's internal useSyncExternalStore call
5
+ * which omits the getServerSnapshot argument).
6
+ */
7
+ export declare function useIsClient(): boolean;
8
+ //# sourceMappingURL=use-is-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-is-client.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-is-client.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAKrC"}
@@ -1,4 +1,3 @@
1
- import type { HeaderGroup, Row, RowSelectionState } from '@tanstack/react-table';
2
1
  import type { InlineContentEntry } from '../types';
3
2
  export declare function useDataTableFilters(): {
4
3
  filters: import("..").FilterValue;
@@ -18,8 +17,8 @@ export declare function useDataTableSorting(): {
18
17
  setSorting: (sorting: import("@tanstack/react-table").SortingState) => void;
19
18
  };
20
19
  export declare function useDataTableSelection<TData>(): {
21
- rowSelection: RowSelectionState;
22
- setRowSelection: (selection: RowSelectionState) => void;
20
+ rowSelection: import("@tanstack/react-table").RowSelectionState;
21
+ setRowSelection: (selection: import("@tanstack/react-table").RowSelectionState) => void;
23
22
  selectedRows: TData[];
24
23
  };
25
24
  export declare function useDataTablePagination(): {
@@ -35,8 +34,8 @@ export declare function useDataTablePagination(): {
35
34
  totalRows: number;
36
35
  };
37
36
  export declare function useDataTableRows<TData>(): {
38
- rows: Row<TData>[];
39
- headerGroups: HeaderGroup<TData>[];
37
+ rows: import("@tanstack/react-table").Row<TData>[];
38
+ headerGroups: import("@tanstack/react-table").HeaderGroup<TData>[];
40
39
  totalColumns: number;
41
40
  };
42
41
  export declare function useDataTableLoading(): {
@@ -48,34 +47,4 @@ export declare function useDataTableInlineContents<TData>(): {
48
47
  registerInlineContent: (entry: InlineContentEntry<TData>) => void;
49
48
  unregisterInlineContent: (id: string) => void;
50
49
  };
51
- export declare function useDataTableContext<TData>(): {
52
- table: import("@tanstack/react-table").Table<TData>;
53
- mode: "client" | "server";
54
- sorting: import("@tanstack/react-table").SortingState;
55
- filters: import("..").FilterValue;
56
- search: string;
57
- rowSelection: RowSelectionState;
58
- isLoading: boolean;
59
- setSorting: (sorting: import("@tanstack/react-table").SortingState) => void;
60
- setFilter: (key: string, value: unknown) => void;
61
- clearFilter: (key: string) => void;
62
- clearAllFilters: () => void;
63
- setSearch: (search: string) => void;
64
- clearSearch: () => void;
65
- setRowSelection: (selection: RowSelectionState) => void;
66
- pagination: {
67
- canNextPage: boolean;
68
- canPrevPage: boolean;
69
- nextPage: () => void;
70
- prevPage: () => void;
71
- pageIndex: number;
72
- pageCount: number;
73
- setPageIndex: (index: number) => void;
74
- pageSize: number;
75
- setPageSize: (size: number) => void;
76
- };
77
- inlineContents: readonly InlineContentEntry<TData>[];
78
- registerInlineContent: (entry: InlineContentEntry<TData>) => void;
79
- unregisterInlineContent: (id: string) => void;
80
- };
81
50
  //# sourceMappingURL=use-selectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-selectors.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-selectors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,UAAU,CAAA;AA+CvE,wBAAgB,mBAAmB;;;;;;;EAYlC;AAED,wBAAgB,kBAAkB;;;;EASjC;AAED,wBAAgB,mBAAmB;;;EAQlC;AAED,wBAAgB,qBAAqB,CAAC,KAAK;kBAIzB,iBAAiB;qBACd,CAAC,SAAS,EAAE,iBAAiB,KAAK,IAAI;kBACzC,KAAK,EAAE;EAQxB;AAED,wBAAgB,sBAAsB;;;;;;;;;;;EAsBrC;AAED,wBAAgB,gBAAgB,CAAC,KAAK;UAG5B,GAAG,CAAC,KAAK,CAAC,EAAE;kBACJ,WAAW,CAAC,KAAK,CAAC,EAAE;kBACpB,MAAM;EAQvB;AAED,wBAAgB,mBAAmB;;;EAOlC;AAED,wBAAgB,0BAA0B,CAAC,KAAK;oBAG5B,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE;2BAC7B,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI;6BACxC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;EAQhD;AAGD,wBAAgB,mBAAmB,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCxC"}
1
+ {"version":3,"file":"use-selectors.d.ts","sourceRoot":"","sources":["../../../../../src/components/features/data-table/hooks/use-selectors.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAuB,kBAAkB,EAAE,MAAM,UAAU,CAAA;AA+CvE,wBAAgB,mBAAmB;;;;;;;EAYlC;AAED,wBAAgB,kBAAkB;;;;EASjC;AAED,wBAAgB,mBAAmB;;;EAQlC;AAED,wBAAgB,qBAAqB,CAAC,KAAK;;;;EAU1C;AAED,wBAAgB,sBAAsB;;;;;;;;;;;EAsBrC;AAED,wBAAgB,gBAAgB,CAAC,KAAK;;;;EAQrC;AAED,wBAAgB,mBAAmB;;;EAOlC;AAED,wBAAgB,0BAA0B,CAAC,KAAK;oBAG5B,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE;2BAC7B,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI;6BACxC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;EAQhD"}
@@ -4,8 +4,6 @@ export { createSelectionColumn } from './columns/selection-column';
4
4
  export { DEFAULT_DEBOUNCE_MS, DEFAULT_LOADING_ROWS, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZES, } from './constants';
5
5
  export { createDataTableStore } from './core/store';
6
6
  export { DataTable } from './data-table';
7
- export { useDataTableClient } from './hooks/use-data-table-client';
8
- export { useDataTableServer } from './hooks/use-data-table-server';
9
- export { useDataTableContext, useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, } from './hooks/use-selectors';
10
- export type { ActionItem, ActiveFiltersProps, BulkActionsProps, ClientPaginationState, ColumnHeaderProps, ContentProps, CreateStoreOptions, DataTableClientProps, DataTableContextValue, DataTableServerProps, DataTableState, DataTableStore, DataTableStoreState, FilterCheckboxProps, FilterDatePickerProps, FilterSelectProps, FilterStrategy, FilterValue, InlineContentEntry, InlineContentProps, InlineContentRenderParams, LoadingProps, PaginationProps, PaginationState, RowActionsProps, SearchProps, SelectionColumnOptions, ServerFetchArgs, ServerPaginationState, ServerTransformResult, StateAdapter, UseDataTableClientOptions, UseDataTableServerOptions, } from './types';
7
+ export { useDataTableFilters, useDataTableInlineContents, useDataTableLoading, useDataTablePagination, useDataTableRows, useDataTableSearch, useDataTableSelection, useDataTableSorting, } from './hooks/use-selectors';
8
+ export type { ActionItem, ActiveFiltersProps, BulkActionsProps, ClientPaginationState, ColumnHeaderProps, ContentProps, CreateStoreOptions, DataTableClientProps, DataTableContextValue, DataTableServerProps, DataTableState, DataTableStore, DataTableStoreState, FilterCheckboxProps, FilterDatePickerProps, FilterOption, FilterSelectProps, FilterStrategy, FilterValue, InlineContentEntry, InlineContentProps, InlineContentRenderParams, LoadingProps, PaginationProps, PaginationState, RowActionsProps, SearchProps, SelectionColumnOptions, ServerFetchArgs, ServerPaginationState, ServerTransformResult, StateAdapter, UseDataTableClientOptions, UseDataTableServerOptions, } from './types';
11
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/data-table/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/features/data-table/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAGlE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,SAAS,CAAA"}
@@ -10,6 +10,10 @@ export interface ActionItem<TData> {
10
10
  readonly disabled?: boolean | ((row: TData) => boolean);
11
11
  readonly hidden?: boolean | ((row: TData) => boolean);
12
12
  }
13
+ export interface FilterOption {
14
+ readonly label: string;
15
+ readonly value: string;
16
+ }
13
17
  export type FilterValue = Record<string, unknown>;
14
18
  export interface ClientPaginationState {
15
19
  readonly pageIndex: number;
@@ -127,6 +131,7 @@ export interface UseDataTableClientOptions<TData> {
127
131
  readonly defaultFilters?: FilterValue;
128
132
  readonly searchableColumns?: string[];
129
133
  readonly searchFn?: (row: TData, search: string) => boolean;
134
+ readonly filterFns?: Record<string, (cellValue: unknown, filterValue: unknown) => boolean>;
130
135
  readonly stateAdapter?: StateAdapter;
131
136
  }
132
137
  export interface UseDataTableServerOptions<TResponse, TData> {
@@ -140,7 +145,7 @@ export interface UseDataTableServerOptions<TResponse, TData> {
140
145
  readonly defaultFilters?: FilterValue;
141
146
  readonly stateAdapter?: StateAdapter;
142
147
  }
143
- export interface DataTableClientProps<TData> {
148
+ interface DataTableBaseProps<TData> {
144
149
  readonly data: TData[];
145
150
  readonly columns: ColumnDef<TData, any>[];
146
151
  readonly sorting: SortingState;
@@ -154,51 +159,35 @@ export interface DataTableClientProps<TData> {
154
159
  readonly clearSearch: () => void;
155
160
  readonly rowSelection: RowSelectionState;
156
161
  readonly setRowSelection: (selection: RowSelectionState) => void;
157
- readonly pagination: ClientPaginationState;
158
162
  readonly getRowId?: (row: TData) => string;
159
163
  readonly enableRowSelection?: boolean | SelectionColumnOptions;
160
- readonly searchableColumns?: string[];
161
- readonly searchFn?: (row: TData, search: string) => boolean;
162
164
  readonly className?: string;
163
165
  readonly children: ReactNode;
164
166
  }
165
- export interface DataTableServerProps<TData> {
166
- readonly data: TData[];
167
- readonly columns: ColumnDef<TData, any>[];
167
+ export interface DataTableClientProps<TData> extends DataTableBaseProps<TData> {
168
+ readonly pagination: ClientPaginationState;
169
+ readonly searchableColumns?: string[];
170
+ readonly searchFn?: (row: TData, search: string) => boolean;
171
+ }
172
+ export interface DataTableServerProps<TData> extends DataTableBaseProps<TData> {
168
173
  readonly isLoading: boolean;
169
- readonly sorting: SortingState;
170
- readonly setSorting: (sorting: SortingState) => void;
171
- readonly filters: FilterValue;
172
- readonly setFilter: (key: string, value: unknown) => void;
173
- readonly clearFilter: (key: string) => void;
174
- readonly clearAllFilters: () => void;
175
- readonly search: string;
176
- readonly setSearch: (search: string) => void;
177
- readonly clearSearch: () => void;
178
- readonly rowSelection: RowSelectionState;
179
- readonly setRowSelection: (selection: RowSelectionState) => void;
180
174
  readonly pagination: ServerPaginationState;
181
- readonly getRowId?: (row: TData) => string;
182
- readonly enableRowSelection?: boolean | SelectionColumnOptions;
183
- readonly className?: string;
184
- readonly children: ReactNode;
185
175
  }
186
176
  export interface SearchProps {
187
177
  readonly placeholder?: string;
188
178
  readonly debounceMs?: number;
189
179
  readonly className?: string;
180
+ readonly disabled?: boolean;
190
181
  }
191
182
  export interface FilterSelectProps {
192
183
  readonly column: string;
193
184
  readonly label: string;
194
- readonly options: readonly {
195
- readonly label: string;
196
- readonly value: string;
197
- }[];
185
+ readonly options: readonly FilterOption[];
198
186
  readonly placeholder?: string;
199
187
  readonly searchable?: boolean;
200
188
  readonly className?: string;
201
189
  readonly selectPopoverClassName?: string;
190
+ readonly disabled?: boolean;
202
191
  }
203
192
  export interface FilterDatePickerProps {
204
193
  readonly column: string;
@@ -209,16 +198,15 @@ export interface FilterDatePickerProps {
209
198
  readonly disablePast?: boolean;
210
199
  readonly minDate?: Date;
211
200
  readonly maxDate?: Date;
201
+ readonly disabled?: boolean;
212
202
  }
213
203
  export interface FilterCheckboxProps {
214
204
  readonly column: string;
215
205
  readonly label: string;
216
- readonly options: readonly {
217
- readonly label: string;
218
- readonly value: string;
219
- }[];
206
+ readonly options: readonly FilterOption[];
220
207
  readonly className?: string;
221
208
  readonly checkboxPopoverClassName?: string;
209
+ readonly disabled?: boolean;
222
210
  }
223
211
  export interface ColumnHeaderProps<TData, TValue> {
224
212
  readonly column: Column<TData, TValue>;
@@ -253,6 +241,8 @@ export interface PaginationProps {
253
241
  export interface ActiveFiltersProps {
254
242
  /** Label shown before filter groups. Set to `null` to hide. Default: "Selected Filters" */
255
243
  readonly label?: string | null;
244
+ /** Column keys to exclude from the active filters display. The filters still apply to data, they just won't appear as badges. Use `'search'` to hide the search badge. */
245
+ readonly excludeFilters?: readonly string[];
256
246
  /** Maps column keys to human-readable names */
257
247
  readonly filterLabels?: Record<string, string>;
258
248
  /** Custom value formatter for badge display */
@@ -287,6 +277,8 @@ export interface DataTableStoreState<TData> {
287
277
  readonly isLoading: boolean;
288
278
  readonly error: Error | null;
289
279
  readonly inlineContents: readonly InlineContentEntry<TData>[];
280
+ /** Monotonic counter incremented on every state change. Used by table-dependent selectors to detect updates. */
281
+ readonly _version: number;
290
282
  }
291
283
  export interface DataTableStore<TData> {
292
284
  readonly getSnapshot: () => DataTableStoreState<TData>;
@@ -321,4 +313,5 @@ export interface CreateStoreOptions<TData> {
321
313
  readonly searchFn?: (row: TData, query: string) => boolean;
322
314
  readonly filterFns?: Record<string, (cellValue: unknown, filterValue: unknown) => boolean>;
323
315
  }
316
+ export {};
324
317
  //# sourceMappingURL=types.d.ts.map