react-hook-toolkit 1.0.9 → 1.0.11
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 +59 -17
- package/dist/hooks/hooksComp.d.ts +29 -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,29 +619,71 @@ 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
|
|
627
671
|
<LabeledValue
|
|
628
|
-
label="
|
|
629
|
-
value="
|
|
672
|
+
label="Name"
|
|
673
|
+
value="ABC"
|
|
630
674
|
/>
|
|
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
|
|
638
682
|
<DetailsCard
|
|
639
|
-
title="
|
|
683
|
+
title="Details"
|
|
640
684
|
spacing={2}
|
|
641
685
|
details={[
|
|
642
|
-
{ label: '
|
|
643
|
-
{ label: 'Unit Number', value: '203-B' },
|
|
644
|
-
{ label: 'Move in Date', value: '01-Apr-2024' },
|
|
686
|
+
{ label: 'Name', value: 'XYZ' },
|
|
645
687
|
]}
|
|
646
688
|
/>
|
|
647
689
|
```
|
|
@@ -655,7 +697,7 @@ A functional React component that displays dynamic alerts using the enqueueSnack
|
|
|
655
697
|
```
|
|
656
698
|
---
|
|
657
699
|
|
|
658
|
-
|
|
700
|
+
✅ **FileSkeleton**
|
|
659
701
|
Displays one or more placeholder file cards mimicking the layout of file previews. Useful during file list loading.
|
|
660
702
|
|
|
661
703
|
```tsx
|
|
@@ -668,7 +710,7 @@ Displays one or more placeholder file cards mimicking the layout of file preview
|
|
|
668
710
|
|
|
669
711
|
---
|
|
670
712
|
|
|
671
|
-
|
|
713
|
+
✅ **TableSkeleton**
|
|
672
714
|
Shows a full table layout with skeleton headers and rows. Includes a toolbar area for filters or search bars.
|
|
673
715
|
|
|
674
716
|
```tsx
|
|
@@ -680,25 +722,25 @@ Shows a full table layout with skeleton headers and rows. Includes a toolbar are
|
|
|
680
722
|
|
|
681
723
|
---
|
|
682
724
|
|
|
683
|
-
|
|
684
|
-
|
|
725
|
+
✅ **CardSkeleton**
|
|
726
|
+
Simulates a card layout with a title and multiple row placeholders, ideal for stat or summary cards.
|
|
685
727
|
|
|
686
728
|
```tsx
|
|
687
|
-
<
|
|
729
|
+
<CardSkeleton />
|
|
688
730
|
```
|
|
689
731
|
|
|
690
732
|
---
|
|
691
733
|
|
|
692
|
-
|
|
693
|
-
|
|
734
|
+
✅ **LineChartSkeleton**
|
|
735
|
+
Represents a placeholder for a line chart with gridlines and axis lines to simulate loading of chart data.
|
|
694
736
|
|
|
695
737
|
```tsx
|
|
696
|
-
<
|
|
738
|
+
<LineChartSkeleton />
|
|
697
739
|
```
|
|
698
740
|
|
|
699
741
|
---
|
|
700
742
|
|
|
701
|
-
|
|
743
|
+
✅ **PieChartSkeleton**
|
|
702
744
|
Displays a skeleton placeholder for a pie chart inside a card layout. Includes a title and circular loading element.
|
|
703
745
|
|
|
704
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;
|
|
@@ -8,12 +8,13 @@ interface PropsType {
|
|
|
8
8
|
export declare const AlertMessage: FC<PropsType>;
|
|
9
9
|
interface DetailsCardProps {
|
|
10
10
|
title: string;
|
|
11
|
-
details: any;
|
|
11
|
+
details: any[];
|
|
12
12
|
spacing?: number;
|
|
13
13
|
boxShadow?: string;
|
|
14
14
|
background?: string;
|
|
15
|
+
loaderType?: 'skeleton' | 'circular';
|
|
15
16
|
}
|
|
16
|
-
export declare const DetailsCard: ({ title, details, spacing, boxShadow, background, }: DetailsCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare const DetailsCard: ({ title, details, spacing, boxShadow, background, loaderType, }: DetailsCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
export declare const LabeledValue: ({ label, value, style }: any) => import("react/jsx-runtime").JSX.Element;
|
|
18
19
|
interface FileComponentProps {
|
|
19
20
|
primaryKey: string | number;
|
|
@@ -23,6 +24,30 @@ interface FileComponentProps {
|
|
|
23
24
|
width?: number;
|
|
24
25
|
borderColor?: string;
|
|
25
26
|
fileColor?: 'inherit' | 'primary' | 'secondary' | 'error' | 'disabled' | 'action';
|
|
27
|
+
isDownloading: boolean;
|
|
26
28
|
}
|
|
27
|
-
export declare const FilePreview: ({ primaryKey, filename, size, onDownload, width, borderColor, fileColor, }: FileComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const FilePreview: ({ primaryKey, filename, size, onDownload, width, borderColor, fileColor, isDownloading, }: FileComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
interface UploadButtonProps {
|
|
31
|
+
isUpload?: boolean;
|
|
32
|
+
color?: 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
|
|
33
|
+
state?: {
|
|
34
|
+
isUploaded?: boolean;
|
|
35
|
+
isUploadError?: boolean;
|
|
36
|
+
isLoadingUpload?: boolean;
|
|
37
|
+
};
|
|
38
|
+
onFileSelect: (file: File) => void;
|
|
39
|
+
}
|
|
40
|
+
export declare const UploadFile: React.FC<UploadButtonProps>;
|
|
41
|
+
interface DownloadButtonState {
|
|
42
|
+
isDownloaded?: boolean;
|
|
43
|
+
isDownloadError?: boolean;
|
|
44
|
+
isLoadingDownload?: boolean;
|
|
45
|
+
}
|
|
46
|
+
interface DownloadFileProps {
|
|
47
|
+
isDownload?: boolean;
|
|
48
|
+
color?: 'inherit' | 'primary' | 'secondary' | 'success' | 'error' | 'info' | 'warning';
|
|
49
|
+
state?: DownloadButtonState;
|
|
50
|
+
onDownload: () => void;
|
|
51
|
+
}
|
|
52
|
+
export declare const DownloadFile: React.FC<DownloadFileProps>;
|
|
28
53
|
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, _b = _a.spacing, spacing = _b === void 0 ? 2 : _b, _c = _a.boxShadow, boxShadow = _c === void 0 ? '0px 0px 2px 2px #d8d8d8' : _c, _d = _a.background, background = _d === void 0 ? '#eee' : _d;
|
|
77
|
+
var title = _a.title, details = _a.details, _b = _a.spacing, spacing = _b === void 0 ? 2 : _b, _c = _a.boxShadow, boxShadow = _c === void 0 ? '0px 0px 2px 2px #d8d8d8' : _c, _d = _a.background, background = _d === void 0 ? '#eee' : _d, _e = _a.loaderType, loaderType = _e === void 0 ? 'skeleton' : _e;
|
|
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: "flex", 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"] }), (item === null || item === void 0 ? void 0 : item.value) ? (_jsx(Typography, { component: "span", sx: { fontSize: '14px' }, children: item.value || 'N/A' })) : loaderType === 'skeleton' ? (_jsx(Skeleton, { sx: { ml: 2 }, variant: "text", width: 100, height: 20 })) : (_jsx(CircularProgress, { sx: { ml: 2 }, color: "success", size: 18 }))] }) }, 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.11",
|
|
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",
|