@knocklabs/react-core 0.1.3 → 0.1.4
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/dist/cjs/modules/core/context/KnockProvider.js +1 -1
- package/dist/cjs/modules/core/context/KnockProvider.js.map +1 -1
- package/dist/cjs/modules/core/hooks/useAuthenticatedKnockClient.js +1 -1
- package/dist/cjs/modules/core/hooks/useAuthenticatedKnockClient.js.map +1 -1
- package/dist/cjs/modules/feed/context/KnockFeedProvider.js +1 -1
- package/dist/cjs/modules/feed/context/KnockFeedProvider.js.map +1 -1
- package/dist/cjs/modules/feed/hooks/useNotifications.js +1 -1
- package/dist/cjs/modules/feed/hooks/useNotifications.js.map +1 -1
- package/dist/esm/modules/core/context/KnockProvider.js +39 -25
- package/dist/esm/modules/core/context/KnockProvider.js.map +1 -1
- package/dist/esm/modules/core/hooks/useAuthenticatedKnockClient.js +19 -10
- package/dist/esm/modules/core/hooks/useAuthenticatedKnockClient.js.map +1 -1
- package/dist/esm/modules/feed/context/KnockFeedProvider.js +4 -4
- package/dist/esm/modules/feed/context/KnockFeedProvider.js.map +1 -1
- package/dist/esm/modules/feed/hooks/useNotifications.js +8 -8
- package/dist/esm/modules/feed/hooks/useNotifications.js.map +1 -1
- package/dist/types/modules/core/context/KnockProvider.d.ts +4 -1
- package/dist/types/modules/core/context/KnockProvider.d.ts.map +1 -1
- package/dist/types/modules/core/hooks/useAuthenticatedKnockClient.d.ts +2 -2
- package/dist/types/modules/core/hooks/useAuthenticatedKnockClient.d.ts.map +1 -1
- package/dist/types/modules/feed/context/KnockFeedProvider.d.ts +3 -3
- package/dist/types/modules/feed/context/KnockFeedProvider.d.ts.map +1 -1
- package/dist/types/modules/feed/hooks/useNotifications.d.ts +1 -1
- package/dist/types/modules/feed/hooks/useNotifications.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),b=require("react"),v=require("../../i18n/context/KnockI18nProvider.js"),P=require("../hooks/useAuthenticatedKnockClient.js");function j(e){if(e&&typeof e=="object"&&"default"in e)return e;const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return n.default=e,Object.freeze(n)}const r=j(b),s=r.createContext(null),K=({apiKey:e,host:n,logLevel:t,userId:o,userToken:a,onUserTokenExpiring:c,timeBeforeExpirationInMs:u,children:d,i18n:l})=>{const k=r.useMemo(()=>({host:n,onUserTokenExpiring:c,timeBeforeExpirationInMs:u,logLevel:t}),[n,c,u,t]),f=P(e,o,a,k);return i.jsx(s.Provider,{value:{knock:f},children:i.jsx(v.KnockI18nProvider,{i18n:l,children:d})})},m=()=>{const e=r.useContext(s);if(e===void 0)throw new Error("useKnock must be used within a KnockProvider");return e.knock};exports.KnockProvider=K;exports.useKnockClient=m;
|
|
2
2
|
//# sourceMappingURL=KnockProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockProvider.js","sources":["../../../../../src/modules/core/context/KnockProvider.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"KnockProvider.js","sources":["../../../../../src/modules/core/context/KnockProvider.tsx"],"sourcesContent":["import Knock, { AuthenticateOptions, LogLevel } from \"@knocklabs/client\";\nimport * as React from \"react\";\n\nimport { I18nContent, KnockI18nProvider } from \"../../i18n\";\nimport { useAuthenticatedKnockClient } from \"../hooks\";\n\nexport interface KnockProviderState {\n knock: Knock;\n}\n\nconst ProviderStateContext = React.createContext<KnockProviderState | null>(\n null,\n);\n\nexport interface KnockProviderProps {\n // Knock client props\n apiKey: string;\n host?: string;\n // Authentication props\n userId: string;\n userToken?: string;\n onUserTokenExpiring?: AuthenticateOptions[\"onUserTokenExpiring\"];\n timeBeforeExpirationInMs?: AuthenticateOptions[\"timeBeforeExpirationInMs\"];\n\n // Extra options\n children?: React.ReactElement;\n\n // i18n translations\n i18n?: I18nContent;\n\n logLevel?: LogLevel;\n}\n\nexport const KnockProvider: React.FC<KnockProviderProps> = ({\n apiKey,\n host,\n logLevel,\n userId,\n userToken,\n onUserTokenExpiring,\n timeBeforeExpirationInMs,\n children,\n i18n,\n}) => {\n // We memoize the options here so that we don't create a new object on every re-render\n // TODO: we probably need to put this optimization into the `useAuthenticatedKnockClient`\n // hook itself to fix this\n const authenticateOptions = React.useMemo(\n () => ({\n host,\n onUserTokenExpiring,\n timeBeforeExpirationInMs,\n logLevel,\n }),\n [host, onUserTokenExpiring, timeBeforeExpirationInMs, logLevel],\n );\n\n const knock = useAuthenticatedKnockClient(\n apiKey,\n userId,\n userToken,\n authenticateOptions,\n );\n\n return (\n <ProviderStateContext.Provider\n value={{\n knock,\n }}\n >\n <KnockI18nProvider i18n={i18n}>{children}</KnockI18nProvider>\n </ProviderStateContext.Provider>\n );\n};\n\nexport const useKnockClient = (): Knock => {\n const context = React.useContext(ProviderStateContext) as KnockProviderState;\n if (context === undefined) {\n throw new Error(\"useKnock must be used within a KnockProvider\");\n }\n return context.knock;\n};\n"],"names":["ProviderStateContext","React","KnockProvider","apiKey","host","logLevel","userId","userToken","onUserTokenExpiring","timeBeforeExpirationInMs","children","i18n","authenticateOptions","knock","useAuthenticatedKnockClient","jsx","KnockI18nProvider","useKnockClient","context"],"mappings":"6jBAUMA,EAAuBC,EAAM,cACjC,IACF,EAqBaC,EAA8C,CAAC,CAC1D,OAAAC,EACA,KAAAC,EACA,SAAAC,EACA,OAAAC,EACA,UAAAC,EACA,oBAAAC,EACA,yBAAAC,EACA,SAAAC,EACA,KAAAC,CACF,IAAM,CAIJ,MAAMC,EAAsBX,EAAM,QAChC,KAAO,CACL,KAAAG,EACA,oBAAAI,EACA,yBAAAC,EACA,SAAAJ,CAAA,GAEF,CAACD,EAAMI,EAAqBC,EAA0BJ,CAAQ,CAAA,EAG1DQ,EAAQC,EACZX,EACAG,EACAC,EACAK,CAAA,EAIA,OAAAG,EAAA,IAACf,EAAqB,SAArB,CACC,MAAO,CACL,MAAAa,CACF,EAEA,SAAAE,EAAAA,IAACC,EAAAA,kBAAkB,CAAA,KAAAL,EAAa,SAAAD,CAAS,CAAA,CAAA,CAAA,CAG/C,EAEaO,EAAiB,IAAa,CACnC,MAAAC,EAAUjB,EAAM,WAAWD,CAAoB,EACrD,GAAIkB,IAAY,OACR,MAAA,IAAI,MAAM,8CAA8C,EAEhE,OAAOA,EAAQ,KACjB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const l=require("@knocklabs/client"),i=require("react"),k=t=>t&&typeof t=="object"&&"default"in t?t:{default:t},d=k(l),o=k(i);function f(t,c,r,e={}){t.authenticate(c,r,{onUserTokenExpiring:e==null?void 0:e.onUserTokenExpiring,timeBeforeExpirationInMs:e==null?void 0:e.timeBeforeExpirationInMs})}function h(t,c,r,e={}){const a=o.default.useRef();return i.useMemo(()=>{const n=a.current;if(n&&n.isAuthenticated()&&(n.userId!==c||n.userToken!==r))return f(n,c,r,e),n;n&&n.teardown();const u=new d.default(t,e);return f(u,c,r,e),a.current=u,u},[t,c,r,e])}module.exports=h;
|
|
2
2
|
//# sourceMappingURL=useAuthenticatedKnockClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthenticatedKnockClient.js","sources":["../../../../../src/modules/core/hooks/useAuthenticatedKnockClient.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"useAuthenticatedKnockClient.js","sources":["../../../../../src/modules/core/hooks/useAuthenticatedKnockClient.ts"],"sourcesContent":["import Knock, { AuthenticateOptions, KnockOptions } from \"@knocklabs/client\";\nimport React, { useMemo } from \"react\";\n\nfunction authenticateWithOptions(\n knock: Knock,\n userId: string,\n userToken?: string,\n options: AuthenticateOptions = {},\n) {\n knock.authenticate(userId, userToken, {\n onUserTokenExpiring: options?.onUserTokenExpiring,\n timeBeforeExpirationInMs: options?.timeBeforeExpirationInMs,\n });\n}\n\nfunction useAuthenticatedKnockClient(\n apiKey: string,\n userId: string,\n userToken?: string,\n options: KnockOptions & AuthenticateOptions = {},\n) {\n const knockRef = React.useRef<Knock | null>();\n\n return useMemo(() => {\n const currentKnock = knockRef.current;\n\n // If the userId and the userToken changes then just reauth\n if (\n currentKnock &&\n currentKnock.isAuthenticated() &&\n (currentKnock.userId !== userId || currentKnock.userToken !== userToken)\n ) {\n authenticateWithOptions(currentKnock, userId, userToken, options);\n return currentKnock;\n }\n\n if (currentKnock) {\n currentKnock.teardown();\n }\n\n // Otherwise instantiate a new Knock client\n const knock = new Knock(apiKey, options);\n authenticateWithOptions(knock, userId, userToken, options);\n knockRef.current = knock;\n\n return knock;\n }, [apiKey, userId, userToken, options]);\n}\n\nexport default useAuthenticatedKnockClient;\n"],"names":["authenticateWithOptions","knock","userId","userToken","options","useAuthenticatedKnockClient","apiKey","knockRef","React","useMemo","currentKnock","Knock"],"mappings":"2IAGA,SAASA,EACPC,EACAC,EACAC,EACAC,EAA+B,CAAA,EAC/B,CACMH,EAAA,aAAaC,EAAQC,EAAW,CACpC,oBAAqBC,GAAA,YAAAA,EAAS,oBAC9B,yBAA0BA,GAAA,YAAAA,EAAS,wBAAA,CACpC,CACH,CAEA,SAASC,EACPC,EACAJ,EACAC,EACAC,EAA8C,CAAA,EAC9C,CACM,MAAAG,EAAWC,UAAM,SAEvB,OAAOC,UAAQ,IAAM,CACnB,MAAMC,EAAeH,EAAS,QAI5B,GAAAG,GACAA,EAAa,gBAAgB,IAC5BA,EAAa,SAAWR,GAAUQ,EAAa,YAAcP,GAEtC,OAAAH,EAAAU,EAAcR,EAAQC,EAAWC,CAAO,EACzDM,EAGLA,GACFA,EAAa,SAAS,EAIxB,MAAMT,EAAQ,IAAIU,EAAAA,QAAML,EAAQF,CAAO,EACf,OAAAJ,EAAAC,EAAOC,EAAQC,EAAWC,CAAO,EACzDG,EAAS,QAAUN,EAEZA,GACN,CAACK,EAAQJ,EAAQC,EAAWC,CAAO,CAAC,CACzC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),d=require("react"),l=require("zustand"),f=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),d=require("react"),l=require("zustand"),f=require("../../core/context/KnockProvider.js");require("@knocklabs/client");const b=require("../../core/utils.js"),k=require("../hooks/useNotifications.js"),p=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function v(e){if(e&&typeof e=="object"&&"default"in e)return e;const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,r.get?r:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const u=v(d),j=p(l),i=u.createContext(null),m=({feedId:e,children:o,defaultFeedOptions:t={},colorMode:r="light"})=>{const n=f.useKnockClient(),c=k(n,e,t),s=j.default(c.store);return a.jsx(i.Provider,{value:{knock:n,feedClient:c,useFeedStore:s,colorMode:r},children:o},b.feedProviderKey(e,t))},K=()=>{const e=u.useContext(i);if(e===void 0)throw new Error("useKnockFeed must be used within a KnockFeedProvider");return e};exports.KnockFeedProvider=m;exports.useKnockFeed=K;
|
|
2
2
|
//# sourceMappingURL=KnockFeedProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockFeedProvider.js","sources":["../../../../../src/modules/feed/context/KnockFeedProvider.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"KnockFeedProvider.js","sources":["../../../../../src/modules/feed/context/KnockFeedProvider.tsx"],"sourcesContent":["import Knock, {\n Feed,\n FeedClientOptions,\n FeedStoreState,\n} from \"@knocklabs/client\";\nimport * as React from \"react\";\nimport create, { UseBoundStore } from \"zustand\";\n\nimport { useKnockClient } from \"../../core\";\nimport { ColorMode } from \"../../core/constants\";\nimport { feedProviderKey } from \"../../core/utils\";\nimport useNotifications from \"../hooks/useNotifications\";\n\nexport interface KnockFeedProviderState {\n knock: Knock;\n feedClient: Feed;\n useFeedStore: UseBoundStore<FeedStoreState>;\n colorMode: ColorMode;\n}\n\nconst FeedStateContext = React.createContext<KnockFeedProviderState | null>(\n null,\n);\n\nexport interface KnockFeedProviderProps {\n // Feed props\n feedId: string;\n\n // Extra options\n children?: React.ReactElement;\n colorMode?: ColorMode;\n\n // Feed client options\n defaultFeedOptions?: FeedClientOptions;\n}\n\nexport const KnockFeedProvider: React.FC<KnockFeedProviderProps> = ({\n feedId,\n children,\n defaultFeedOptions = {},\n colorMode = \"light\",\n}) => {\n const knock = useKnockClient();\n const feedClient = useNotifications(knock, feedId, defaultFeedOptions);\n const useFeedStore = create<FeedStoreState>(feedClient.store);\n\n return (\n <FeedStateContext.Provider\n key={feedProviderKey(feedId, defaultFeedOptions)}\n value={{\n knock,\n feedClient,\n useFeedStore,\n colorMode,\n }}\n >\n {children}\n </FeedStateContext.Provider>\n );\n};\n\nexport const useKnockFeed = (): KnockFeedProviderState => {\n const context = React.useContext(FeedStateContext);\n if (context === undefined) {\n throw new Error(\"useKnockFeed must be used within a KnockFeedProvider\");\n }\n return context as KnockFeedProviderState;\n};\n"],"names":["FeedStateContext","React","KnockFeedProvider","feedId","children","defaultFeedOptions","colorMode","knock","useKnockClient","feedClient","useNotifications","useFeedStore","create","jsx","feedProviderKey","useKnockFeed","context"],"mappings":"ssBAoBMA,EAAmBC,EAAM,cAC7B,IACF,EAcaC,EAAsD,CAAC,CAClE,OAAAC,EACA,SAAAC,EACA,mBAAAC,EAAqB,CAAC,EACtB,UAAAC,EAAY,OACd,IAAM,CACJ,MAAMC,EAAQC,EAAAA,iBACRC,EAAaC,EAAiBH,EAAOJ,EAAQE,CAAkB,EAC/DM,EAAeC,EAAAA,QAAuBH,EAAW,KAAK,EAG1D,OAAAI,EAAA,IAACb,EAAiB,SAAjB,CAEC,MAAO,CACL,MAAAO,EACA,WAAAE,EACA,aAAAE,EACA,UAAAL,CACF,EAEC,SAAAF,CAAA,EARIU,EAAA,gBAAgBX,EAAQE,CAAkB,CAAA,CAWrD,EAEaU,EAAe,IAA8B,CAClD,MAAAC,EAAUf,EAAM,WAAWD,CAAgB,EACjD,GAAIgB,IAAY,OACR,MAAA,IAAI,MAAM,sDAAsD,EAEjE,OAAAA,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const n=require("react");function u(s,i,e={}){const t=n.useRef();return n.useMemo(()=>{t.current&&t.current.dispose();const r=s.feeds.initialize(i,e);return r.listenForUpdates(),t.current=r,r},[s,i,e.source,e.tenant,e.has_tenant,e.archived])}module.exports=u;
|
|
2
2
|
//# sourceMappingURL=useNotifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNotifications.js","sources":["../../../../../src/modules/feed/hooks/useNotifications.ts"],"sourcesContent":["import Knock, { Feed, FeedClientOptions } from \"@knocklabs/client\";\nimport { useMemo, useRef } from \"react\";\n\nfunction useNotifications(\n knock: Knock,\n
|
|
1
|
+
{"version":3,"file":"useNotifications.js","sources":["../../../../../src/modules/feed/hooks/useNotifications.ts"],"sourcesContent":["import Knock, { Feed, FeedClientOptions } from \"@knocklabs/client\";\nimport { useMemo, useRef } from \"react\";\n\nfunction useNotifications(\n knock: Knock,\n feedChannelId: string,\n options: FeedClientOptions = {},\n) {\n const feedClientRef = useRef<Feed | null>();\n\n return useMemo(() => {\n if (feedClientRef.current) {\n feedClientRef.current.dispose();\n }\n\n const feedClient = knock.feeds.initialize(feedChannelId, options);\n\n feedClient.listenForUpdates();\n feedClientRef.current = feedClient;\n\n return feedClient;\n }, [\n knock,\n feedChannelId,\n options.source,\n options.tenant,\n options.has_tenant,\n options.archived,\n ]);\n}\n\nexport default useNotifications;\n"],"names":["useNotifications","knock","feedChannelId","options","feedClientRef","useRef","useMemo","feedClient"],"mappings":"sCAGA,SAASA,EACPC,EACAC,EACAC,EAA6B,CAAA,EAC7B,CACA,MAAMC,EAAgBC,EAAAA,SAEtB,OAAOC,UAAQ,IAAM,CACfF,EAAc,SAChBA,EAAc,QAAQ,UAGxB,MAAMG,EAAaN,EAAM,MAAM,WAAWC,EAAeC,CAAO,EAEhE,OAAAI,EAAW,iBAAiB,EAC5BH,EAAc,QAAUG,EAEjBA,CAAA,EACN,CACDN,EACAC,EACAC,EAAQ,OACRA,EAAQ,OACRA,EAAQ,WACRA,EAAQ,QAAA,CACT,CACH"}
|
|
@@ -1,37 +1,51 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
const
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import * as o from "react";
|
|
3
|
+
import { KnockI18nProvider as K } from "../../i18n/context/KnockI18nProvider.js";
|
|
4
|
+
import C from "../hooks/useAuthenticatedKnockClient.js";
|
|
5
|
+
const s = o.createContext(
|
|
6
6
|
null
|
|
7
|
-
),
|
|
8
|
-
apiKey:
|
|
9
|
-
host:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
), l = ({
|
|
8
|
+
apiKey: t,
|
|
9
|
+
host: e,
|
|
10
|
+
logLevel: n,
|
|
11
|
+
userId: u,
|
|
12
|
+
userToken: d,
|
|
13
|
+
onUserTokenExpiring: r,
|
|
14
|
+
timeBeforeExpirationInMs: c,
|
|
15
|
+
children: k,
|
|
16
|
+
i18n: m
|
|
14
17
|
}) => {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const a = o.useMemo(
|
|
19
|
+
() => ({
|
|
20
|
+
host: e,
|
|
21
|
+
onUserTokenExpiring: r,
|
|
22
|
+
timeBeforeExpirationInMs: c,
|
|
23
|
+
logLevel: n
|
|
24
|
+
}),
|
|
25
|
+
[e, r, c, n]
|
|
26
|
+
), v = C(
|
|
27
|
+
t,
|
|
28
|
+
u,
|
|
29
|
+
d,
|
|
30
|
+
a
|
|
31
|
+
);
|
|
32
|
+
return /* @__PURE__ */ i(
|
|
33
|
+
s.Provider,
|
|
20
34
|
{
|
|
21
35
|
value: {
|
|
22
|
-
knock:
|
|
36
|
+
knock: v
|
|
23
37
|
},
|
|
24
|
-
children: /* @__PURE__ */
|
|
38
|
+
children: /* @__PURE__ */ i(K, { i18n: m, children: k })
|
|
25
39
|
}
|
|
26
40
|
);
|
|
27
|
-
},
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
41
|
+
}, p = () => {
|
|
42
|
+
const t = o.useContext(s);
|
|
43
|
+
if (t === void 0)
|
|
30
44
|
throw new Error("useKnock must be used within a KnockProvider");
|
|
31
|
-
return
|
|
45
|
+
return t.knock;
|
|
32
46
|
};
|
|
33
47
|
export {
|
|
34
|
-
|
|
35
|
-
|
|
48
|
+
l as KnockProvider,
|
|
49
|
+
p as useKnockClient
|
|
36
50
|
};
|
|
37
51
|
//# sourceMappingURL=KnockProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockProvider.js","sources":["../../../../../src/modules/core/context/KnockProvider.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"KnockProvider.js","sources":["../../../../../src/modules/core/context/KnockProvider.tsx"],"sourcesContent":["import Knock, { AuthenticateOptions, LogLevel } from \"@knocklabs/client\";\nimport * as React from \"react\";\n\nimport { I18nContent, KnockI18nProvider } from \"../../i18n\";\nimport { useAuthenticatedKnockClient } from \"../hooks\";\n\nexport interface KnockProviderState {\n knock: Knock;\n}\n\nconst ProviderStateContext = React.createContext<KnockProviderState | null>(\n null,\n);\n\nexport interface KnockProviderProps {\n // Knock client props\n apiKey: string;\n host?: string;\n // Authentication props\n userId: string;\n userToken?: string;\n onUserTokenExpiring?: AuthenticateOptions[\"onUserTokenExpiring\"];\n timeBeforeExpirationInMs?: AuthenticateOptions[\"timeBeforeExpirationInMs\"];\n\n // Extra options\n children?: React.ReactElement;\n\n // i18n translations\n i18n?: I18nContent;\n\n logLevel?: LogLevel;\n}\n\nexport const KnockProvider: React.FC<KnockProviderProps> = ({\n apiKey,\n host,\n logLevel,\n userId,\n userToken,\n onUserTokenExpiring,\n timeBeforeExpirationInMs,\n children,\n i18n,\n}) => {\n // We memoize the options here so that we don't create a new object on every re-render\n // TODO: we probably need to put this optimization into the `useAuthenticatedKnockClient`\n // hook itself to fix this\n const authenticateOptions = React.useMemo(\n () => ({\n host,\n onUserTokenExpiring,\n timeBeforeExpirationInMs,\n logLevel,\n }),\n [host, onUserTokenExpiring, timeBeforeExpirationInMs, logLevel],\n );\n\n const knock = useAuthenticatedKnockClient(\n apiKey,\n userId,\n userToken,\n authenticateOptions,\n );\n\n return (\n <ProviderStateContext.Provider\n value={{\n knock,\n }}\n >\n <KnockI18nProvider i18n={i18n}>{children}</KnockI18nProvider>\n </ProviderStateContext.Provider>\n );\n};\n\nexport const useKnockClient = (): Knock => {\n const context = React.useContext(ProviderStateContext) as KnockProviderState;\n if (context === undefined) {\n throw new Error(\"useKnock must be used within a KnockProvider\");\n }\n return context.knock;\n};\n"],"names":["ProviderStateContext","React","KnockProvider","apiKey","host","logLevel","userId","userToken","onUserTokenExpiring","timeBeforeExpirationInMs","children","i18n","authenticateOptions","knock","useAuthenticatedKnockClient","jsx","KnockI18nProvider","useKnockClient","context"],"mappings":";;;;AAUA,MAAMA,IAAuBC,EAAM;AAAA,EACjC;AACF,GAqBaC,IAA8C,CAAC;AAAA,EAC1D,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AACF,MAAM;AAIJ,QAAMC,IAAsBX,EAAM;AAAA,IAChC,OAAO;AAAA,MACL,MAAAG;AAAA,MACA,qBAAAI;AAAA,MACA,0BAAAC;AAAA,MACA,UAAAJ;AAAA,IAAA;AAAA,IAEF,CAACD,GAAMI,GAAqBC,GAA0BJ,CAAQ;AAAA,EAAA,GAG1DQ,IAAQC;AAAA,IACZX;AAAA,IACAG;AAAA,IACAC;AAAA,IACAK;AAAA,EAAA;AAIA,SAAA,gBAAAG;AAAA,IAACf,EAAqB;AAAA,IAArB;AAAA,MACC,OAAO;AAAA,QACL,OAAAa;AAAA,MACF;AAAA,MAEA,UAAA,gBAAAE,EAACC,GAAkB,EAAA,MAAAL,GAAa,UAAAD,EAAS,CAAA;AAAA,IAAA;AAAA,EAAA;AAG/C,GAEaO,IAAiB,MAAa;AACnC,QAAAC,IAAUjB,EAAM,WAAWD,CAAoB;AACrD,MAAIkB,MAAY;AACR,UAAA,IAAI,MAAM,8CAA8C;AAEhE,SAAOA,EAAQ;AACjB;"}
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
function
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import i from "@knocklabs/client";
|
|
2
|
+
import k, { useMemo as m } from "react";
|
|
3
|
+
function f(c, n, r, e = {}) {
|
|
4
|
+
c.authenticate(n, r, {
|
|
5
|
+
onUserTokenExpiring: e == null ? void 0 : e.onUserTokenExpiring,
|
|
6
|
+
timeBeforeExpirationInMs: e == null ? void 0 : e.timeBeforeExpirationInMs
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
function E(c, n, r, e = {}) {
|
|
10
|
+
const a = k.useRef();
|
|
11
|
+
return m(() => {
|
|
12
|
+
const t = a.current;
|
|
13
|
+
if (t && t.isAuthenticated() && (t.userId !== n || t.userToken !== r))
|
|
14
|
+
return f(t, n, r, e), t;
|
|
15
|
+
t && t.teardown();
|
|
16
|
+
const u = new i(c, e);
|
|
17
|
+
return f(u, n, r, e), a.current = u, u;
|
|
18
|
+
}, [c, n, r, e]);
|
|
10
19
|
}
|
|
11
20
|
export {
|
|
12
|
-
|
|
21
|
+
E as default
|
|
13
22
|
};
|
|
14
23
|
//# sourceMappingURL=useAuthenticatedKnockClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthenticatedKnockClient.js","sources":["../../../../../src/modules/core/hooks/useAuthenticatedKnockClient.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"useAuthenticatedKnockClient.js","sources":["../../../../../src/modules/core/hooks/useAuthenticatedKnockClient.ts"],"sourcesContent":["import Knock, { AuthenticateOptions, KnockOptions } from \"@knocklabs/client\";\nimport React, { useMemo } from \"react\";\n\nfunction authenticateWithOptions(\n knock: Knock,\n userId: string,\n userToken?: string,\n options: AuthenticateOptions = {},\n) {\n knock.authenticate(userId, userToken, {\n onUserTokenExpiring: options?.onUserTokenExpiring,\n timeBeforeExpirationInMs: options?.timeBeforeExpirationInMs,\n });\n}\n\nfunction useAuthenticatedKnockClient(\n apiKey: string,\n userId: string,\n userToken?: string,\n options: KnockOptions & AuthenticateOptions = {},\n) {\n const knockRef = React.useRef<Knock | null>();\n\n return useMemo(() => {\n const currentKnock = knockRef.current;\n\n // If the userId and the userToken changes then just reauth\n if (\n currentKnock &&\n currentKnock.isAuthenticated() &&\n (currentKnock.userId !== userId || currentKnock.userToken !== userToken)\n ) {\n authenticateWithOptions(currentKnock, userId, userToken, options);\n return currentKnock;\n }\n\n if (currentKnock) {\n currentKnock.teardown();\n }\n\n // Otherwise instantiate a new Knock client\n const knock = new Knock(apiKey, options);\n authenticateWithOptions(knock, userId, userToken, options);\n knockRef.current = knock;\n\n return knock;\n }, [apiKey, userId, userToken, options]);\n}\n\nexport default useAuthenticatedKnockClient;\n"],"names":["authenticateWithOptions","knock","userId","userToken","options","useAuthenticatedKnockClient","apiKey","knockRef","React","useMemo","currentKnock","Knock"],"mappings":";;AAGA,SAASA,EACPC,GACAC,GACAC,GACAC,IAA+B,CAAA,GAC/B;AACM,EAAAH,EAAA,aAAaC,GAAQC,GAAW;AAAA,IACpC,qBAAqBC,KAAA,gBAAAA,EAAS;AAAA,IAC9B,0BAA0BA,KAAA,gBAAAA,EAAS;AAAA,EAAA,CACpC;AACH;AAEA,SAASC,EACPC,GACAJ,GACAC,GACAC,IAA8C,CAAA,GAC9C;AACM,QAAAG,IAAWC,EAAM;AAEvB,SAAOC,EAAQ,MAAM;AACnB,UAAMC,IAAeH,EAAS;AAI5B,QAAAG,KACAA,EAAa,gBAAgB,MAC5BA,EAAa,WAAWR,KAAUQ,EAAa,cAAcP;AAEtC,aAAAH,EAAAU,GAAcR,GAAQC,GAAWC,CAAO,GACzDM;AAGT,IAAIA,KACFA,EAAa,SAAS;AAIxB,UAAMT,IAAQ,IAAIU,EAAML,GAAQF,CAAO;AACf,WAAAJ,EAAAC,GAAOC,GAAQC,GAAWC,CAAO,GACzDG,EAAS,UAAUN,GAEZA;AAAA,KACN,CAACK,GAAQJ,GAAQC,GAAWC,CAAO,CAAC;AACzC;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as u } from "react/jsx-runtime";
|
|
2
2
|
import * as n from "react";
|
|
3
3
|
import d from "zustand";
|
|
4
|
-
import f from "
|
|
5
|
-
import { feedProviderKey as a } from "../../core/utils.js";
|
|
6
|
-
import { useKnockClient as k } from "../../core/context/KnockProvider.js";
|
|
4
|
+
import { useKnockClient as f } from "../../core/context/KnockProvider.js";
|
|
7
5
|
import "@knocklabs/client";
|
|
6
|
+
import { feedProviderKey as a } from "../../core/utils.js";
|
|
7
|
+
import k from "../hooks/useNotifications.js";
|
|
8
8
|
const i = n.createContext(
|
|
9
9
|
null
|
|
10
10
|
), F = ({
|
|
@@ -13,7 +13,7 @@ const i = n.createContext(
|
|
|
13
13
|
defaultFeedOptions: o = {},
|
|
14
14
|
colorMode: s = "light"
|
|
15
15
|
}) => {
|
|
16
|
-
const t =
|
|
16
|
+
const t = f(), r = k(t, e, o), m = d(r.store);
|
|
17
17
|
return /* @__PURE__ */ u(
|
|
18
18
|
i.Provider,
|
|
19
19
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockFeedProvider.js","sources":["../../../../../src/modules/feed/context/KnockFeedProvider.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"KnockFeedProvider.js","sources":["../../../../../src/modules/feed/context/KnockFeedProvider.tsx"],"sourcesContent":["import Knock, {\n Feed,\n FeedClientOptions,\n FeedStoreState,\n} from \"@knocklabs/client\";\nimport * as React from \"react\";\nimport create, { UseBoundStore } from \"zustand\";\n\nimport { useKnockClient } from \"../../core\";\nimport { ColorMode } from \"../../core/constants\";\nimport { feedProviderKey } from \"../../core/utils\";\nimport useNotifications from \"../hooks/useNotifications\";\n\nexport interface KnockFeedProviderState {\n knock: Knock;\n feedClient: Feed;\n useFeedStore: UseBoundStore<FeedStoreState>;\n colorMode: ColorMode;\n}\n\nconst FeedStateContext = React.createContext<KnockFeedProviderState | null>(\n null,\n);\n\nexport interface KnockFeedProviderProps {\n // Feed props\n feedId: string;\n\n // Extra options\n children?: React.ReactElement;\n colorMode?: ColorMode;\n\n // Feed client options\n defaultFeedOptions?: FeedClientOptions;\n}\n\nexport const KnockFeedProvider: React.FC<KnockFeedProviderProps> = ({\n feedId,\n children,\n defaultFeedOptions = {},\n colorMode = \"light\",\n}) => {\n const knock = useKnockClient();\n const feedClient = useNotifications(knock, feedId, defaultFeedOptions);\n const useFeedStore = create<FeedStoreState>(feedClient.store);\n\n return (\n <FeedStateContext.Provider\n key={feedProviderKey(feedId, defaultFeedOptions)}\n value={{\n knock,\n feedClient,\n useFeedStore,\n colorMode,\n }}\n >\n {children}\n </FeedStateContext.Provider>\n );\n};\n\nexport const useKnockFeed = (): KnockFeedProviderState => {\n const context = React.useContext(FeedStateContext);\n if (context === undefined) {\n throw new Error(\"useKnockFeed must be used within a KnockFeedProvider\");\n }\n return context as KnockFeedProviderState;\n};\n"],"names":["FeedStateContext","React","KnockFeedProvider","feedId","children","defaultFeedOptions","colorMode","knock","useKnockClient","feedClient","useNotifications","useFeedStore","create","jsx","feedProviderKey","useKnockFeed","context"],"mappings":";;;;;;;AAoBA,MAAMA,IAAmBC,EAAM;AAAA,EAC7B;AACF,GAcaC,IAAsD,CAAC;AAAA,EAClE,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,oBAAAC,IAAqB,CAAC;AAAA,EACtB,WAAAC,IAAY;AACd,MAAM;AACJ,QAAMC,IAAQC,KACRC,IAAaC,EAAiBH,GAAOJ,GAAQE,CAAkB,GAC/DM,IAAeC,EAAuBH,EAAW,KAAK;AAG1D,SAAA,gBAAAI;AAAA,IAACb,EAAiB;AAAA,IAAjB;AAAA,MAEC,OAAO;AAAA,QACL,OAAAO;AAAA,QACA,YAAAE;AAAA,QACA,cAAAE;AAAA,QACA,WAAAL;AAAA,MACF;AAAA,MAEC,UAAAF;AAAA,IAAA;AAAA,IARIU,EAAgBX,GAAQE,CAAkB;AAAA,EAAA;AAWrD,GAEaU,IAAe,MAA8B;AAClD,QAAAC,IAAUf,EAAM,WAAWD,CAAgB;AACjD,MAAIgB,MAAY;AACR,UAAA,IAAI,MAAM,sDAAsD;AAEjE,SAAAA;AACT;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { useRef as
|
|
2
|
-
function
|
|
3
|
-
const t =
|
|
4
|
-
return
|
|
5
|
-
t.current && t.current.
|
|
6
|
-
const r =
|
|
1
|
+
import { useRef as u, useMemo as s } from "react";
|
|
2
|
+
function a(i, n, e = {}) {
|
|
3
|
+
const t = u();
|
|
4
|
+
return s(() => {
|
|
5
|
+
t.current && t.current.dispose();
|
|
6
|
+
const r = i.feeds.initialize(n, e);
|
|
7
7
|
return r.listenForUpdates(), t.current = r, r;
|
|
8
8
|
}, [
|
|
9
|
+
i,
|
|
9
10
|
n,
|
|
10
|
-
u,
|
|
11
11
|
e.source,
|
|
12
12
|
e.tenant,
|
|
13
13
|
e.has_tenant,
|
|
@@ -15,6 +15,6 @@ function c(n, u, e = {}) {
|
|
|
15
15
|
]);
|
|
16
16
|
}
|
|
17
17
|
export {
|
|
18
|
-
|
|
18
|
+
a as default
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=useNotifications.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNotifications.js","sources":["../../../../../src/modules/feed/hooks/useNotifications.ts"],"sourcesContent":["import Knock, { Feed, FeedClientOptions } from \"@knocklabs/client\";\nimport { useMemo, useRef } from \"react\";\n\nfunction useNotifications(\n knock: Knock,\n
|
|
1
|
+
{"version":3,"file":"useNotifications.js","sources":["../../../../../src/modules/feed/hooks/useNotifications.ts"],"sourcesContent":["import Knock, { Feed, FeedClientOptions } from \"@knocklabs/client\";\nimport { useMemo, useRef } from \"react\";\n\nfunction useNotifications(\n knock: Knock,\n feedChannelId: string,\n options: FeedClientOptions = {},\n) {\n const feedClientRef = useRef<Feed | null>();\n\n return useMemo(() => {\n if (feedClientRef.current) {\n feedClientRef.current.dispose();\n }\n\n const feedClient = knock.feeds.initialize(feedChannelId, options);\n\n feedClient.listenForUpdates();\n feedClientRef.current = feedClient;\n\n return feedClient;\n }, [\n knock,\n feedChannelId,\n options.source,\n options.tenant,\n options.has_tenant,\n options.archived,\n ]);\n}\n\nexport default useNotifications;\n"],"names":["useNotifications","knock","feedChannelId","options","feedClientRef","useRef","useMemo","feedClient"],"mappings":";AAGA,SAASA,EACPC,GACAC,GACAC,IAA6B,CAAA,GAC7B;AACA,QAAMC,IAAgBC;AAEtB,SAAOC,EAAQ,MAAM;AACnB,IAAIF,EAAc,WAChBA,EAAc,QAAQ;AAGxB,UAAMG,IAAaN,EAAM,MAAM,WAAWC,GAAeC,CAAO;AAEhE,WAAAI,EAAW,iBAAiB,GAC5BH,EAAc,UAAUG,GAEjBA;AAAA,EAAA,GACN;AAAA,IACDN;AAAA,IACAC;AAAA,IACAC,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRA,EAAQ;AAAA,IACRA,EAAQ;AAAA,EAAA,CACT;AACH;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import Knock, { AuthenticateOptions, LogLevel } from "@knocklabs/client";
|
|
1
2
|
import * as React from "react";
|
|
2
|
-
import Knock from "@knocklabs/client";
|
|
3
3
|
import { I18nContent } from "../../i18n";
|
|
4
4
|
export interface KnockProviderState {
|
|
5
5
|
knock: Knock;
|
|
@@ -9,8 +9,11 @@ export interface KnockProviderProps {
|
|
|
9
9
|
host?: string;
|
|
10
10
|
userId: string;
|
|
11
11
|
userToken?: string;
|
|
12
|
+
onUserTokenExpiring?: AuthenticateOptions["onUserTokenExpiring"];
|
|
13
|
+
timeBeforeExpirationInMs?: AuthenticateOptions["timeBeforeExpirationInMs"];
|
|
12
14
|
children?: React.ReactElement;
|
|
13
15
|
i18n?: I18nContent;
|
|
16
|
+
logLevel?: LogLevel;
|
|
14
17
|
}
|
|
15
18
|
export declare const KnockProvider: React.FC<KnockProviderProps>;
|
|
16
19
|
export declare const useKnockClient: () => Knock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/core/context/KnockProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"KnockProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/core/context/KnockProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC;CACd;AAMD,MAAM,WAAW,kBAAkB;IAEjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;IACjE,wBAAwB,CAAC,EAAE,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;IAG3E,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAG9B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwCtD,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,KAMjC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Knock, { KnockOptions } from "@knocklabs/client";
|
|
2
|
-
declare function useAuthenticatedKnockClient(apiKey: string, userId: string, userToken
|
|
1
|
+
import Knock, { AuthenticateOptions, KnockOptions } from "@knocklabs/client";
|
|
2
|
+
declare function useAuthenticatedKnockClient(apiKey: string, userId: string, userToken?: string, options?: KnockOptions & AuthenticateOptions): Knock;
|
|
3
3
|
export default useAuthenticatedKnockClient;
|
|
4
4
|
//# sourceMappingURL=useAuthenticatedKnockClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthenticatedKnockClient.d.ts","sourceRoot":"","sources":["../../../../../src/modules/core/hooks/useAuthenticatedKnockClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAuthenticatedKnockClient.d.ts","sourceRoot":"","sources":["../../../../../src/modules/core/hooks/useAuthenticatedKnockClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAe7E,iBAAS,2BAA2B,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,YAAY,GAAG,mBAAwB,SA4BjD;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import Knock, { Feed, FeedClientOptions, FeedStoreState } from "@knocklabs/client";
|
|
3
|
-
import
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { UseBoundStore } from "zustand";
|
|
4
4
|
import { ColorMode } from "../../core/constants";
|
|
5
5
|
export interface KnockFeedProviderState {
|
|
6
6
|
knock: Knock;
|
|
7
7
|
feedClient: Feed;
|
|
8
|
-
useFeedStore:
|
|
8
|
+
useFeedStore: UseBoundStore<FeedStoreState>;
|
|
9
9
|
colorMode: ColorMode;
|
|
10
10
|
}
|
|
11
11
|
export interface KnockFeedProviderProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KnockFeedProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/feed/context/KnockFeedProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"KnockFeedProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/feed/context/KnockFeedProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAIjD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,IAAI,CAAC;IACjB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC;CACtB;AAMD,MAAM,WAAW,sBAAsB;IAErC,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,kBAAkB,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuB9D,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,sBAM/B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import Knock, { Feed, FeedClientOptions } from "@knocklabs/client";
|
|
2
|
-
declare function useNotifications(knock: Knock,
|
|
2
|
+
declare function useNotifications(knock: Knock, feedChannelId: string, options?: FeedClientOptions): Feed;
|
|
3
3
|
export default useNotifications;
|
|
4
4
|
//# sourceMappingURL=useNotifications.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/modules/feed/hooks/useNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,iBAAS,gBAAgB,CACvB,KAAK,EAAE,KAAK,EACZ,
|
|
1
|
+
{"version":3,"file":"useNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/modules/feed/hooks/useNotifications.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,iBAAS,gBAAgB,CACvB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,iBAAsB,QAuBhC;AAED,eAAe,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@knocklabs/react-core",
|
|
3
3
|
"description": "A set of React components to build notification experiences powered by Knock",
|
|
4
4
|
"author": "@knocklabs",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.4",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/cjs/index.js",
|
|
8
8
|
"module": "dist/esm/index.js",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
],
|
|
22
22
|
"scripts": {
|
|
23
23
|
"clean": "rimraf dist",
|
|
24
|
-
"dev": "tsc && vite build --watch",
|
|
24
|
+
"dev": "tsc && vite build --watch --emptyOutDir false",
|
|
25
25
|
"build": "yarn clean && yarn build:esm && yarn build:cjs",
|
|
26
|
-
"build:esm": "
|
|
27
|
-
"build:cjs": "
|
|
26
|
+
"build:esm": "BUILD_TARGET=esm; tsc && vite build",
|
|
27
|
+
"build:cjs": "BUILD_TARGET=cjs; tsc && vite build",
|
|
28
28
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
29
29
|
"format": "prettier \"src/**/*.{js,ts,tsx}\" --write",
|
|
30
30
|
"format:check": "prettier \"src/**/*.{js,ts,tsx}\" --check",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"react": ">=16.8.0"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@knocklabs/client": "
|
|
47
|
+
"@knocklabs/client": "workspace:^",
|
|
48
48
|
"date-fns": "^3.3.1",
|
|
49
49
|
"zustand": "^3.7.2"
|
|
50
50
|
},
|
|
@@ -67,4 +67,4 @@
|
|
|
67
67
|
"vite-plugin-no-bundle": "^3.0.0",
|
|
68
68
|
"vitest": "^1.2.2"
|
|
69
69
|
}
|
|
70
|
-
}
|
|
70
|
+
}
|