gantri-components 2.89.0 → 2.90.0-beta.10

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 (41) hide show
  1. package/dist/components/table/components/table-actions-wrapper/table-actions-wrapper.constants.d.ts +6 -0
  2. package/dist/components/table/components/table-actions-wrapper/table-actions-wrapper.styles.d.ts +4 -0
  3. package/dist/components/table/components/table-actions-wrapper/table-actions-wrapper.types.d.ts +2 -1
  4. package/dist/components/table/components/table-draggable-row/table-draggable-row.styles.d.ts +0 -3
  5. package/dist/components/table/components/table-row/table-row.types.d.ts +2 -1
  6. package/dist/components/table/components/table-row-cells/components/table-cell/table-cell.types.d.ts +2 -1
  7. package/dist/components/table/components/table-row-cells/table-row-cells.types.d.ts +2 -1
  8. package/dist/components/table/components/table-row-overlay/table-row-overlay.types.d.ts +3 -2
  9. package/dist/components/table/hooks/use-selectable-table-rows/components/clear-selected-rows/clear-selected-rows.d.ts +2 -0
  10. package/dist/components/table/hooks/use-selectable-table-rows/components/clear-selected-rows/clear-selected-rows.styles.d.ts +2 -0
  11. package/dist/components/table/hooks/use-selectable-table-rows/components/clear-selected-rows/index.d.ts +1 -0
  12. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-row-cell/index.d.ts +1 -0
  13. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-row-cell/selectable-row-cell.d.ts +4 -0
  14. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-row-cell/selectable-row-cell.styles.d.ts +2 -0
  15. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-row-cell/selectable-row-cell.types.d.ts +6 -0
  16. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-footer/index.d.ts +1 -0
  17. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-footer/selectable-table-row-footer.d.ts +3 -0
  18. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-footer/selectable-table-row-footer.types.d.ts +3 -0
  19. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-header/index.d.ts +1 -0
  20. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-header/selectable-table-row-header.d.ts +4 -0
  21. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-header/selectable-table-row-header.types.d.ts +5 -0
  22. package/dist/components/table/hooks/use-selectable-table-rows/helpers/get-row-range/get-row-range.d.ts +3 -0
  23. package/dist/components/table/hooks/use-selectable-table-rows/helpers/get-row-range/get-row-range.types.d.ts +6 -0
  24. package/dist/components/table/hooks/use-selectable-table-rows/helpers/get-row-range/index.d.ts +1 -0
  25. package/dist/components/table/hooks/use-selectable-table-rows/index.d.ts +1 -0
  26. package/dist/components/table/hooks/use-selectable-table-rows/use-selectable-table-rows.constants.d.ts +6 -0
  27. package/dist/components/table/hooks/use-selectable-table-rows/use-selectable-table-rows.d.ts +10 -0
  28. package/dist/components/table/hooks/use-selectable-table-rows/use-selectable-table-rows.types.d.ts +9 -0
  29. package/dist/components/table/index.d.ts +1 -0
  30. package/dist/components/table/table.context.d.ts +29 -0
  31. package/dist/components/table/table.providers.d.ts +3 -0
  32. package/dist/components/table/table.types.d.ts +2 -0
  33. package/dist/hooks/index.d.ts +1 -0
  34. package/dist/hooks/use-provider/index.d.ts +1 -0
  35. package/dist/hooks/use-provider/use-provider.d.ts +33 -0
  36. package/dist/hooks/use-provider/use-provider.types.d.ts +2 -0
  37. package/dist/index.cjs.js +1 -1
  38. package/dist/index.d.ts +1 -0
  39. package/dist/index.esm.js +1 -1
  40. package/dist/index.umd.js +1 -1
  41. package/package.json +3 -2
@@ -0,0 +1,6 @@
1
+ export declare const customActionPositions: {
2
+ readonly bottom: "bottom";
3
+ readonly handleSelections: "handle-selections";
4
+ readonly left: "left";
5
+ readonly right: "right";
6
+ };
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledBottomActionsFlex: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../../flex/flex.types").FlexProps & import("react").RefAttributes<import("../../../flex/flex.types").FlexProps>>, import("styled-components").DefaultTheme, {
3
+ showClearSelectedRows: boolean;
4
+ }, never>;
@@ -3,6 +3,7 @@ import { RowData, Table } from '@tanstack/react-table';
3
3
  import { PagingProps } from './components/paging/paging.types';
4
4
  import { SortProps } from './components/sort/sort.types';
5
5
  import { SearchProps } from './components/search/search.types';
6
+ import { customActionPositions } from './table-actions-wrapper.constants';
6
7
  export type { SearchProps };
7
8
  export type FiltersProps = {
8
9
  count: number;
@@ -18,7 +19,7 @@ export interface CustomActionComponentProps<TData extends RowData> {
18
19
  }
19
20
  export interface CustomActionProps<TData extends RowData> {
20
21
  Component: JSXElementConstructor<CustomActionComponentProps<TData>>;
21
- position: 'left' | 'right' | 'bottom';
22
+ position: typeof customActionPositions[keyof typeof customActionPositions];
22
23
  }
23
24
  export interface TableActionsWrapperProps<TData extends RowData> {
24
25
  className: string | undefined;
@@ -1,4 +1 @@
1
- export declare const StyledDraggableRowTr: import("styled-components").StyledComponent<"tr", import("styled-components").DefaultTheme, {
2
- reorderEnabled: boolean;
3
- }, never>;
4
1
  export declare const StyledDraggableRowWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -1,4 +1,4 @@
1
- import { Row, RowData } from '@tanstack/react-table';
1
+ import { Row, RowData, Table } from '@tanstack/react-table';
2
2
  import { CustomRowProps, GetCellProps, OnRowClick, RowReorderingProps } from '../../table.types';
3
3
  import { GetAfterRowComponentDef } from '../after-row-component/after-row-component.types';
4
4
  export interface TableRowProps<TData extends RowData> {
@@ -9,4 +9,5 @@ export interface TableRowProps<TData extends RowData> {
9
9
  onRowClick?: OnRowClick<TData>;
10
10
  reordering: RowReorderingProps<TData> | undefined;
11
11
  row: Row<TData>;
12
+ table: Table<TData>;
12
13
  }
@@ -1,4 +1,4 @@
1
- import { Cell, Row, RowData } from '@tanstack/react-table';
1
+ import { Cell, Row, RowData, Table } from '@tanstack/react-table';
2
2
  import { DraggableAttributes } from '@dnd-kit/core';
3
3
  import { SyntheticListenerMap } from '@dnd-kit/core/dist/hooks/utilities';
4
4
  import { GetCellProps, RowReorderingProps } from '../../../../table.types';
@@ -12,4 +12,5 @@ export interface TableCellProps<TData extends RowData> {
12
12
  index: number;
13
13
  reordering: RowReorderingProps<TData> | undefined;
14
14
  row: Row<TData>;
15
+ table: Table<TData>;
15
16
  }
@@ -1,4 +1,4 @@
1
- import { Row, RowData } from '@tanstack/react-table';
1
+ import { Row, RowData, Table } from '@tanstack/react-table';
2
2
  import { SyntheticListenerMap } from '@dnd-kit/core/dist/hooks/utilities';
3
3
  import { DraggableAttributes } from '@dnd-kit/core';
4
4
  import { GetCellProps, RowReorderingProps } from '../../table.types';
@@ -11,4 +11,5 @@ export interface TableRowCellsProps<TData extends RowData> {
11
11
  reordering: RowReorderingProps<TData> | undefined;
12
12
  row: Row<TData>;
13
13
  size?: number;
14
+ table: Table<TData>;
14
15
  }
@@ -1,9 +1,10 @@
1
- import { HeaderGroup, RowData } from '@tanstack/react-table';
1
+ import { HeaderGroup, RowData, Table } from '@tanstack/react-table';
2
2
  import { TableRowProps } from '../table-row/table-row.types';
3
3
  import { GetHeaderCellProps, RowReorderingProps } from '../../table.types';
4
4
  export interface TableRowOverlayProps<TData extends RowData> extends Pick<TableRowProps<TData>, 'row' | 'getCellProps'> {
5
5
  getHeaderCellProps?: GetHeaderCellProps<TData>;
6
6
  getHeaderGroups?: () => HeaderGroup<TData>[];
7
7
  reordering: RowReorderingProps<TData> | undefined;
8
- table: HTMLElement;
8
+ table: Table<TData>;
9
+ tableEl: HTMLElement;
9
10
  }
@@ -0,0 +1,2 @@
1
+ export declare const dataAttrClearSelected = "data-clear-selected";
2
+ export declare const ClearSelectedRows: () => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledPointerFlex: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../../../../flex/flex.types").FlexProps & import("react").RefAttributes<import("../../../../../flex/flex.types").FlexProps>>, import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,4 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { RowData } from '@tanstack/react-table';
3
+ import { SelectableRowCellProps } from './selectable-row-cell.types';
4
+ export declare const SelectableRowCell: <TData extends RowData<import("../../../..").CustomTData>>(props: React.PropsWithChildren<SelectableRowCellProps<TData>>) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledCheckboxCell: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../../../../cell/cell.types").CellProps & import("react").RefAttributes<import("../../../../../cell/cell.types").CellProps>>, import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,6 @@
1
+ import { Row, RowData, Table } from '@tanstack/react-table';
2
+ export interface SelectableRowCellProps<TData extends RowData> {
3
+ index: number;
4
+ row: Row<TData>;
5
+ table: Table<TData>;
6
+ }
@@ -0,0 +1 @@
1
+ export * from './selectable-table-row-footer';
@@ -0,0 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { SelectableRowFooterProps } from './selectable-table-row-footer.types';
3
+ export declare const SelectableRowFooter: (props: PropsWithChildren<SelectableRowFooterProps>) => JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './selectable-table-row-header';
@@ -0,0 +1,4 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { RowData } from '@tanstack/react-table';
3
+ import { SelectableRowHeaderProps } from './selectable-table-row-header.types';
4
+ export declare const SelectableRowHeader: <TData extends RowData<import("../../../..").CustomTData>>(props: React.PropsWithChildren<SelectableRowHeaderProps<TData>>) => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { RowData, Table } from '@tanstack/react-table';
2
+ export interface SelectableRowHeaderProps<TData extends RowData> {
3
+ index: number;
4
+ table: Table<TData>;
5
+ }
@@ -0,0 +1,3 @@
1
+ import { Row, RowData } from '@tanstack/react-table';
2
+ import { GetRowRangeProps } from './get-row-range.types';
3
+ export declare const getRowRange: <TData extends RowData<import("../../../..").CustomTData>>(props: GetRowRangeProps<TData>) => Row<TData>[];
@@ -0,0 +1,6 @@
1
+ import { Row, RowData } from '@tanstack/react-table';
2
+ export interface GetRowRangeProps<TData extends RowData> {
3
+ currentIndex: number;
4
+ prevIndex: number;
5
+ rows: Row<TData>[];
6
+ }
@@ -0,0 +1 @@
1
+ export * from './use-selectable-table-rows';
@@ -0,0 +1,6 @@
1
+ export declare const selectableRowsCheckboxSize = "2rem";
2
+ export declare const dataAttrIsRowSelected = "data-is-row-selected";
3
+ export declare const rowSelectionTypes: {
4
+ readonly checkboxes: "checkboxes";
5
+ readonly custom: "custom";
6
+ };
@@ -0,0 +1,10 @@
1
+ import { RowData } from '@tanstack/react-table';
2
+ export declare const useSelectableTableRows: <TData extends RowData<import("../..").CustomTData>>() => {
3
+ deselectRows: (rowIds: (string | number)[]) => void;
4
+ getIsRowSelected: (rowId: number | string) => boolean;
5
+ getSelectedRowData: (props: {
6
+ idProperty: keyof TData;
7
+ records: TData[];
8
+ }) => (TData | undefined)[];
9
+ selectRows: (rowIds: (string | number)[]) => void;
10
+ };
@@ -0,0 +1,9 @@
1
+ import { RowData } from '@tanstack/react-table';
2
+ import { rowSelectionTypes } from './use-selectable-table-rows.constants';
3
+ export interface RowSelection<TData extends RowData> {
4
+ disabled?: boolean;
5
+ idProperty?: keyof TData;
6
+ onSelect?: (selectedRecords: TData[]) => void;
7
+ type: RowSelectionType;
8
+ }
9
+ export type RowSelectionType = typeof rowSelectionTypes[keyof typeof rowSelectionTypes];
@@ -3,3 +3,4 @@ export * from './table';
3
3
  export * from './table.types';
4
4
  export * from './components/table-row/table-row.constants';
5
5
  export * from './components/table-actions-wrapper/table-actions-wrapper.types';
6
+ export * from './table.context';
@@ -0,0 +1,29 @@
1
+ import { RowData, RowSelectionState } from '@tanstack/react-table';
2
+ import React, { PropsWithChildren } from 'react';
3
+ import { GenericContextValue } from '../../hooks/use-provider/use-provider.types';
4
+ export declare const RowSelectionContext: React.Context<GenericContextValue<RowSelectionState>>;
5
+ export declare const LastSelectedIdContext: React.Context<GenericContextValue<string>>;
6
+ export declare const IsRowSelectionDisabledContext: React.Context<GenericContextValue<boolean>>;
7
+ export declare const IsRowSelectionCheckboxesContext: React.Context<GenericContextValue<boolean>>;
8
+ export declare const RowSelectionProviders: React.MemoExoticComponent<({ children }: PropsWithChildren<Record<never, never>>) => JSX.Element>;
9
+ /** If you need to call any of these helpers outside of the `Table` component, you must wrap your code in `RowSelectionProviders` at a higher level */
10
+ export declare const useTableContext: () => {
11
+ isRowSelectionCheckboxes: boolean;
12
+ isRowSelectionDisabled: boolean;
13
+ lastSelectedId: string;
14
+ rowSelectionState: RowSelectionState;
15
+ setIsRowSelectionCheckboxes: React.Dispatch<React.SetStateAction<boolean>>;
16
+ setIsRowSelectionDisabled: React.Dispatch<React.SetStateAction<boolean>>;
17
+ setLastSelectedId: React.Dispatch<React.SetStateAction<string>>;
18
+ setRowSelectionState: React.Dispatch<React.SetStateAction<RowSelectionState>>;
19
+ };
20
+ export declare const useRowSelection: () => {
21
+ clearSelectedRows: () => void;
22
+ deselectRows: (rowIds: (string | number)[]) => void;
23
+ getIsRowSelected: (rowId: number | string) => boolean;
24
+ getSelectedRowsData: <TData extends RowData<import("./table.types").CustomTData>>(props: {
25
+ idProperty: keyof TData | undefined;
26
+ records: TData[];
27
+ }) => TData[];
28
+ selectRows: (rowIds: (string | number)[]) => void;
29
+ };
@@ -0,0 +1,3 @@
1
+ import { RowData } from '@tanstack/react-table';
2
+ import { TableProps } from './table.types';
3
+ export declare const Table: <TData extends RowData<import("./table.types").CustomTData>>(props: TableProps<TData>) => JSX.Element;
@@ -6,6 +6,7 @@ import { CustomActionProps, FiltersProps, SearchProps } from './components/table
6
6
  import { SortProps } from './components/table-actions-wrapper/components/sort/sort.types';
7
7
  import { OverlayPosition } from '../overlay/overlay.types';
8
8
  import { GetAfterRowComponentDef } from './components/after-row-component/after-row-component.types';
9
+ import { RowSelection } from './hooks/use-selectable-table-rows/use-selectable-table-rows.types';
9
10
  export interface RowReorderingProps<TData extends RowData> {
10
11
  disabled?: boolean;
11
12
  getDisableSortableRow?: (row: Row<TData>) => boolean;
@@ -63,6 +64,7 @@ export interface TableProps<TData extends RowData> extends Partial<TableDefaultP
63
64
  options?: Partial<TableOptions<TData>>;
64
65
  paging?: PagingProps;
65
66
  reordering?: RowReorderingProps<TData>;
67
+ rowSelection?: RowSelection<TData>;
66
68
  search?: SearchProps;
67
69
  sorting?: SortProps;
68
70
  syncState?: SyncState;
@@ -0,0 +1 @@
1
+ export * from './use-provider';
@@ -0,0 +1 @@
1
+ export * from './use-provider';
@@ -0,0 +1,33 @@
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { GenericContextValue } from './use-provider.types';
3
+ export declare const createGenericContext: <Type>(defaultValue: Type) => React.Context<GenericContextValue<Type>>;
4
+ /**
5
+ * ```
6
+ * const defaultMyValue = 'foo';
7
+ *
8
+ * const MyContext = createGenericContext(defaultMyValue);
9
+ *
10
+ * const OuterWrapper = () => {
11
+ * const MyProvider = useProvider({
12
+ * Context: MyContext,
13
+ * defaultValue: defaultMyValue,
14
+ * });
15
+ *
16
+ * return (
17
+ * <MyProvider>
18
+ * <InnerComponent />
19
+ * </MyProvider>
20
+ * );
21
+ * }
22
+ *
23
+ * const InnerComponent = () => {
24
+ * const [myValue, setMyValue] = useContext(MyContext);
25
+ *
26
+ * // ...
27
+ * }
28
+ * ```
29
+ */
30
+ export declare const useProvider: <Type>(props: {
31
+ Context: React.Context<GenericContextValue<Type>>;
32
+ defaultValue: Type;
33
+ }) => React.MemoExoticComponent<({ children }: PropsWithChildren<Record<never, never>>) => JSX.Element>;
@@ -0,0 +1,2 @@
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ export type GenericContextValue<Type> = [Type, Dispatch<SetStateAction<Type>>];