gantri-components 2.90.0-beta.1 → 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 (21) 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/hooks/use-selectable-table-rows/components/clear-selected-rows/clear-selected-rows.d.ts +1 -0
  5. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-footer/selectable-table-row-footer.d.ts +2 -1
  6. package/dist/components/table/hooks/use-selectable-table-rows/components/selectable-table-row-footer/selectable-table-row-footer.types.d.ts +1 -3
  7. package/dist/components/table/hooks/use-selectable-table-rows/helpers/get-row-range/get-row-range.d.ts +2 -1
  8. package/dist/components/table/hooks/use-selectable-table-rows/helpers/get-row-range/get-row-range.types.d.ts +6 -0
  9. package/dist/components/table/hooks/use-selectable-table-rows/use-selectable-table-rows.types.d.ts +4 -1
  10. package/dist/components/table/index.d.ts +2 -2
  11. package/dist/components/table/table.context.d.ts +19 -4
  12. package/dist/components/table/table.types.d.ts +1 -1
  13. package/dist/hooks/index.d.ts +1 -0
  14. package/dist/hooks/use-provider/index.d.ts +1 -0
  15. package/dist/hooks/use-provider/use-provider.d.ts +33 -0
  16. package/dist/hooks/use-provider/use-provider.types.d.ts +2 -0
  17. package/dist/index.cjs.js +1 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.esm.js +1 -1
  20. package/dist/index.umd.js +1 -1
  21. 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 +1,2 @@
1
+ export declare const dataAttrClearSelected = "data-clear-selected";
1
2
  export declare const ClearSelectedRows: () => JSX.Element;
@@ -1,2 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
1
2
  import { SelectableRowFooterProps } from './selectable-table-row-footer.types';
2
- export declare const SelectableRowFooter: (props: SelectableRowFooterProps) => JSX.Element;
3
+ export declare const SelectableRowFooter: (props: PropsWithChildren<SelectableRowFooterProps>) => JSX.Element;
@@ -1,5 +1,3 @@
1
- import { JSXElementConstructor } from 'react';
2
- export type SelectableRowFooterTypeDef = JSXElementConstructor<SelectableRowFooterProps>;
3
1
  export interface SelectableRowFooterProps {
4
- text: string;
2
+ index: number;
5
3
  }
@@ -1,2 +1,3 @@
1
1
  import { Row, RowData } from '@tanstack/react-table';
2
- export declare const getRowRange: <TData extends RowData<import("../../../..").CustomTData>>(rows: Row<TData>[], currentId: number, selectedId: number) => Row<TData>[];
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
+ }
@@ -1,6 +1,9 @@
1
+ import { RowData } from '@tanstack/react-table';
1
2
  import { rowSelectionTypes } from './use-selectable-table-rows.constants';
2
- export interface RowSelection {
3
+ export interface RowSelection<TData extends RowData> {
3
4
  disabled?: boolean;
5
+ idProperty?: keyof TData;
6
+ onSelect?: (selectedRecords: TData[]) => void;
4
7
  type: RowSelectionType;
5
8
  }
6
9
  export type RowSelectionType = typeof rowSelectionTypes[keyof typeof rowSelectionTypes];
@@ -1,6 +1,6 @@
1
1
  export type { GetAfterRowComponentDef, AfterRowComponentDef, } from './components/after-row-component/after-row-component.types';
2
- export * from './table.providers';
2
+ 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 { useRowSelectionContext } from './table.context';
6
+ export * from './table.context';
@@ -1,8 +1,13 @@
1
- import { RowSelectionState } from '@tanstack/react-table';
1
+ import { RowData, RowSelectionState } from '@tanstack/react-table';
2
2
  import React, { PropsWithChildren } from 'react';
3
- export declare const RowSelectionProviders: ({ children, }: PropsWithChildren<Record<never, never>>) => JSX.Element;
4
- export declare const useRowSelectionContext: () => {
5
- clearSelectedRows: () => void;
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: () => {
6
11
  isRowSelectionCheckboxes: boolean;
7
12
  isRowSelectionDisabled: boolean;
8
13
  lastSelectedId: string;
@@ -12,3 +17,13 @@ export declare const useRowSelectionContext: () => {
12
17
  setLastSelectedId: React.Dispatch<React.SetStateAction<string>>;
13
18
  setRowSelectionState: React.Dispatch<React.SetStateAction<RowSelectionState>>;
14
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
+ };
@@ -64,7 +64,7 @@ export interface TableProps<TData extends RowData> extends Partial<TableDefaultP
64
64
  options?: Partial<TableOptions<TData>>;
65
65
  paging?: PagingProps;
66
66
  reordering?: RowReorderingProps<TData>;
67
- rowSelection?: RowSelection;
67
+ rowSelection?: RowSelection<TData>;
68
68
  search?: SearchProps;
69
69
  sorting?: SortProps;
70
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>>];