react-hook-toolkit 1.0.10 → 1.0.12
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/README.md +55 -11
- package/dist/hooks/hooksComp.d.ts +31 -4
- package/dist/hooks/hooksComp.js +45 -6
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -619,8 +619,52 @@ Displays a styled file card with an icon based on file type, filename with ellip
|
|
|
619
619
|
/>
|
|
620
620
|
```
|
|
621
621
|
---
|
|
622
|
+
✅ **UploadFile**
|
|
623
|
+
Renders an icon button for file uploads with visual feedback for different upload states (loading, success, error). It supports disabling, color customization, and a hidden file input for seamless UX.
|
|
622
624
|
|
|
623
|
-
|
|
625
|
+
```tsx
|
|
626
|
+
<UploadFile
|
|
627
|
+
isUpload={true}
|
|
628
|
+
color="#1976d2"
|
|
629
|
+
state={{
|
|
630
|
+
isUploaded: false,
|
|
631
|
+
isUploadError: false,
|
|
632
|
+
isLoadingUpload: true,
|
|
633
|
+
}}
|
|
634
|
+
onFileSelect={(file) => console.log(file)}
|
|
635
|
+
/>
|
|
636
|
+
|
|
637
|
+
const handleFileSelect = async (files: any) => {
|
|
638
|
+
setState({ isUploaded: false, isUploadError: false, isLoadingUpload: true });
|
|
639
|
+
try {
|
|
640
|
+
await _promise(2000);
|
|
641
|
+
setState({ isUploaded: true, isUploadError: false, isLoadingUpload: false });
|
|
642
|
+
} catch (err) {
|
|
643
|
+
setState({ isUploaded: false, isUploadError: true, isLoadingUpload: false });
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
```
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
✅ **DownloadFile**
|
|
650
|
+
Renders an icon button for file downloads with visual feedback for different states (loading, success, error). It supports color customization and disables interaction during loading.
|
|
651
|
+
|
|
652
|
+
```tsx
|
|
653
|
+
<DownloadFile
|
|
654
|
+
isDownload={true}
|
|
655
|
+
color="primary"
|
|
656
|
+
state={{
|
|
657
|
+
isDownloaded: false,
|
|
658
|
+
isDownloadError: false,
|
|
659
|
+
isLoadingDownload: true,
|
|
660
|
+
}}
|
|
661
|
+
onDownload={() => console.log('Download initiated')}
|
|
662
|
+
/>
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
✅ **LabeledValue**
|
|
624
668
|
Displays a simple key-value label pair in a single line, with optional styling.
|
|
625
669
|
|
|
626
670
|
```tsx
|
|
@@ -631,7 +675,7 @@ Displays a simple key-value label pair in a single line, with optional styling.
|
|
|
631
675
|
```
|
|
632
676
|
---
|
|
633
677
|
|
|
634
|
-
|
|
678
|
+
✅ **DetailsCard**
|
|
635
679
|
Renders a card with a title and grid-based layout of labeled values. It supports custom spacing, responsive behavior, and optional card shadow.
|
|
636
680
|
|
|
637
681
|
```tsx
|
|
@@ -653,7 +697,7 @@ A functional React component that displays dynamic alerts using the enqueueSnack
|
|
|
653
697
|
```
|
|
654
698
|
---
|
|
655
699
|
|
|
656
|
-
|
|
700
|
+
✅ **FileSkeleton**
|
|
657
701
|
Displays one or more placeholder file cards mimicking the layout of file previews. Useful during file list loading.
|
|
658
702
|
|
|
659
703
|
```tsx
|
|
@@ -666,7 +710,7 @@ Displays one or more placeholder file cards mimicking the layout of file preview
|
|
|
666
710
|
|
|
667
711
|
---
|
|
668
712
|
|
|
669
|
-
|
|
713
|
+
✅ **TableSkeleton**
|
|
670
714
|
Shows a full table layout with skeleton headers and rows. Includes a toolbar area for filters or search bars.
|
|
671
715
|
|
|
672
716
|
```tsx
|
|
@@ -678,25 +722,25 @@ Shows a full table layout with skeleton headers and rows. Includes a toolbar are
|
|
|
678
722
|
|
|
679
723
|
---
|
|
680
724
|
|
|
681
|
-
|
|
682
|
-
|
|
725
|
+
✅ **CardSkeleton**
|
|
726
|
+
Simulates a card layout with a title and multiple row placeholders, ideal for stat or summary cards.
|
|
683
727
|
|
|
684
728
|
```tsx
|
|
685
|
-
<
|
|
729
|
+
<CardSkeleton />
|
|
686
730
|
```
|
|
687
731
|
|
|
688
732
|
---
|
|
689
733
|
|
|
690
|
-
|
|
691
|
-
|
|
734
|
+
✅ **LineChartSkeleton**
|
|
735
|
+
Represents a placeholder for a line chart with gridlines and axis lines to simulate loading of chart data.
|
|
692
736
|
|
|
693
737
|
```tsx
|
|
694
|
-
<
|
|
738
|
+
<LineChartSkeleton />
|
|
695
739
|
```
|
|
696
740
|
|
|
697
741
|
---
|
|
698
742
|
|
|
699
|
-
|
|
743
|
+
✅ **PieChartSkeleton**
|
|
700
744
|
Displays a skeleton placeholder for a pie chart inside a card layout. Includes a title and circular loading element.
|
|
701
745
|
|
|
702
746
|
```tsx
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
export declare const DynamicLoader: (Component: any) => (props: any) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
interface PropsType {
|
|
4
4
|
type: string;
|
|
@@ -7,13 +7,16 @@ interface PropsType {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const AlertMessage: FC<PropsType>;
|
|
9
9
|
interface DetailsCardProps {
|
|
10
|
+
isLoading?: boolean;
|
|
10
11
|
title: string;
|
|
11
|
-
details: any;
|
|
12
|
+
details: any[];
|
|
12
13
|
spacing?: number;
|
|
13
14
|
boxShadow?: string;
|
|
14
15
|
background?: string;
|
|
16
|
+
loaderType?: 'skeleton' | 'circular';
|
|
17
|
+
displayType?: 'flex' | 'block';
|
|
15
18
|
}
|
|
16
|
-
export declare const DetailsCard: ({ title, details, spacing, boxShadow, background, }: DetailsCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare const DetailsCard: ({ isLoading, title, details, spacing, boxShadow, background, loaderType, displayType, }: DetailsCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
20
|
export declare const LabeledValue: ({ label, value, style }: any) => import("react/jsx-runtime").JSX.Element;
|
|
18
21
|
interface FileComponentProps {
|
|
19
22
|
primaryKey: string | number;
|
|
@@ -23,6 +26,30 @@ interface FileComponentProps {
|
|
|
23
26
|
width?: number;
|
|
24
27
|
borderColor?: string;
|
|
25
28
|
fileColor?: 'inherit' | 'primary' | 'secondary' | 'error' | 'disabled' | 'action';
|
|
29
|
+
isDownloading: boolean;
|
|
26
30
|
}
|
|
27
|
-
export declare const FilePreview: ({ primaryKey, filename, size, onDownload, width, borderColor, fileColor, }: FileComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare const FilePreview: ({ primaryKey, filename, size, onDownload, width, borderColor, fileColor, isDownloading, }: FileComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
interface UploadButtonProps {
|
|
33
|
+
isUpload?: boolean;
|
|
34
|
+
color?: 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
|
|
35
|
+
state?: {
|
|
36
|
+
isUploaded?: boolean;
|
|
37
|
+
isUploadError?: boolean;
|
|
38
|
+
isLoadingUpload?: boolean;
|
|
39
|
+
};
|
|
40
|
+
onFileSelect: (file: File) => void;
|
|
41
|
+
}
|
|
42
|
+
export declare const UploadFile: React.FC<UploadButtonProps>;
|
|
43
|
+
interface DownloadButtonState {
|
|
44
|
+
isDownloaded?: boolean;
|
|
45
|
+
isDownloadError?: boolean;
|
|
46
|
+
isLoadingDownload?: boolean;
|
|
47
|
+
}
|
|
48
|
+
interface DownloadFileProps {
|
|
49
|
+
isDownload?: boolean;
|
|
50
|
+
color?: 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
|
|
51
|
+
state?: DownloadButtonState;
|
|
52
|
+
onDownload: () => void;
|
|
53
|
+
}
|
|
54
|
+
export declare const DownloadFile: React.FC<DownloadFileProps>;
|
|
28
55
|
export {};
|
package/dist/hooks/hooksComp.js
CHANGED
|
@@ -10,9 +10,10 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
+
import { forwardRef } from 'react';
|
|
13
14
|
import { useEffect, useCallback, useRef, Suspense } from 'react';
|
|
14
|
-
import { Box, Alert, AlertTitle, IconButton, CardContent, Tooltip, Typography, Card, Grid, } from '@mui/material';
|
|
15
|
-
import { Close, InsertDriveFile, Image, Description, Download } from '@mui/icons-material';
|
|
15
|
+
import { Box, Alert, AlertTitle, IconButton, CardContent, Tooltip, Typography, Card, Grid, Skeleton, CircularProgress, } from '@mui/material';
|
|
16
|
+
import { Close, InsertDriveFile, Image, Description, Download, CheckCircleOutlined, ErrorOutlineOutlined, Upload, } from '@mui/icons-material';
|
|
16
17
|
import NProgress from 'nprogress';
|
|
17
18
|
import { ErrorBoundary } from 'react-error-boundary';
|
|
18
19
|
import { promise } from '../utils';
|
|
@@ -73,16 +74,16 @@ export var AlertMessage = function (_a) {
|
|
|
73
74
|
return null;
|
|
74
75
|
};
|
|
75
76
|
export var DetailsCard = function (_a) {
|
|
76
|
-
var title = _a.title, details = _a.details,
|
|
77
|
+
var _b = _a.isLoading, isLoading = _b === void 0 ? false : _b, title = _a.title, details = _a.details, _c = _a.spacing, spacing = _c === void 0 ? 2 : _c, _d = _a.boxShadow, boxShadow = _d === void 0 ? '0px 0px 2px 2px #d8d8d8' : _d, _e = _a.background, background = _e === void 0 ? '#eee' : _e, _f = _a.loaderType, loaderType = _f === void 0 ? 'skeleton' : _f, _g = _a.displayType, displayType = _g === void 0 ? 'flex' : _g;
|
|
77
78
|
var width = useWindowSize().width;
|
|
78
|
-
return (_jsx(Card, { sx: { boxShadow: boxShadow }, children: _jsxs(CardContent, { children: [_jsx(Typography, { variant: "h6", sx: { background: background, padding: '4px' }, children: title }), _jsx(Grid, { container: true, spacing: spacing, sx: { mt: 1 }, children: details.filter(Boolean).map(function (item, index) { return (
|
|
79
|
+
return (_jsx(Card, { sx: { boxShadow: boxShadow }, children: _jsxs(CardContent, { children: [_jsx(Typography, { variant: "h6", sx: { background: background, padding: '4px' }, children: title }), _jsx(Grid, { container: true, spacing: spacing, sx: { mt: 1 }, children: details.filter(Boolean).map(function (item, index) { return (_jsx(Grid, { item: true, xs: 12, sm: 6, md: 6, lg: width < 1367 ? 6 : 4, children: _jsxs(Box, { display: displayType, alignItems: "center", sx: { fontSize: '14px' }, children: [_jsxs(Typography, { fontWeight: "bold", component: "span", sx: { fontSize: '14px' }, children: [item === null || item === void 0 ? void 0 : item.label, ":\u00A0"] }), isLoading ? (loaderType === 'skeleton' ? (_jsx(Skeleton, { sx: { ml: 2 }, variant: "text", width: 100, height: 20 })) : (_jsx(CircularProgress, { sx: { ml: 2 }, color: "success", size: 18 }))) : (_jsx(Typography, { component: "span", sx: { fontSize: '14px' }, children: (item === null || item === void 0 ? void 0 : item.value) !== undefined && (item === null || item === void 0 ? void 0 : item.value) !== null && (item === null || item === void 0 ? void 0 : item.value) !== '' ? item.value : 'N/A' }))] }) }, index.toString())); }) })] }) }));
|
|
79
80
|
};
|
|
80
81
|
export var LabeledValue = function (_a) {
|
|
81
82
|
var label = _a.label, value = _a.value, _b = _a.style, style = _b === void 0 ? undefined : _b;
|
|
82
83
|
return (_jsx(_Fragment, { children: _jsx(Typography, { sx: style !== null && style !== void 0 ? style : { padding: '5px' }, children: _jsxs("span", { style: { fontSize: '13px' }, children: [_jsxs("b", { children: [label, " "] }), ": ", value !== null && value !== void 0 ? value : 'N/A'] }) }) }));
|
|
83
84
|
};
|
|
84
85
|
export var FilePreview = function (_a) {
|
|
85
|
-
var primaryKey = _a.primaryKey, filename = _a.filename, size = _a.size, _b = _a.onDownload, onDownload = _b === void 0 ? undefined : _b, _c = _a.width, width = _c === void 0 ? 350 : _c, _d = _a.borderColor, borderColor = _d === void 0 ? '#dfdfdf' : _d, _e = _a.fileColor, fileColor = _e === void 0 ? 'primary' : _e;
|
|
86
|
+
var primaryKey = _a.primaryKey, filename = _a.filename, size = _a.size, _b = _a.onDownload, onDownload = _b === void 0 ? undefined : _b, _c = _a.width, width = _c === void 0 ? 350 : _c, _d = _a.borderColor, borderColor = _d === void 0 ? '#dfdfdf' : _d, _e = _a.fileColor, fileColor = _e === void 0 ? 'primary' : _e, _f = _a.isDownloading, isDownloading = _f === void 0 ? false : _f;
|
|
86
87
|
// Icon mapping configuration
|
|
87
88
|
var iconMap = {
|
|
88
89
|
pdf: _jsx(InsertDriveFile, { fontSize: "large", color: fileColor }),
|
|
@@ -125,5 +126,43 @@ export var FilePreview = function (_a) {
|
|
|
125
126
|
overflow: 'hidden',
|
|
126
127
|
textOverflow: 'ellipsis',
|
|
127
128
|
maxWidth: width - 120,
|
|
128
|
-
}, children: filename })), _jsx(Typography, { variant: "caption", color: "text.secondary", children: size })] }), _jsx(IconButton, { disabled: onDownload === undefined, "aria-label": "download", onClick: function () { return onDownload(primaryKey); }, sx: { color: '#dfdfdf', '&:hover': { color: 'primary.main' } }, children: _jsx(Download, { fontSize: "small", color: "primary" }) })] }) }));
|
|
129
|
+
}, children: filename })), _jsx(Typography, { variant: "caption", color: "text.secondary", children: size })] }), _jsx(IconButton, { disabled: onDownload === undefined, "aria-label": "download", onClick: function () { return onDownload(primaryKey); }, sx: { color: '#dfdfdf', '&:hover': { color: 'primary.main' } }, children: isDownloading ? (_jsx(CircularProgress, { color: "success", size: 20 })) : (_jsx(Download, { fontSize: "small", color: "primary" })) })] }) }));
|
|
130
|
+
};
|
|
131
|
+
var VisuallyHiddenInput = forwardRef(function (props, ref) { return (_jsx("input", __assign({ ref: ref, type: "file", style: {
|
|
132
|
+
position: 'absolute',
|
|
133
|
+
width: 1,
|
|
134
|
+
height: 1,
|
|
135
|
+
padding: 0,
|
|
136
|
+
overflow: 'hidden',
|
|
137
|
+
clip: 'rect(0,0,0,0)',
|
|
138
|
+
whiteSpace: 'nowrap',
|
|
139
|
+
border: 0,
|
|
140
|
+
} }, props))); });
|
|
141
|
+
export var UploadFile = function (_a) {
|
|
142
|
+
var _b = _a.isUpload, isUpload = _b === void 0 ? true : _b, color = _a.color, _c = _a.state, state = _c === void 0 ? {} : _c, onFileSelect = _a.onFileSelect;
|
|
143
|
+
var onFileInputChange = function (e) {
|
|
144
|
+
var _a;
|
|
145
|
+
var file = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0];
|
|
146
|
+
if (file) {
|
|
147
|
+
onFileSelect(file);
|
|
148
|
+
e.target.value = '';
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
return (_jsx(Tooltip, { title: "Upload", children: _jsxs(Box, { sx: { position: 'relative', display: 'inline-block' }, children: [_jsxs(IconButton, { disabled: !isUpload, component: "label", children: [(state === null || state === void 0 ? void 0 : state.isUploaded) ? (_jsx(CheckCircleOutlined, { color: "success" })) : (state === null || state === void 0 ? void 0 : state.isUploadError) ? (_jsx(ErrorOutlineOutlined, { color: "error" })) : (_jsx(Upload, { color: color !== null && color !== void 0 ? color : 'primary' })), _jsx(VisuallyHiddenInput, { onChange: onFileInputChange })] }), (state === null || state === void 0 ? void 0 : state.isLoadingUpload) && (_jsx(CircularProgress, { size: "40px", sx: {
|
|
152
|
+
position: 'absolute',
|
|
153
|
+
top: 0,
|
|
154
|
+
left: 0,
|
|
155
|
+
zIndex: 1,
|
|
156
|
+
} }))] }) }));
|
|
157
|
+
};
|
|
158
|
+
export var DownloadFile = function (_a) {
|
|
159
|
+
var _b = _a.isDownload, isDownload = _b === void 0 ? true : _b, color = _a.color, _c = _a.state, state = _c === void 0 ? {} : _c, onDownload = _a.onDownload;
|
|
160
|
+
return (_jsx(Tooltip, { title: "Download", children: _jsxs(Box, { sx: { position: 'relative', display: 'inline-block' }, children: [_jsx(IconButton, { disabled: !isDownload || (state === null || state === void 0 ? void 0 : state.isLoadingDownload), onClick: onDownload, sx: {
|
|
161
|
+
bgcolor: function (theme) { return (color ? (theme.palette.mode === 'dark' ? '#303041' : color) : 'default'); },
|
|
162
|
+
}, children: (state === null || state === void 0 ? void 0 : state.isDownloaded) ? (_jsx(CheckCircleOutlined, { color: "success" })) : (state === null || state === void 0 ? void 0 : state.isDownloadError) ? (_jsx(ErrorOutlineOutlined, { color: "error" })) : (_jsx(Download, { color: color !== null && color !== void 0 ? color : 'primary' })) }), (state === null || state === void 0 ? void 0 : state.isLoadingDownload) && (_jsx(CircularProgress, { size: "40px", sx: {
|
|
163
|
+
position: 'absolute',
|
|
164
|
+
top: 0,
|
|
165
|
+
left: 0,
|
|
166
|
+
zIndex: 1,
|
|
167
|
+
} }))] }) }));
|
|
129
168
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'nprogress/nprogress.css';
|
|
2
2
|
import { ReactHooksWrapper, getHook, setHook } from "./hookExecuter/hookExecuter";
|
|
3
|
-
import { DynamicLoader, AlertMessage, FilePreview, LabeledValue, DetailsCard } from './hooks/hooksComp';
|
|
3
|
+
import { DynamicLoader, AlertMessage, FilePreview, LabeledValue, DetailsCard, UploadFile, DownloadFile } from './hooks/hooksComp';
|
|
4
4
|
import { FileSkeleton, TableSkeleton, PieChartSkeleton, CardSkeleton, LineChartSkeleton, FieldSkeleton } from './skeletons/skeletons';
|
|
5
5
|
import { useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown } from './hooks/hooks';
|
|
6
6
|
export default ReactHooksWrapper;
|
|
7
|
-
export { getHook, setHook, useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown, DynamicLoader, AlertMessage, FilePreview, FileSkeleton, TableSkeleton, PieChartSkeleton, CardSkeleton, LineChartSkeleton, FieldSkeleton, LabeledValue, DetailsCard };
|
|
7
|
+
export { getHook, setHook, useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown, DynamicLoader, AlertMessage, FilePreview, FileSkeleton, TableSkeleton, PieChartSkeleton, CardSkeleton, LineChartSkeleton, FieldSkeleton, LabeledValue, DetailsCard, UploadFile, DownloadFile };
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import 'nprogress/nprogress.css';
|
|
2
2
|
import { ReactHooksWrapper, getHook, setHook } from "./hookExecuter/hookExecuter";
|
|
3
|
-
import { DynamicLoader, AlertMessage, FilePreview, LabeledValue, DetailsCard } from './hooks/hooksComp';
|
|
3
|
+
import { DynamicLoader, AlertMessage, FilePreview, LabeledValue, DetailsCard, UploadFile, DownloadFile } from './hooks/hooksComp';
|
|
4
4
|
import { FileSkeleton, TableSkeleton, PieChartSkeleton, CardSkeleton, LineChartSkeleton, FieldSkeleton } from './skeletons/skeletons';
|
|
5
5
|
import { useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown, } from './hooks/hooks';
|
|
6
6
|
export default ReactHooksWrapper;
|
|
7
|
-
export { getHook, setHook, useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown, DynamicLoader, AlertMessage, FilePreview, FileSkeleton, TableSkeleton, PieChartSkeleton, CardSkeleton, LineChartSkeleton, FieldSkeleton, LabeledValue, DetailsCard };
|
|
7
|
+
export { getHook, setHook, useAxios, useAdvReducer, useFetch, useLocalStorage, useToggle, useDebounce, useThrottle, usePrevious, useMediaQuery, useClipboard, useInterval, useWindowSize, useKeyPress, useOnlineStatus, useScrollPosition, useTimeout, useDarkMode, useForm, useArray, useStepper, useUpdateEffect, useTouch, useSound, useSessionStorage, usePreferredLanguage, useHistory, useEventListener, useBattery, useDebouncedCallback, useScrollLock, useResizeObserver, useMousePosition, useScrollDirection, useImageLoader, usePersistedState, useReducedMotion, useCookie, useFetchRetry, useDelay, useVisibilityChange, useDebouncedValue, useAsync, useScript, useIndexedDB, useGeoLocation, useTimer, useIsMounted, useCss, useSpeak, useCountUp, useCountDown, DynamicLoader, AlertMessage, FilePreview, FileSkeleton, TableSkeleton, PieChartSkeleton, CardSkeleton, LineChartSkeleton, FieldSkeleton, LabeledValue, DetailsCard, UploadFile, DownloadFile };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-hook-toolkit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Ultimate package for React developers, offering a powerful collection of hooks and components to enhance their development experience.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|