@youversion/platform-react-hooks 1.21.0 → 1.22.1
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/.turbo/turbo-build.log +21 -1
- package/CHANGELOG.md +21 -0
- package/dist/YouVersionAuthProvider-VORD6KDZ.js +80 -0
- package/dist/chunk-ITHJF2FD.js +17 -0
- package/dist/index.cjs +946 -0
- package/dist/index.js +788 -26
- package/package.json +11 -6
- package/tsconfig.build.json +4 -1
- package/dist/__tests__/mocks/auth.js +0 -43
- package/dist/__tests__/mocks/auth.js.map +0 -1
- package/dist/__tests__/mocks/bibles.js +0 -23
- package/dist/__tests__/mocks/bibles.js.map +0 -1
- package/dist/__tests__/mocks/core-mock-factory.js +0 -138
- package/dist/__tests__/mocks/core-mock-factory.js.map +0 -1
- package/dist/__tests__/utils/test-utils.js +0 -11
- package/dist/__tests__/utils/test-utils.js.map +0 -1
- package/dist/context/ReaderContext.js +0 -17
- package/dist/context/ReaderContext.js.map +0 -1
- package/dist/context/ReaderProvider.js +0 -24
- package/dist/context/ReaderProvider.js.map +0 -1
- package/dist/context/VerseSelectionContext.js +0 -6
- package/dist/context/VerseSelectionContext.js.map +0 -1
- package/dist/context/VerseSelectionProvider.js +0 -36
- package/dist/context/VerseSelectionProvider.js.map +0 -1
- package/dist/context/YouVersionAuthContext.js +0 -13
- package/dist/context/YouVersionAuthContext.js.map +0 -1
- package/dist/context/YouVersionAuthProvider.js +0 -81
- package/dist/context/YouVersionAuthProvider.js.map +0 -1
- package/dist/context/YouVersionContext.js +0 -4
- package/dist/context/YouVersionContext.js.map +0 -1
- package/dist/context/YouVersionProvider.js +0 -63
- package/dist/context/YouVersionProvider.js.map +0 -1
- package/dist/context/index.js +0 -7
- package/dist/context/index.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/test/setup.js +0 -9
- package/dist/test/setup.js.map +0 -1
- package/dist/test/utils.js +0 -7
- package/dist/test/utils.js.map +0 -1
- package/dist/types/auth.js +0 -2
- package/dist/types/auth.js.map +0 -1
- package/dist/useApiData.js +0 -46
- package/dist/useApiData.js.map +0 -1
- package/dist/useBibleClient.js +0 -18
- package/dist/useBibleClient.js.map +0 -1
- package/dist/useBook.js +0 -11
- package/dist/useBook.js.map +0 -1
- package/dist/useBooks.js +0 -11
- package/dist/useBooks.js.map +0 -1
- package/dist/useChapter.js +0 -11
- package/dist/useChapter.js.map +0 -1
- package/dist/useChapterNavigation.js +0 -57
- package/dist/useChapterNavigation.js.map +0 -1
- package/dist/useChapters.js +0 -13
- package/dist/useChapters.js.map +0 -1
- package/dist/useFilteredVersions.js +0 -29
- package/dist/useFilteredVersions.js.map +0 -1
- package/dist/useHighlights.js +0 -41
- package/dist/useHighlights.js.map +0 -1
- package/dist/useInitData.js +0 -29
- package/dist/useInitData.js.map +0 -1
- package/dist/useLanguage.js +0 -17
- package/dist/useLanguage.js.map +0 -1
- package/dist/useLanguageClient.js +0 -18
- package/dist/useLanguageClient.js.map +0 -1
- package/dist/useLanguages.js +0 -23
- package/dist/useLanguages.js.map +0 -1
- package/dist/usePassage.js +0 -11
- package/dist/usePassage.js.map +0 -1
- package/dist/useTheme.js +0 -21
- package/dist/useTheme.js.map +0 -1
- package/dist/useVOTD.js +0 -9
- package/dist/useVOTD.js.map +0 -1
- package/dist/useVerse.js +0 -11
- package/dist/useVerse.js.map +0 -1
- package/dist/useVerseSelection.js +0 -13
- package/dist/useVerseSelection.js.map +0 -1
- package/dist/useVerses.js +0 -11
- package/dist/useVerses.js.map +0 -1
- package/dist/useVersion.js +0 -11
- package/dist/useVersion.js.map +0 -1
- package/dist/useVersions.js +0 -35
- package/dist/useVersions.js.map +0 -1
- package/dist/useYVAuth.js +0 -144
- package/dist/useYVAuth.js.map +0 -1
- package/dist/utility/extractTextFromHTML.js +0 -21
- package/dist/utility/extractTextFromHTML.js.map +0 -1
- package/dist/utility/extractVersesFromHTML.js +0 -26
- package/dist/utility/extractVersesFromHTML.js.map +0 -1
- package/dist/utility/getDayOfYear.js +0 -5
- package/dist/utility/getDayOfYear.js.map +0 -1
- package/dist/utility/index.js +0 -6
- package/dist/utility/index.js.map +0 -1
- package/dist/utility/useDebounce.js +0 -24
- package/dist/utility/useDebounce.js.map +0 -1
- package/dist/utility/version.js +0 -4
- package/dist/utility/version.js.map +0 -1
package/dist/useYVAuth.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { useMemo, useCallback } from 'react';
|
|
2
|
-
import { YouVersionAPIUsers, YouVersionPlatformConfiguration, } from '@youversion/platform-core';
|
|
3
|
-
import { useYouVersionAuthContext } from './context/YouVersionAuthContext';
|
|
4
|
-
/**
|
|
5
|
-
* Comprehensive YouVersion authentication hook using vanilla React.
|
|
6
|
-
*
|
|
7
|
-
* Provides complete auth functionality without external dependencies.
|
|
8
|
-
* Sign-in redirects to YouVersion, callback processing caches user info.
|
|
9
|
-
*
|
|
10
|
-
* @returns Complete auth state and functionality
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```tsx
|
|
14
|
-
* // Sign-in page
|
|
15
|
-
* import { useYVAuth, SignInWithYouVersionPermission } from '@youversion/platform-react-hooks';
|
|
16
|
-
*
|
|
17
|
-
* function SignInPage() {
|
|
18
|
-
* const { auth, signIn } = useYVAuth();
|
|
19
|
-
*
|
|
20
|
-
* const handleSignIn = async () => {
|
|
21
|
-
* try {
|
|
22
|
-
* await signIn({
|
|
23
|
-
* redirectUrl: 'https://myapp.com/callback',
|
|
24
|
-
* });
|
|
25
|
-
* } catch (error) {
|
|
26
|
-
* console.error('Sign in failed:', error);
|
|
27
|
-
* }
|
|
28
|
-
* };
|
|
29
|
-
*
|
|
30
|
-
* if (auth.isAuthenticated) {
|
|
31
|
-
* return <div>Already signed in!</div>;
|
|
32
|
-
* }
|
|
33
|
-
*
|
|
34
|
-
* return (
|
|
35
|
-
* <button onClick={handleSignIn} disabled={auth.isLoading}>
|
|
36
|
-
* {auth.isLoading ? 'Signing in...' : 'Sign In'}
|
|
37
|
-
* </button>
|
|
38
|
-
* );
|
|
39
|
-
* }
|
|
40
|
-
*
|
|
41
|
-
* // Callback page
|
|
42
|
-
* function CallbackPage() {
|
|
43
|
-
* const { processCallback } = useYVAuth();
|
|
44
|
-
* const [isProcessing, setIsProcessing] = useState(true);
|
|
45
|
-
*
|
|
46
|
-
* useEffect(() => {
|
|
47
|
-
* processCallback()
|
|
48
|
-
* .then(result => {
|
|
49
|
-
* if (result) {
|
|
50
|
-
* console.log('Auth success:', result.name);
|
|
51
|
-
* // User info is now cached
|
|
52
|
-
* // Redirect to app
|
|
53
|
-
* }
|
|
54
|
-
* })
|
|
55
|
-
* .catch(error => {
|
|
56
|
-
* console.error('Auth failed:', error);
|
|
57
|
-
* })
|
|
58
|
-
* .finally(() => {
|
|
59
|
-
* setIsProcessing(false);
|
|
60
|
-
* });
|
|
61
|
-
* }, [processCallback]);
|
|
62
|
-
*
|
|
63
|
-
* return (
|
|
64
|
-
* <div>
|
|
65
|
-
* {isProcessing ? 'Processing authentication...' : 'Authentication complete'}
|
|
66
|
-
* </div>
|
|
67
|
-
* );
|
|
68
|
-
* }
|
|
69
|
-
*
|
|
70
|
-
* // App with cached user info
|
|
71
|
-
* function App() {
|
|
72
|
-
* const { auth, userInfo, signOut } = useYVAuth();
|
|
73
|
-
*
|
|
74
|
-
* if (!auth.isAuthenticated) {
|
|
75
|
-
* return <SignInPage />;
|
|
76
|
-
* }
|
|
77
|
-
*
|
|
78
|
-
* return (
|
|
79
|
-
* <div>
|
|
80
|
-
* <p>Welcome, {userInfo?.name || 'User'}!</p>
|
|
81
|
-
* <button onClick={signOut}>Sign Out</button>
|
|
82
|
-
* </div>
|
|
83
|
-
* );
|
|
84
|
-
* }
|
|
85
|
-
* ```
|
|
86
|
-
*/
|
|
87
|
-
export function useYVAuth() {
|
|
88
|
-
// Get auth state from provider context
|
|
89
|
-
const { userInfo, setUserInfo, isLoading, error, redirectUri } = useYouVersionAuthContext();
|
|
90
|
-
// Derive authentication state
|
|
91
|
-
const isAuthenticated = !!userInfo;
|
|
92
|
-
// Get current tokens for actions
|
|
93
|
-
const authTokens = useMemo(() => {
|
|
94
|
-
if (typeof window !== 'undefined') {
|
|
95
|
-
return {
|
|
96
|
-
accessToken: YouVersionPlatformConfiguration.accessToken,
|
|
97
|
-
idToken: YouVersionPlatformConfiguration.idToken,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
return { accessToken: null, idToken: null };
|
|
101
|
-
}, []);
|
|
102
|
-
// Sign in function
|
|
103
|
-
const signIn = useCallback(async (params) => {
|
|
104
|
-
const url = params?.redirectUrl ?? redirectUri;
|
|
105
|
-
if (!url) {
|
|
106
|
-
throw new Error('redirectUrl is required. Provide it via signIn params or configure redirectUri in the auth provider.');
|
|
107
|
-
}
|
|
108
|
-
if (params?.scopes) {
|
|
109
|
-
await YouVersionAPIUsers.signIn(url, params.scopes);
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
await YouVersionAPIUsers.signIn(url);
|
|
113
|
-
}
|
|
114
|
-
// Note: This will redirect, so code after this won't execute
|
|
115
|
-
}, [redirectUri]);
|
|
116
|
-
// Process callback function
|
|
117
|
-
const processCallback = useCallback(async () => {
|
|
118
|
-
const result = await YouVersionAPIUsers.handleAuthCallback();
|
|
119
|
-
return result;
|
|
120
|
-
}, []);
|
|
121
|
-
// Derive auth state
|
|
122
|
-
const auth = useMemo(() => ({
|
|
123
|
-
isAuthenticated,
|
|
124
|
-
isLoading,
|
|
125
|
-
accessToken: authTokens.accessToken,
|
|
126
|
-
idToken: authTokens.idToken,
|
|
127
|
-
result: null,
|
|
128
|
-
error,
|
|
129
|
-
}), [isAuthenticated, isLoading, authTokens.accessToken, authTokens.idToken, error]);
|
|
130
|
-
// Sign out function
|
|
131
|
-
const signOut = useCallback(() => {
|
|
132
|
-
YouVersionPlatformConfiguration.clearAuthTokens();
|
|
133
|
-
setUserInfo(null);
|
|
134
|
-
}, []);
|
|
135
|
-
return {
|
|
136
|
-
auth,
|
|
137
|
-
signIn,
|
|
138
|
-
signOut,
|
|
139
|
-
processCallback,
|
|
140
|
-
userInfo,
|
|
141
|
-
redirectUri,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=useYVAuth.js.map
|
package/dist/useYVAuth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useYVAuth.js","sourceRoot":"","sources":["../src/useYVAuth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,kBAAkB,EAClB,+BAA+B,GAKhC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAoB3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AACH,MAAM,UAAU,SAAS;IACvB,uCAAuC;IACvC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAE5F,8BAA8B;IAC9B,MAAM,eAAe,GAAG,CAAC,CAAC,QAAQ,CAAC;IAEnC,iCAAiC;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,OAAO;gBACL,WAAW,EAAE,+BAA+B,CAAC,WAAW;gBACxD,OAAO,EAAE,+BAA+B,CAAC,OAAO;aACjD,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mBAAmB;IACnB,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,MAAkE,EAAE,EAAE;QAC3E,MAAM,GAAG,GAAG,MAAM,EAAE,WAAW,IAAI,WAAW,CAAC;QAC/C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,6DAA6D;IAC/D,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,4BAA4B;IAC5B,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,IAAgD,EAAE;QACzF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,oBAAoB;IACpB,MAAM,IAAI,GAAwB,OAAO,CACvC,GAAG,EAAE,CAAC,CAAC;QACL,eAAe;QACf,SAAS;QACT,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,MAAM,EAAE,IAAI;QACZ,KAAK;KACN,CAAC,EACF,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAChF,CAAC;IAEF,oBAAoB;IACpB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,+BAA+B,CAAC,eAAe,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,eAAe;QACf,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extracts readable text from an HTML string, focusing on content spans.
|
|
3
|
-
* This is needed because verses include markup for labels, footnotes, etc.
|
|
4
|
-
*
|
|
5
|
-
* @param html - The HTML content to extract text from
|
|
6
|
-
* @returns Plain text with normalized whitespace
|
|
7
|
-
*/
|
|
8
|
-
export function extractTextFromHtml(html) {
|
|
9
|
-
if (!html)
|
|
10
|
-
return '';
|
|
11
|
-
const container = document.createElement('div');
|
|
12
|
-
container.innerHTML = html;
|
|
13
|
-
// Extract text from content spans and join with spaces
|
|
14
|
-
const contentText = Array.from(container.querySelectorAll('span.content'))
|
|
15
|
-
.map((el) => (el.textContent || '').trim())
|
|
16
|
-
.filter(Boolean)
|
|
17
|
-
.join(' ');
|
|
18
|
-
// Normalize whitespace
|
|
19
|
-
return contentText.replace(/\s+/g, ' ').trim();
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=extractTextFromHTML.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractTextFromHTML.js","sourceRoot":"","sources":["../../src/utility/extractTextFromHTML.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAE3B,uDAAuD;IACvD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAc,cAAc,CAAC,CAAC;SACpF,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC1C,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,uBAAuB;IACvB,OAAO,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Splits a passage HTML into an array of verse HTML strings.
|
|
3
|
-
* Expects markers like: <span class="yv-v" v="N"></span><span class="yv-vlbl">N</span>
|
|
4
|
-
*/
|
|
5
|
-
export function extractVersesFromHTML(html) {
|
|
6
|
-
if (!html)
|
|
7
|
-
return [];
|
|
8
|
-
const results = [];
|
|
9
|
-
const pattern = /<span class="yv-v" v="(\d+)"><\/span><span class="yv-vlbl">\d+<\/span>/g;
|
|
10
|
-
let execResult;
|
|
11
|
-
const indices = [];
|
|
12
|
-
while ((execResult = pattern.exec(html)) !== null) {
|
|
13
|
-
const verseNumString = execResult[1];
|
|
14
|
-
indices.push({ verse: parseInt(verseNumString, 10), index: execResult.index });
|
|
15
|
-
}
|
|
16
|
-
for (let i = 0; i < indices.length; i++) {
|
|
17
|
-
const current = indices[i];
|
|
18
|
-
const next = indices[i + 1];
|
|
19
|
-
const start = current.index;
|
|
20
|
-
const end = next ? next.index : html.length;
|
|
21
|
-
const slice = html.slice(start, end).trim();
|
|
22
|
-
results.push({ verse: current.verse, html: slice });
|
|
23
|
-
}
|
|
24
|
-
return results;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=extractVersesFromHTML.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extractVersesFromHTML.js","sourceRoot":"","sources":["../../src/utility/extractVersesFromHTML.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA+B;IAE/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,OAAO,GAAsC,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,yEAAyE,CAAC;IAE1F,IAAI,UAAkC,CAAC;IACvC,MAAM,OAAO,GAAuC,EAAE,CAAC;IAEvD,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDayOfYear.js","sourceRoot":"","sources":["../../src/utility/getDayOfYear.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAC3E,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/utility/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utility/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react';
|
|
2
|
-
/**
|
|
3
|
-
* Custom hook for debouncing a value.
|
|
4
|
-
*
|
|
5
|
-
* The hook delays the update of the given value until a specified delay has passed
|
|
6
|
-
* after the last change. It is commonly used to optimize the performance of
|
|
7
|
-
* functions that depend on user input or rapidly updating values.
|
|
8
|
-
*
|
|
9
|
-
* @param value - The input value to be debounced.
|
|
10
|
-
* @param delay - The duration in milliseconds to delay the update of the value.
|
|
11
|
-
*
|
|
12
|
-
* @returns The debounced value, updated after the specified delay.
|
|
13
|
-
*/
|
|
14
|
-
export function useDebounce(value, delay) {
|
|
15
|
-
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
16
|
-
useEffect(() => {
|
|
17
|
-
const handler = setTimeout(() => {
|
|
18
|
-
setDebouncedValue(value);
|
|
19
|
-
}, delay);
|
|
20
|
-
return () => clearTimeout(handler);
|
|
21
|
-
}, [value, delay]);
|
|
22
|
-
return debouncedValue;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../src/utility/useDebounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAa;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/dist/utility/version.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utility/version.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAAC,OAAqB;IACrD,OAAO,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC;AAC5C,CAAC"}
|