@knocklabs/react-core 0.3.1 → 0.3.2

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.
Files changed (102) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/index.js +1 -1
  3. package/dist/cjs/modules/core/utils.js +1 -1
  4. package/dist/cjs/modules/core/utils.js.map +1 -1
  5. package/dist/cjs/modules/i18n/languages/en.js +1 -1
  6. package/dist/cjs/modules/i18n/languages/en.js.map +1 -1
  7. package/dist/cjs/modules/i18n/languages/index.js.map +1 -1
  8. package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js +1 -1
  9. package/dist/cjs/modules/ms-teams/context/KnockMsTeamsProvider.js.map +1 -1
  10. package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js +2 -0
  11. package/dist/cjs/modules/ms-teams/hooks/useConnectedMsTeamsChannels.js.map +1 -0
  12. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js +1 -1
  13. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsAuth.js.map +1 -1
  14. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js +2 -0
  15. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsChannels.js.map +1 -0
  16. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js +2 -0
  17. package/dist/cjs/modules/ms-teams/hooks/useMsTeamsTeams.js.map +1 -0
  18. package/dist/cjs/modules/slack/context/KnockSlackProvider.js +1 -1
  19. package/dist/cjs/modules/slack/context/KnockSlackProvider.js.map +1 -1
  20. package/dist/cjs/modules/slack/hooks/useConnectedSlackChannels.js.map +1 -1
  21. package/dist/cjs/modules/slack/hooks/useSlackAuth.js +1 -1
  22. package/dist/cjs/modules/slack/hooks/useSlackAuth.js.map +1 -1
  23. package/dist/cjs/modules/slack/hooks/useSlackChannels.js +1 -1
  24. package/dist/cjs/modules/slack/hooks/useSlackChannels.js.map +1 -1
  25. package/dist/cjs/modules/slack/hooks/useSlackConnectionStatus.js.map +1 -1
  26. package/dist/esm/index.mjs +36 -30
  27. package/dist/esm/index.mjs.map +1 -1
  28. package/dist/esm/modules/core/utils.mjs +1 -1
  29. package/dist/esm/modules/core/utils.mjs.map +1 -1
  30. package/dist/esm/modules/i18n/languages/en.mjs +3 -0
  31. package/dist/esm/modules/i18n/languages/en.mjs.map +1 -1
  32. package/dist/esm/modules/i18n/languages/index.mjs.map +1 -1
  33. package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs +23 -20
  34. package/dist/esm/modules/ms-teams/context/KnockMsTeamsProvider.mjs.map +1 -1
  35. package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs +78 -0
  36. package/dist/esm/modules/ms-teams/hooks/useConnectedMsTeamsChannels.mjs.map +1 -0
  37. package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs +4 -2
  38. package/dist/esm/modules/ms-teams/hooks/useMsTeamsAuth.mjs.map +1 -1
  39. package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs +41 -0
  40. package/dist/esm/modules/ms-teams/hooks/useMsTeamsChannels.mjs.map +1 -0
  41. package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs +50 -0
  42. package/dist/esm/modules/ms-teams/hooks/useMsTeamsTeams.mjs.map +1 -0
  43. package/dist/esm/modules/slack/context/KnockSlackProvider.mjs +26 -25
  44. package/dist/esm/modules/slack/context/KnockSlackProvider.mjs.map +1 -1
  45. package/dist/esm/modules/slack/hooks/useConnectedSlackChannels.mjs.map +1 -1
  46. package/dist/esm/modules/slack/hooks/useSlackAuth.mjs +15 -15
  47. package/dist/esm/modules/slack/hooks/useSlackAuth.mjs.map +1 -1
  48. package/dist/esm/modules/slack/hooks/useSlackChannels.mjs +10 -10
  49. package/dist/esm/modules/slack/hooks/useSlackChannels.mjs.map +1 -1
  50. package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs +6 -6
  51. package/dist/esm/modules/slack/hooks/useSlackConnectionStatus.mjs.map +1 -1
  52. package/dist/types/index.d.ts +1 -0
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/types/interfaces.d.ts +5 -0
  55. package/dist/types/interfaces.d.ts.map +1 -0
  56. package/dist/types/modules/core/utils.d.ts +2 -2
  57. package/dist/types/modules/core/utils.d.ts.map +1 -1
  58. package/dist/types/modules/i18n/languages/en.d.ts.map +1 -1
  59. package/dist/types/modules/i18n/languages/index.d.ts +3 -0
  60. package/dist/types/modules/i18n/languages/index.d.ts.map +1 -1
  61. package/dist/types/modules/ms-teams/hooks/index.d.ts +3 -0
  62. package/dist/types/modules/ms-teams/hooks/index.d.ts.map +1 -1
  63. package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts +15 -0
  64. package/dist/types/modules/ms-teams/hooks/useConnectedMsTeamsChannels.d.ts.map +1 -0
  65. package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts +14 -0
  66. package/dist/types/modules/ms-teams/hooks/useMsTeamsChannels.d.ts.map +1 -0
  67. package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts +13 -0
  68. package/dist/types/modules/ms-teams/hooks/useMsTeamsTeams.d.ts.map +1 -0
  69. package/dist/types/modules/ms-teams/index.d.ts +1 -0
  70. package/dist/types/modules/ms-teams/index.d.ts.map +1 -1
  71. package/dist/types/modules/ms-teams/interfaces.d.ts +11 -0
  72. package/dist/types/modules/ms-teams/interfaces.d.ts.map +1 -0
  73. package/dist/types/modules/slack/context/KnockSlackProvider.d.ts +12 -2
  74. package/dist/types/modules/slack/context/KnockSlackProvider.d.ts.map +1 -1
  75. package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts +6 -6
  76. package/dist/types/modules/slack/hooks/useConnectedSlackChannels.d.ts.map +1 -1
  77. package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts +1 -1
  78. package/dist/types/modules/slack/hooks/useSlackConnectionStatus.d.ts.map +1 -1
  79. package/dist/types/modules/slack/index.d.ts +1 -1
  80. package/dist/types/modules/slack/index.d.ts.map +1 -1
  81. package/dist/types/modules/slack/{constants.d.ts → interfaces.d.ts} +3 -5
  82. package/dist/types/modules/slack/interfaces.d.ts.map +1 -0
  83. package/package.json +3 -3
  84. package/src/index.ts +1 -0
  85. package/src/interfaces.ts +4 -0
  86. package/src/modules/core/utils.ts +3 -3
  87. package/src/modules/i18n/languages/en.ts +5 -0
  88. package/src/modules/i18n/languages/index.ts +3 -0
  89. package/src/modules/ms-teams/hooks/index.ts +3 -0
  90. package/src/modules/ms-teams/hooks/useConnectedMsTeamsChannels.ts +100 -0
  91. package/src/modules/ms-teams/hooks/useMsTeamsChannels.ts +53 -0
  92. package/src/modules/ms-teams/hooks/useMsTeamsTeams.ts +112 -0
  93. package/src/modules/ms-teams/index.ts +1 -0
  94. package/src/modules/ms-teams/interfaces.ts +11 -0
  95. package/src/modules/slack/context/KnockSlackProvider.tsx +25 -8
  96. package/src/modules/slack/hooks/useConnectedSlackChannels.ts +7 -6
  97. package/src/modules/slack/hooks/useSlackAuth.ts +5 -5
  98. package/src/modules/slack/hooks/useSlackChannels.ts +2 -2
  99. package/src/modules/slack/hooks/useSlackConnectionStatus.ts +3 -3
  100. package/src/modules/slack/index.ts +1 -1
  101. package/src/modules/slack/{constants.ts → interfaces.ts} +3 -4
  102. package/dist/types/modules/slack/constants.d.ts.map +0 -1
@@ -1,8 +1,8 @@
1
- import { useKnockSlackClient as L } from "../context/KnockSlackProvider.mjs";
2
- import { useMemo as N, useEffect as g } from "react";
1
+ import { useKnockSlackClient as I } from "../context/KnockSlackProvider.mjs";
2
+ import { useMemo as L, useEffect as N } from "react";
3
3
  import "../../i18n/context/KnockI18nProvider.mjs";
4
- import A from "swr/infinite";
5
- import { useKnockClient as I } from "../../core/context/KnockProvider.mjs";
4
+ import g from "swr/infinite";
5
+ import { useKnockClient as A } from "../../core/context/KnockProvider.mjs";
6
6
  import "@knocklabs/client";
7
7
  import "zustand/shallow";
8
8
  import "date-fns";
@@ -14,11 +14,11 @@ function V({
14
14
  queryOptions: n
15
15
  }) {
16
16
  var C, _;
17
- const e = I(), {
17
+ const e = A(), {
18
18
  knockSlackChannelId: S,
19
- tenant: d,
19
+ tenantId: d,
20
20
  connectionStatus: a
21
- } = L(), x = (c) => e.slack.getChannels({
21
+ } = I(), x = (c) => e.slack.getChannels({
22
22
  tenant: d,
23
23
  knockChannelId: S,
24
24
  queryOptions: {
@@ -35,10 +35,10 @@ function V({
35
35
  size: m,
36
36
  setSize: f,
37
37
  mutate: E
38
- } = A(z, x, {
38
+ } = g(z, x, {
39
39
  initialSize: 0
40
- }), r = (t == null ? void 0 : t.length) || 0, h = r === 0 || t && ((C = t[r]) == null ? void 0 : C.next_cursor) && ((_ = t[r]) == null ? void 0 : _.next_cursor) !== "", s = N(() => (t ?? []).flatMap((c) => c == null ? void 0 : c.slack_channels).filter((c) => !!c), [t]), k = (n == null ? void 0 : n.maxCount) || P;
41
- return g(() => {
40
+ }), r = (t == null ? void 0 : t.length) || 0, h = r === 0 || t && ((C = t[r]) == null ? void 0 : C.next_cursor) && ((_ = t[r]) == null ? void 0 : _.next_cursor) !== "", s = L(() => (t ?? []).flatMap((c) => c == null ? void 0 : c.slack_channels).filter((c) => !!c), [t]), k = (n == null ? void 0 : n.maxCount) || P;
41
+ return N(() => {
42
42
  a === "connected" && !i && h && !l && !o && s.length < k && f(m + 1);
43
43
  }, [s.length, f, m, h, l, o, k, i, a]), {
44
44
  data: s,
@@ -1 +1 @@
1
- {"version":3,"file":"useSlackChannels.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackChannels.ts"],"sourcesContent":["import { SlackChannelQueryOptions, useKnockSlackClient } from \"..\";\nimport { GetSlackChannelsResponse, SlackChannel } from \"@knocklabs/client\";\nimport { useEffect, useMemo } from \"react\";\nimport useSWRInfinite from \"swr/infinite\";\n\nimport { useKnockClient } from \"../../core\";\n\nconst MAX_COUNT = 1000;\nconst LIMIT_PER_PAGE = 200;\nconst CHANNEL_TYPES = \"private_channel,public_channel\";\n\nconst QUERY_KEY = \"SLACK_CHANNELS\";\n\ntype UseSlackChannelsProps = {\n queryOptions?: SlackChannelQueryOptions;\n};\n\ntype UseSlackChannelOutput = {\n data: SlackChannel[];\n isLoading: boolean;\n refetch: () => void;\n};\n\ntype QueryKey = [key: string, cursor: string] | null;\n\nfunction getQueryKey(\n pageIndex: number,\n previousPageData: GetSlackChannelsResponse,\n): QueryKey {\n // First page so just pass empty\n if (pageIndex === 0) {\n return [QUERY_KEY, \"\"];\n }\n\n // If there's no more data then return an empty next cursor\n if (previousPageData && [\"\", null].includes(previousPageData.next_cursor)) {\n return null;\n }\n\n // Next cursor exists so pass it\n return [QUERY_KEY, previousPageData.next_cursor ?? \"\"];\n}\n\nfunction useSlackChannels({\n queryOptions,\n}: UseSlackChannelsProps): UseSlackChannelOutput {\n const knock = useKnockClient();\n const { knockSlackChannelId, tenant, connectionStatus } =\n useKnockSlackClient();\n\n const fetchChannels = (queryKey: QueryKey) => {\n return knock.slack.getChannels({\n tenant,\n knockChannelId: knockSlackChannelId,\n queryOptions: {\n ...queryOptions,\n cursor: queryKey ? queryKey[1] : \"\",\n limit: queryOptions?.limitPerPage || LIMIT_PER_PAGE,\n types: queryOptions?.types || CHANNEL_TYPES,\n },\n });\n };\n\n const { data, error, isLoading, isValidating, size, setSize, mutate } =\n useSWRInfinite<GetSlackChannelsResponse>(getQueryKey, fetchChannels, {\n initialSize: 0,\n });\n\n const currentPage = data?.length || 0;\n\n const hasNextPage =\n currentPage === 0 ||\n (data &&\n data[currentPage]?.next_cursor &&\n data[currentPage]?.next_cursor !== \"\");\n\n const slackChannels: SlackChannel[] = useMemo(\n () =>\n (data ?? [])\n .flatMap((page) => page?.slack_channels)\n .filter((channel) => !!channel),\n [data],\n );\n\n const maxCount = queryOptions?.maxCount || MAX_COUNT;\n\n useEffect(() => {\n if (\n connectionStatus === \"connected\" &&\n !error &&\n hasNextPage &&\n !isLoading &&\n !isValidating &&\n slackChannels.length < maxCount\n ) {\n // Fetch a page at a time until we have nothing else left to fetch\n // or we've already hit the max amount of channels to fetch\n setSize(size + 1);\n }\n }, [\n slackChannels.length,\n setSize,\n size,\n hasNextPage,\n isLoading,\n isValidating,\n maxCount,\n error,\n connectionStatus,\n ]);\n\n return {\n data: slackChannels,\n isLoading: isLoading || isValidating,\n refetch: () => mutate(),\n };\n}\n\nexport default useSlackChannels;\n"],"names":["MAX_COUNT","LIMIT_PER_PAGE","CHANNEL_TYPES","QUERY_KEY","getQueryKey","pageIndex","previousPageData","includes","next_cursor","useSlackChannels","queryOptions","knock","useKnockClient","knockSlackChannelId","tenant","connectionStatus","useKnockSlackClient","fetchChannels","queryKey","slack","getChannels","knockChannelId","cursor","limit","limitPerPage","types","data","error","isLoading","isValidating","size","setSize","mutate","useSWRInfinite","initialSize","currentPage","length","hasNextPage","slackChannels","useMemo","flatMap","page","slack_channels","filter","channel","maxCount","useEffect","refetch"],"mappings":";;;;;;;;AAOA,MAAMA,IAAY,KACZC,IAAiB,KACjBC,IAAgB,kCAEhBC,IAAY;AAclB,SAASC,EACPC,GACAC,GACU;AAEV,SAAID,MAAc,IACT,CAACF,GAAW,EAAE,IAInBG,KAAoB,CAAC,IAAI,IAAI,EAAEC,SAASD,EAAiBE,WAAW,IAC/D,OAIF,CAACL,GAAWG,EAAiBE,eAAe,EAAE;AACvD;AAEA,SAASC,EAAiB;AAAA,EACxBC,cAAAA;AACqB,GAA0B;;AAC/C,QAAMC,IAAQC,KACR;AAAA,IAAEC,qBAAAA;AAAAA,IAAqBC,QAAAA;AAAAA,IAAQC,kBAAAA;AAAAA,MACnCC,EAAoB,GAEhBC,IAAgBA,CAACC,MACdP,EAAMQ,MAAMC,YAAY;AAAA,IAC7BN,QAAAA;AAAAA,IACAO,gBAAgBR;AAAAA,IAChBH,cAAc;AAAA,MACZ,GAAGA;AAAAA,MACHY,QAAQJ,IAAWA,EAAS,CAAC,IAAI;AAAA,MACjCK,QAAOb,KAAAA,gBAAAA,EAAcc,iBAAgBvB;AAAAA,MACrCwB,QAAOf,KAAAA,gBAAAA,EAAce,UAASvB;AAAAA,IAChC;AAAA,EAAA,CACD,GAGG;AAAA,IAAEwB,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,WAAAA;AAAAA,IAAWC,cAAAA;AAAAA,IAAcC,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASC,QAAAA;AAAAA,EAAAA,IAC3DC,EAAyC7B,GAAaa,GAAe;AAAA,IACnEiB,aAAa;AAAA,EAAA,CACd,GAEGC,KAAcT,KAAAA,gBAAAA,EAAMU,WAAU,GAE9BC,IACJF,MAAgB,KACfT,OACCA,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBlB,kBACnBkB,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBlB,iBAAgB,IAEjC8B,IAAgCC,EACpC,OACGb,KAAQ,IACNc,QAASC,CAASA,MAAAA,KAAAA,gBAAAA,EAAMC,cAAc,EACtCC,OAAQC,OAAY,CAAC,CAACA,CAAO,GAClC,CAAClB,CAAI,CACP,GAEMmB,KAAWnC,KAAAA,gBAAAA,EAAcmC,aAAY7C;AAE3C8C,SAAAA,EAAU,MAAM;AAEZ/B,IAAAA,MAAqB,eACrB,CAACY,KACDU,KACA,CAACT,KACD,CAACC,KACDS,EAAcF,SAASS,KAIvBd,EAAQD,IAAO,CAAC;AAAA,EAEjB,GAAA,CACDQ,EAAcF,QACdL,GACAD,GACAO,GACAT,GACAC,GACAgB,GACAlB,GACAZ,CAAgB,CACjB,GAEM;AAAA,IACLW,MAAMY;AAAAA,IACNV,WAAWA,KAAaC;AAAAA,IACxBkB,SAASA,MAAMf,EAAO;AAAA,EAAA;AAE1B;"}
1
+ {"version":3,"file":"useSlackChannels.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackChannels.ts"],"sourcesContent":["import { SlackChannelQueryOptions, useKnockSlackClient } from \"..\";\nimport { GetSlackChannelsResponse, SlackChannel } from \"@knocklabs/client\";\nimport { useEffect, useMemo } from \"react\";\nimport useSWRInfinite from \"swr/infinite\";\n\nimport { useKnockClient } from \"../../core\";\n\nconst MAX_COUNT = 1000;\nconst LIMIT_PER_PAGE = 200;\nconst CHANNEL_TYPES = \"private_channel,public_channel\";\n\nconst QUERY_KEY = \"SLACK_CHANNELS\";\n\ntype UseSlackChannelsProps = {\n queryOptions?: SlackChannelQueryOptions;\n};\n\ntype UseSlackChannelOutput = {\n data: SlackChannel[];\n isLoading: boolean;\n refetch: () => void;\n};\n\ntype QueryKey = [key: string, cursor: string] | null;\n\nfunction getQueryKey(\n pageIndex: number,\n previousPageData: GetSlackChannelsResponse,\n): QueryKey {\n // First page so just pass empty\n if (pageIndex === 0) {\n return [QUERY_KEY, \"\"];\n }\n\n // If there's no more data then return an empty next cursor\n if (previousPageData && [\"\", null].includes(previousPageData.next_cursor)) {\n return null;\n }\n\n // Next cursor exists so pass it\n return [QUERY_KEY, previousPageData.next_cursor ?? \"\"];\n}\n\nfunction useSlackChannels({\n queryOptions,\n}: UseSlackChannelsProps): UseSlackChannelOutput {\n const knock = useKnockClient();\n const { knockSlackChannelId, tenantId, connectionStatus } =\n useKnockSlackClient();\n\n const fetchChannels = (queryKey: QueryKey) => {\n return knock.slack.getChannels({\n tenant: tenantId,\n knockChannelId: knockSlackChannelId,\n queryOptions: {\n ...queryOptions,\n cursor: queryKey ? queryKey[1] : \"\",\n limit: queryOptions?.limitPerPage || LIMIT_PER_PAGE,\n types: queryOptions?.types || CHANNEL_TYPES,\n },\n });\n };\n\n const { data, error, isLoading, isValidating, size, setSize, mutate } =\n useSWRInfinite<GetSlackChannelsResponse>(getQueryKey, fetchChannels, {\n initialSize: 0,\n });\n\n const currentPage = data?.length || 0;\n\n const hasNextPage =\n currentPage === 0 ||\n (data &&\n data[currentPage]?.next_cursor &&\n data[currentPage]?.next_cursor !== \"\");\n\n const slackChannels: SlackChannel[] = useMemo(\n () =>\n (data ?? [])\n .flatMap((page) => page?.slack_channels)\n .filter((channel) => !!channel),\n [data],\n );\n\n const maxCount = queryOptions?.maxCount || MAX_COUNT;\n\n useEffect(() => {\n if (\n connectionStatus === \"connected\" &&\n !error &&\n hasNextPage &&\n !isLoading &&\n !isValidating &&\n slackChannels.length < maxCount\n ) {\n // Fetch a page at a time until we have nothing else left to fetch\n // or we've already hit the max amount of channels to fetch\n setSize(size + 1);\n }\n }, [\n slackChannels.length,\n setSize,\n size,\n hasNextPage,\n isLoading,\n isValidating,\n maxCount,\n error,\n connectionStatus,\n ]);\n\n return {\n data: slackChannels,\n isLoading: isLoading || isValidating,\n refetch: () => mutate(),\n };\n}\n\nexport default useSlackChannels;\n"],"names":["MAX_COUNT","LIMIT_PER_PAGE","CHANNEL_TYPES","QUERY_KEY","getQueryKey","pageIndex","previousPageData","includes","next_cursor","useSlackChannels","queryOptions","knock","useKnockClient","knockSlackChannelId","tenantId","connectionStatus","useKnockSlackClient","fetchChannels","queryKey","slack","getChannels","tenant","knockChannelId","cursor","limit","limitPerPage","types","data","error","isLoading","isValidating","size","setSize","mutate","useSWRInfinite","initialSize","currentPage","length","hasNextPage","slackChannels","useMemo","flatMap","page","slack_channels","filter","channel","maxCount","useEffect","refetch"],"mappings":";;;;;;;;AAOA,MAAMA,IAAY,KACZC,IAAiB,KACjBC,IAAgB,kCAEhBC,IAAY;AAclB,SAASC,EACPC,GACAC,GACU;AAEV,SAAID,MAAc,IACT,CAACF,GAAW,EAAE,IAInBG,KAAoB,CAAC,IAAI,IAAI,EAAEC,SAASD,EAAiBE,WAAW,IAC/D,OAIF,CAACL,GAAWG,EAAiBE,eAAe,EAAE;AACvD;AAEA,SAASC,EAAiB;AAAA,EACxBC,cAAAA;AACqB,GAA0B;;AAC/C,QAAMC,IAAQC,KACR;AAAA,IAAEC,qBAAAA;AAAAA,IAAqBC,UAAAA;AAAAA,IAAUC,kBAAAA;AAAAA,MACrCC,EAAoB,GAEhBC,IAAgBA,CAACC,MACdP,EAAMQ,MAAMC,YAAY;AAAA,IAC7BC,QAAQP;AAAAA,IACRQ,gBAAgBT;AAAAA,IAChBH,cAAc;AAAA,MACZ,GAAGA;AAAAA,MACHa,QAAQL,IAAWA,EAAS,CAAC,IAAI;AAAA,MACjCM,QAAOd,KAAAA,gBAAAA,EAAce,iBAAgBxB;AAAAA,MACrCyB,QAAOhB,KAAAA,gBAAAA,EAAcgB,UAASxB;AAAAA,IAChC;AAAA,EAAA,CACD,GAGG;AAAA,IAAEyB,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,WAAAA;AAAAA,IAAWC,cAAAA;AAAAA,IAAcC,MAAAA;AAAAA,IAAMC,SAAAA;AAAAA,IAASC,QAAAA;AAAAA,EAAAA,IAC3DC,EAAyC9B,GAAaa,GAAe;AAAA,IACnEkB,aAAa;AAAA,EAAA,CACd,GAEGC,KAAcT,KAAAA,gBAAAA,EAAMU,WAAU,GAE9BC,IACJF,MAAgB,KACfT,OACCA,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBnB,kBACnBmB,IAAAA,EAAKS,CAAW,MAAhBT,gBAAAA,EAAmBnB,iBAAgB,IAEjC+B,IAAgCC,EACpC,OACGb,KAAQ,IACNc,QAASC,CAASA,MAAAA,KAAAA,gBAAAA,EAAMC,cAAc,EACtCC,OAAQC,OAAY,CAAC,CAACA,CAAO,GAClC,CAAClB,CAAI,CACP,GAEMmB,KAAWpC,KAAAA,gBAAAA,EAAcoC,aAAY9C;AAE3C+C,SAAAA,EAAU,MAAM;AAEZhC,IAAAA,MAAqB,eACrB,CAACa,KACDU,KACA,CAACT,KACD,CAACC,KACDS,EAAcF,SAASS,KAIvBd,EAAQD,IAAO,CAAC;AAAA,EAEjB,GAAA,CACDQ,EAAcF,QACdL,GACAD,GACAO,GACAT,GACAC,GACAgB,GACAlB,GACAb,CAAgB,CACjB,GAEM;AAAA,IACLY,MAAMY;AAAAA,IACNV,WAAWA,KAAaC;AAAAA,IACxBkB,SAASA,MAAMf,EAAO;AAAA,EAAA;AAE1B;"}
@@ -8,10 +8,10 @@ const C = (o) => {
8
8
  function y(o, e, c) {
9
9
  const {
10
10
  t: a
11
- } = A(), [r, n] = s("connecting"), [p, i] = s(null), [b, m] = s(null);
11
+ } = A(), [r, n] = s("connecting"), [b, i] = s(null), [d, m] = s(null);
12
12
  return g(() => {
13
13
  (async () => {
14
- var u, l, f, k, S, d, h;
14
+ var u, l, f, k, S, h, p;
15
15
  if (r === "connecting")
16
16
  try {
17
17
  const t = await o.slack.authCheck({
@@ -22,8 +22,8 @@ function y(o, e, c) {
22
22
  return n("connected");
23
23
  if (!((l = t.connection) != null && l.ok) || t.code === "ERR_BAD_REQUEST" && ((k = (f = t.response) == null ? void 0 : f.data) == null ? void 0 : k.message) === a("slackAccessTokenNotSet"))
24
24
  return n("disconnected");
25
- if (!((S = t.connection) != null && S.ok) && ((d = t.connection) != null && d.error)) {
26
- const E = C((h = t.connection) == null ? void 0 : h.error);
25
+ if (!((S = t.connection) != null && S.ok) && ((h = t.connection) != null && h.error)) {
26
+ const E = C((p = t.connection) == null ? void 0 : p.error);
27
27
  i(E), n("error");
28
28
  return;
29
29
  }
@@ -35,9 +35,9 @@ function y(o, e, c) {
35
35
  }, [r, c, e, o.slack, a]), {
36
36
  connectionStatus: r,
37
37
  setConnectionStatus: n,
38
- errorLabel: p,
38
+ errorLabel: b,
39
39
  setErrorLabel: i,
40
- actionLabel: b,
40
+ actionLabel: d,
41
41
  setActionLabel: m
42
42
  };
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSlackConnectionStatus.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackConnectionStatus.ts"],"sourcesContent":["import Knock from \"@knocklabs/client\";\nimport { useEffect, useState } from \"react\";\n\nimport { useTranslations } from \"../../i18n\";\n\nexport type ConnectionStatus =\n | \"connecting\"\n | \"connected\"\n | \"disconnected\"\n | \"error\"\n | \"disconnecting\";\n\ntype UseSlackConnectionStatusOutput = {\n connectionStatus: ConnectionStatus;\n setConnectionStatus: (status: ConnectionStatus) => void;\n errorLabel: string | null;\n setErrorLabel: (errorLabel: string) => void;\n actionLabel: string | null;\n setActionLabel: (actionLabel: string | null) => void;\n};\n\n/**\n * Transforms a slack error message into\n * a formatted one. Slack error messages: https://api.slack.com/methods/auth.test#errors\n *\n * Ex.: \"account_inactive\" -> \"Account inactive\"\n */\nconst formatSlackErrorMessage = (errorMessage: string) => {\n const firstLetter = errorMessage.substring(0, 1).toUpperCase();\n const rest = errorMessage.substring(1);\n return firstLetter?.concat(rest).replace(\"_\", \" \");\n};\n\nfunction useSlackConnectionStatus(\n knock: Knock,\n knockSlackChannelId: string,\n tenant: string,\n): UseSlackConnectionStatusOutput {\n const { t } = useTranslations();\n const [connectionStatus, setConnectionStatus] =\n useState<ConnectionStatus>(\"connecting\");\n const [errorLabel, setErrorLabel] = useState<string | null>(null);\n const [actionLabel, setActionLabel] = useState<string | null>(null);\n\n useEffect(() => {\n const checkAuthStatus = async () => {\n if (connectionStatus !== \"connecting\") return;\n\n try {\n const authRes = await knock.slack.authCheck({\n tenant,\n knockChannelId: knockSlackChannelId,\n });\n\n if (authRes.connection?.ok) {\n return setConnectionStatus(\"connected\");\n }\n\n if (!authRes.connection?.ok) {\n return setConnectionStatus(\"disconnected\");\n }\n\n // This is a normal response for a tenant that doesn't have an access\n // token set on it, meaning it's not connected to Slack, so we\n // give it a \"disconnected\" status instead of an error status.\n if (\n authRes.code === \"ERR_BAD_REQUEST\" &&\n authRes.response?.data?.message === t(\"slackAccessTokenNotSet\")\n ) {\n return setConnectionStatus(\"disconnected\");\n }\n\n // This is for an error coming directly from Slack.\n if (!authRes.connection?.ok && authRes.connection?.error) {\n const errorLabel = formatSlackErrorMessage(authRes.connection?.error);\n setErrorLabel(errorLabel);\n setConnectionStatus(\"error\");\n return;\n }\n\n // This is for any Knock errors that would require a reconnect.\n\n setConnectionStatus(\"error\");\n } catch (_error) {\n setConnectionStatus(\"error\");\n }\n };\n\n checkAuthStatus();\n }, [connectionStatus, tenant, knockSlackChannelId, knock.slack, t]);\n\n return {\n connectionStatus,\n setConnectionStatus,\n errorLabel,\n setErrorLabel,\n actionLabel,\n setActionLabel,\n };\n}\n\nexport default useSlackConnectionStatus;\n"],"names":["formatSlackErrorMessage","errorMessage","firstLetter","substring","toUpperCase","rest","concat","replace","useSlackConnectionStatus","knock","knockSlackChannelId","tenant","t","useTranslations","connectionStatus","setConnectionStatus","useState","errorLabel","setErrorLabel","actionLabel","setActionLabel","useEffect","authRes","slack","authCheck","knockChannelId","connection","ok","code","response","data","message","error"],"mappings":";;;AA2BA,MAAMA,IAA0BA,CAACC,MAAyB;AACxD,QAAMC,IAAcD,EAAaE,UAAU,GAAG,CAAC,EAAEC,eAC3CC,IAAOJ,EAAaE,UAAU,CAAC;AACrC,SAAOD,KAAAA,gBAAAA,EAAaI,OAAOD,GAAME,QAAQ,KAAK;AAChD;AAEA,SAASC,EACPC,GACAC,GACAC,GACgC;AAC1B,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GACxB,CAACC,GAAkBC,CAAmB,IAC1CC,EAA2B,YAAY,GACnC,CAACC,GAAYC,CAAa,IAAIF,EAAwB,IAAI,GAC1D,CAACG,GAAaC,CAAc,IAAIJ,EAAwB,IAAI;AAElEK,SAAAA,EAAU,MAAM;AA4CE,KA3CQ,YAAY;;AAClC,UAAIP,MAAqB;AAErB,YAAA;AACF,gBAAMQ,IAAU,MAAMb,EAAMc,MAAMC,UAAU;AAAA,YAC1Cb,QAAAA;AAAAA,YACAc,gBAAgBf;AAAAA,UAAAA,CACjB;AAEGY,eAAAA,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBK;AACtB,mBAAOZ,EAAoB,WAAW;AAWtCO,cARE,GAACA,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBK,OAQvBL,EAAQM,SAAS,uBACjBN,KAAAA,IAAAA,EAAQO,aAARP,gBAAAA,EAAkBQ,SAAlBR,gBAAAA,EAAwBS,aAAYnB,EAAE,wBAAwB;AAE9D,mBAAOG,EAAoB,cAAc;AAI3C,cAAI,GAACO,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBK,SAAML,IAAAA,EAAQI,eAARJ,QAAAA,EAAoBU,QAAO;AACxD,kBAAMf,IAAajB,GAAwBsB,IAAAA,EAAQI,eAARJ,gBAAAA,EAAoBU,KAAK;AACpEd,YAAAA,EAAcD,CAAU,GACxBF,EAAoB,OAAO;AAC3B;AAAA,UACF;AAIAA,UAAAA,EAAoB,OAAO;AAAA,gBACZ;AACfA,UAAAA,EAAoB,OAAO;AAAA,QAC7B;AAAA,IAAA;EAGc,GACf,CAACD,GAAkBH,GAAQD,GAAqBD,EAAMc,OAAOX,CAAC,CAAC,GAE3D;AAAA,IACLE,kBAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAE,YAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,gBAAAA;AAAAA,EAAAA;AAEJ;"}
1
+ {"version":3,"file":"useSlackConnectionStatus.mjs","sources":["../../../../../src/modules/slack/hooks/useSlackConnectionStatus.ts"],"sourcesContent":["import Knock from \"@knocklabs/client\";\nimport { useEffect, useState } from \"react\";\n\nimport { useTranslations } from \"../../i18n\";\n\nexport type ConnectionStatus =\n | \"connecting\"\n | \"connected\"\n | \"disconnected\"\n | \"error\"\n | \"disconnecting\";\n\ntype UseSlackConnectionStatusOutput = {\n connectionStatus: ConnectionStatus;\n setConnectionStatus: (status: ConnectionStatus) => void;\n errorLabel: string | null;\n setErrorLabel: (errorLabel: string) => void;\n actionLabel: string | null;\n setActionLabel: (actionLabel: string | null) => void;\n};\n\n/**\n * Transforms a slack error message into\n * a formatted one. Slack error messages: https://api.slack.com/methods/auth.test#errors\n *\n * Ex.: \"account_inactive\" -> \"Account inactive\"\n */\nconst formatSlackErrorMessage = (errorMessage: string) => {\n const firstLetter = errorMessage.substring(0, 1).toUpperCase();\n const rest = errorMessage.substring(1);\n return firstLetter?.concat(rest).replace(\"_\", \" \");\n};\n\nfunction useSlackConnectionStatus(\n knock: Knock,\n knockSlackChannelId: string,\n tenantId: string,\n): UseSlackConnectionStatusOutput {\n const { t } = useTranslations();\n const [connectionStatus, setConnectionStatus] =\n useState<ConnectionStatus>(\"connecting\");\n const [errorLabel, setErrorLabel] = useState<string | null>(null);\n const [actionLabel, setActionLabel] = useState<string | null>(null);\n\n useEffect(() => {\n const checkAuthStatus = async () => {\n if (connectionStatus !== \"connecting\") return;\n\n try {\n const authRes = await knock.slack.authCheck({\n tenant: tenantId,\n knockChannelId: knockSlackChannelId,\n });\n\n if (authRes.connection?.ok) {\n return setConnectionStatus(\"connected\");\n }\n\n if (!authRes.connection?.ok) {\n return setConnectionStatus(\"disconnected\");\n }\n\n // This is a normal response for a tenant that doesn't have an access\n // token set on it, meaning it's not connected to Slack, so we\n // give it a \"disconnected\" status instead of an error status.\n if (\n authRes.code === \"ERR_BAD_REQUEST\" &&\n authRes.response?.data?.message === t(\"slackAccessTokenNotSet\")\n ) {\n return setConnectionStatus(\"disconnected\");\n }\n\n // This is for an error coming directly from Slack.\n if (!authRes.connection?.ok && authRes.connection?.error) {\n const errorLabel = formatSlackErrorMessage(authRes.connection?.error);\n setErrorLabel(errorLabel);\n setConnectionStatus(\"error\");\n return;\n }\n\n // This is for any Knock errors that would require a reconnect.\n\n setConnectionStatus(\"error\");\n } catch (_error) {\n setConnectionStatus(\"error\");\n }\n };\n\n checkAuthStatus();\n }, [connectionStatus, tenantId, knockSlackChannelId, knock.slack, t]);\n\n return {\n connectionStatus,\n setConnectionStatus,\n errorLabel,\n setErrorLabel,\n actionLabel,\n setActionLabel,\n };\n}\n\nexport default useSlackConnectionStatus;\n"],"names":["formatSlackErrorMessage","errorMessage","firstLetter","substring","toUpperCase","rest","concat","replace","useSlackConnectionStatus","knock","knockSlackChannelId","tenantId","t","useTranslations","connectionStatus","setConnectionStatus","useState","errorLabel","setErrorLabel","actionLabel","setActionLabel","useEffect","authRes","slack","authCheck","tenant","knockChannelId","connection","ok","code","response","data","message","error"],"mappings":";;;AA2BA,MAAMA,IAA0BA,CAACC,MAAyB;AACxD,QAAMC,IAAcD,EAAaE,UAAU,GAAG,CAAC,EAAEC,eAC3CC,IAAOJ,EAAaE,UAAU,CAAC;AACrC,SAAOD,KAAAA,gBAAAA,EAAaI,OAAOD,GAAME,QAAQ,KAAK;AAChD;AAEA,SAASC,EACPC,GACAC,GACAC,GACgC;AAC1B,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB,GACxB,CAACC,GAAkBC,CAAmB,IAC1CC,EAA2B,YAAY,GACnC,CAACC,GAAYC,CAAa,IAAIF,EAAwB,IAAI,GAC1D,CAACG,GAAaC,CAAc,IAAIJ,EAAwB,IAAI;AAElEK,SAAAA,EAAU,MAAM;AA4CE,KA3CQ,YAAY;;AAClC,UAAIP,MAAqB;AAErB,YAAA;AACF,gBAAMQ,IAAU,MAAMb,EAAMc,MAAMC,UAAU;AAAA,YAC1CC,QAAQd;AAAAA,YACRe,gBAAgBhB;AAAAA,UAAAA,CACjB;AAEGY,eAAAA,IAAAA,EAAQK,eAARL,QAAAA,EAAoBM;AACtB,mBAAOb,EAAoB,WAAW;AAWtCO,cARE,GAACA,IAAAA,EAAQK,eAARL,QAAAA,EAAoBM,OAQvBN,EAAQO,SAAS,uBACjBP,KAAAA,IAAAA,EAAQQ,aAARR,gBAAAA,EAAkBS,SAAlBT,gBAAAA,EAAwBU,aAAYpB,EAAE,wBAAwB;AAE9D,mBAAOG,EAAoB,cAAc;AAI3C,cAAI,GAACO,IAAAA,EAAQK,eAARL,QAAAA,EAAoBM,SAAMN,IAAAA,EAAQK,eAARL,QAAAA,EAAoBW,QAAO;AACxD,kBAAMhB,IAAajB,GAAwBsB,IAAAA,EAAQK,eAARL,gBAAAA,EAAoBW,KAAK;AACpEf,YAAAA,EAAcD,CAAU,GACxBF,EAAoB,OAAO;AAC3B;AAAA,UACF;AAIAA,UAAAA,EAAoB,OAAO;AAAA,gBACZ;AACfA,UAAAA,EAAoB,OAAO;AAAA,QAC7B;AAAA,IAAA;EAGc,GACf,CAACD,GAAkBH,GAAUD,GAAqBD,EAAMc,OAAOX,CAAC,CAAC,GAE7D;AAAA,IACLE,kBAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAE,YAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,gBAAAA;AAAAA,EAAAA;AAEJ;"}
@@ -3,4 +3,5 @@ export * from './modules/feed';
3
3
  export * from './modules/ms-teams';
4
4
  export * from './modules/slack';
5
5
  export * from './modules/i18n';
6
+ export * from './interfaces';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type RecipientObject = {
2
+ objectId: string;
3
+ collection: string;
4
+ };
5
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -8,9 +8,9 @@ export declare function formatTimestamp(ts: string, options?: FormatTimestampOpt
8
8
  export declare function toSentenceCase(string: string): string;
9
9
  export declare function renderNodeOrFallback(node: ReactNode, fallback: ReactNode): ReactNode;
10
10
  export declare function feedProviderKey(userId: Knock["userId"], feedId: string, options?: FeedClientOptions): string;
11
- export declare function slackProviderKey({ knockSlackChannelId, tenant, connectionStatus, errorLabel, }: {
11
+ export declare function slackProviderKey({ knockSlackChannelId, tenantId, connectionStatus, errorLabel, }: {
12
12
  knockSlackChannelId: string;
13
- tenant: string;
13
+ tenantId: string;
14
14
  connectionStatus: string;
15
15
  errorLabel: string | null;
16
16
  }): string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE/D;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,sBAA2B,UAYrC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,aAExE;AAMD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,UAYhC;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,mBAAmB,EACnB,MAAM,EACN,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,UAIA;AAMD,wBAAgB,kBAAkB,CAAC,EACjC,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,UAIA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/modules/core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAE/D;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,sBAA2B,UAYrC;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,aAExE;AAMD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,iBAAsB,UAYhC;AAMD,wBAAgB,gBAAgB,CAAC,EAC/B,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,UAIA;AAMD,wBAAgB,kBAAkB,CAAC,EACjC,qBAAqB,EACrB,QAAQ,EACR,gBAAgB,EAChB,UAAU,GACX,EAAE;IACD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,UAIA"}
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,QAAA,MAAM,EAAE,EAAE,WAgDT,CAAC;AAEF,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/en.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAEhC,QAAA,MAAM,EAAE,EAAE,WAqDT,CAAC;AAEF,eAAe,EAAE,CAAC"}
@@ -10,9 +10,12 @@ export interface Translations {
10
10
  readonly unread: string;
11
11
  readonly read: string;
12
12
  readonly unseen: string;
13
+ readonly msTeamsChannelSetError: string;
13
14
  readonly msTeamsConnect: string;
14
15
  readonly msTeamsConnected: string;
15
16
  readonly msTeamsConnecting: string;
17
+ readonly msTeamsConnectionErrorExists: string;
18
+ readonly msTeamsConnectionErrorOccurred: string;
16
19
  readonly msTeamsConnectContainerDescription: string;
17
20
  readonly msTeamsDisconnect: string;
18
21
  readonly msTeamsDisconnecting: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,OAAO;;;CAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/i18n/languages/index.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC;IACpD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;IAClD,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAC/C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,4BAA4B,EAAE,MAAM,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,OAAO;;;CAAa,CAAC"}
@@ -1,3 +1,6 @@
1
1
  export { default as useMsTeamsConnectionStatus } from './useMsTeamsConnectionStatus';
2
2
  export { default as useMsTeamsAuth } from './useMsTeamsAuth';
3
+ export { default as useMsTeamsTeams } from './useMsTeamsTeams';
4
+ export { default as useMsTeamsChannels } from './useMsTeamsChannels';
5
+ export { default as useConnectedMsTeamsChannels } from './useConnectedMsTeamsChannels';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { MsTeamsChannelConnection } from '@knocklabs/client';
2
+ import { RecipientObject } from '../../..';
3
+ type UseConnectedMsTeamsChannelsProps = {
4
+ msTeamsChannelsRecipientObject: RecipientObject;
5
+ };
6
+ type UseConnectedMsTeamsChannelsOutput = {
7
+ data: MsTeamsChannelConnection[] | null;
8
+ updateConnectedChannels: (connectedChannels: MsTeamsChannelConnection[]) => Promise<void>;
9
+ loading: boolean;
10
+ error: string | null;
11
+ updating: boolean;
12
+ };
13
+ declare function useConnectedMsTeamsChannels({ msTeamsChannelsRecipientObject: { objectId, collection }, }: UseConnectedMsTeamsChannelsProps): UseConnectedMsTeamsChannelsOutput;
14
+ export default useConnectedMsTeamsChannels;
15
+ //# sourceMappingURL=useConnectedMsTeamsChannels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectedMsTeamsChannels.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/useConnectedMsTeamsChannels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAK7D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,KAAK,gCAAgC,GAAG;IACtC,8BAA8B,EAAE,eAAe,CAAC;CACjD,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACvC,IAAI,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC;IACxC,uBAAuB,EAAE,CACvB,iBAAiB,EAAE,wBAAwB,EAAE,KAC1C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,iBAAS,2BAA2B,CAAC,EACnC,8BAA8B,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GACzD,EAAE,gCAAgC,GAAG,iCAAiC,CAqEtE;AAED,eAAe,2BAA2B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { MsTeamsChannel } from '@knocklabs/client';
2
+ import { MsTeamsChannelQueryOptions } from '../interfaces';
3
+ type UseMsTeamsChannelsProps = {
4
+ teamId?: string;
5
+ queryOptions?: MsTeamsChannelQueryOptions;
6
+ };
7
+ type UseMsTeamsChannelsOutput = {
8
+ data: MsTeamsChannel[];
9
+ isLoading: boolean;
10
+ refetch: () => void;
11
+ };
12
+ declare function useMsTeamsChannels({ teamId, queryOptions, }: UseMsTeamsChannelsProps): UseMsTeamsChannelsOutput;
13
+ export default useMsTeamsChannels;
14
+ //# sourceMappingURL=useMsTeamsChannels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMsTeamsChannels.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/useMsTeamsChannels.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAI3D,KAAK,uBAAuB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,0BAA0B,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,iBAAS,kBAAkB,CAAC,EAC1B,MAAM,EACN,YAAY,GACb,EAAE,uBAAuB,GAAG,wBAAwB,CA2BpD;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { MsTeamsTeam } from '@knocklabs/client';
2
+ import { MsTeamsTeamQueryOptions } from '../interfaces';
3
+ type UseMsTeamsTeamsProps = {
4
+ queryOptions?: MsTeamsTeamQueryOptions;
5
+ };
6
+ type UseMsTeamsTeamsOutput = {
7
+ data: MsTeamsTeam[];
8
+ isLoading: boolean;
9
+ refetch: () => void;
10
+ };
11
+ declare function useMsTeamsTeams({ queryOptions, }: UseMsTeamsTeamsProps): UseMsTeamsTeamsOutput;
12
+ export default useMsTeamsTeams;
13
+ //# sourceMappingURL=useMsTeamsTeams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMsTeamsTeams.d.ts","sourceRoot":"","sources":["../../../../../src/modules/ms-teams/hooks/useMsTeamsTeams.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAMxD,KAAK,oBAAoB,GAAG;IAC1B,YAAY,CAAC,EAAE,uBAAuB,CAAC;CACxC,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAsBF,iBAAS,eAAe,CAAC,EACvB,YAAiB,GAClB,EAAE,oBAAoB,GAAG,qBAAqB,CAiE9C;AAED,eAAe,eAAe,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './context';
2
2
  export * from './hooks';
3
+ export * from './interfaces';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/ms-teams/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/ms-teams/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ export type MsTeamsTeamQueryOptions = {
2
+ maxCount?: number;
3
+ limitPerPage?: number;
4
+ filter?: string;
5
+ select?: string;
6
+ };
7
+ export type MsTeamsChannelQueryOptions = {
8
+ filter?: string;
9
+ select?: string;
10
+ };
11
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/modules/ms-teams/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
@@ -3,6 +3,10 @@ import { ConnectionStatus } from '../hooks/useSlackConnectionStatus';
3
3
  import * as React from "react";
4
4
  export interface KnockSlackProviderState {
5
5
  knockSlackChannelId: string;
6
+ tenantId: string;
7
+ /**
8
+ * @deprecated Use `tenantId` instead. This field will be removed in a future release.
9
+ */
6
10
  tenant: string;
7
11
  connectionStatus: ConnectionStatus;
8
12
  setConnectionStatus: (connectionStatus: ConnectionStatus) => void;
@@ -11,10 +15,16 @@ export interface KnockSlackProviderState {
11
15
  actionLabel: string | null;
12
16
  setActionLabel: (label: string | null) => void;
13
17
  }
14
- export interface KnockSlackProviderProps {
18
+ export type KnockSlackProviderProps = {
15
19
  knockSlackChannelId: string;
20
+ /**
21
+ * @deprecated Use `tenantId` instead. This field will be removed in a future release.
22
+ */
16
23
  tenant: string;
17
- }
24
+ } | {
25
+ knockSlackChannelId: string;
26
+ tenantId: string;
27
+ };
18
28
  export declare const KnockSlackProvider: React.FC<PropsWithChildren<KnockSlackProviderProps>>;
19
29
  export declare const useKnockSlackClient: () => KnockSlackProviderState;
20
30
  //# sourceMappingURL=KnockSlackProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnockSlackProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/slack/context/KnockSlackProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAKD,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACvC,iBAAiB,CAAC,uBAAuB,CAAC,CAmC3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,uBAUtC,CAAC"}
1
+ {"version":3,"file":"KnockSlackProvider.d.ts","sourceRoot":"","sources":["../../../../../src/modules/slack/context/KnockSlackProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAKD,MAAM,MAAM,uBAAuB,GAC/B;IACE,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CACvC,iBAAiB,CAAC,uBAAuB,CAAC,CAwC3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,uBAUtC,CAAC"}
@@ -1,15 +1,15 @@
1
- import { ContainerObject } from '..';
2
1
  import { SlackChannelConnection } from '@knocklabs/client';
3
- type UseSlackChannelsProps = {
4
- slackChannelsRecipientObject: ContainerObject;
2
+ import { RecipientObject } from '../../..';
3
+ type UseConnectedSlackChannelsProps = {
4
+ slackChannelsRecipientObject: RecipientObject;
5
5
  };
6
- type UseSlackChannelOutput = {
6
+ type UseConnectedSlackChannelOutput = {
7
7
  data: SlackChannelConnection[] | null;
8
- updateConnectedChannels: (connectedChannels: SlackChannelConnection[]) => void;
8
+ updateConnectedChannels: (connectedChannels: SlackChannelConnection[]) => Promise<void>;
9
9
  loading: boolean;
10
10
  error: string | null;
11
11
  updating: boolean;
12
12
  };
13
- declare function useConnectedSlackChannels({ slackChannelsRecipientObject: { objectId, collection }, }: UseSlackChannelsProps): UseSlackChannelOutput;
13
+ declare function useConnectedSlackChannels({ slackChannelsRecipientObject: { objectId, collection }, }: UseConnectedSlackChannelsProps): UseConnectedSlackChannelOutput;
14
14
  export default useConnectedSlackChannels;
15
15
  //# sourceMappingURL=useConnectedSlackChannels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectedSlackChannels.d.ts","sourceRoot":"","sources":["../../../../../src/modules/slack/hooks/useConnectedSlackChannels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAuB,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAM3D,KAAK,qBAAqB,GAAG;IAC3B,4BAA4B,EAAE,eAAe,CAAC;CAC/C,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,CACvB,iBAAiB,EAAE,sBAAsB,EAAE,KACxC,IAAI,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,iBAAS,yBAAyB,CAAC,EACjC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GACvD,EAAE,qBAAqB,GAAG,qBAAqB,CA+E/C;AAED,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"useConnectedSlackChannels.d.ts","sourceRoot":"","sources":["../../../../../src/modules/slack/hooks/useConnectedSlackChannels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,KAAK,8BAA8B,GAAG;IACpC,4BAA4B,EAAE,eAAe,CAAC;CAC/C,CAAC;AAEF,KAAK,8BAA8B,GAAG;IACpC,IAAI,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,CACvB,iBAAiB,EAAE,sBAAsB,EAAE,KACxC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,iBAAS,yBAAyB,CAAC,EACjC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GACvD,EAAE,8BAA8B,GAAG,8BAA8B,CA+EjE;AAED,eAAe,yBAAyB,CAAC"}
@@ -8,6 +8,6 @@ type UseSlackConnectionStatusOutput = {
8
8
  actionLabel: string | null;
9
9
  setActionLabel: (actionLabel: string | null) => void;
10
10
  };
11
- declare function useSlackConnectionStatus(knock: Knock, knockSlackChannelId: string, tenant: string): UseSlackConnectionStatusOutput;
11
+ declare function useSlackConnectionStatus(knock: Knock, knockSlackChannelId: string, tenantId: string): UseSlackConnectionStatusOutput;
12
12
  export default useSlackConnectionStatus;
13
13
  //# sourceMappingURL=useSlackConnectionStatus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSlackConnectionStatus.d.ts","sourceRoot":"","sources":["../../../../../src/modules/slack/hooks/useSlackConnectionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAKtC,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,WAAW,GACX,cAAc,GACd,OAAO,GACP,eAAe,CAAC;AAEpB,KAAK,8BAA8B,GAAG;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtD,CAAC;AAcF,iBAAS,wBAAwB,CAC/B,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,MAAM,GACb,8BAA8B,CA8DhC;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"useSlackConnectionStatus.d.ts","sourceRoot":"","sources":["../../../../../src/modules/slack/hooks/useSlackConnectionStatus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAKtC,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,WAAW,GACX,cAAc,GACd,OAAO,GACP,eAAe,CAAC;AAEpB,KAAK,8BAA8B,GAAG;IACpC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtD,CAAC;AAcF,iBAAS,wBAAwB,CAC/B,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,MAAM,GACf,8BAA8B,CA8DhC;AAED,eAAe,wBAAwB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from './context';
2
2
  export * from './hooks';
3
- export * from './constants';
3
+ export * from './interfaces';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/slack/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/slack/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
@@ -1,7 +1,5 @@
1
- export type ContainerObject = {
2
- objectId: string;
3
- collection: string;
4
- };
1
+ import { RecipientObject } from '../../interfaces';
2
+ export type ContainerObject = RecipientObject;
5
3
  export type SlackChannelQueryOptions = {
6
4
  maxCount?: number;
7
5
  limitPerPage?: number;
@@ -9,4 +7,4 @@ export type SlackChannelQueryOptions = {
9
7
  types?: string;
10
8
  teamId?: string;
11
9
  };
12
- //# sourceMappingURL=constants.d.ts.map
10
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/modules/slack/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,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.3.1",
5
+ "version": "0.3.2",
6
6
  "license": "MIT",
7
7
  "main": "dist/cjs/index.js",
8
8
  "module": "dist/esm/index.mjs",
@@ -49,7 +49,7 @@
49
49
  "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
50
50
  },
51
51
  "dependencies": {
52
- "@knocklabs/client": "^0.11.1",
52
+ "@knocklabs/client": "^0.11.2",
53
53
  "date-fns": "^4.0.0",
54
54
  "swr": "^2.2.5",
55
55
  "zustand": "^3.7.2"
@@ -70,7 +70,7 @@
70
70
  "rollup-plugin-execute": "^1.1.1",
71
71
  "typescript": "^5.7.3",
72
72
  "vite": "^5.0.0",
73
- "vite-plugin-dts": "^4.3.0",
73
+ "vite-plugin-dts": "^4.5.0",
74
74
  "vite-plugin-no-bundle": "^4.0.0",
75
75
  "vitest": "^2.1.8"
76
76
  }
package/src/index.ts CHANGED
@@ -3,3 +3,4 @@ export * from "./modules/feed";
3
3
  export * from "./modules/ms-teams";
4
4
  export * from "./modules/slack";
5
5
  export * from "./modules/i18n";
6
+ export * from "./interfaces";
@@ -0,0 +1,4 @@
1
+ export type RecipientObject = {
2
+ objectId: string;
3
+ collection: string;
4
+ };
@@ -61,16 +61,16 @@ export function feedProviderKey(
61
61
  */
62
62
  export function slackProviderKey({
63
63
  knockSlackChannelId,
64
- tenant,
64
+ tenantId,
65
65
  connectionStatus,
66
66
  errorLabel,
67
67
  }: {
68
68
  knockSlackChannelId: string;
69
- tenant: string;
69
+ tenantId: string;
70
70
  connectionStatus: string;
71
71
  errorLabel: string | null;
72
72
  }) {
73
- return [knockSlackChannelId, tenant, connectionStatus, errorLabel]
73
+ return [knockSlackChannelId, tenantId, connectionStatus, errorLabel]
74
74
  .filter((f) => f !== null && f !== undefined)
75
75
  .join("-");
76
76
  }
@@ -12,9 +12,14 @@ const en: I18nContent = {
12
12
  unread: "Unread",
13
13
  read: "Read",
14
14
  unseen: "Unseen",
15
+ msTeamsChannelSetError: "Error setting channel.",
15
16
  msTeamsConnect: "Connect to Microsoft Teams",
16
17
  msTeamsConnected: "Connected",
17
18
  msTeamsConnecting: "Connecting to Microsoft Teams…",
19
+ msTeamsConnectionErrorExists:
20
+ "Try reconnecting to Microsoft Teams to find and select channels from your teams.",
21
+ msTeamsConnectionErrorOccurred:
22
+ "There was an error connecting to Microsoft Teams. Try reconnecting to find and select channels from your teams.",
18
23
  msTeamsConnectContainerDescription:
19
24
  "Connect to get notifications in Microsoft Teams",
20
25
  msTeamsDisconnect: "Disconnect",
@@ -13,9 +13,12 @@ export interface Translations {
13
13
  readonly unread: string;
14
14
  readonly read: string;
15
15
  readonly unseen: string;
16
+ readonly msTeamsChannelSetError: string;
16
17
  readonly msTeamsConnect: string;
17
18
  readonly msTeamsConnected: string;
18
19
  readonly msTeamsConnecting: string;
20
+ readonly msTeamsConnectionErrorExists: string;
21
+ readonly msTeamsConnectionErrorOccurred: string;
19
22
  readonly msTeamsConnectContainerDescription: string;
20
23
  readonly msTeamsDisconnect: string;
21
24
  readonly msTeamsDisconnecting: string;
@@ -1,2 +1,5 @@
1
1
  export { default as useMsTeamsConnectionStatus } from "./useMsTeamsConnectionStatus";
2
2
  export { default as useMsTeamsAuth } from "./useMsTeamsAuth";
3
+ export { default as useMsTeamsTeams } from "./useMsTeamsTeams";
4
+ export { default as useMsTeamsChannels } from "./useMsTeamsChannels";
5
+ export { default as useConnectedMsTeamsChannels } from "./useConnectedMsTeamsChannels";