@knocklabs/react 0.2.7 → 0.2.9

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 (166) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/index.css +1 -1
  3. package/dist/cjs/modules/core/components/Button/Button.js +1 -1
  4. package/dist/cjs/modules/core/components/Button/Button.js.map +1 -1
  5. package/dist/cjs/modules/core/components/Button/ButtonGroup.js +1 -1
  6. package/dist/cjs/modules/core/components/Button/ButtonGroup.js.map +1 -1
  7. package/dist/cjs/modules/core/components/Button/ButtonSpinner.js +1 -1
  8. package/dist/cjs/modules/core/components/Button/ButtonSpinner.js.map +1 -1
  9. package/dist/cjs/modules/core/components/Icons/Bell.js +1 -1
  10. package/dist/cjs/modules/core/components/Icons/Bell.js.map +1 -1
  11. package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js +1 -1
  12. package/dist/cjs/modules/core/components/Icons/CheckmarkCircle.js.map +1 -1
  13. package/dist/cjs/modules/core/components/Icons/ChevronDown.js +1 -1
  14. package/dist/cjs/modules/core/components/Icons/ChevronDown.js.map +1 -1
  15. package/dist/cjs/modules/core/components/Icons/CloseCircle.js +1 -1
  16. package/dist/cjs/modules/core/components/Icons/CloseCircle.js.map +1 -1
  17. package/dist/cjs/modules/core/components/Spinner/Spinner.js +2 -2
  18. package/dist/cjs/modules/core/components/Spinner/Spinner.js.map +1 -1
  19. package/dist/cjs/modules/core/hooks/useComponentVisible.js.map +1 -1
  20. package/dist/cjs/modules/core/hooks/useOnBottomScroll.js.map +1 -1
  21. package/dist/cjs/modules/core/hooks/useOutsideClick.js.map +1 -1
  22. package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js +1 -1
  23. package/dist/cjs/modules/feed/components/EmptyFeed/EmptyFeed.js.map +1 -1
  24. package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js +1 -1
  25. package/dist/cjs/modules/feed/components/NotificationCell/ArchiveButton.js.map +1 -1
  26. package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js +1 -1
  27. package/dist/cjs/modules/feed/components/NotificationCell/Avatar.js.map +1 -1
  28. package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js +1 -1
  29. package/dist/cjs/modules/feed/components/NotificationCell/NotificationCell.js.map +1 -1
  30. package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js +1 -1
  31. package/dist/cjs/modules/feed/components/NotificationFeed/Dropdown.js.map +1 -1
  32. package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js +1 -1
  33. package/dist/cjs/modules/feed/components/NotificationFeed/MarkAsRead.js.map +1 -1
  34. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js +1 -1
  35. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeed.js.map +1 -1
  36. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js +1 -1
  37. package/dist/cjs/modules/feed/components/NotificationFeed/NotificationFeedHeader.js.map +1 -1
  38. package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js +1 -1
  39. package/dist/cjs/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.js.map +1 -1
  40. package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js +1 -1
  41. package/dist/cjs/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.js.map +1 -1
  42. package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js +1 -1
  43. package/dist/cjs/modules/feed/components/NotificationIconButton/NotificationIconButton.js.map +1 -1
  44. package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js +1 -1
  45. package/dist/cjs/modules/feed/components/UnseenBadge/UnseenBadge.js.map +1 -1
  46. package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js +1 -1
  47. package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js.map +1 -1
  48. package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js +1 -1
  49. package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js.map +1 -1
  50. package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js +1 -1
  51. package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js.map +1 -1
  52. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js +1 -1
  53. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js.map +1 -1
  54. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.js +1 -1
  55. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.js.map +1 -1
  56. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelOption.js +1 -1
  57. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelOption.js.map +1 -1
  58. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.js +1 -1
  59. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.js.map +1 -1
  60. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.js +1 -1
  61. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.js.map +1 -1
  62. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js +1 -1
  63. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js.map +1 -1
  64. package/dist/cjs/modules/slack/components/SlackChannelCombobox/helpers.js +2 -0
  65. package/dist/cjs/modules/slack/components/SlackChannelCombobox/helpers.js.map +1 -0
  66. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.js +1 -1
  67. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.js.map +1 -1
  68. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.js +1 -1
  69. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.js.map +1 -1
  70. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.js +1 -1
  71. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.js.map +1 -1
  72. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.js +1 -1
  73. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.js.map +1 -1
  74. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/LockIcon.js +1 -1
  75. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/LockIcon.js.map +1 -1
  76. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.js +1 -1
  77. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.js.map +1 -1
  78. package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js +1 -1
  79. package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js.map +1 -1
  80. package/dist/cjs/theme.css.js +2 -0
  81. package/dist/esm/modules/core/components/Button/Button.mjs +14 -30
  82. package/dist/esm/modules/core/components/Button/Button.mjs.map +1 -1
  83. package/dist/esm/modules/core/components/Button/ButtonGroup.mjs +5 -3
  84. package/dist/esm/modules/core/components/Button/ButtonGroup.mjs.map +1 -1
  85. package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs +6 -10
  86. package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs.map +1 -1
  87. package/dist/esm/modules/core/components/Icons/Bell.mjs +7 -25
  88. package/dist/esm/modules/core/components/Icons/Bell.mjs.map +1 -1
  89. package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs +3 -33
  90. package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs.map +1 -1
  91. package/dist/esm/modules/core/components/Icons/ChevronDown.mjs +3 -22
  92. package/dist/esm/modules/core/components/Icons/ChevronDown.mjs.map +1 -1
  93. package/dist/esm/modules/core/components/Icons/CloseCircle.mjs +3 -19
  94. package/dist/esm/modules/core/components/Icons/CloseCircle.mjs.map +1 -1
  95. package/dist/esm/modules/core/components/Spinner/Spinner.mjs +13 -47
  96. package/dist/esm/modules/core/components/Spinner/Spinner.mjs.map +1 -1
  97. package/dist/esm/modules/core/hooks/useComponentVisible.mjs +3 -1
  98. package/dist/esm/modules/core/hooks/useComponentVisible.mjs.map +1 -1
  99. package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs +1 -3
  100. package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs.map +1 -1
  101. package/dist/esm/modules/core/hooks/useOutsideClick.mjs.map +1 -1
  102. package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs +10 -9
  103. package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs.map +1 -1
  104. package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs +26 -36
  105. package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs.map +1 -1
  106. package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs +10 -7
  107. package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs.map +1 -1
  108. package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs +39 -68
  109. package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs.map +1 -1
  110. package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs +12 -13
  111. package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs.map +1 -1
  112. package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs +17 -27
  113. package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs.map +1 -1
  114. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs +48 -57
  115. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs.map +1 -1
  116. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs +12 -27
  117. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs.map +1 -1
  118. package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs +5 -5
  119. package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs.map +1 -1
  120. package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs +45 -48
  121. package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs.map +1 -1
  122. package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs +13 -22
  123. package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs.map +1 -1
  124. package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs +9 -9
  125. package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs.map +1 -1
  126. package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs +21 -38
  127. package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs.map +1 -1
  128. package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs +26 -62
  129. package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs.map +1 -1
  130. package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs +9 -14
  131. package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs.map +1 -1
  132. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs +70 -158
  133. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs.map +1 -1
  134. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.mjs +11 -25
  135. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.mjs.map +1 -1
  136. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelOption.mjs +17 -35
  137. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelOption.mjs.map +1 -1
  138. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.mjs +8 -19
  139. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTag.mjs.map +1 -1
  140. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.mjs +8 -10
  141. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectedChannelTagList.mjs.map +1 -1
  142. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs +11 -10
  143. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs.map +1 -1
  144. package/dist/esm/modules/slack/components/SlackChannelCombobox/helpers.mjs +17 -0
  145. package/dist/esm/modules/slack/components/SlackChannelCombobox/helpers.mjs.map +1 -0
  146. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.mjs +7 -28
  147. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.mjs.map +1 -1
  148. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.mjs +3 -21
  149. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CloseIcon.mjs.map +1 -1
  150. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.mjs +3 -21
  151. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.mjs.map +1 -1
  152. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.mjs +2 -46
  153. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.mjs.map +1 -1
  154. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/LockIcon.mjs +3 -30
  155. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/LockIcon.mjs.map +1 -1
  156. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.mjs +3 -18
  157. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.mjs.map +1 -1
  158. package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs +9 -43
  159. package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs.map +1 -1
  160. package/dist/index.css +1 -1
  161. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.d.ts.map +1 -1
  162. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.d.ts +2 -3
  163. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.d.ts.map +1 -1
  164. package/dist/types/modules/slack/components/SlackChannelCombobox/helpers.d.ts +2 -0
  165. package/dist/types/modules/slack/components/SlackChannelCombobox/helpers.d.ts.map +1 -0
  166. package/package.json +7 -10
@@ -1,51 +1,34 @@
1
- import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { useTranslations as C } from "@knocklabs/react-core";
3
- import { useState as i } from "react";
4
- import { Spinner as x } from "../../../core/components/Spinner/Spinner.mjs";
1
+ import e, { useState as s } from "react";
2
+ import { useTranslations as f } from "@knocklabs/react-core";
3
+ import { Spinner as C } from "../../../core/components/Spinner/Spinner.mjs";
5
4
 
6
5
  import "lodash.debounce";
7
6
 
8
7
  import _ from "../SlackChannelCombobox/SlackConnectionError.mjs";
9
- import { SlackIcon as S } from "../SlackIcon/SlackIcon.mjs";
8
+ import { SlackIcon as E } from "../SlackIcon/SlackIcon.mjs";
10
9
 
11
- const w = ({
12
- inErrorState: h,
13
- connectedChannels: a = [],
14
- updateConnectedChannels: p,
15
- connectedChannelsError: d,
16
- connectedChannelsUpdating: m
10
+ const A = ({
11
+ inErrorState: i,
12
+ connectedChannels: c = [],
13
+ updateConnectedChannels: m,
14
+ connectedChannelsError: u,
15
+ connectedChannelsUpdating: p
17
16
  }) => {
18
- const { t } = C(), [n, o] = i(null), [r, c] = i(null), u = () => {
17
+ const {
18
+ t
19
+ } = f(), [n, a] = s(null), [l, r] = s(null), d = () => {
19
20
  if (!n)
20
21
  return;
21
- if (r && c(null), a.find(
22
- (f) => f.channel_id === n
23
- ))
24
- return o(""), c(t("slackChannelAlreadyConnected") || "");
25
- const k = [...a, { channel_id: n }];
26
- p(k), o("");
22
+ if (l && r(null), c.find((k) => k.channel_id === n))
23
+ return a(""), r(t("slackChannelAlreadyConnected") || "");
24
+ const h = [...c, {
25
+ channel_id: n
26
+ }];
27
+ m(h), a("");
27
28
  };
28
- return /* @__PURE__ */ s("div", { className: "rsk-connect-channel", children: [
29
- /* @__PURE__ */ e(
30
- "input",
31
- {
32
- className: `rsk-connect-channel__input ${(h || !!r) && !n && "rsk-connect-channel__input--error"}`,
33
- tabIndex: -1,
34
- id: "slack-channel-search",
35
- type: "text",
36
- placeholder: r || d || t("slackChannelId"),
37
- onChange: (l) => o(l.target.value),
38
- value: n || ""
39
- }
40
- ),
41
- /* @__PURE__ */ s("button", { className: "rsk-connect-channel__button", onClick: u, children: [
42
- m ? /* @__PURE__ */ e(x, { size: "15px", thickness: 3 }) : /* @__PURE__ */ e(S, { height: "16px", width: "16px" }),
43
- t("slackConnectChannel")
44
- ] }),
45
- /* @__PURE__ */ e(_, {})
46
- ] });
29
+ return /* @__PURE__ */ e.createElement("div", { className: "rsk-connect-channel" }, /* @__PURE__ */ e.createElement("input", { className: `rsk-connect-channel__input ${(i || !!l) && !n && "rsk-connect-channel__input--error"}`, tabIndex: -1, id: "slack-channel-search", type: "text", placeholder: l || u || t("slackChannelId"), onChange: (o) => a(o.target.value), value: n || "" }), /* @__PURE__ */ e.createElement("button", { className: "rsk-connect-channel__button", onClick: d }, p ? /* @__PURE__ */ e.createElement(C, { size: "15px", thickness: 3 }) : /* @__PURE__ */ e.createElement(E, { height: "16px", width: "16px" }), t("slackConnectChannel")), /* @__PURE__ */ e.createElement(_, null));
47
30
  };
48
31
  export {
49
- w as default
32
+ A as default
50
33
  };
51
34
  //# sourceMappingURL=SlackAddChannelInput.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackAddChannelInput.mjs","sources":["../../../../../../src/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport { useTranslations } from \"@knocklabs/react-core\";\nimport { useState } from \"react\";\n\nimport { Spinner } from \"../../../core\";\nimport \"../../theme.css\";\nimport ConnectionErrorInfoBoxes from \"../SlackChannelCombobox/SlackConnectionError\";\nimport { SlackIcon } from \"../SlackIcon\";\n\nimport \"./styles.css\";\n\nconst SlackAddChannelInput = ({\n inErrorState,\n connectedChannels = [],\n updateConnectedChannels,\n connectedChannelsError,\n connectedChannelsUpdating,\n}: {\n inErrorState: boolean;\n connectedChannels: SlackChannelConnection[];\n updateConnectedChannels: (channels: SlackChannelConnection[]) => void;\n connectedChannelsError: string | null;\n connectedChannelsUpdating: boolean;\n}) => {\n const { t } = useTranslations();\n const [value, setValue] = useState<string | null>(null);\n const [localError, setLocalError] = useState<string | null>(null);\n\n const submitChannel = () => {\n if (!value) {\n return;\n }\n\n if (localError) {\n setLocalError(null);\n }\n\n const alreadyConnected = connectedChannels.find(\n (channel) => channel.channel_id === value,\n );\n\n if (alreadyConnected) {\n setValue(\"\");\n return setLocalError(t(\"slackChannelAlreadyConnected\") || \"\");\n }\n\n const channelsToSendToKnock = [...connectedChannels, { channel_id: value }];\n updateConnectedChannels(channelsToSendToKnock);\n setValue(\"\");\n };\n\n return (\n <div className=\"rsk-connect-channel\">\n <input\n className={`rsk-connect-channel__input ${(inErrorState || !!localError) && !value && \"rsk-connect-channel__input--error\"}`}\n tabIndex={-1}\n id=\"slack-channel-search\"\n type=\"text\"\n placeholder={\n localError || connectedChannelsError || t(\"slackChannelId\")\n }\n onChange={(e) => setValue(e.target.value)}\n value={value || \"\"}\n />\n <button className=\"rsk-connect-channel__button\" onClick={submitChannel}>\n {connectedChannelsUpdating ? (\n <Spinner size=\"15px\" thickness={3} />\n ) : (\n <SlackIcon height=\"16px\" width=\"16px\" />\n )}\n {t(\"slackConnectChannel\")}\n </button>\n <ConnectionErrorInfoBoxes />\n </div>\n );\n};\n\nexport default SlackAddChannelInput;\n"],"names":["SlackAddChannelInput","inErrorState","connectedChannels","updateConnectedChannels","connectedChannelsError","connectedChannelsUpdating","useTranslations","value","setValue","useState","localError","setLocalError","submitChannel","channel","channelsToSendToKnock","jsxs","jsx","e","Spinner","SlackIcon","ConnectionErrorInfoBoxes"],"mappings":";;;;;;;;;;AAWA,MAAMA,IAAuB,CAAC;AAAA,EAC5B,cAAAC;AAAA,EACA,mBAAAC,IAAoB,CAAC;AAAA,EACrB,yBAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,2BAAAC;AACF,MAMM;AACE,QAAA,EAAE,MAAMC,KACR,CAACC,GAAOC,CAAQ,IAAIC,EAAwB,IAAI,GAChD,CAACC,GAAYC,CAAa,IAAIF,EAAwB,IAAI,GAE1DG,IAAgB,MAAM;AAC1B,QAAI,CAACL;AACH;AAWF,QARIG,KACFC,EAAc,IAAI,GAGKT,EAAkB;AAAA,MACzC,CAACW,MAAYA,EAAQ,eAAeN;AAAA,IAAA;AAIpC,aAAAC,EAAS,EAAE,GACJG,EAAc,EAAE,8BAA8B,KAAK,EAAE;AAG9D,UAAMG,IAAwB,CAAC,GAAGZ,GAAmB,EAAE,YAAYK,GAAO;AAC1E,IAAAJ,EAAwBW,CAAqB,GAC7CN,EAAS,EAAE;AAAA,EAAA;AAIX,SAAA,gBAAAO,EAAC,OAAI,EAAA,WAAU,uBACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW,+BAA+Bf,KAAgB,CAAC,CAACS,MAAe,CAACH,KAAS,mCAAmC;AAAA,QACxH,UAAU;AAAA,QACV,IAAG;AAAA,QACH,MAAK;AAAA,QACL,aACEG,KAAcN,KAA0B,EAAE,gBAAgB;AAAA,QAE5D,UAAU,CAACa,MAAMT,EAASS,EAAE,OAAO,KAAK;AAAA,QACxC,OAAOV,KAAS;AAAA,MAAA;AAAA,IAClB;AAAA,IACC,gBAAAQ,EAAA,UAAA,EAAO,WAAU,+BAA8B,SAASH,GACtD,UAAA;AAAA,MAAAP,IACE,gBAAAW,EAAAE,GAAA,EAAQ,MAAK,QAAO,WAAW,EAAA,CAAG,IAEnC,gBAAAF,EAACG,GAAU,EAAA,QAAO,QAAO,OAAM,QAAO;AAAA,MAEvC,EAAE,qBAAqB;AAAA,IAAA,GAC1B;AAAA,sBACCC,GAAyB,EAAA;AAAA,EAC5B,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"SlackAddChannelInput.mjs","sources":["../../../../../../src/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport { useTranslations } from \"@knocklabs/react-core\";\nimport { useState } from \"react\";\n\nimport { Spinner } from \"../../../core\";\nimport \"../../theme.css\";\nimport ConnectionErrorInfoBoxes from \"../SlackChannelCombobox/SlackConnectionError\";\nimport { SlackIcon } from \"../SlackIcon\";\n\nimport \"./styles.css\";\n\nconst SlackAddChannelInput = ({\n inErrorState,\n connectedChannels = [],\n updateConnectedChannels,\n connectedChannelsError,\n connectedChannelsUpdating,\n}: {\n inErrorState: boolean;\n connectedChannels: SlackChannelConnection[];\n updateConnectedChannels: (channels: SlackChannelConnection[]) => void;\n connectedChannelsError: string | null;\n connectedChannelsUpdating: boolean;\n}) => {\n const { t } = useTranslations();\n const [value, setValue] = useState<string | null>(null);\n const [localError, setLocalError] = useState<string | null>(null);\n\n const submitChannel = () => {\n if (!value) {\n return;\n }\n\n if (localError) {\n setLocalError(null);\n }\n\n const alreadyConnected = connectedChannels.find(\n (channel) => channel.channel_id === value,\n );\n\n if (alreadyConnected) {\n setValue(\"\");\n return setLocalError(t(\"slackChannelAlreadyConnected\") || \"\");\n }\n\n const channelsToSendToKnock = [...connectedChannels, { channel_id: value }];\n updateConnectedChannels(channelsToSendToKnock);\n setValue(\"\");\n };\n\n return (\n <div className=\"rsk-connect-channel\">\n <input\n className={`rsk-connect-channel__input ${(inErrorState || !!localError) && !value && \"rsk-connect-channel__input--error\"}`}\n tabIndex={-1}\n id=\"slack-channel-search\"\n type=\"text\"\n placeholder={\n localError || connectedChannelsError || t(\"slackChannelId\")\n }\n onChange={(e) => setValue(e.target.value)}\n value={value || \"\"}\n />\n <button className=\"rsk-connect-channel__button\" onClick={submitChannel}>\n {connectedChannelsUpdating ? (\n <Spinner size=\"15px\" thickness={3} />\n ) : (\n <SlackIcon height=\"16px\" width=\"16px\" />\n )}\n {t(\"slackConnectChannel\")}\n </button>\n <ConnectionErrorInfoBoxes />\n </div>\n );\n};\n\nexport default SlackAddChannelInput;\n"],"names":["SlackAddChannelInput","inErrorState","connectedChannels","updateConnectedChannels","connectedChannelsError","connectedChannelsUpdating","t","useTranslations","value","setValue","useState","localError","setLocalError","submitChannel","find","channel","channel_id","channelsToSendToKnock","React","e","target","Spinner","SlackIcon","ConnectionErrorInfoBoxes"],"mappings":";;;;;;;;;AAWA,MAAMA,IAAuBA,CAAC;AAAA,EAC5BC,cAAAA;AAAAA,EACAC,mBAAAA,IAAoB,CAAE;AAAA,EACtBC,yBAAAA;AAAAA,EACAC,wBAAAA;AAAAA,EACAC,2BAAAA;AAOF,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,MAAMC,EAAgB,GACxB,CAACC,GAAOC,CAAQ,IAAIC,EAAwB,IAAI,GAChD,CAACC,GAAYC,CAAa,IAAIF,EAAwB,IAAI,GAE1DG,IAAgBA,MAAM;AAC1B,QAAI,CAACL;AACH;AAWF,QARIG,KACFC,EAAc,IAAI,GAGKV,EAAkBY,KACxCC,CAAYA,MAAAA,EAAQC,eAAeR,CACtC;AAGEC,aAAAA,EAAS,EAAE,GACJG,EAAcN,EAAE,8BAA8B,KAAK,EAAE;AAGxDW,UAAAA,IAAwB,CAAC,GAAGf,GAAmB;AAAA,MAAEc,YAAYR;AAAAA,IAAAA,CAAO;AAC1EL,IAAAA,EAAwBc,CAAqB,GAC7CR,EAAS,EAAE;AAAA,EAAA;AAGb,SACGS,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,GACZA,gBAAAA,EAAA,cAAA,SAAA,EACC,WAAY,+BAA8BjB,KAAgB,CAAC,CAACU,MAAe,CAACH,KAAS,mCAAoC,IACzH,UAAU,IACV,IAAG,wBACH,MAAK,QACL,aACEG,KAAcP,KAA0BE,EAAE,gBAAgB,GAE5D,UAAWa,CAAAA,MAAMV,EAASU,EAAEC,OAAOZ,KAAK,GACxC,OAAOA,KAAS,IAAG,GAEpBU,gBAAAA,EAAA,cAAA,UAAA,EAAO,WAAU,+BAA8B,SAASL,EAAAA,GACtDR,IACCa,gBAAAA,EAAA,cAACG,KAAQ,MAAK,QAAO,WAAW,EAAK,CAAA,IAErCH,gBAAAA,EAAA,cAACI,GAAU,EAAA,QAAO,QAAO,OAAM,OAChC,CAAA,GACAhB,EAAE,qBAAqB,CAC1B,GACAY,gBAAAA,EAAA,cAACK,OAAwB,CAC3B;AAEJ;"}
@@ -1,29 +1,30 @@
1
- import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
- import { useTranslations as f, useKnockClient as x, useKnockSlackClient as L, useSlackAuth as S } from "@knocklabs/react-core";
3
- import { useEffect as C } from "react";
1
+ import e, { useEffect as E } from "react";
2
+ import { useTranslations as b, useKnockClient as f, useKnockSlackClient as x, useSlackAuth as L } from "@knocklabs/react-core";
4
3
 
5
- import { SlackIcon as l } from "../SlackIcon/SlackIcon.mjs";
4
+ import { SlackIcon as a } from "../SlackIcon/SlackIcon.mjs";
6
5
 
7
- const m = (d) => {
8
- const n = window.screenLeft ?? window.screenX, r = window.screenTop ?? window.screenY, c = window.innerWidth ?? document.documentElement.clientWidth ?? screen.width, e = window.innerHeight ?? document.documentElement.clientHeight ?? screen.height, o = c / 2 - 600 / 2 + n, u = `width=600,height=800,top=${e / 2 - 800 / 2 + r},left=${o}`;
9
- window.open(d, "Slack OAuth", u);
10
- }, T = ({
11
- slackClientId: d,
12
- redirectUrl: k,
6
+ const w = (l) => {
7
+ const t = window.screenLeft ?? window.screenX, r = window.screenTop ?? window.screenY, c = window.innerWidth ?? document.documentElement.clientWidth ?? screen.width, n = window.innerHeight ?? document.documentElement.clientHeight ?? screen.height, o = c / 2 - 600 / 2 + t, d = `width=600,height=800,top=${n / 2 - 800 / 2 + r},left=${o}`;
8
+ window.open(l, "Slack OAuth", d);
9
+ }, A = ({
10
+ slackClientId: l,
11
+ redirectUrl: h,
13
12
  onAuthenticationComplete: s
14
13
  }) => {
15
- const { t: n } = f(), r = x(), {
14
+ const {
15
+ t
16
+ } = b(), r = f(), {
16
17
  setConnectionStatus: c,
17
- connectionStatus: e,
18
+ connectionStatus: n,
18
19
  setActionLabel: o,
19
- actionLabel: h,
20
- errorLabel: u
21
- } = L(), { buildSlackAuthUrl: p, disconnectFromSlack: _ } = S(
22
- d,
23
- k
24
- );
25
- C(() => {
26
- const w = (i) => {
20
+ actionLabel: u,
21
+ errorLabel: d
22
+ } = x(), {
23
+ buildSlackAuthUrl: m,
24
+ disconnectFromSlack: p
25
+ } = L(l, h);
26
+ E(() => {
27
+ const k = (i) => {
27
28
  if (i.origin === r.host)
28
29
  try {
29
30
  i.data === "authComplete" && c("connected"), i.data === "authFailed" && c("error"), s && s(i.data);
@@ -31,51 +32,14 @@ const m = (d) => {
31
32
  c("error");
32
33
  }
33
34
  };
34
- return window.addEventListener("message", w, !1), () => {
35
- window.removeEventListener("message", w);
35
+ return window.addEventListener("message", k, !1), () => {
36
+ window.removeEventListener("message", k);
36
37
  };
37
38
  }, [r.host, s, c]);
38
- const g = n("slackDisconnect") || null, b = n("slackReconnect") || null;
39
- return e === "connecting" || e === "disconnecting" ? /* @__PURE__ */ a("div", { className: "rsk-connect__button rsk-connect__button--loading", children: [
40
- /* @__PURE__ */ t(l, { height: "16px", width: "16px" }),
41
- /* @__PURE__ */ t("span", { children: n(e === "connecting" ? "slackConnecting" : "slackDisconnecting") })
42
- ] }) : e === "error" ? /* @__PURE__ */ a(
43
- "button",
44
- {
45
- onClick: () => m(p()),
46
- className: "rsk-connect__button rsk-connect__button--error",
47
- onMouseEnter: () => o(b),
48
- onMouseLeave: () => o(null),
49
- children: [
50
- /* @__PURE__ */ t(l, { height: "16px", width: "16px" }),
51
- /* @__PURE__ */ t("span", { className: "rsk-connect__button__text--error", children: h || u || n("slackError") })
52
- ]
53
- }
54
- ) : e === "disconnected" ? /* @__PURE__ */ a(
55
- "button",
56
- {
57
- onClick: () => m(p()),
58
- className: "rsk-connect__button rsk-connect__button--disconnected",
59
- children: [
60
- /* @__PURE__ */ t(l, { height: "16px", width: "16px" }),
61
- /* @__PURE__ */ t("span", { children: n("slackConnect") })
62
- ]
63
- }
64
- ) : /* @__PURE__ */ a(
65
- "button",
66
- {
67
- onClick: _,
68
- className: "rsk-connect__button rsk-connect__button--connected",
69
- onMouseEnter: () => o(g),
70
- onMouseLeave: () => o(null),
71
- children: [
72
- /* @__PURE__ */ t(l, { height: "16px", width: "16px" }),
73
- /* @__PURE__ */ t("span", { className: "rsk-connect__button__text--connected", children: h || n("slackConnected") })
74
- ]
75
- }
76
- );
39
+ const _ = t("slackDisconnect") || null, g = t("slackReconnect") || null;
40
+ return n === "connecting" || n === "disconnecting" ? /* @__PURE__ */ e.createElement("div", { className: "rsk-connect__button rsk-connect__button--loading" }, /* @__PURE__ */ e.createElement(a, { height: "16px", width: "16px" }), /* @__PURE__ */ e.createElement("span", null, t(n === "connecting" ? "slackConnecting" : "slackDisconnecting"))) : n === "error" ? /* @__PURE__ */ e.createElement("button", { onClick: () => w(m()), className: "rsk-connect__button rsk-connect__button--error", onMouseEnter: () => o(g), onMouseLeave: () => o(null) }, /* @__PURE__ */ e.createElement(a, { height: "16px", width: "16px" }), /* @__PURE__ */ e.createElement("span", { className: "rsk-connect__button__text--error" }, u || d || t("slackError"))) : n === "disconnected" ? /* @__PURE__ */ e.createElement("button", { onClick: () => w(m()), className: "rsk-connect__button rsk-connect__button--disconnected" }, /* @__PURE__ */ e.createElement(a, { height: "16px", width: "16px" }), /* @__PURE__ */ e.createElement("span", null, t("slackConnect"))) : /* @__PURE__ */ e.createElement("button", { onClick: p, className: "rsk-connect__button rsk-connect__button--connected", onMouseEnter: () => o(_), onMouseLeave: () => o(null) }, /* @__PURE__ */ e.createElement(a, { height: "16px", width: "16px" }), /* @__PURE__ */ e.createElement("span", { className: "rsk-connect__button__text--connected" }, u || t("slackConnected")));
77
41
  };
78
42
  export {
79
- T as SlackAuthButton
43
+ A as SlackAuthButton
80
44
  };
81
45
  //# sourceMappingURL=SlackAuthButton.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackAuthButton.mjs","sources":["../../../../../../src/modules/slack/components/SlackAuthButton/SlackAuthButton.tsx"],"sourcesContent":["import {\n useKnockClient,\n useKnockSlackClient,\n useSlackAuth,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport { useEffect } from \"react\";\n\nimport \"../../theme.css\";\nimport { SlackIcon } from \"../SlackIcon\";\n\nimport \"./styles.css\";\n\ntype Props = {\n slackClientId: string;\n redirectUrl?: string;\n onAuthenticationComplete?: (authenticationResp: string) => void;\n};\n\nconst openSlackOauthPopup = (url: string) => {\n const width = 600;\n const height = 800;\n // Calculate the position to center the window\n const screenLeft = window.screenLeft ?? window.screenX;\n const screenTop = window.screenTop ?? window.screenY;\n\n const innerWidth =\n window.innerWidth ?? document.documentElement.clientWidth ?? screen.width;\n const innerHeight =\n window.innerHeight ??\n document.documentElement.clientHeight ??\n screen.height;\n\n const left = innerWidth / 2 - width / 2 + screenLeft;\n const top = innerHeight / 2 - height / 2 + screenTop;\n\n // Window features\n const features = `width=${width},height=${height},top=${top},left=${left}`;\n\n window.open(url, \"Slack OAuth\", features);\n};\n\nexport const SlackAuthButton: React.FC<Props> = ({\n slackClientId,\n redirectUrl,\n onAuthenticationComplete,\n}) => {\n const { t } = useTranslations();\n const knock = useKnockClient();\n\n const {\n setConnectionStatus,\n connectionStatus,\n setActionLabel,\n actionLabel,\n errorLabel,\n } = useKnockSlackClient();\n\n const { buildSlackAuthUrl, disconnectFromSlack } = useSlackAuth(\n slackClientId,\n redirectUrl,\n );\n\n useEffect(() => {\n const receiveMessage = (event: MessageEvent) => {\n if (event.origin !== knock.host) {\n return;\n }\n\n try {\n if (event.data === \"authComplete\") {\n setConnectionStatus(\"connected\");\n }\n\n if (event.data === \"authFailed\") {\n setConnectionStatus(\"error\");\n }\n\n if (onAuthenticationComplete) {\n onAuthenticationComplete(event.data);\n }\n } catch (error) {\n setConnectionStatus(\"error\");\n }\n };\n\n window.addEventListener(\"message\", receiveMessage, false);\n\n // Cleanup the event listener when the component unmounts\n return () => {\n window.removeEventListener(\"message\", receiveMessage);\n };\n }, [knock.host, onAuthenticationComplete, setConnectionStatus]);\n\n const disconnectLabel = t(\"slackDisconnect\") || null;\n const reconnectLabel = t(\"slackReconnect\") || null;\n\n // Loading states\n if (\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\"\n ) {\n return (\n <div className=\"rsk-connect__button rsk-connect__button--loading\">\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span>\n {connectionStatus === \"connecting\"\n ? t(\"slackConnecting\")\n : t(\"slackDisconnecting\")}\n </span>\n </div>\n );\n }\n\n // Error state\n if (connectionStatus === \"error\") {\n return (\n <button\n onClick={() => openSlackOauthPopup(buildSlackAuthUrl())}\n className=\"rsk-connect__button rsk-connect__button--error\"\n onMouseEnter={() => setActionLabel(reconnectLabel)}\n onMouseLeave={() => setActionLabel(null)}\n >\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span className=\"rsk-connect__button__text--error\">\n {actionLabel || errorLabel || t(\"slackError\")}\n </span>\n </button>\n );\n }\n\n // Disconnected state\n if (connectionStatus === \"disconnected\") {\n return (\n <button\n onClick={() => openSlackOauthPopup(buildSlackAuthUrl())}\n className=\"rsk-connect__button rsk-connect__button--disconnected\"\n >\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span>{t(\"slackConnect\")}</span>\n </button>\n );\n }\n\n // Connected state\n return (\n <button\n onClick={disconnectFromSlack}\n className=\"rsk-connect__button rsk-connect__button--connected\"\n onMouseEnter={() => setActionLabel(disconnectLabel)}\n onMouseLeave={() => setActionLabel(null)}\n >\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span className=\"rsk-connect__button__text--connected\">\n {actionLabel || t(\"slackConnected\")}\n </span>\n </button>\n );\n};\n"],"names":["openSlackOauthPopup","url","screenLeft","screenTop","innerWidth","innerHeight","left","features","SlackAuthButton","slackClientId","redirectUrl","onAuthenticationComplete","t","useTranslations","knock","useKnockClient","setConnectionStatus","connectionStatus","setActionLabel","actionLabel","errorLabel","useKnockSlackClient","buildSlackAuthUrl","disconnectFromSlack","useSlackAuth","useEffect","receiveMessage","event","disconnectLabel","reconnectLabel","jsxs","jsx","SlackIcon"],"mappings":"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"}
1
+ {"version":3,"file":"SlackAuthButton.mjs","sources":["../../../../../../src/modules/slack/components/SlackAuthButton/SlackAuthButton.tsx"],"sourcesContent":["import {\n useKnockClient,\n useKnockSlackClient,\n useSlackAuth,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport { useEffect } from \"react\";\n\nimport \"../../theme.css\";\nimport { SlackIcon } from \"../SlackIcon\";\n\nimport \"./styles.css\";\n\ntype Props = {\n slackClientId: string;\n redirectUrl?: string;\n onAuthenticationComplete?: (authenticationResp: string) => void;\n};\n\nconst openSlackOauthPopup = (url: string) => {\n const width = 600;\n const height = 800;\n // Calculate the position to center the window\n const screenLeft = window.screenLeft ?? window.screenX;\n const screenTop = window.screenTop ?? window.screenY;\n\n const innerWidth =\n window.innerWidth ?? document.documentElement.clientWidth ?? screen.width;\n const innerHeight =\n window.innerHeight ??\n document.documentElement.clientHeight ??\n screen.height;\n\n const left = innerWidth / 2 - width / 2 + screenLeft;\n const top = innerHeight / 2 - height / 2 + screenTop;\n\n // Window features\n const features = `width=${width},height=${height},top=${top},left=${left}`;\n\n window.open(url, \"Slack OAuth\", features);\n};\n\nexport const SlackAuthButton: React.FC<Props> = ({\n slackClientId,\n redirectUrl,\n onAuthenticationComplete,\n}) => {\n const { t } = useTranslations();\n const knock = useKnockClient();\n\n const {\n setConnectionStatus,\n connectionStatus,\n setActionLabel,\n actionLabel,\n errorLabel,\n } = useKnockSlackClient();\n\n const { buildSlackAuthUrl, disconnectFromSlack } = useSlackAuth(\n slackClientId,\n redirectUrl,\n );\n\n useEffect(() => {\n const receiveMessage = (event: MessageEvent) => {\n if (event.origin !== knock.host) {\n return;\n }\n\n try {\n if (event.data === \"authComplete\") {\n setConnectionStatus(\"connected\");\n }\n\n if (event.data === \"authFailed\") {\n setConnectionStatus(\"error\");\n }\n\n if (onAuthenticationComplete) {\n onAuthenticationComplete(event.data);\n }\n } catch (error) {\n setConnectionStatus(\"error\");\n }\n };\n\n window.addEventListener(\"message\", receiveMessage, false);\n\n // Cleanup the event listener when the component unmounts\n return () => {\n window.removeEventListener(\"message\", receiveMessage);\n };\n }, [knock.host, onAuthenticationComplete, setConnectionStatus]);\n\n const disconnectLabel = t(\"slackDisconnect\") || null;\n const reconnectLabel = t(\"slackReconnect\") || null;\n\n // Loading states\n if (\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\"\n ) {\n return (\n <div className=\"rsk-connect__button rsk-connect__button--loading\">\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span>\n {connectionStatus === \"connecting\"\n ? t(\"slackConnecting\")\n : t(\"slackDisconnecting\")}\n </span>\n </div>\n );\n }\n\n // Error state\n if (connectionStatus === \"error\") {\n return (\n <button\n onClick={() => openSlackOauthPopup(buildSlackAuthUrl())}\n className=\"rsk-connect__button rsk-connect__button--error\"\n onMouseEnter={() => setActionLabel(reconnectLabel)}\n onMouseLeave={() => setActionLabel(null)}\n >\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span className=\"rsk-connect__button__text--error\">\n {actionLabel || errorLabel || t(\"slackError\")}\n </span>\n </button>\n );\n }\n\n // Disconnected state\n if (connectionStatus === \"disconnected\") {\n return (\n <button\n onClick={() => openSlackOauthPopup(buildSlackAuthUrl())}\n className=\"rsk-connect__button rsk-connect__button--disconnected\"\n >\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span>{t(\"slackConnect\")}</span>\n </button>\n );\n }\n\n // Connected state\n return (\n <button\n onClick={disconnectFromSlack}\n className=\"rsk-connect__button rsk-connect__button--connected\"\n onMouseEnter={() => setActionLabel(disconnectLabel)}\n onMouseLeave={() => setActionLabel(null)}\n >\n <SlackIcon height=\"16px\" width=\"16px\" />\n <span className=\"rsk-connect__button__text--connected\">\n {actionLabel || t(\"slackConnected\")}\n </span>\n </button>\n );\n};\n"],"names":["openSlackOauthPopup","url","screenLeft","window","screenX","screenTop","screenY","innerWidth","document","documentElement","clientWidth","screen","width","innerHeight","clientHeight","height","left","features","open","SlackAuthButton","slackClientId","redirectUrl","onAuthenticationComplete","t","useTranslations","knock","useKnockClient","setConnectionStatus","connectionStatus","setActionLabel","actionLabel","errorLabel","useKnockSlackClient","buildSlackAuthUrl","disconnectFromSlack","useSlackAuth","useEffect","receiveMessage","event","origin","host","data","addEventListener","removeEventListener","disconnectLabel","reconnectLabel","React","SlackIcon"],"mappings":"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"}
@@ -1,22 +1,17 @@
1
- import { jsxs as i, jsx as r } from "react/jsx-runtime";
2
- import { useTranslations as a } from "@knocklabs/react-core";
1
+ import e from "react";
2
+ import { useTranslations as r } from "@knocklabs/react-core";
3
3
 
4
- import { SlackIcon as e } from "../SlackIcon/SlackIcon.mjs";
4
+ import { SlackIcon as c } from "../SlackIcon/SlackIcon.mjs";
5
5
 
6
- const d = ({
6
+ const o = ({
7
7
  actionButton: t
8
8
  }) => {
9
- const { t: s } = a();
10
- return /* @__PURE__ */ i("div", { className: "rsk-auth", children: [
11
- /* @__PURE__ */ i("div", { className: "rsk-auth__header", children: [
12
- /* @__PURE__ */ r(e, { height: "32px", width: "32px" }),
13
- /* @__PURE__ */ r("div", { children: t })
14
- ] }),
15
- /* @__PURE__ */ r("div", { className: "rsk-auth__title", children: "Slack" }),
16
- /* @__PURE__ */ r("div", { className: "rsk-auth__description", children: s("slackConnectContainerDescription") })
17
- ] });
9
+ const {
10
+ t: a
11
+ } = r();
12
+ return /* @__PURE__ */ e.createElement("div", { className: "rsk-auth" }, /* @__PURE__ */ e.createElement("div", { className: "rsk-auth__header" }, /* @__PURE__ */ e.createElement(c, { height: "32px", width: "32px" }), /* @__PURE__ */ e.createElement("div", null, t)), /* @__PURE__ */ e.createElement("div", { className: "rsk-auth__title" }, "Slack"), /* @__PURE__ */ e.createElement("div", { className: "rsk-auth__description" }, a("slackConnectContainerDescription")));
18
13
  };
19
14
  export {
20
- d as SlackAuthContainer
15
+ o as SlackAuthContainer
21
16
  };
22
17
  //# sourceMappingURL=SlackAuthContainer.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlackAuthContainer.mjs","sources":["../../../../../../src/modules/slack/components/SlackAuthContainer/SlackAuthContainer.tsx"],"sourcesContent":["import { useTranslations } from \"@knocklabs/react-core\";\n\nimport \"../../theme.css\";\nimport { SlackIcon } from \"../SlackIcon\";\n\nimport \"./styles.css\";\n\nexport const SlackAuthContainer = ({\n actionButton,\n}: {\n actionButton: React.ReactElement;\n}) => {\n const { t } = useTranslations();\n\n return (\n <div className=\"rsk-auth\">\n <div className=\"rsk-auth__header\">\n <SlackIcon height=\"32px\" width=\"32px\" />\n <div>{actionButton}</div>\n </div>\n <div className=\"rsk-auth__title\">Slack</div>\n <div className=\"rsk-auth__description\">\n {t(\"slackConnectContainerDescription\")}\n </div>\n </div>\n );\n};\n"],"names":["SlackAuthContainer","actionButton","t","useTranslations","jsxs","jsx","SlackIcon"],"mappings":";;;;;AAOO,MAAMA,IAAqB,CAAC;AAAA,EACjC,cAAAC;AACF,MAEM;AACE,QAAA,EAAE,GAAAC,MAAMC;AAGZ,SAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,YACb,UAAA;AAAA,IAAC,gBAAAA,EAAA,OAAA,EAAI,WAAU,oBACb,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAU,EAAA,QAAO,QAAO,OAAM,QAAO;AAAA,MACtC,gBAAAD,EAAC,SAAK,UAAaJ,EAAA,CAAA;AAAA,IAAA,GACrB;AAAA,IACC,gBAAAI,EAAA,OAAA,EAAI,WAAU,mBAAkB,UAAK,SAAA;AAAA,sBACrC,OAAI,EAAA,WAAU,yBACZ,UAAAH,EAAE,kCAAkC,GACvC;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"SlackAuthContainer.mjs","sources":["../../../../../../src/modules/slack/components/SlackAuthContainer/SlackAuthContainer.tsx"],"sourcesContent":["import { useTranslations } from \"@knocklabs/react-core\";\n\nimport \"../../theme.css\";\nimport { SlackIcon } from \"../SlackIcon\";\n\nimport \"./styles.css\";\n\nexport const SlackAuthContainer = ({\n actionButton,\n}: {\n actionButton: React.ReactElement;\n}) => {\n const { t } = useTranslations();\n\n return (\n <div className=\"rsk-auth\">\n <div className=\"rsk-auth__header\">\n <SlackIcon height=\"32px\" width=\"32px\" />\n <div>{actionButton}</div>\n </div>\n <div className=\"rsk-auth__title\">Slack</div>\n <div className=\"rsk-auth__description\">\n {t(\"slackConnectContainerDescription\")}\n </div>\n </div>\n );\n};\n"],"names":["SlackAuthContainer","actionButton","t","useTranslations","React","SlackIcon"],"mappings":";;;;;AAOO,MAAMA,IAAqBA,CAAC;AAAA,EACjCC,cAAAA;AAGF,MAAM;AACE,QAAA;AAAA,IAAEC,GAAAA;AAAAA,MAAMC,EAAgB;AAE9B,SACGC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,8CACZ,OAAI,EAAA,WAAU,mBACb,GAAAA,gBAAAA,EAAA,cAACC,GAAU,EAAA,QAAO,QAAO,OAAM,QAAM,GACrCD,gBAAAA,EAAA,cAAC,OAAKH,MAAAA,CAAa,CACrB,GACCG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,kBAAkB,GAAA,OAAK,GACtCA,gBAAAA,EAAA,cAAC,SAAI,WAAU,wBAAA,GACZF,EAAE,kCAAkC,CACvC,CACF;AAEJ;"}
@@ -1,63 +1,66 @@
1
- import { jsx as r, jsxs as m } from "react/jsx-runtime";
1
+ import c, { useState as u, useRef as H, useEffect as O, useMemo as E } from "react";
2
2
  import { useTranslations as w, useKnockSlackClient as z, useSlackChannels as G, useConnectedSlackChannels as W } from "@knocklabs/react-core";
3
- import * as u from "@radix-ui/react-popover";
3
+ import * as S from "@radix-ui/react-popover";
4
4
  import * as X from "@radix-ui/react-visually-hidden";
5
- import { useState as p, useRef as q, useEffect as O, useMemo as x } from "react";
6
- import { useFilter as J } from "react-aria";
7
- import { Spinner as Q } from "../../../core/components/Spinner/Spinner.mjs";
5
+ import { Spinner as j } from "../../../core/components/Spinner/Spinner.mjs";
8
6
 
9
7
  import "lodash.debounce";
10
- import Y from "../../../core/hooks/useOutsideClick.mjs";
8
+ import q from "../../../core/hooks/useOutsideClick.mjs";
11
9
 
12
- import Z from "../SlackAddChannelInput/SlackAddChannelInput.mjs";
13
- import g from "./SlackChannelListBox.mjs";
14
- import M from "./SlackConnectedChannelTagList.mjs";
15
- import nn from "./SlackConnectionError.mjs";
16
- import on from "./icons/SearchIcon.mjs";
10
+ import J from "../SlackAddChannelInput/SlackAddChannelInput.mjs";
11
+ import Q from "./SlackChannelListBox.mjs";
12
+ import Y from "./SlackConnectedChannelTagList.mjs";
13
+ import Z from "./SlackConnectionError.mjs";
14
+ import { strContains as g } from "./helpers.mjs";
15
+ import M from "./icons/SearchIcon.mjs";
17
16
 
18
- const en = 1e3, un = ({
19
- slackChannelsRecipientObject: I,
20
- queryOptions: R,
21
- inputProps: U,
22
- inputContainerProps: $,
23
- listBoxProps: D,
24
- channelOptionProps: K,
17
+ const nn = 1e3, bn = ({
18
+ slackChannelsRecipientObject: R,
19
+ queryOptions: y,
20
+ inputProps: I,
21
+ inputContainerProps: U,
22
+ listBoxProps: $,
23
+ channelOptionProps: D,
25
24
  inputMessages: n,
26
- showConnectedChannelTags: P = !1
25
+ showConnectedChannelTags: K = !1
27
26
  }) => {
28
- const { t: l } = w(), [C, L] = p(!1), [E, N] = p(""), T = q(null);
29
- Y({
30
- ref: T,
27
+ const {
28
+ t: l
29
+ } = w(), [C, p] = u(!1), [x, L] = u(""), N = H(null);
30
+ q({
31
+ ref: N,
31
32
  fn: () => {
32
- N(""), L(!1);
33
+ L(""), p(!1);
33
34
  }
34
35
  });
35
- const { connectionStatus: a, errorLabel: v } = z(), { data: t, isLoading: f } = G({ queryOptions: R }), {
36
+ const {
37
+ connectionStatus: a,
38
+ errorLabel: T
39
+ } = z(), {
40
+ data: t,
41
+ isLoading: s
42
+ } = G({
43
+ queryOptions: y
44
+ }), {
36
45
  data: h,
37
- updateConnectedChannels: b,
38
- loading: V,
46
+ updateConnectedChannels: f,
47
+ loading: P,
39
48
  error: d,
40
- updating: F
41
- } = W({ slackChannelsRecipientObject: I }), [c, _] = p(null);
49
+ updating: v
50
+ } = W({
51
+ slackChannelsRecipientObject: R
52
+ }), [r, _] = u(null);
42
53
  O(() => {
43
54
  C && setTimeout(() => {
44
- var o;
45
- (o = document.getElementById("slack-channel-search")) == null || o.focus();
55
+ var e;
56
+ (e = document.getElementById("slack-channel-search")) == null || e.focus();
46
57
  }, 0);
47
58
  }, [C]), O(() => {
48
- const o = new Map(
49
- t.map((e) => [e.id, e])
50
- ), i = (h == null ? void 0 : h.filter((e) => o.has(e.channel_id || ""))) || [];
59
+ const e = new Map(t.map((o) => [o.id, o])), i = (h == null ? void 0 : h.filter((o) => e.has(o.channel_id || ""))) || [];
51
60
  _(i);
52
61
  }, [h, t]);
53
- const s = x(
54
- () => a === "disconnected" || a === "error" || d,
55
- [d, a]
56
- ), k = x(
57
- () => a === "connecting" || a === "disconnecting" || f,
58
- [a, f]
59
- ), j = x(() => {
60
- const o = {
62
+ const m = E(() => a === "disconnected" || a === "error" || d, [d, a]), b = E(() => a === "connecting" || a === "disconnecting" || s, [a, s]), V = E(() => {
63
+ const e = {
61
64
  disconnected: l("slackSearchbarDisconnected"),
62
65
  multipleChannelsConnected: l("slackSearchbarMultipleChannels"),
63
66
  noChannelsConnected: l("slackSearchbarNoChannelsConnected"),
@@ -65,131 +68,40 @@ const en = 1e3, un = ({
65
68
  channelsError: l("slackSearchbarChannelsError")
66
69
  };
67
70
  if (a === "disconnected")
68
- return (n == null ? void 0 : n.disconnected) || o.disconnected;
71
+ return (n == null ? void 0 : n.disconnected) || e.disconnected;
69
72
  if (a === "error")
70
- return (n == null ? void 0 : n.error) || v;
71
- if (!k && t.length === 0)
72
- return (n == null ? void 0 : n.noSlackChannelsFound) || o.noSlackChannelsFound;
73
+ return (n == null ? void 0 : n.error) || T;
74
+ if (!b && t.length === 0)
75
+ return (n == null ? void 0 : n.noSlackChannelsFound) || e.noSlackChannelsFound;
73
76
  if (d)
74
77
  return d;
75
- const i = (c == null ? void 0 : c.length) || 0;
76
- if (c && i === 0)
77
- return (n == null ? void 0 : n.noChannelsConnected) || o.noChannelsConnected;
78
- if (c && i === 1) {
79
- const e = t == null ? void 0 : t.find(
80
- (S) => {
81
- var y;
82
- return S.id === ((y = c[0]) == null ? void 0 : y.channel_id);
83
- }
84
- );
85
- return (n == null ? void 0 : n.singleChannelConnected) || `# ${e == null ? void 0 : e.name}`;
78
+ const i = (r == null ? void 0 : r.length) || 0;
79
+ if (r && i === 0)
80
+ return (n == null ? void 0 : n.noChannelsConnected) || e.noChannelsConnected;
81
+ if (r && i === 1) {
82
+ const o = t == null ? void 0 : t.find((k) => {
83
+ var A;
84
+ return k.id === ((A = r[0]) == null ? void 0 : A.channel_id);
85
+ });
86
+ return (n == null ? void 0 : n.singleChannelConnected) || `# ${o == null ? void 0 : o.name}`;
86
87
  }
87
- return c && i > 1 ? (n == null ? void 0 : n.multipleChannelsConnected) || `${i} channels connected` : "";
88
- }, [
89
- a,
90
- k,
91
- t,
92
- d,
93
- c,
94
- n,
95
- v,
96
- l
97
- ]), A = async (o) => {
98
- if (!c)
88
+ return r && i > 1 ? (n == null ? void 0 : n.multipleChannelsConnected) || `${i} channels connected` : "";
89
+ }, [a, b, t, d, r, n, T, l]), F = async (e) => {
90
+ if (!r)
99
91
  return;
100
- if (c.find(
101
- (e) => e.channel_id === o
102
- )) {
103
- const e = c.filter(
104
- (S) => S.channel_id !== o
105
- );
106
- _(e), b(e);
92
+ if (r.find((o) => o.channel_id === e)) {
93
+ const o = r.filter((k) => k.channel_id !== e);
94
+ _(o), f(o);
107
95
  } else {
108
- const e = [
109
- ...c,
110
- { channel_id: o }
111
- ];
112
- _(e), b(e);
96
+ const o = [...r, {
97
+ channel_id: e
98
+ }];
99
+ _(o), f(o);
113
100
  }
114
- }, { contains: B } = J({ sensitivity: "base" }), H = t.filter(
115
- (o) => B(o.name, E)
116
- );
117
- return t.length > en ? /* @__PURE__ */ r(
118
- Z,
119
- {
120
- inErrorState: !!s,
121
- connectedChannels: c || [],
122
- updateConnectedChannels: b,
123
- connectedChannelsError: d,
124
- connectedChannelsUpdating: F
125
- }
126
- ) : /* @__PURE__ */ m("div", { ref: T, className: "rsk-combobox", children: [
127
- /* @__PURE__ */ m(
128
- u.Root,
129
- {
130
- open: a !== "disconnected" ? C : !1,
131
- children: [
132
- /* @__PURE__ */ r(X.Root, { children: /* @__PURE__ */ r("label", { htmlFor: "slack-channel-search", children: l("slackSearchChannels") }) }),
133
- /* @__PURE__ */ r(u.Trigger, { asChild: !0, children: /* @__PURE__ */ m("div", { className: "rsk-combobox__searchbar", children: [
134
- /* @__PURE__ */ m(
135
- "div",
136
- {
137
- className: "rsk-combobox__searchbar__input-container",
138
- ...$,
139
- children: [
140
- /* @__PURE__ */ r(
141
- "div",
142
- {
143
- className: `rsk-combobox__searchbar__input-container__icon ${s && "rsk-combobox__searchbar__input-container__icon--error"}`,
144
- children: k ? /* @__PURE__ */ r(Q, { size: "15px", thickness: 3 }) : /* @__PURE__ */ r(on, {})
145
- }
146
- ),
147
- /* @__PURE__ */ r(
148
- "input",
149
- {
150
- className: `rsk-combobox__searchbar__input-container__input ${s ? "rsk-combobox__searchbar__input-container__input--error" : ""}`,
151
- tabIndex: -1,
152
- id: "slack-channel-search",
153
- type: "text",
154
- onFocus: () => t.length > 0 && L(!0),
155
- onChange: (o) => N(o.target.value),
156
- value: E,
157
- placeholder: j || "",
158
- disabled: !!s,
159
- ...U
160
- }
161
- )
162
- ]
163
- }
164
- ),
165
- /* @__PURE__ */ r(nn, {})
166
- ] }) }),
167
- /* @__PURE__ */ r(u.Content, { children: /* @__PURE__ */ r(
168
- g,
169
- {
170
- isLoading: f || V,
171
- isUpdating: F,
172
- connectedChannels: c,
173
- onClick: A,
174
- slackChannels: H,
175
- listBoxProps: D,
176
- channelOptionProps: K
177
- }
178
- ) })
179
- ]
180
- }
181
- ),
182
- P && /* @__PURE__ */ r(
183
- M,
184
- {
185
- connectedChannels: c,
186
- slackChannels: t,
187
- updateConnectedChannels: A
188
- }
189
- )
190
- ] });
101
+ }, B = t.filter((e) => g(e.name, x));
102
+ return t.length > nn ? /* @__PURE__ */ c.createElement(J, { inErrorState: !!m, connectedChannels: r || [], updateConnectedChannels: f, connectedChannelsError: d, connectedChannelsUpdating: v }) : /* @__PURE__ */ c.createElement("div", { ref: N, className: "rsk-combobox" }, /* @__PURE__ */ c.createElement(S.Root, { open: a !== "disconnected" ? C : !1 }, /* @__PURE__ */ c.createElement(X.Root, null, /* @__PURE__ */ c.createElement("label", { htmlFor: "slack-channel-search" }, l("slackSearchChannels"))), /* @__PURE__ */ c.createElement(S.Trigger, { asChild: !0 }, /* @__PURE__ */ c.createElement("div", { className: "rsk-combobox__searchbar" }, /* @__PURE__ */ c.createElement("div", { className: "rsk-combobox__searchbar__input-container", ...U }, /* @__PURE__ */ c.createElement("div", { className: `rsk-combobox__searchbar__input-container__icon ${m && "rsk-combobox__searchbar__input-container__icon--error"}` }, b ? /* @__PURE__ */ c.createElement(j, { size: "15px", thickness: 3 }) : /* @__PURE__ */ c.createElement(M, null)), /* @__PURE__ */ c.createElement("input", { className: `rsk-combobox__searchbar__input-container__input ${m ? "rsk-combobox__searchbar__input-container__input--error" : ""}`, tabIndex: -1, id: "slack-channel-search", type: "text", onFocus: () => t.length > 0 && p(!0), onChange: (e) => L(e.target.value), value: x, placeholder: V || "", disabled: !!m, ...I })), /* @__PURE__ */ c.createElement(Z, null))), /* @__PURE__ */ c.createElement(S.Content, null, /* @__PURE__ */ c.createElement(Q, { isLoading: s || P, isUpdating: v, connectedChannels: r, onClick: F, slackChannels: B, listBoxProps: $, channelOptionProps: D }))), K && /* @__PURE__ */ c.createElement(Y, { connectedChannels: r, slackChannels: t, updateConnectedChannels: F }));
191
103
  };
192
104
  export {
193
- un as SlackChannelCombobox
105
+ bn as SlackChannelCombobox
194
106
  };
195
107
  //# sourceMappingURL=SlackChannelCombobox.mjs.map