@tracktor/shared-module 0.7.2 → 0.8.0

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.
package/CHANGELOG.md CHANGED
@@ -1,4 +1,6 @@
1
- # [Versions](https://github.com/Tracktor/react-google-tag-manager/releases)
1
+ # [Versions](https://github.com/Tracktor/shared-module/releases)
2
2
 
3
- ## v0.7.2
4
- - **[fix]** : Improve `MapBoxConfig` component
3
+ ## v0.8.0
4
+ - **[feat]** : Add `useInfiniteDataGrid` hook
5
+ - **[chore]** : Upgrade dependencies
6
+ - **[chore]** : Improve test hook library
package/README.md CHANGED
@@ -51,9 +51,14 @@ const App = () => (
51
51
  export default App;
52
52
  ```
53
53
 
54
- ## Exported module
54
+ ## Providers
55
+ | Module | Description |
56
+ |----------------------------|-------------------------------------------------------------------------|
57
+ | InjectDependenciesProvider | Inject dependencies for other shared component |
58
+ | QueryClientConfigProvider | This provider is QueryClientProvider with custom default config options |
55
59
 
56
60
 
61
+ ## Components
57
62
  | Module | Type | Description |
58
63
  |----------------------------|-----------------|-------------------------------------------------------------------------|
59
64
  | RequireAuth | React Component | Component for protected routing |
@@ -61,6 +66,9 @@ export default App;
61
66
  | AxiosConfig | React Component | Initialize Axios instance with custom default config options |
62
67
  | I18nConfig | React Component | Initialize i18n instance with custom config options |
63
68
  | SentryConfig | React Component | Initialize Sentry |
64
- | InjectDependenciesProvider | React Provider | Inject dependencies for other shared component |
65
- | QueryClientConfigProvider | React Provider | This provider is QueryClientProvider with custom default config options |
66
- | useResponseError | React Hook | This hook is used to print error messages from the API |
69
+
70
+ ## Hooks
71
+ | Module | Description |
72
+ |----------------------|---------------------------------------------------------------------------|
73
+ | useResponseError | This hook is used to print error messages from the API |
74
+ | useInfiniteDataGrid | his hook is used to handle the infinite scroll of the DataGrid component. |
@@ -22,5 +22,5 @@ interface MaskTextFieldProps<T> {
22
22
  */
23
23
  IMaskMixin: (param: (props: any) => any) => any;
24
24
  }
25
- declare const MaskTextField: <T extends ComponentType<{}>>({ IMaskMixin, ...props }: MaskTextFieldProps<T> & ComponentProps<T>) => JSX.Element;
25
+ declare const MaskTextField: <T extends ComponentType<{}>>({ IMaskMixin, ...props }: MaskTextFieldProps<T> & ComponentProps<T>) => import("react/jsx-runtime").JSX.Element;
26
26
  export default MaskTextField;
@@ -18,5 +18,5 @@ export interface GTMSendPageViewProps {
18
18
  * @param props
19
19
  * @constructor
20
20
  */
21
- declare const GTMSendPageView: ({ ...props }: GTMSendPageViewProps) => JSX.Element;
21
+ declare const GTMSendPageView: ({ ...props }: GTMSendPageViewProps) => import("react/jsx-runtime").JSX.Element;
22
22
  export default GTMSendPageView;
@@ -48,5 +48,5 @@ export interface RequireAuthProps {
48
48
  * @param props
49
49
  * @constructor
50
50
  */
51
- declare const RequireAuth: ({ Fallback, loginPath, localStorageKey, redirect401Path, ...props }: RequireAuthProps) => JSX.Element;
51
+ declare const RequireAuth: ({ Fallback, loginPath, localStorageKey, redirect401Path, ...props }: RequireAuthProps) => import("react/jsx-runtime").JSX.Element;
52
52
  export default RequireAuth;
@@ -63,5 +63,5 @@ export declare const InjectDependenciesContext: import("react").Context<InjectDe
63
63
  * @param useGoogleTagManager
64
64
  * @constructor
65
65
  */
66
- declare const InjectDependenciesProvider: ({ axios, children, translate, useAuth, Outlet, Navigate, useLocation, useGoogleTagManager, }: InjectDependenciesContextProps) => JSX.Element;
66
+ declare const InjectDependenciesProvider: ({ axios, children, translate, useAuth, Outlet, Navigate, useLocation, useGoogleTagManager, }: InjectDependenciesContextProps) => import("react/jsx-runtime").JSX.Element;
67
67
  export default InjectDependenciesProvider;
@@ -35,5 +35,5 @@ interface QueryClientConfigProviderProps<T> extends PropsWithChildren {
35
35
  * @param QueryClientProvider
36
36
  * @constructor
37
37
  */
38
- declare const QueryClientConfigProvider: <T extends unknown>({ children, defaultOptions, QueryClient, QueryClientProvider, }: QueryClientConfigProviderProps<T>) => JSX.Element;
38
+ declare const QueryClientConfigProvider: <T extends unknown>({ children, defaultOptions, QueryClient, QueryClientProvider, }: QueryClientConfigProviderProps<T>) => import("react/jsx-runtime").JSX.Element;
39
39
  export default QueryClientConfigProvider;
@@ -0,0 +1,2 @@
1
+ import useInfiniteDataGrid from "./useInfiniteDataGrid";
2
+ export default useInfiniteDataGrid;
@@ -0,0 +1,32 @@
1
+ interface useInfiniteDataGridParams<T> {
2
+ data?: {
3
+ pages: T[];
4
+ };
5
+ fetchNextPage: (params: {
6
+ pageParam?: unknown;
7
+ }) => Promise<any>;
8
+ isFetchingNextPage: boolean;
9
+ isInitialLoading: boolean;
10
+ isLoading: boolean;
11
+ enabled?: boolean;
12
+ }
13
+ interface GridRowScrollEndParams {
14
+ visibleRowsCount: number;
15
+ pageParam?: unknown;
16
+ }
17
+ /**
18
+ * This hook is used to handle the infinite scroll of the DataGrid component.
19
+ * @param data
20
+ * @param fetchNextPage
21
+ * @param isFetchingNextPage
22
+ * @param isInitialLoading
23
+ * @param isLoading
24
+ * @param enabled
25
+ */
26
+ declare const useInfiniteDataGrid: <T extends unknown>({ data, fetchNextPage, isFetchingNextPage, isInitialLoading, isLoading, enabled, }: useInfiniteDataGridParams<T>) => {
27
+ fetchNextPageOnRowsScrollEnd: (params: GridRowScrollEndParams) => Promise<void>;
28
+ isLoading: boolean;
29
+ loadingVariant: "skeleton" | "linear";
30
+ rows: T | undefined;
31
+ };
32
+ export default useInfiniteDataGrid;
package/dist/main.d.ts CHANGED
@@ -18,3 +18,5 @@ export { default as QueryClientConfigProvider } from './context/QueryClientConfi
18
18
  export * from './context/QueryClientConfigProvider';
19
19
  export { default as useResponseError } from './hooks/useResponseError';
20
20
  export * from './hooks/useResponseError';
21
+ export { default as useInfiniteDataGrid } from './hooks/useInfiniteDataGrid';
22
+ export * from './hooks/useInfiniteDataGrid';