@knocklabs/react-core 0.6.14 → 0.7.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 +23 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/modules/core/constants.js +2 -0
- package/dist/cjs/modules/core/constants.js.map +1 -0
- package/dist/cjs/modules/core/context/KnockProvider.js +2 -0
- package/dist/cjs/modules/core/context/KnockProvider.js.map +1 -0
- package/dist/cjs/modules/core/hooks/useAuthenticatedKnockClient.js +2 -0
- package/dist/cjs/modules/core/hooks/useAuthenticatedKnockClient.js.map +1 -0
- package/dist/cjs/modules/core/hooks/useStableOptions.js +2 -0
- package/dist/cjs/modules/core/hooks/useStableOptions.js.map +1 -0
- package/dist/cjs/modules/core/utils.js +2 -0
- package/dist/cjs/modules/core/utils.js.map +1 -0
- package/dist/cjs/modules/feed/context/KnockFeedProvider.js +2 -0
- package/dist/cjs/modules/feed/context/KnockFeedProvider.js.map +1 -0
- package/dist/cjs/modules/feed/hooks/useFeedSettings.js +2 -0
- package/dist/cjs/modules/feed/hooks/useFeedSettings.js.map +1 -0
- package/dist/cjs/modules/feed/hooks/useNotificationStore.js +2 -0
- package/dist/cjs/modules/feed/hooks/useNotificationStore.js.map +1 -0
- package/dist/cjs/modules/feed/hooks/useNotifications.js +2 -0
- package/dist/cjs/modules/feed/hooks/useNotifications.js.map +1 -0
- package/dist/cjs/modules/guide/context/KnockGuideProvider.js +2 -0
- package/dist/cjs/modules/guide/context/KnockGuideProvider.js.map +1 -0
- package/dist/cjs/modules/guide/hooks/useGuide.js +2 -0
- package/dist/cjs/modules/guide/hooks/useGuide.js.map +1 -0
- package/dist/cjs/modules/guide/hooks/useGuideContext.js +2 -0
- package/dist/cjs/modules/guide/hooks/useGuideContext.js.map +1 -0
- package/dist/cjs/modules/i18n/context/KnockI18nProvider.js +2 -0
- package/dist/cjs/modules/i18n/context/KnockI18nProvider.js.map +1 -0
- package/dist/cjs/modules/i18n/hooks/useTranslations.js +2 -0
- package/dist/cjs/modules/i18n/hooks/useTranslations.js.map +1 -0
- package/dist/cjs/modules/i18n/languages/de.js +2 -0
- package/dist/cjs/modules/i18n/languages/de.js.map +1 -0
- package/dist/cjs/modules/i18n/languages/en.js +2 -0
- package/dist/cjs/modules/i18n/languages/en.js.map +1 -0
- package/dist/cjs/modules/i18n/languages/index.js +2 -0
- package/dist/cjs/modules/i18n/languages/index.js.map +1 -0
- package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js +2 -0
- package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsConnectionStatus.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsConnectionStatus.js.map +1 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js +2 -0
- package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js.map +1 -0
- package/dist/cjs/modules/slack/context/KnockSlackProvider.js +2 -0
- package/dist/cjs/modules/slack/context/KnockSlackProvider.js.map +1 -0
- package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js +2 -0
- package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js.map +1 -0
- package/dist/cjs/modules/slack/hooks/useSlackAuth.js +2 -0
- package/dist/cjs/modules/slack/hooks/useSlackAuth.js.map +1 -0
- package/dist/cjs/modules/slack/hooks/useSlackChannels.js +2 -0
- package/dist/cjs/modules/slack/hooks/useSlackChannels.js.map +1 -0
- package/dist/cjs/modules/slack/hooks/useSlackConnectionStatus.js +2 -0
- package/dist/cjs/modules/slack/hooks/useSlackConnectionStatus.js.map +1 -0
- package/dist/esm/index.mjs +66 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/modules/core/constants.mjs +5 -0
- package/dist/esm/modules/core/constants.mjs.map +1 -0
- package/dist/esm/modules/core/context/KnockProvider.mjs +35 -0
- package/dist/esm/modules/core/context/KnockProvider.mjs.map +1 -0
- package/dist/esm/modules/core/hooks/useAuthenticatedKnockClient.mjs +29 -0
- package/dist/esm/modules/core/hooks/useAuthenticatedKnockClient.mjs.map +1 -0
- package/dist/esm/modules/core/hooks/useStableOptions.mjs +13 -0
- package/dist/esm/modules/core/hooks/useStableOptions.mjs.map +1 -0
- package/dist/esm/modules/core/utils.mjs +49 -0
- package/dist/esm/modules/core/utils.mjs.map +1 -0
- package/dist/esm/modules/feed/context/KnockFeedProvider.mjs +37 -0
- package/dist/esm/modules/feed/context/KnockFeedProvider.mjs.map +1 -0
- package/dist/esm/modules/feed/hooks/useFeedSettings.mjs +23 -0
- package/dist/esm/modules/feed/hooks/useFeedSettings.mjs.map +1 -0
- package/dist/esm/modules/feed/hooks/useNotificationStore.mjs +12 -0
- package/dist/esm/modules/feed/hooks/useNotificationStore.mjs.map +1 -0
- package/dist/esm/modules/feed/hooks/useNotifications.mjs +34 -0
- package/dist/esm/modules/feed/hooks/useNotifications.mjs.map +1 -0
- package/dist/esm/modules/guide/context/KnockGuideProvider.mjs +33 -0
- package/dist/esm/modules/guide/context/KnockGuideProvider.mjs.map +1 -0
- package/dist/esm/modules/guide/hooks/useGuide.mjs +21 -0
- package/dist/esm/modules/guide/hooks/useGuide.mjs.map +1 -0
- package/dist/esm/modules/guide/hooks/useGuideContext.mjs +12 -0
- package/dist/esm/modules/guide/hooks/useGuideContext.mjs.map +1 -0
- package/dist/esm/modules/i18n/context/KnockI18nProvider.mjs +11 -0
- package/dist/esm/modules/i18n/context/KnockI18nProvider.mjs.map +1 -0
- package/dist/esm/modules/i18n/hooks/useTranslations.mjs +17 -0
- package/dist/esm/modules/i18n/hooks/useTranslations.mjs.map +1 -0
- package/dist/esm/modules/i18n/languages/de.mjs +39 -0
- package/dist/esm/modules/i18n/languages/de.mjs.map +1 -0
- package/dist/esm/modules/i18n/languages/en.mjs +51 -0
- package/dist/esm/modules/i18n/languages/en.mjs.map +1 -0
- package/dist/esm/modules/i18n/languages/index.mjs +10 -0
- package/dist/esm/modules/i18n/languages/index.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs +48 -0
- package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs +78 -0
- package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs +53 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs +41 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsConnectionStatus.mjs +38 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsConnectionStatus.mjs.map +1 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs +51 -0
- package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs.map +1 -0
- package/dist/esm/modules/slack/context/KnockSlackProvider.mjs +49 -0
- package/dist/esm/modules/slack/context/KnockSlackProvider.mjs.map +1 -0
- package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs +78 -0
- package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs.map +1 -0
- package/dist/esm/modules/slack/hooks/useSlackAuth.mjs +68 -0
- package/dist/esm/modules/slack/hooks/useSlackAuth.mjs.map +1 -0
- package/dist/esm/modules/slack/hooks/useSlackChannels.mjs +52 -0
- package/dist/esm/modules/slack/hooks/useSlackChannels.mjs.map +1 -0
- package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs +47 -0
- package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces.d.ts +5 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/dist/types/modules/core/constants.d.ts +8 -0
- package/dist/types/modules/core/constants.d.ts.map +1 -0
- package/dist/types/modules/core/context/KnockProvider.d.ts +41 -0
- package/dist/types/modules/core/context/KnockProvider.d.ts.map +1 -0
- package/dist/types/modules/core/context/index.d.ts +2 -0
- package/dist/types/modules/core/context/index.d.ts.map +1 -0
- package/dist/types/modules/core/hooks/index.d.ts +3 -0
- package/dist/types/modules/core/hooks/index.d.ts.map +1 -0
- package/dist/types/modules/core/hooks/useAuthenticatedKnockClient.d.ts +14 -0
- package/dist/types/modules/core/hooks/useAuthenticatedKnockClient.d.ts.map +1 -0
- package/dist/types/modules/core/hooks/useStableOptions.d.ts +2 -0
- package/dist/types/modules/core/hooks/useStableOptions.d.ts.map +1 -0
- package/dist/types/modules/core/index.d.ts +5 -0
- package/dist/types/modules/core/index.d.ts.map +1 -0
- package/dist/types/modules/core/utils.d.ts +24 -0
- package/dist/types/modules/core/utils.d.ts.map +1 -0
- package/dist/types/modules/feed/context/KnockFeedProvider.d.ts +19 -0
- package/dist/types/modules/feed/context/KnockFeedProvider.d.ts.map +1 -0
- package/dist/types/modules/feed/context/index.d.ts +2 -0
- package/dist/types/modules/feed/context/index.d.ts.map +1 -0
- package/dist/types/modules/feed/hooks/index.d.ts +4 -0
- package/dist/types/modules/feed/hooks/index.d.ts.map +1 -0
- package/dist/types/modules/feed/hooks/useFeedSettings.d.ts +12 -0
- package/dist/types/modules/feed/hooks/useFeedSettings.d.ts.map +1 -0
- package/dist/types/modules/feed/hooks/useNotificationStore.d.ts +34 -0
- package/dist/types/modules/feed/hooks/useNotificationStore.d.ts.map +1 -0
- package/dist/types/modules/feed/hooks/useNotifications.d.ts +4 -0
- package/dist/types/modules/feed/hooks/useNotifications.d.ts.map +1 -0
- package/dist/types/modules/feed/index.d.ts +3 -0
- package/dist/types/modules/feed/index.d.ts.map +1 -0
- package/dist/types/modules/guide/context/KnockGuideProvider.d.ts +19 -0
- package/dist/types/modules/guide/context/KnockGuideProvider.d.ts.map +1 -0
- package/dist/types/modules/guide/context/index.d.ts +2 -0
- package/dist/types/modules/guide/context/index.d.ts.map +1 -0
- package/dist/types/modules/guide/hooks/index.d.ts +2 -0
- package/dist/types/modules/guide/hooks/index.d.ts.map +1 -0
- package/dist/types/modules/guide/hooks/useGuide.d.ts +9 -0
- package/dist/types/modules/guide/hooks/useGuide.d.ts.map +1 -0
- package/dist/types/modules/guide/hooks/useGuideContext.d.ts +7 -0
- package/dist/types/modules/guide/hooks/useGuideContext.d.ts.map +1 -0
- package/dist/types/modules/guide/index.d.ts +3 -0
- package/dist/types/modules/guide/index.d.ts.map +1 -0
- package/dist/types/modules/i18n/context/KnockI18nProvider.d.ts +8 -0
- package/dist/types/modules/i18n/context/KnockI18nProvider.d.ts.map +1 -0
- package/dist/types/modules/i18n/context/index.d.ts +2 -0
- package/dist/types/modules/i18n/context/index.d.ts.map +1 -0
- package/dist/types/modules/i18n/hooks/index.d.ts +2 -0
- package/dist/types/modules/i18n/hooks/index.d.ts.map +1 -0
- package/dist/types/modules/i18n/hooks/useTranslations.d.ts +5 -0
- package/dist/types/modules/i18n/hooks/useTranslations.d.ts.map +1 -0
- package/dist/types/modules/i18n/index.d.ts +4 -0
- package/dist/types/modules/i18n/index.d.ts.map +1 -0
- package/dist/types/modules/i18n/languages/de.d.ts +4 -0
- package/dist/types/modules/i18n/languages/de.d.ts.map +1 -0
- package/dist/types/modules/i18n/languages/en.d.ts +4 -0
- package/dist/types/modules/i18n/languages/en.d.ts.map +1 -0
- package/dist/types/modules/i18n/languages/index.d.ts +54 -0
- package/dist/types/modules/i18n/languages/index.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/context/KnockMsTeamsProvider.d.ts +20 -0
- package/dist/types/modules/ms-teams/context/KnockMsTeamsProvider.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/context/index.d.ts +2 -0
- package/dist/types/modules/ms-teams/context/index.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/index.d.ts +6 -0
- package/dist/types/modules/ms-teams/hooks/index.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts +15 -0
- package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsAuth.d.ts +7 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsAuth.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts +14 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsConnectionStatus.d.ts +13 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsConnectionStatus.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts +13 -0
- package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/index.d.ts +4 -0
- package/dist/types/modules/ms-teams/index.d.ts.map +1 -0
- package/dist/types/modules/ms-teams/interfaces.d.ts +11 -0
- package/dist/types/modules/ms-teams/interfaces.d.ts.map +1 -0
- package/dist/types/modules/slack/context/KnockSlackProvider.d.ts +30 -0
- package/dist/types/modules/slack/context/KnockSlackProvider.d.ts.map +1 -0
- package/dist/types/modules/slack/context/index.d.ts +2 -0
- package/dist/types/modules/slack/context/index.d.ts.map +1 -0
- package/dist/types/modules/slack/hooks/index.d.ts +5 -0
- package/dist/types/modules/slack/hooks/index.d.ts.map +1 -0
- package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts +15 -0
- package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts.map +1 -0
- package/dist/types/modules/slack/hooks/useSlackAuth.d.ts +11 -0
- package/dist/types/modules/slack/hooks/useSlackAuth.d.ts.map +1 -0
- package/dist/types/modules/slack/hooks/useSlackChannels.d.ts +13 -0
- package/dist/types/modules/slack/hooks/useSlackChannels.d.ts.map +1 -0
- package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts +13 -0
- package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts.map +1 -0
- package/dist/types/modules/slack/index.d.ts +4 -0
- package/dist/types/modules/slack/index.d.ts.map +1 -0
- package/dist/types/modules/slack/interfaces.d.ts +10 -0
- package/dist/types/modules/slack/interfaces.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/modules/core/context/KnockProvider.tsx +36 -7
- package/src/modules/core/hooks/useAuthenticatedKnockClient.ts +47 -7
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
import Knock, {
|
|
1
|
+
import Knock, {
|
|
2
|
+
AuthenticateOptions,
|
|
3
|
+
KnockOptions,
|
|
4
|
+
UserId,
|
|
5
|
+
UserIdOrUserWithProperties,
|
|
6
|
+
} from "@knocklabs/client";
|
|
2
7
|
import React from "react";
|
|
3
8
|
|
|
4
9
|
import { useStableOptions } from "../../core";
|
|
5
10
|
|
|
6
11
|
function authenticateWithOptions(
|
|
7
12
|
knock: Knock,
|
|
8
|
-
|
|
13
|
+
userIdOrUserWithProperties: UserIdOrUserWithProperties,
|
|
9
14
|
userToken?: Knock["userToken"],
|
|
10
15
|
options: AuthenticateOptions = {},
|
|
11
16
|
) {
|
|
12
|
-
knock.authenticate(
|
|
17
|
+
knock.authenticate(userIdOrUserWithProperties, userToken, {
|
|
13
18
|
onUserTokenExpiring: options?.onUserTokenExpiring,
|
|
14
19
|
timeBeforeExpirationInMs: options?.timeBeforeExpirationInMs,
|
|
15
20
|
});
|
|
@@ -18,9 +23,29 @@ function authenticateWithOptions(
|
|
|
18
23
|
export type AuthenticatedKnockClientOptions = KnockOptions &
|
|
19
24
|
AuthenticateOptions;
|
|
20
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Passing `userId` as a `string` is deprecated and will be removed in a future version.
|
|
28
|
+
* Please pass a `user` object instead containing an `id` value.
|
|
29
|
+
* example:
|
|
30
|
+
* ```ts
|
|
31
|
+
* useAuthenticatedKnockClient("pk_test_12345", { id: "user_123" });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
21
34
|
function useAuthenticatedKnockClient(
|
|
22
35
|
apiKey: string,
|
|
23
|
-
|
|
36
|
+
userIdOrUserWithProperties: UserId,
|
|
37
|
+
userToken?: Knock["userToken"],
|
|
38
|
+
options?: AuthenticatedKnockClientOptions,
|
|
39
|
+
): Knock;
|
|
40
|
+
function useAuthenticatedKnockClient(
|
|
41
|
+
apiKey: string,
|
|
42
|
+
userIdOrUserWithProperties: UserIdOrUserWithProperties,
|
|
43
|
+
userToken?: Knock["userToken"],
|
|
44
|
+
options?: AuthenticatedKnockClientOptions,
|
|
45
|
+
): Knock;
|
|
46
|
+
function useAuthenticatedKnockClient(
|
|
47
|
+
apiKey: string,
|
|
48
|
+
userIdOrUserWithProperties: UserIdOrUserWithProperties,
|
|
24
49
|
userToken?: Knock["userToken"],
|
|
25
50
|
options: AuthenticatedKnockClientOptions = {},
|
|
26
51
|
) {
|
|
@@ -28,6 +53,11 @@ function useAuthenticatedKnockClient(
|
|
|
28
53
|
const stableOptions = useStableOptions(options);
|
|
29
54
|
|
|
30
55
|
return React.useMemo(() => {
|
|
56
|
+
const userId =
|
|
57
|
+
typeof userIdOrUserWithProperties === "string"
|
|
58
|
+
? userIdOrUserWithProperties
|
|
59
|
+
: userIdOrUserWithProperties?.id;
|
|
60
|
+
|
|
31
61
|
const currentKnock = knockRef.current;
|
|
32
62
|
|
|
33
63
|
// If the userId and the userToken changes then just reauth
|
|
@@ -36,7 +66,12 @@ function useAuthenticatedKnockClient(
|
|
|
36
66
|
currentKnock.isAuthenticated() &&
|
|
37
67
|
(currentKnock.userId !== userId || currentKnock.userToken !== userToken)
|
|
38
68
|
) {
|
|
39
|
-
authenticateWithOptions(
|
|
69
|
+
authenticateWithOptions(
|
|
70
|
+
currentKnock,
|
|
71
|
+
userIdOrUserWithProperties,
|
|
72
|
+
userToken,
|
|
73
|
+
stableOptions,
|
|
74
|
+
);
|
|
40
75
|
return currentKnock;
|
|
41
76
|
}
|
|
42
77
|
|
|
@@ -50,11 +85,16 @@ function useAuthenticatedKnockClient(
|
|
|
50
85
|
logLevel: stableOptions.logLevel,
|
|
51
86
|
});
|
|
52
87
|
|
|
53
|
-
authenticateWithOptions(
|
|
88
|
+
authenticateWithOptions(
|
|
89
|
+
knock,
|
|
90
|
+
userIdOrUserWithProperties,
|
|
91
|
+
userToken,
|
|
92
|
+
stableOptions,
|
|
93
|
+
);
|
|
54
94
|
knockRef.current = knock;
|
|
55
95
|
|
|
56
96
|
return knock;
|
|
57
|
-
}, [apiKey,
|
|
97
|
+
}, [apiKey, userIdOrUserWithProperties, userToken, stableOptions]);
|
|
58
98
|
}
|
|
59
99
|
|
|
60
100
|
export default useAuthenticatedKnockClient;
|