@knocklabs/react 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/index.css +1 -1
  3. package/dist/cjs/index.js +1 -1
  4. package/dist/cjs/modules/core/hooks/useOutsideClick.js +2 -0
  5. package/dist/cjs/modules/core/hooks/useOutsideClick.js.map +1 -0
  6. package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js +2 -0
  7. package/dist/cjs/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.js.map +1 -0
  8. package/dist/cjs/modules/slack/components/SlackAddChannelInput/styles.css.js +2 -0
  9. package/dist/cjs/modules/slack/components/SlackAddChannelInput/styles.css.js.map +1 -0
  10. package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js +2 -0
  11. package/dist/cjs/modules/slack/components/SlackAuthButton/SlackAuthButton.js.map +1 -0
  12. package/dist/cjs/modules/slack/components/SlackAuthButton/styles.css.js +2 -0
  13. package/dist/cjs/modules/slack/components/SlackAuthButton/styles.css.js.map +1 -0
  14. package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js +2 -0
  15. package/dist/cjs/modules/slack/components/SlackAuthContainer/SlackAuthContainer.js.map +1 -0
  16. package/dist/cjs/modules/slack/components/SlackAuthContainer/styles.css.js +2 -0
  17. package/dist/cjs/modules/slack/components/SlackAuthContainer/styles.css.js.map +1 -0
  18. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js +2 -0
  19. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.js.map +1 -0
  20. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.js +2 -0
  21. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.js.map +1 -0
  22. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelOption.js +2 -0
  23. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackChannelOption.js.map +1 -0
  24. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js +2 -0
  25. package/dist/cjs/modules/slack/components/SlackChannelCombobox/SlackConnectionError.js.map +1 -0
  26. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.js +2 -0
  27. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.js.map +1 -0
  28. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.js +2 -0
  29. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.js.map +1 -0
  30. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.js +2 -0
  31. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.js.map +1 -0
  32. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/LockIcon.js +2 -0
  33. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/LockIcon.js.map +1 -0
  34. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.js +2 -0
  35. package/dist/cjs/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.js.map +1 -0
  36. package/dist/cjs/modules/slack/components/SlackChannelCombobox/styles.css.js +2 -0
  37. package/dist/cjs/modules/slack/components/SlackChannelCombobox/styles.css.js.map +1 -0
  38. package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js +2 -0
  39. package/dist/cjs/modules/slack/components/SlackIcon/SlackIcon.js.map +1 -0
  40. package/dist/cjs/modules/slack/theme.css.js +2 -0
  41. package/dist/cjs/modules/slack/theme.css.js.map +1 -0
  42. package/dist/esm/index.mjs +49 -0
  43. package/dist/esm/index.mjs.map +1 -0
  44. package/dist/esm/modules/core/components/Button/{Button.esm.js → Button.mjs} +2 -2
  45. package/dist/esm/modules/core/components/Button/Button.mjs.map +1 -0
  46. package/dist/esm/modules/core/components/Button/{ButtonGroup.esm.js → ButtonGroup.mjs} +1 -1
  47. package/dist/esm/modules/core/components/Button/ButtonGroup.mjs.map +1 -0
  48. package/dist/esm/modules/core/components/Button/{ButtonSpinner.esm.js → ButtonSpinner.mjs} +2 -2
  49. package/dist/esm/modules/core/components/Button/ButtonSpinner.mjs.map +1 -0
  50. package/dist/esm/modules/core/components/Icons/{Bell.esm.js → Bell.mjs} +1 -1
  51. package/dist/esm/modules/core/components/Icons/Bell.mjs.map +1 -0
  52. package/dist/esm/modules/core/components/Icons/{CheckmarkCircle.esm.js → CheckmarkCircle.mjs} +1 -1
  53. package/dist/esm/modules/core/components/Icons/CheckmarkCircle.mjs.map +1 -0
  54. package/dist/esm/modules/core/components/Icons/{ChevronDown.esm.js → ChevronDown.mjs} +1 -1
  55. package/dist/esm/modules/core/components/Icons/ChevronDown.mjs.map +1 -0
  56. package/dist/esm/modules/core/components/Icons/{CloseCircle.esm.js → CloseCircle.mjs} +1 -1
  57. package/dist/esm/modules/core/components/Icons/CloseCircle.mjs.map +1 -0
  58. package/dist/esm/modules/core/components/Spinner/{Spinner.esm.js → Spinner.mjs} +1 -1
  59. package/dist/esm/modules/core/components/Spinner/Spinner.mjs.map +1 -0
  60. package/dist/esm/modules/core/hooks/{useComponentVisible.esm.js → useComponentVisible.mjs} +1 -1
  61. package/dist/esm/modules/core/hooks/useComponentVisible.mjs.map +1 -0
  62. package/dist/esm/modules/core/hooks/{useOnBottomScroll.esm.js → useOnBottomScroll.mjs} +1 -1
  63. package/dist/esm/modules/core/hooks/useOnBottomScroll.mjs.map +1 -0
  64. package/dist/esm/modules/core/hooks/useOutsideClick.mjs +18 -0
  65. package/dist/esm/modules/core/hooks/useOutsideClick.mjs.map +1 -0
  66. package/dist/esm/modules/feed/components/EmptyFeed/{EmptyFeed.esm.js → EmptyFeed.mjs} +1 -1
  67. package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.mjs.map +1 -0
  68. package/dist/esm/modules/feed/components/NotificationCell/{ArchiveButton.esm.js → ArchiveButton.mjs} +2 -2
  69. package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.mjs.map +1 -0
  70. package/dist/esm/modules/feed/components/NotificationCell/{Avatar.esm.js → Avatar.mjs} +1 -1
  71. package/dist/esm/modules/feed/components/NotificationCell/Avatar.mjs.map +1 -0
  72. package/dist/esm/modules/feed/components/NotificationCell/{NotificationCell.esm.js → NotificationCell.mjs} +3 -3
  73. package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.mjs.map +1 -0
  74. package/dist/esm/modules/feed/components/NotificationFeed/{Dropdown.esm.js → Dropdown.mjs} +2 -2
  75. package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.mjs.map +1 -0
  76. package/dist/esm/modules/feed/components/NotificationFeed/{MarkAsRead.esm.js → MarkAsRead.mjs} +2 -2
  77. package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.mjs.map +1 -0
  78. package/dist/esm/modules/feed/components/NotificationFeed/{NotificationFeed.esm.js → NotificationFeed.mjs} +6 -6
  79. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.mjs.map +1 -0
  80. package/dist/esm/modules/feed/components/NotificationFeed/{NotificationFeedHeader.esm.js → NotificationFeedHeader.mjs} +3 -3
  81. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.mjs.map +1 -0
  82. package/dist/esm/modules/feed/components/NotificationFeedContainer/{NotificationFeedContainer.esm.js → NotificationFeedContainer.mjs} +1 -1
  83. package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.mjs.map +1 -0
  84. package/dist/esm/modules/feed/components/NotificationFeedPopover/{NotificationFeedPopover.esm.js → NotificationFeedPopover.mjs} +4 -4
  85. package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.mjs.map +1 -0
  86. package/dist/esm/modules/feed/components/NotificationIconButton/{NotificationIconButton.esm.js → NotificationIconButton.mjs} +3 -3
  87. package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.mjs.map +1 -0
  88. package/dist/esm/modules/feed/components/UnseenBadge/{UnseenBadge.esm.js → UnseenBadge.mjs} +1 -1
  89. package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.mjs.map +1 -0
  90. package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs +51 -0
  91. package/dist/esm/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.mjs.map +1 -0
  92. package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs +80 -0
  93. package/dist/esm/modules/slack/components/SlackAuthButton/SlackAuthButton.mjs.map +1 -0
  94. package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs +22 -0
  95. package/dist/esm/modules/slack/components/SlackAuthContainer/SlackAuthContainer.mjs.map +1 -0
  96. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs +183 -0
  97. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.mjs.map +1 -0
  98. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.mjs +31 -0
  99. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.mjs.map +1 -0
  100. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelOption.mjs +49 -0
  101. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackChannelOption.mjs.map +1 -0
  102. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs +14 -0
  103. package/dist/esm/modules/slack/components/SlackChannelCombobox/SlackConnectionError.mjs.map +1 -0
  104. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.mjs +31 -0
  105. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.mjs.map +1 -0
  106. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.mjs +24 -0
  107. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.mjs.map +1 -0
  108. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.mjs +50 -0
  109. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.mjs.map +1 -0
  110. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/LockIcon.mjs +33 -0
  111. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/LockIcon.mjs.map +1 -0
  112. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.mjs +21 -0
  113. package/dist/esm/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.mjs.map +1 -0
  114. package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs +46 -0
  115. package/dist/esm/modules/slack/components/SlackIcon/SlackIcon.mjs.map +1 -0
  116. package/dist/index.css +1 -1
  117. package/dist/types/App.d.ts.map +1 -1
  118. package/dist/types/index.d.ts +1 -0
  119. package/dist/types/index.d.ts.map +1 -1
  120. package/dist/types/modules/core/hooks/index.d.ts +1 -0
  121. package/dist/types/modules/core/hooks/index.d.ts.map +1 -1
  122. package/dist/types/modules/core/hooks/useOutsideClick.d.ts +8 -0
  123. package/dist/types/modules/core/hooks/useOutsideClick.d.ts.map +1 -0
  124. package/dist/types/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.d.ts +10 -0
  125. package/dist/types/modules/slack/components/SlackAddChannelInput/SlackAddChannelInput.d.ts.map +1 -0
  126. package/dist/types/modules/slack/components/SlackAddChannelInput/index.d.ts +2 -0
  127. package/dist/types/modules/slack/components/SlackAddChannelInput/index.d.ts.map +1 -0
  128. package/dist/types/modules/slack/components/SlackAuthButton/SlackAuthButton.d.ts +8 -0
  129. package/dist/types/modules/slack/components/SlackAuthButton/SlackAuthButton.d.ts.map +1 -0
  130. package/dist/types/modules/slack/components/SlackAuthButton/index.d.ts +2 -0
  131. package/dist/types/modules/slack/components/SlackAuthButton/index.d.ts.map +1 -0
  132. package/dist/types/modules/slack/components/SlackAuthContainer/SlackAuthContainer.d.ts +4 -0
  133. package/dist/types/modules/slack/components/SlackAuthContainer/SlackAuthContainer.d.ts.map +1 -0
  134. package/dist/types/modules/slack/components/SlackAuthContainer/index.d.ts +2 -0
  135. package/dist/types/modules/slack/components/SlackAuthContainer/index.d.ts.map +1 -0
  136. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.d.ts +22 -0
  137. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.d.ts.map +1 -0
  138. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.d.ts +15 -0
  139. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.d.ts.map +1 -0
  140. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelOption.d.ts +14 -0
  141. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackChannelOption.d.ts.map +1 -0
  142. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackConnectionError.d.ts +3 -0
  143. package/dist/types/modules/slack/components/SlackChannelCombobox/SlackConnectionError.d.ts.map +1 -0
  144. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.d.ts +6 -0
  145. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.d.ts.map +1 -0
  146. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.d.ts +3 -0
  147. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.d.ts.map +1 -0
  148. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.d.ts +3 -0
  149. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.d.ts.map +1 -0
  150. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/LockIcon.d.ts +3 -0
  151. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/LockIcon.d.ts.map +1 -0
  152. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.d.ts +3 -0
  153. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.d.ts.map +1 -0
  154. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/index.d.ts +6 -0
  155. package/dist/types/modules/slack/components/SlackChannelCombobox/icons/index.d.ts.map +1 -0
  156. package/dist/types/modules/slack/components/SlackChannelCombobox/index.d.ts +2 -0
  157. package/dist/types/modules/slack/components/SlackChannelCombobox/index.d.ts.map +1 -0
  158. package/dist/types/modules/slack/components/SlackIcon/SlackIcon.d.ts +5 -0
  159. package/dist/types/modules/slack/components/SlackIcon/SlackIcon.d.ts.map +1 -0
  160. package/dist/types/modules/slack/components/SlackIcon/index.d.ts +2 -0
  161. package/dist/types/modules/slack/components/SlackIcon/index.d.ts.map +1 -0
  162. package/dist/types/modules/slack/index.d.ts +4 -0
  163. package/dist/types/modules/slack/index.d.ts.map +1 -0
  164. package/package.json +15 -9
  165. package/dist/esm/index.esm.js +0 -41
  166. package/dist/esm/index.esm.js.map +0 -1
  167. package/dist/esm/modules/core/components/Button/Button.esm.js.map +0 -1
  168. package/dist/esm/modules/core/components/Button/ButtonGroup.esm.js.map +0 -1
  169. package/dist/esm/modules/core/components/Button/ButtonSpinner.esm.js.map +0 -1
  170. package/dist/esm/modules/core/components/Icons/Bell.esm.js.map +0 -1
  171. package/dist/esm/modules/core/components/Icons/CheckmarkCircle.esm.js.map +0 -1
  172. package/dist/esm/modules/core/components/Icons/ChevronDown.esm.js.map +0 -1
  173. package/dist/esm/modules/core/components/Icons/CloseCircle.esm.js.map +0 -1
  174. package/dist/esm/modules/core/components/Spinner/Spinner.esm.js.map +0 -1
  175. package/dist/esm/modules/core/hooks/useComponentVisible.esm.js.map +0 -1
  176. package/dist/esm/modules/core/hooks/useOnBottomScroll.esm.js.map +0 -1
  177. package/dist/esm/modules/feed/components/EmptyFeed/EmptyFeed.esm.js.map +0 -1
  178. package/dist/esm/modules/feed/components/NotificationCell/ArchiveButton.esm.js.map +0 -1
  179. package/dist/esm/modules/feed/components/NotificationCell/Avatar.esm.js.map +0 -1
  180. package/dist/esm/modules/feed/components/NotificationCell/NotificationCell.esm.js.map +0 -1
  181. package/dist/esm/modules/feed/components/NotificationFeed/Dropdown.esm.js.map +0 -1
  182. package/dist/esm/modules/feed/components/NotificationFeed/MarkAsRead.esm.js.map +0 -1
  183. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeed.esm.js.map +0 -1
  184. package/dist/esm/modules/feed/components/NotificationFeed/NotificationFeedHeader.esm.js.map +0 -1
  185. package/dist/esm/modules/feed/components/NotificationFeedContainer/NotificationFeedContainer.esm.js.map +0 -1
  186. package/dist/esm/modules/feed/components/NotificationFeedPopover/NotificationFeedPopover.esm.js.map +0 -1
  187. package/dist/esm/modules/feed/components/NotificationIconButton/NotificationIconButton.esm.js.map +0 -1
  188. package/dist/esm/modules/feed/components/UnseenBadge/UnseenBadge.esm.js.map +0 -1
@@ -0,0 +1,183 @@
1
+ import { jsx as c, jsxs as S } from "react/jsx-runtime";
2
+ import { useTranslations as H, useKnockSlackClient as w, useSlackChannels as z, useConnectedSlackChannels as G } from "@knocklabs/react-core";
3
+ import * as u from "@radix-ui/react-popover";
4
+ import * as W from "@radix-ui/react-visually-hidden";
5
+ import { useState as x, useRef as X, useEffect as y, useMemo as p } from "react";
6
+ import { useFilter as q } from "react-aria";
7
+ import { Spinner as J } from "../../../core/components/Spinner/Spinner.mjs";
8
+
9
+ import "lodash.debounce";
10
+ import Q from "../../../core/hooks/useOutsideClick.mjs";
11
+
12
+ import Y from "../SlackAddChannelInput/SlackAddChannelInput.mjs";
13
+ import Z from "./SlackChannelListBox.mjs";
14
+ import g from "./SlackConnectionError.mjs";
15
+ import M from "./icons/SearchIcon.mjs";
16
+
17
+ const nn = 1e3, _n = ({
18
+ slackChannelsRecipientObject: O,
19
+ queryOptions: I,
20
+ inputProps: R,
21
+ inputContainerProps: U,
22
+ listBoxProps: $,
23
+ channelOptionProps: D,
24
+ inputMessages: n
25
+ }) => {
26
+ const { t: l } = H(), [m, E] = x(!1), [L, N] = x(""), T = X(null);
27
+ Q({
28
+ ref: T,
29
+ fn: () => {
30
+ N(""), E(!1);
31
+ }
32
+ });
33
+ const { connectionStatus: t, errorLabel: v } = w(), { data: a, isLoading: C } = z({ queryOptions: I }), {
34
+ data: h,
35
+ updateConnectedChannels: b,
36
+ loading: K,
37
+ error: d,
38
+ updating: F
39
+ } = G({ slackChannelsRecipientObject: O }), [r, f] = x(null);
40
+ y(() => {
41
+ m && setTimeout(() => {
42
+ var o;
43
+ (o = document.getElementById("slack-channel-search")) == null || o.focus();
44
+ }, 0);
45
+ }, [m]), y(() => {
46
+ const o = new Map(
47
+ a.map((e) => [e.id, e])
48
+ ), i = (h == null ? void 0 : h.filter((e) => o.has(e.channel_id || ""))) || [];
49
+ f(i);
50
+ }, [h, a]);
51
+ const s = p(
52
+ () => t === "disconnected" || t === "error" || d,
53
+ [d, t]
54
+ ), _ = p(
55
+ () => t === "connecting" || t === "disconnecting" || C,
56
+ [t, C]
57
+ ), P = p(() => {
58
+ const o = {
59
+ disconnected: l("slackSearchbarDisconnected"),
60
+ multipleChannelsConnected: l("slackSearchbarMultipleChannels"),
61
+ noChannelsConnected: l("slackSearchbarNoChannelsConnected"),
62
+ noSlackChannelsFound: l("slackSearchbarNoChannelsFound"),
63
+ channelsError: l("slackSearchbarChannelsError")
64
+ };
65
+ if (t === "disconnected")
66
+ return (n == null ? void 0 : n.disconnected) || o.disconnected;
67
+ if (t === "error")
68
+ return (n == null ? void 0 : n.error) || v;
69
+ if (!_ && a.length === 0)
70
+ return (n == null ? void 0 : n.noSlackChannelsFound) || o.noSlackChannelsFound;
71
+ if (d)
72
+ return d;
73
+ const i = (r == null ? void 0 : r.length) || 0;
74
+ if (r && i === 0)
75
+ return (n == null ? void 0 : n.noChannelsConnected) || o.noChannelsConnected;
76
+ if (r && i === 1) {
77
+ const e = a == null ? void 0 : a.find(
78
+ (k) => {
79
+ var A;
80
+ return k.id === ((A = r[0]) == null ? void 0 : A.channel_id);
81
+ }
82
+ );
83
+ return (n == null ? void 0 : n.singleChannelConnected) || `# ${e == null ? void 0 : e.name}`;
84
+ }
85
+ return r && i > 1 ? (n == null ? void 0 : n.multipleChannelsConnected) || `${i} channels connected` : "";
86
+ }, [
87
+ t,
88
+ _,
89
+ a,
90
+ d,
91
+ r,
92
+ n,
93
+ v,
94
+ l
95
+ ]), V = async (o) => {
96
+ if (!r)
97
+ return;
98
+ if (r.find(
99
+ (e) => e.channel_id === o
100
+ )) {
101
+ const e = r.filter(
102
+ (k) => k.channel_id !== o
103
+ );
104
+ f(e), b(e);
105
+ } else {
106
+ const e = [
107
+ ...r,
108
+ { channel_id: o }
109
+ ];
110
+ f(e), b(e);
111
+ }
112
+ }, { contains: j } = q({ sensitivity: "base" }), B = a.filter(
113
+ (o) => j(o.name, L)
114
+ );
115
+ return a.length > nn ? /* @__PURE__ */ c(
116
+ Y,
117
+ {
118
+ inErrorState: !!s,
119
+ connectedChannels: r || [],
120
+ updateConnectedChannels: b,
121
+ connectedChannelsError: d,
122
+ connectedChannelsUpdating: F
123
+ }
124
+ ) : /* @__PURE__ */ c("div", { ref: T, className: "rsk-combobox", children: /* @__PURE__ */ S(
125
+ u.Root,
126
+ {
127
+ open: t !== "disconnected" ? m : !1,
128
+ children: [
129
+ /* @__PURE__ */ c(W.Root, { children: /* @__PURE__ */ c("label", { htmlFor: "slack-channel-search", children: l("slackSearchChannels") }) }),
130
+ /* @__PURE__ */ c(u.Trigger, { asChild: !0, children: /* @__PURE__ */ S("div", { className: "rsk-combobox__searchbar", children: [
131
+ /* @__PURE__ */ S(
132
+ "div",
133
+ {
134
+ className: "rsk-combobox__searchbar__input-container",
135
+ ...U,
136
+ children: [
137
+ /* @__PURE__ */ c(
138
+ "div",
139
+ {
140
+ className: `rsk-combobox__searchbar__input-container__icon ${s && "rsk-combobox__searchbar__input-container__icon--error"}`,
141
+ children: _ ? /* @__PURE__ */ c(J, { size: "15px", thickness: 3 }) : /* @__PURE__ */ c(M, {})
142
+ }
143
+ ),
144
+ /* @__PURE__ */ c(
145
+ "input",
146
+ {
147
+ className: `rsk-combobox__searchbar__input-container__input ${s ? "rsk-combobox__searchbar__input-container__input--error" : ""}`,
148
+ tabIndex: -1,
149
+ id: "slack-channel-search",
150
+ type: "text",
151
+ onFocus: () => a.length > 0 && E(!0),
152
+ onChange: (o) => N(o.target.value),
153
+ value: L,
154
+ placeholder: P || "",
155
+ disabled: !!s,
156
+ ...R
157
+ }
158
+ )
159
+ ]
160
+ }
161
+ ),
162
+ /* @__PURE__ */ c(g, {})
163
+ ] }) }),
164
+ /* @__PURE__ */ c(u.Content, { children: /* @__PURE__ */ c(
165
+ Z,
166
+ {
167
+ isLoading: C || K,
168
+ isUpdating: F,
169
+ connectedChannels: r,
170
+ onClick: V,
171
+ slackChannels: B,
172
+ listBoxProps: $,
173
+ channelOptionProps: D
174
+ }
175
+ ) })
176
+ ]
177
+ }
178
+ ) });
179
+ };
180
+ export {
181
+ _n as SlackChannelCombobox
182
+ };
183
+ //# sourceMappingURL=SlackChannelCombobox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackChannelCombobox.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelCombobox.tsx"],"sourcesContent":["import { SlackChannelConnection } from \"@knocklabs/client\";\nimport {\n ContainerObject,\n SlackChannelQueryOptions,\n useConnectedSlackChannels,\n useKnockSlackClient,\n useSlackChannels,\n useTranslations,\n} from \"@knocklabs/react-core\";\nimport * as Popover from \"@radix-ui/react-popover\";\nimport * as VisuallyHidden from \"@radix-ui/react-visually-hidden\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useFilter } from \"react-aria\";\n\nimport { Spinner, useOutsideClick } from \"../../../core\";\nimport \"../../theme.css\";\nimport SlackAddChannelInput from \"../SlackAddChannelInput/SlackAddChannelInput\";\n\nimport SlackChannelListBox from \"./SlackChannelListBox\";\nimport SlackConnectionError from \"./SlackConnectionError\";\nimport SearchIcon from \"./icons/SearchIcon\";\nimport \"./styles.css\";\n\nconst MAX_ALLOWED_CHANNELS = 1000;\n\ntype SlackChannelComboboxInputMessages = {\n disconnected: string;\n error: string;\n singleChannelConnected: string;\n multipleChannelsConnected: string;\n noChannelsConnected: string;\n noSlackChannelsFound: string;\n};\n\ntype Props = {\n slackChannelsRecipientObject: ContainerObject;\n queryOptions?: SlackChannelQueryOptions;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n inputContainerProps?: React.HTMLAttributes<HTMLDivElement>;\n listBoxProps?: React.HTMLAttributes<HTMLDivElement>;\n channelOptionProps?: React.HtmlHTMLAttributes<HTMLButtonElement>;\n inputMessages?: SlackChannelComboboxInputMessages;\n};\n\nexport const SlackChannelCombobox = ({\n slackChannelsRecipientObject,\n queryOptions,\n inputProps,\n inputContainerProps,\n listBoxProps,\n channelOptionProps,\n inputMessages,\n}: Props) => {\n const { t } = useTranslations();\n\n const [comboboxListOpen, setComboboxListOpen] = useState<boolean>(false);\n const [inputValue, setInputValue] = useState(\"\");\n\n // Used to close the combobox when clicking outside of it\n const comboboxRef = useRef(null);\n useOutsideClick({\n ref: comboboxRef,\n fn: () => {\n setInputValue(\"\");\n setComboboxListOpen(false);\n },\n });\n\n // Gather API data\n const { connectionStatus, errorLabel: connectionErrorLabel } =\n useKnockSlackClient();\n\n const { data: slackChannels, isLoading: slackChannelsLoading } =\n useSlackChannels({ queryOptions });\n\n const {\n data: connectedChannels,\n updateConnectedChannels,\n loading: connectedChannelsLoading,\n error: connectedChannelsError,\n updating: connectedChannelsUpdating,\n } = useConnectedSlackChannels({ slackChannelsRecipientObject });\n\n const [currentConnectedChannels, setCurrentConnectedChannels] = useState<\n SlackChannelConnection[] | null\n >(null);\n\n useEffect(() => {\n if (comboboxListOpen) {\n // Timeout to allow for the state to update and the component to re-render\n // when we change the `comboboxListOpen` state upon focus\n setTimeout(() => {\n document.getElementById(\"slack-channel-search\")?.focus();\n }, 0);\n }\n }, [comboboxListOpen]);\n\n useEffect(() => {\n // Used to make sure we're only showing currently available channels to select from.\n // There are cases where a channel is \"connected\" in Knock, but it wouldn't be\n // posting to it if the channel is private and the Slackbot doesn't belong to it,\n // so the channel won't show up here and it won't be posted to.\n const slackChannelsMap = new Map(\n slackChannels.map((channel) => [channel.id, channel]),\n );\n\n const channels =\n connectedChannels?.filter((connectedChannel) => {\n return slackChannelsMap.has(connectedChannel.channel_id || \"\");\n }) || [];\n\n setCurrentConnectedChannels(channels);\n }, [connectedChannels, slackChannels]);\n\n const inErrorState = useMemo(\n () =>\n connectionStatus === \"disconnected\" ||\n connectionStatus === \"error\" ||\n connectedChannelsError,\n [connectedChannelsError, connectionStatus],\n );\n\n const inLoadingState = useMemo(\n () =>\n connectionStatus === \"connecting\" ||\n connectionStatus === \"disconnecting\" ||\n slackChannelsLoading,\n\n [connectionStatus, slackChannelsLoading],\n );\n\n // Construct placeholder text\n const searchPlaceholder = useMemo(() => {\n const DEFAULT_INPUT_MESSAGES = {\n disconnected: t(\"slackSearchbarDisconnected\"),\n multipleChannelsConnected: t(\"slackSearchbarMultipleChannels\"),\n noChannelsConnected: t(\"slackSearchbarNoChannelsConnected\"),\n noSlackChannelsFound: t(\"slackSearchbarNoChannelsFound\"),\n channelsError: t(\"slackSearchbarChannelsError\"),\n };\n\n // Connection status message\n if (connectionStatus === \"disconnected\") {\n return inputMessages?.disconnected || DEFAULT_INPUT_MESSAGES.disconnected;\n }\n\n if (connectionStatus === \"error\") {\n return inputMessages?.error || connectionErrorLabel;\n }\n\n // Channels status messages\n if (!inLoadingState && slackChannels.length === 0) {\n return (\n inputMessages?.noSlackChannelsFound ||\n DEFAULT_INPUT_MESSAGES.noSlackChannelsFound\n );\n }\n\n if (connectedChannelsError) {\n return connectedChannelsError;\n }\n\n const numberConnectedChannels = currentConnectedChannels?.length || 0;\n\n if (currentConnectedChannels && numberConnectedChannels === 0) {\n return (\n inputMessages?.noChannelsConnected ||\n DEFAULT_INPUT_MESSAGES.noChannelsConnected\n );\n }\n\n if (currentConnectedChannels && numberConnectedChannels === 1) {\n const connectedChannel = slackChannels?.find(\n (slackChannel) =>\n slackChannel.id === currentConnectedChannels[0]?.channel_id,\n );\n\n return (\n inputMessages?.singleChannelConnected || `# ${connectedChannel?.name}`\n );\n }\n\n if (currentConnectedChannels && numberConnectedChannels > 1) {\n return (\n inputMessages?.multipleChannelsConnected ||\n `${numberConnectedChannels} channels connected`\n );\n }\n\n return \"\";\n }, [\n connectionStatus,\n inLoadingState,\n slackChannels,\n connectedChannelsError,\n currentConnectedChannels,\n inputMessages,\n connectionErrorLabel,\n t,\n ]);\n\n // Handle channel click\n const handleOptionClick = async (channelId: string) => {\n if (!currentConnectedChannels) {\n return;\n }\n\n const isChannelConnected = currentConnectedChannels.find(\n (channel) => channel.channel_id === channelId,\n );\n\n if (isChannelConnected) {\n const channelsToSendToKnock = currentConnectedChannels.filter(\n (connectedChannel) => connectedChannel.channel_id !== channelId,\n );\n\n setCurrentConnectedChannels(channelsToSendToKnock);\n updateConnectedChannels(channelsToSendToKnock);\n } else {\n const channelsToSendToKnock = [\n ...currentConnectedChannels,\n { channel_id: channelId } as SlackChannelConnection,\n ];\n\n setCurrentConnectedChannels(channelsToSendToKnock);\n updateConnectedChannels(channelsToSendToKnock);\n }\n };\n\n // Handle channel search\n const { contains } = useFilter({ sensitivity: \"base\" });\n const matchedChannels = slackChannels.filter((slackChannel) =>\n contains(slackChannel.name, inputValue),\n );\n\n if (slackChannels.length > MAX_ALLOWED_CHANNELS) {\n return (\n <SlackAddChannelInput\n inErrorState={!!inErrorState}\n connectedChannels={currentConnectedChannels || []}\n updateConnectedChannels={updateConnectedChannels}\n connectedChannelsError={connectedChannelsError}\n connectedChannelsUpdating={connectedChannelsUpdating}\n />\n );\n }\n\n return (\n <div ref={comboboxRef} className=\"rsk-combobox\">\n <Popover.Root\n open={connectionStatus !== \"disconnected\" ? comboboxListOpen : false}\n >\n <VisuallyHidden.Root>\n <label htmlFor=\"slack-channel-search\">\n {t(\"slackSearchChannels\")}\n </label>\n </VisuallyHidden.Root>\n <Popover.Trigger asChild>\n <div className=\"rsk-combobox__searchbar\">\n <div\n className={\"rsk-combobox__searchbar__input-container\"}\n {...inputContainerProps}\n >\n <div\n className={`rsk-combobox__searchbar__input-container__icon ${inErrorState && \"rsk-combobox__searchbar__input-container__icon--error\"}`}\n >\n {inLoadingState ? (\n <Spinner size=\"15px\" thickness={3} />\n ) : (\n <SearchIcon />\n )}\n </div>\n\n <input\n className={`rsk-combobox__searchbar__input-container__input ${inErrorState ? \"rsk-combobox__searchbar__input-container__input--error\" : \"\"}`}\n tabIndex={-1}\n id=\"slack-channel-search\"\n type=\"text\"\n onFocus={() =>\n slackChannels.length > 0 && setComboboxListOpen(true)\n }\n onChange={(e) => setInputValue(e.target.value)}\n value={inputValue}\n placeholder={searchPlaceholder || \"\"}\n disabled={!!inErrorState}\n {...inputProps}\n />\n </div>\n\n <SlackConnectionError />\n </div>\n </Popover.Trigger>\n\n <Popover.Content>\n <SlackChannelListBox\n isLoading={slackChannelsLoading || connectedChannelsLoading}\n isUpdating={connectedChannelsUpdating}\n connectedChannels={currentConnectedChannels}\n onClick={handleOptionClick}\n slackChannels={matchedChannels}\n listBoxProps={listBoxProps}\n channelOptionProps={channelOptionProps}\n />\n </Popover.Content>\n </Popover.Root>\n </div>\n );\n};\n"],"names":["MAX_ALLOWED_CHANNELS","SlackChannelCombobox","slackChannelsRecipientObject","queryOptions","inputProps","inputContainerProps","listBoxProps","channelOptionProps","inputMessages","t","useTranslations","comboboxListOpen","setComboboxListOpen","useState","inputValue","setInputValue","comboboxRef","useRef","useOutsideClick","connectionStatus","connectionErrorLabel","useKnockSlackClient","slackChannels","slackChannelsLoading","useSlackChannels","connectedChannels","updateConnectedChannels","connectedChannelsLoading","connectedChannelsError","connectedChannelsUpdating","useConnectedSlackChannels","currentConnectedChannels","setCurrentConnectedChannels","useEffect","_a","slackChannelsMap","channel","channels","connectedChannel","inErrorState","useMemo","inLoadingState","searchPlaceholder","DEFAULT_INPUT_MESSAGES","numberConnectedChannels","slackChannel","handleOptionClick","channelId","channelsToSendToKnock","contains","useFilter","matchedChannels","jsx","SlackAddChannelInput","jsxs","Popover","VisuallyHidden","Spinner","SearchIcon","e","SlackConnectionError","SlackChannelListBox"],"mappings":";;;;;;;;;;;;;;;;AAuBA,MAAMA,KAAuB,KAqBhBC,KAAuB,CAAC;AAAA,EACnC,8BAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,eAAAC;AACF,MAAa;AACL,QAAA,EAAE,GAAAC,MAAMC,KAER,CAACC,GAAkBC,CAAmB,IAAIC,EAAkB,EAAK,GACjE,CAACC,GAAYC,CAAa,IAAIF,EAAS,EAAE,GAGzCG,IAAcC,EAAO,IAAI;AACf,EAAAC,EAAA;AAAA,IACd,KAAKF;AAAA,IACL,IAAI,MAAM;AACR,MAAAD,EAAc,EAAE,GAChBH,EAAoB,EAAK;AAAA,IAC3B;AAAA,EAAA,CACD;AAGD,QAAM,EAAE,kBAAAO,GAAkB,YAAYC,MACpCC,EAAoB,GAEhB,EAAE,MAAMC,GAAe,WAAWC,MACtCC,EAAiB,EAAE,cAAArB,EAAA,CAAc,GAE7B;AAAA,IACJ,MAAMsB;AAAA,IACN,yBAAAC;AAAA,IACA,SAASC;AAAA,IACT,OAAOC;AAAA,IACP,UAAUC;AAAA,EAAA,IACRC,EAA0B,EAAE,8BAAA5B,EAAA,CAA8B,GAExD,CAAC6B,GAA0BC,CAA2B,IAAInB,EAE9D,IAAI;AAEN,EAAAoB,EAAU,MAAM;AACd,IAAItB,KAGF,WAAW,MAAM;;AACN,OAAAuB,IAAA,SAAA,eAAe,sBAAsB,MAArC,QAAAA,EAAwC;AAAA,OAChD,CAAC;AAAA,EACN,GACC,CAACvB,CAAgB,CAAC,GAErBsB,EAAU,MAAM;AAKd,UAAME,IAAmB,IAAI;AAAA,MAC3Bb,EAAc,IAAI,CAACc,MAAY,CAACA,EAAQ,IAAIA,CAAO,CAAC;AAAA,IAAA,GAGhDC,KACJZ,KAAA,gBAAAA,EAAmB,OAAO,CAACa,MAClBH,EAAiB,IAAIG,EAAiB,cAAc,EAAE,OACzD,CAAA;AAER,IAAAN,EAA4BK,CAAQ;AAAA,EAAA,GACnC,CAACZ,GAAmBH,CAAa,CAAC;AAErC,QAAMiB,IAAeC;AAAA,IACnB,MACErB,MAAqB,kBACrBA,MAAqB,WACrBS;AAAA,IACF,CAACA,GAAwBT,CAAgB;AAAA,EAAA,GAGrCsB,IAAiBD;AAAA,IACrB,MACErB,MAAqB,gBACrBA,MAAqB,mBACrBI;AAAA,IAEF,CAACJ,GAAkBI,CAAoB;AAAA,EAAA,GAInCmB,IAAoBF,EAAQ,MAAM;AACtC,UAAMG,IAAyB;AAAA,MAC7B,cAAclC,EAAE,4BAA4B;AAAA,MAC5C,2BAA2BA,EAAE,gCAAgC;AAAA,MAC7D,qBAAqBA,EAAE,mCAAmC;AAAA,MAC1D,sBAAsBA,EAAE,+BAA+B;AAAA,MACvD,eAAeA,EAAE,6BAA6B;AAAA,IAAA;AAIhD,QAAIU,MAAqB;AAChB,cAAAX,KAAA,gBAAAA,EAAe,iBAAgBmC,EAAuB;AAG/D,QAAIxB,MAAqB;AACvB,cAAOX,KAAA,gBAAAA,EAAe,UAASY;AAIjC,QAAI,CAACqB,KAAkBnB,EAAc,WAAW;AAE5C,cAAAd,KAAA,gBAAAA,EAAe,yBACfmC,EAAuB;AAI3B,QAAIf;AACK,aAAAA;AAGH,UAAAgB,KAA0Bb,KAAA,gBAAAA,EAA0B,WAAU;AAEhE,QAAAA,KAA4Ba,MAA4B;AAExD,cAAApC,KAAA,gBAAAA,EAAe,wBACfmC,EAAuB;AAIvB,QAAAZ,KAA4Ba,MAA4B,GAAG;AAC7D,YAAMN,IAAmBhB,KAAA,gBAAAA,EAAe;AAAA,QACtC,CAACuB,MACC;;AAAA,iBAAAA,EAAa,SAAOX,IAAAH,EAAyB,CAAC,MAA1B,gBAAAG,EAA6B;AAAA;AAAA;AAGrD,cACE1B,KAAA,gBAAAA,EAAe,2BAA0B,KAAK8B,KAAA,gBAAAA,EAAkB,IAAI;AAAA,IAExE;AAEI,WAAAP,KAA4Ba,IAA0B,KAEtDpC,KAAA,gBAAAA,EAAe,8BACf,GAAGoC,CAAuB,wBAIvB;AAAA,EAAA,GACN;AAAA,IACDzB;AAAA,IACAsB;AAAA,IACAnB;AAAA,IACAM;AAAA,IACAG;AAAA,IACAvB;AAAA,IACAY;AAAA,IACAX;AAAA,EAAA,CACD,GAGKqC,IAAoB,OAAOC,MAAsB;AACrD,QAAI,CAAChB;AACH;AAOF,QAJ2BA,EAAyB;AAAA,MAClD,CAACK,MAAYA,EAAQ,eAAeW;AAAA,IAAA,GAGd;AACtB,YAAMC,IAAwBjB,EAAyB;AAAA,QACrD,CAACO,MAAqBA,EAAiB,eAAeS;AAAA,MAAA;AAGxD,MAAAf,EAA4BgB,CAAqB,GACjDtB,EAAwBsB,CAAqB;AAAA,IAAA,OACxC;AACL,YAAMA,IAAwB;AAAA,QAC5B,GAAGjB;AAAA,QACH,EAAE,YAAYgB,EAAU;AAAA,MAAA;AAG1B,MAAAf,EAA4BgB,CAAqB,GACjDtB,EAAwBsB,CAAqB;AAAA,IAC/C;AAAA,EAAA,GAII,EAAE,UAAAC,EAAS,IAAIC,EAAU,EAAE,aAAa,QAAQ,GAChDC,IAAkB7B,EAAc;AAAA,IAAO,CAACuB,MAC5CI,EAASJ,EAAa,MAAM/B,CAAU;AAAA,EAAA;AAGpC,SAAAQ,EAAc,SAAStB,KAEvB,gBAAAoD;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,cAAc,CAAC,CAACd;AAAA,MAChB,mBAAmBR,KAA4B,CAAC;AAAA,MAChD,yBAAAL;AAAA,MACA,wBAAAE;AAAA,MACA,2BAAAC;AAAA,IAAA;AAAA,EAAA,IAMH,gBAAAuB,EAAA,OAAA,EAAI,KAAKpC,GAAa,WAAU,gBAC/B,UAAA,gBAAAsC;AAAA,IAACC,EAAQ;AAAA,IAAR;AAAA,MACC,MAAMpC,MAAqB,iBAAiBR,IAAmB;AAAA,MAE/D,UAAA;AAAA,QAAC,gBAAAyC,EAAAI,EAAe,MAAf,EACC,UAAC,gBAAAJ,EAAA,SAAA,EAAM,SAAQ,wBACZ,UAAA3C,EAAE,qBAAqB,EAAA,CAC1B,EACF,CAAA;AAAA,QACA,gBAAA2C,EAACG,EAAQ,SAAR,EAAgB,SAAO,IACtB,UAAA,gBAAAD,EAAC,OAAI,EAAA,WAAU,2BACb,UAAA;AAAA,UAAA,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAW;AAAA,cACV,GAAGjD;AAAA,cAEJ,UAAA;AAAA,gBAAA,gBAAA+C;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAW,kDAAkDb,KAAgB,uDAAuD;AAAA,oBAEnI,UAAAE,sBACEgB,GAAQ,EAAA,MAAK,QAAO,WAAW,EAAA,CAAG,IAEnC,gBAAAL,EAACM,GAAW,CAAA,CAAA;AAAA,kBAAA;AAAA,gBAEhB;AAAA,gBAEA,gBAAAN;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAW,mDAAmDb,IAAe,2DAA2D,EAAE;AAAA,oBAC1I,UAAU;AAAA,oBACV,IAAG;AAAA,oBACH,MAAK;AAAA,oBACL,SAAS,MACPjB,EAAc,SAAS,KAAKV,EAAoB,EAAI;AAAA,oBAEtD,UAAU,CAAC+C,MAAM5C,EAAc4C,EAAE,OAAO,KAAK;AAAA,oBAC7C,OAAO7C;AAAA,oBACP,aAAa4B,KAAqB;AAAA,oBAClC,UAAU,CAAC,CAACH;AAAA,oBACX,GAAGnC;AAAA,kBAAA;AAAA,gBACN;AAAA,cAAA;AAAA,YAAA;AAAA,UACF;AAAA,4BAECwD,GAAqB,EAAA;AAAA,QAAA,EAAA,CACxB,EACF,CAAA;AAAA,QAEA,gBAAAR,EAACG,EAAQ,SAAR,EACC,UAAA,gBAAAH;AAAA,UAACS;AAAA,UAAA;AAAA,YACC,WAAWtC,KAAwBI;AAAA,YACnC,YAAYE;AAAA,YACZ,mBAAmBE;AAAA,YACnB,SAASe;AAAA,YACT,eAAeK;AAAA,YACf,cAAA7C;AAAA,YACA,oBAAAC;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,31 @@
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import b from "./SlackChannelOption.mjs";
3
+
4
+
5
+ const _ = ({
6
+ slackChannels: t,
7
+ isLoading: m,
8
+ connectedChannels: i,
9
+ onClick: p,
10
+ listBoxProps: x,
11
+ channelOptionProps: a,
12
+ isUpdating: d
13
+ }) => /* @__PURE__ */ o("div", { className: "rsk-combobox__list-box", ...x, children: t.map((r) => /* @__PURE__ */ o(
14
+ b,
15
+ {
16
+ tabIndex: 0,
17
+ channel: r,
18
+ isLoading: m,
19
+ isConnected: !!(i != null && i.find(
20
+ (s) => s.channel_id === r.id
21
+ )),
22
+ onClick: p,
23
+ channelOptionProps: a,
24
+ isUpdating: d
25
+ },
26
+ r.id
27
+ )) });
28
+ export {
29
+ _ as default
30
+ };
31
+ //# sourceMappingURL=SlackChannelListBox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackChannelListBox.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelListBox.tsx"],"sourcesContent":["import { SlackChannel, SlackChannelConnection } from \"@knocklabs/client\";\nimport { AriaListBoxOptions } from \"@react-aria/listbox\";\n\nimport SlackChannelOption from \"./SlackChannelOption\";\n\nimport \"./styles.css\";\nimport \"../../theme.css\"\n\ntype Props = AriaListBoxOptions<unknown> & {\n slackChannels: SlackChannel[];\n isLoading: boolean;\n connectedChannels: SlackChannelConnection[] | null;\n onClick: (channelId: string) => void;\n listBoxProps?: React.HTMLAttributes<HTMLDivElement>;\n channelOptionProps?: React.HtmlHTMLAttributes<HTMLButtonElement>;\n isUpdating: boolean;\n};\n\nconst SlackChannelListBox = ({\n slackChannels,\n isLoading,\n connectedChannels,\n onClick,\n listBoxProps,\n channelOptionProps,\n isUpdating,\n}: Props) => {\n return (\n <div className=\"rsk-combobox__list-box\" {...listBoxProps}>\n {slackChannels.map((channel) => {\n return (\n <SlackChannelOption\n key={channel.id}\n tabIndex={0}\n channel={channel}\n isLoading={isLoading}\n isConnected={\n !!connectedChannels?.find(\n (connectedChannel) =>\n connectedChannel.channel_id === channel.id,\n )\n }\n onClick={onClick}\n channelOptionProps={channelOptionProps}\n isUpdating={isUpdating}\n />\n );\n })}\n </div>\n );\n};\n\nexport default SlackChannelListBox;\n"],"names":["SlackChannelListBox","slackChannels","isLoading","connectedChannels","onClick","listBoxProps","channelOptionProps","isUpdating","jsx","channel","SlackChannelOption","connectedChannel"],"mappings":";;;;AAkBA,MAAMA,IAAsB,CAAC;AAAA,EAC3B,eAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,cAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AACF,MAEI,gBAAAC,EAAC,SAAI,WAAU,0BAA0B,GAAGH,GACzC,UAAAJ,EAAc,IAAI,CAACQ,MAEhB,gBAAAD;AAAA,EAACE;AAAA,EAAA;AAAA,IAEC,UAAU;AAAA,IACV,SAAAD;AAAA,IACA,WAAAP;AAAA,IACA,aACE,CAAC,EAACC,KAAA,QAAAA,EAAmB;AAAA,MACnB,CAACQ,MACCA,EAAiB,eAAeF,EAAQ;AAAA;AAAA,IAG9C,SAAAL;AAAA,IACA,oBAAAE;AAAA,IACA,YAAAC;AAAA,EAAA;AAAA,EAZKE,EAAQ;AAAA,CAelB,EACH,CAAA;"}
@@ -0,0 +1,49 @@
1
+ import { jsx as o, jsxs as x } from "react/jsx-runtime";
2
+ import { useState as _, useEffect as f } from "react";
3
+ import "@knocklabs/react-core";
4
+ import { Spinner as k } from "../../../core/components/Spinner/Spinner.mjs";
5
+
6
+ import "lodash.debounce";
7
+
8
+ import v from "./icons/CheckmarkIcon.mjs";
9
+ import h from "./icons/HashtagIcon.mjs";
10
+ import N from "./icons/LockIcon.mjs";
11
+
12
+ const z = ({
13
+ channel: t,
14
+ isLoading: e,
15
+ isConnected: n,
16
+ onClick: a,
17
+ tabIndex: l,
18
+ channelOptionProps: p,
19
+ isUpdating: r
20
+ }) => {
21
+ const [b, c] = _(!1), [i, s] = _(null), u = () => i === t.id && (r || e) ? /* @__PURE__ */ o(k, { thickness: 3 }) : b || n ? /* @__PURE__ */ o(v, { isConnected: n }) : /* @__PURE__ */ o("div", { className: "rsk-combobox__option__text-container__empty-icon" }), d = (m) => {
22
+ s(m), a(m);
23
+ };
24
+ return f(() => {
25
+ if (i && !r)
26
+ return s(null);
27
+ }, [e, r, i]), /* @__PURE__ */ o(
28
+ "button",
29
+ {
30
+ className: "rsk-combobox__option__button",
31
+ onClick: () => !e && d(t.id),
32
+ disabled: e || r,
33
+ onMouseEnter: () => c(!0),
34
+ onMouseLeave: () => c(!1),
35
+ tabIndex: l,
36
+ ...p,
37
+ children: /* @__PURE__ */ x("div", { className: "rsk-combobox__option__text-container", children: [
38
+ /* @__PURE__ */ o("div", { className: "rsk-combobox__option__text-container__connection-icon", children: u() }),
39
+ /* @__PURE__ */ o("div", { className: "rsk-combobox__option__text-container__channel-icon", children: t.is_private ? /* @__PURE__ */ o(N, {}) : /* @__PURE__ */ o(h, {}) }),
40
+ /* @__PURE__ */ o("div", { className: "rsk-combobox__option__text-container__text", children: t.name })
41
+ ] })
42
+ },
43
+ t.id
44
+ );
45
+ };
46
+ export {
47
+ z as default
48
+ };
49
+ //# sourceMappingURL=SlackChannelOption.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackChannelOption.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackChannelOption.tsx"],"sourcesContent":["import { SlackChannel } from \"@knocklabs/client\";\nimport { useEffect, useState } from \"react\";\n\nimport { Spinner } from \"../../../core\";\nimport \"../../theme.css\";\n\nimport CheckmarkIcon from \"./icons/CheckmarkIcon\";\nimport HashtagIcon from \"./icons/HashtagIcon\";\nimport LockIcon from \"./icons/LockIcon\";\nimport \"./styles.css\";\n\ntype Props = {\n channel: SlackChannel;\n isLoading: boolean;\n isConnected: boolean;\n onClick: (id: string) => void;\n tabIndex: number;\n channelOptionProps?: React.HtmlHTMLAttributes<HTMLButtonElement>;\n isUpdating: boolean;\n};\n\nconst SlackChannelOption = ({\n channel,\n isLoading,\n isConnected,\n onClick,\n tabIndex,\n channelOptionProps,\n isUpdating,\n}: Props) => {\n const [isHovered, setIsHovered] = useState(false);\n const [submittedId, setSubmittedId] = useState<string | null>(null);\n\n const icon = () => {\n if (submittedId === channel.id && (isUpdating || isLoading)) {\n return <Spinner thickness={3} />;\n }\n\n if (isHovered || isConnected) {\n return <CheckmarkIcon isConnected={isConnected} />;\n }\n\n return <div className=\"rsk-combobox__option__text-container__empty-icon\" />;\n };\n\n const handleOptionClick = (channelId: string) => {\n setSubmittedId(channelId);\n onClick(channelId);\n };\n\n useEffect(() => {\n if (submittedId && !isUpdating) {\n return setSubmittedId(null);\n }\n }, [isLoading, isUpdating, submittedId]);\n\n return (\n <button\n key={channel.id}\n className=\"rsk-combobox__option__button\"\n onClick={() => !isLoading && handleOptionClick(channel.id)}\n disabled={isLoading || isUpdating}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n tabIndex={tabIndex}\n {...channelOptionProps}\n >\n <div className=\"rsk-combobox__option__text-container\">\n <div className=\"rsk-combobox__option__text-container__connection-icon\">\n {icon()}\n </div>\n <div className=\"rsk-combobox__option__text-container__channel-icon\">\n {channel.is_private ? <LockIcon /> : <HashtagIcon />}\n </div>\n <div className=\"rsk-combobox__option__text-container__text\">{channel.name}</div>\n </div>\n </button>\n );\n};\n\nexport default SlackChannelOption;\n"],"names":["SlackChannelOption","channel","isLoading","isConnected","onClick","tabIndex","channelOptionProps","isUpdating","isHovered","setIsHovered","useState","submittedId","setSubmittedId","icon","jsx","Spinner","CheckmarkIcon","handleOptionClick","channelId","useEffect","jsxs","LockIcon","HashtagIcon"],"mappings":";;;;;;;;;;;AAqBA,MAAMA,IAAqB,CAAC;AAAA,EAC1B,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,YAAAC;AACF,MAAa;AACX,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAaC,CAAc,IAAIF,EAAwB,IAAI,GAE5DG,IAAO,MACPF,MAAgBV,EAAQ,OAAOM,KAAcL,KACxC,gBAAAY,EAACC,GAAQ,EAAA,WAAW,EAAG,CAAA,IAG5BP,KAAaL,IACR,gBAAAW,EAACE,KAAc,aAAAb,EAA0B,CAAA,IAG3C,gBAAAW,EAAC,OAAI,EAAA,WAAU,mDAAmD,CAAA,GAGrEG,IAAoB,CAACC,MAAsB;AAC/C,IAAAN,EAAeM,CAAS,GACxBd,EAAQc,CAAS;AAAA,EAAA;AAGnB,SAAAC,EAAU,MAAM;AACV,QAAAR,KAAe,CAACJ;AAClB,aAAOK,EAAe,IAAI;AAAA,EAE3B,GAAA,CAACV,GAAWK,GAAYI,CAAW,CAAC,GAGrC,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAU;AAAA,MACV,SAAS,MAAM,CAACZ,KAAae,EAAkBhB,EAAQ,EAAE;AAAA,MACzD,UAAUC,KAAaK;AAAA,MACvB,cAAc,MAAME,EAAa,EAAI;AAAA,MACrC,cAAc,MAAMA,EAAa,EAAK;AAAA,MACtC,UAAAJ;AAAA,MACC,GAAGC;AAAA,MAEJ,UAAA,gBAAAc,EAAC,OAAI,EAAA,WAAU,wCACb,UAAA;AAAA,QAAA,gBAAAN,EAAC,OAAI,EAAA,WAAU,yDACZ,UAAAD,EAAA,GACH;AAAA,QACA,gBAAAC,EAAC,OAAI,EAAA,WAAU,sDACZ,UAAAb,EAAQ,aAAa,gBAAAa,EAACO,GAAS,CAAA,CAAA,IAAM,gBAAAP,EAAAQ,GAAA,CAAY,CAAA,GACpD;AAAA,QACC,gBAAAR,EAAA,OAAA,EAAI,WAAU,8CAA8C,YAAQ,MAAK;AAAA,MAAA,GAC5E;AAAA,IAAA;AAAA,IAjBKb,EAAQ;AAAA,EAAA;AAoBnB;"}
@@ -0,0 +1,14 @@
1
+ import { jsxs as c, jsx as r } from "react/jsx-runtime";
2
+ import { useTranslations as e, useKnockSlackClient as s } from "@knocklabs/react-core";
3
+ import t from "./icons/InfoIcon.mjs";
4
+ const l = () => {
5
+ const { t: n } = e(), { connectionStatus: o } = s();
6
+ return o === "disconnected" || o === "error" ? /* @__PURE__ */ c("div", { className: "rsk-combobox__error", children: [
7
+ /* @__PURE__ */ r("span", { children: /* @__PURE__ */ r(t, {}) }),
8
+ /* @__PURE__ */ r("div", { className: "rsk-combobox__error__text", children: n(o === "disconnected" ? "slackConnectionErrorOccurred" : "slackConnectionErrorExists") })
9
+ ] }) : /* @__PURE__ */ r("div", {});
10
+ };
11
+ export {
12
+ l as default
13
+ };
14
+ //# sourceMappingURL=SlackConnectionError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackConnectionError.mjs","sources":["../../../../../../src/modules/slack/components/SlackChannelCombobox/SlackConnectionError.tsx"],"sourcesContent":["import { useKnockSlackClient, useTranslations } from \"@knocklabs/react-core\";\n\nimport InfoIcon from \"./icons/InfoIcon\";\n\nconst SlackConnectionError = () => {\n const { t } = useTranslations();\n const { connectionStatus } = useKnockSlackClient();\n\n if (connectionStatus === \"disconnected\" || connectionStatus === \"error\") {\n return (\n <div className=\"rsk-combobox__error\">\n <span>\n <InfoIcon />\n </span>\n\n <div className=\"rsk-combobox__error__text\">\n {connectionStatus === \"disconnected\"\n ? t(\"slackConnectionErrorOccurred\")\n : t(\"slackConnectionErrorExists\")}\n </div>\n </div>\n );\n }\n\n return <div />;\n};\n\nexport default SlackConnectionError;\n"],"names":["SlackConnectionError","t","useTranslations","connectionStatus","useKnockSlackClient","jsxs","jsx","InfoIcon"],"mappings":";;;AAIA,MAAMA,IAAuB,MAAM;AAC3B,QAAA,EAAE,GAAAC,MAAMC,KACR,EAAE,kBAAAC,MAAqBC;AAEzB,SAAAD,MAAqB,kBAAkBA,MAAqB,UAE5D,gBAAAE,EAAC,OAAI,EAAA,WAAU,uBACb,UAAA;AAAA,IAAC,gBAAAC,EAAA,QAAA,EACC,UAAC,gBAAAA,EAAAC,GAAA,CAAS,CAAA,GACZ;AAAA,IAEA,gBAAAD,EAAC,OAAI,EAAA,WAAU,6BACZ,UACGL,EADHE,MAAqB,iBAChB,iCACA,4BAD8B,EAEtC,CAAA;AAAA,EACF,EAAA,CAAA,sBAII,OAAI,CAAA,CAAA;AACd;"}
@@ -0,0 +1,31 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ const i = ({
3
+ isConnected: r,
4
+ size: o = "1rem",
5
+ ...t
6
+ }) => /* @__PURE__ */ e(
7
+ "svg",
8
+ {
9
+ height: o,
10
+ width: o,
11
+ role: "img",
12
+ viewBox: "0 0 14 15",
13
+ fill: "none",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ ...t,
16
+ children: /* @__PURE__ */ e(
17
+ "path",
18
+ {
19
+ d: "M11.3751 3.9996L5.25006 10.9996L2.62506 8.3746",
20
+ stroke: r ? "#5469D4" : "#A5ACB8",
21
+ strokeWidth: "1.5",
22
+ strokeLinecap: "round",
23
+ strokeLinejoin: "round"
24
+ }
25
+ )
26
+ }
27
+ );
28
+ export {
29
+ i as default
30
+ };
31
+ //# sourceMappingURL=CheckmarkIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckmarkIcon.mjs","sources":["../../../../../../../src/modules/slack/components/SlackChannelCombobox/icons/CheckmarkIcon.tsx"],"sourcesContent":["const CheckmarkIcon = ({\n isConnected,\n size = \"1rem\",\n ...props\n}: {\n isConnected: boolean;\n size?: string;\n}) => (\n <svg\n height={size}\n width={size}\n role=\"img\"\n viewBox=\"0 0 14 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M11.3751 3.9996L5.25006 10.9996L2.62506 8.3746\"\n stroke={isConnected ? \"#5469D4\" : \"#A5ACB8\"}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport default CheckmarkIcon;\n"],"names":["CheckmarkIcon","isConnected","size","props","jsx"],"mappings":";AAAA,MAAMA,IAAgB,CAAC;AAAA,EACrB,aAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,MAIE,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,QAAQF;AAAA,IACR,OAAOA;AAAA,IACP,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IACL,GAAGC;AAAA,IAEJ,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAQH,IAAc,YAAY;AAAA,QAClC,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AACF;"}
@@ -0,0 +1,24 @@
1
+ import { jsx as C } from "react/jsx-runtime";
2
+ const e = () => /* @__PURE__ */ C(
3
+ "svg",
4
+ {
5
+ width: "12",
6
+ height: "13",
7
+ viewBox: "0 0 12 13",
8
+ fill: "none",
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ children: /* @__PURE__ */ C(
11
+ "path",
12
+ {
13
+ fillRule: "evenodd",
14
+ clipRule: "evenodd",
15
+ d: "M5.7904 2.22197C5.81364 2.06746 5.77568 1.90997 5.68461 1.78301C5.59353 1.65605 5.45652 1.56962 5.30271 1.54211C5.1489 1.5146 4.99043 1.54817 4.86099 1.6357C4.73155 1.72322 4.64136 1.85778 4.6096 2.01077L4.2688 3.91637H2.2C2.04087 3.91637 1.88826 3.97958 1.77574 4.0921C1.66321 4.20463 1.6 4.35724 1.6 4.51637C1.6 4.6755 1.66321 4.82811 1.77574 4.94063C1.88826 5.05315 2.04087 5.11637 2.2 5.11637H4.0546L3.5728 7.81637H1.6C1.44087 7.81637 1.28826 7.87958 1.17574 7.9921C1.06321 8.10463 1 8.25724 1 8.41637C1 8.5755 1.06321 8.72811 1.17574 8.84063C1.28826 8.95315 1.44087 9.01637 1.6 9.01637H3.358L3.1096 10.4108C3.08636 10.5653 3.12432 10.7228 3.21539 10.8497C3.30647 10.9767 3.44348 11.0631 3.59729 11.0906C3.7511 11.1181 3.90957 11.0846 4.03901 10.997C4.16845 10.9095 4.25864 10.775 4.2904 10.622L4.5772 9.01637H6.2086L5.9596 10.4108C5.9433 10.4893 5.9429 10.5703 5.95844 10.649C5.97397 10.7276 6.00511 10.8024 6.05003 10.8688C6.09495 10.9352 6.15273 10.992 6.21996 11.0357C6.28718 11.0794 6.36249 11.1092 6.44143 11.1234C6.52037 11.1375 6.60134 11.1356 6.67955 11.1179C6.75777 11.1002 6.83164 11.067 6.8968 11.0203C6.96196 10.9735 7.01709 10.9142 7.05893 10.8458C7.10077 10.7774 7.12847 10.7013 7.1404 10.622L7.4272 9.01637H9.4C9.55913 9.01637 9.71174 8.95315 9.82426 8.84063C9.93679 8.72811 10 8.5755 10 8.41637C10 8.25724 9.93679 8.10463 9.82426 7.9921C9.71174 7.87958 9.55913 7.81637 9.4 7.81637H7.642L8.1238 5.11637H10C10.1591 5.11637 10.3117 5.05315 10.4243 4.94063C10.5368 4.82811 10.6 4.6755 10.6 4.51637C10.6 4.35724 10.5368 4.20463 10.4243 4.0921C10.3117 3.97958 10.1591 3.91637 10 3.91637H8.338L8.6404 2.22197C8.6567 2.14345 8.6571 2.06246 8.64157 1.98379C8.62603 1.90511 8.59489 1.83035 8.54997 1.76392C8.50505 1.69749 8.44727 1.64073 8.38004 1.59701C8.31282 1.55329 8.23751 1.52349 8.15857 1.50937C8.07963 1.49525 7.99866 1.4971 7.92045 1.51481C7.84223 1.53252 7.76836 1.56572 7.7032 1.61246C7.63804 1.65921 7.58291 1.71854 7.54107 1.78695C7.49923 1.85536 7.47153 1.93147 7.4596 2.01077L7.1188 3.91637H5.488L5.7904 2.22197ZM6.4228 7.81637L6.904 5.11637H5.2738L4.7914 7.81637H6.4228Z",
16
+ fill: "#3C4257"
17
+ }
18
+ )
19
+ }
20
+ );
21
+ export {
22
+ e as default
23
+ };
24
+ //# sourceMappingURL=HashtagIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashtagIcon.mjs","sources":["../../../../../../../src/modules/slack/components/SlackChannelCombobox/icons/HashtagIcon.tsx"],"sourcesContent":["const HashtagIcon = () => (\n <svg\n width=\"12\"\n height=\"13\"\n viewBox=\"0 0 12 13\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.7904 2.22197C5.81364 2.06746 5.77568 1.90997 5.68461 1.78301C5.59353 1.65605 5.45652 1.56962 5.30271 1.54211C5.1489 1.5146 4.99043 1.54817 4.86099 1.6357C4.73155 1.72322 4.64136 1.85778 4.6096 2.01077L4.2688 3.91637H2.2C2.04087 3.91637 1.88826 3.97958 1.77574 4.0921C1.66321 4.20463 1.6 4.35724 1.6 4.51637C1.6 4.6755 1.66321 4.82811 1.77574 4.94063C1.88826 5.05315 2.04087 5.11637 2.2 5.11637H4.0546L3.5728 7.81637H1.6C1.44087 7.81637 1.28826 7.87958 1.17574 7.9921C1.06321 8.10463 1 8.25724 1 8.41637C1 8.5755 1.06321 8.72811 1.17574 8.84063C1.28826 8.95315 1.44087 9.01637 1.6 9.01637H3.358L3.1096 10.4108C3.08636 10.5653 3.12432 10.7228 3.21539 10.8497C3.30647 10.9767 3.44348 11.0631 3.59729 11.0906C3.7511 11.1181 3.90957 11.0846 4.03901 10.997C4.16845 10.9095 4.25864 10.775 4.2904 10.622L4.5772 9.01637H6.2086L5.9596 10.4108C5.9433 10.4893 5.9429 10.5703 5.95844 10.649C5.97397 10.7276 6.00511 10.8024 6.05003 10.8688C6.09495 10.9352 6.15273 10.992 6.21996 11.0357C6.28718 11.0794 6.36249 11.1092 6.44143 11.1234C6.52037 11.1375 6.60134 11.1356 6.67955 11.1179C6.75777 11.1002 6.83164 11.067 6.8968 11.0203C6.96196 10.9735 7.01709 10.9142 7.05893 10.8458C7.10077 10.7774 7.12847 10.7013 7.1404 10.622L7.4272 9.01637H9.4C9.55913 9.01637 9.71174 8.95315 9.82426 8.84063C9.93679 8.72811 10 8.5755 10 8.41637C10 8.25724 9.93679 8.10463 9.82426 7.9921C9.71174 7.87958 9.55913 7.81637 9.4 7.81637H7.642L8.1238 5.11637H10C10.1591 5.11637 10.3117 5.05315 10.4243 4.94063C10.5368 4.82811 10.6 4.6755 10.6 4.51637C10.6 4.35724 10.5368 4.20463 10.4243 4.0921C10.3117 3.97958 10.1591 3.91637 10 3.91637H8.338L8.6404 2.22197C8.6567 2.14345 8.6571 2.06246 8.64157 1.98379C8.62603 1.90511 8.59489 1.83035 8.54997 1.76392C8.50505 1.69749 8.44727 1.64073 8.38004 1.59701C8.31282 1.55329 8.23751 1.52349 8.15857 1.50937C8.07963 1.49525 7.99866 1.4971 7.92045 1.51481C7.84223 1.53252 7.76836 1.56572 7.7032 1.61246C7.63804 1.65921 7.58291 1.71854 7.54107 1.78695C7.49923 1.85536 7.47153 1.93147 7.4596 2.01077L7.1188 3.91637H5.488L5.7904 2.22197ZM6.4228 7.81637L6.904 5.11637H5.2738L4.7914 7.81637H6.4228Z\"\n fill=\"#3C4257\"\n />\n </svg>\n);\n\nexport default HashtagIcon;\n"],"names":["HashtagIcon","jsx"],"mappings":";AAAA,MAAMA,IAAc,MAClB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IAEN,UAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AACF;"}
@@ -0,0 +1,50 @@
1
+ import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
+ const r = () => /* @__PURE__ */ o(
3
+ "svg",
4
+ {
5
+ width: "14",
6
+ height: "14",
7
+ viewBox: "0 0 14 14",
8
+ fill: "none",
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ children: [
11
+ /* @__PURE__ */ t(
12
+ "path",
13
+ {
14
+ d: "M6.78125 1.75137C4.00285 1.75137 1.75 4.00422 1.75 6.78262C1.75 9.56102 4.00285 11.8139 6.78125 11.8139C9.55965 11.8139 11.8125 9.56102 11.8125 6.78262C11.8125 4.00422 9.55965 1.75137 6.78125 1.75137Z",
15
+ stroke: "#697386",
16
+ strokeMiterlimit: "10"
17
+ }
18
+ ),
19
+ /* @__PURE__ */ t(
20
+ "path",
21
+ {
22
+ d: "M6.01562 6.01605H6.89062V9.18793",
23
+ stroke: "#697386",
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round"
26
+ }
27
+ ),
28
+ /* @__PURE__ */ t(
29
+ "path",
30
+ {
31
+ d: "M5.68738 9.29697H8.09363",
32
+ stroke: "#697386",
33
+ strokeMiterlimit: "10",
34
+ strokeLinecap: "round"
35
+ }
36
+ ),
37
+ /* @__PURE__ */ t(
38
+ "path",
39
+ {
40
+ d: "M6.78113 3.55554C6.64052 3.55554 6.50307 3.59724 6.38615 3.67536C6.26924 3.75348 6.17812 3.86451 6.12431 3.99442C6.0705 4.12432 6.05642 4.26727 6.08385 4.40518C6.11128 4.54308 6.17899 4.66976 6.27842 4.76919C6.37785 4.86861 6.50452 4.93632 6.64243 4.96376C6.78034 4.99119 6.92329 4.97711 7.05319 4.9233C7.1831 4.86949 7.29413 4.77837 7.37225 4.66146C7.45037 4.54454 7.49207 4.40709 7.49207 4.26648C7.49207 4.07793 7.41716 3.8971 7.28384 3.76377C7.15051 3.63044 6.96968 3.55554 6.78113 3.55554Z",
41
+ fill: "#697386"
42
+ }
43
+ )
44
+ ]
45
+ }
46
+ );
47
+ export {
48
+ r as default
49
+ };
50
+ //# sourceMappingURL=InfoIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoIcon.mjs","sources":["../../../../../../../src/modules/slack/components/SlackChannelCombobox/icons/InfoIcon.tsx"],"sourcesContent":["const InfoIcon = () => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.78125 1.75137C4.00285 1.75137 1.75 4.00422 1.75 6.78262C1.75 9.56102 4.00285 11.8139 6.78125 11.8139C9.55965 11.8139 11.8125 9.56102 11.8125 6.78262C11.8125 4.00422 9.55965 1.75137 6.78125 1.75137Z\"\n stroke=\"#697386\"\n strokeMiterlimit=\"10\"\n />\n <path\n d=\"M6.01562 6.01605H6.89062V9.18793\"\n stroke=\"#697386\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M5.68738 9.29697H8.09363\"\n stroke=\"#697386\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M6.78113 3.55554C6.64052 3.55554 6.50307 3.59724 6.38615 3.67536C6.26924 3.75348 6.17812 3.86451 6.12431 3.99442C6.0705 4.12432 6.05642 4.26727 6.08385 4.40518C6.11128 4.54308 6.17899 4.66976 6.27842 4.76919C6.37785 4.86861 6.50452 4.93632 6.64243 4.96376C6.78034 4.99119 6.92329 4.97711 7.05319 4.9233C7.1831 4.86949 7.29413 4.77837 7.37225 4.66146C7.45037 4.54454 7.49207 4.40709 7.49207 4.26648C7.49207 4.07793 7.41716 3.8971 7.28384 3.76377C7.15051 3.63044 6.96968 3.55554 6.78113 3.55554Z\"\n fill=\"#697386\"\n />\n </svg>\n);\n\nexport default InfoIcon;\n"],"names":["InfoIcon","jsxs","jsx"],"mappings":";AAAA,MAAMA,IAAW,MACf,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IAEN,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,kBAAiB;AAAA,QAAA;AAAA,MACnB;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MACjB;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,QAAO;AAAA,UACP,kBAAiB;AAAA,UACjB,eAAc;AAAA,QAAA;AAAA,MAChB;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MACP;AAAA,IAAA;AAAA,EAAA;AACF;"}
@@ -0,0 +1,33 @@
1
+ import { jsxs as l, jsx as i } from "react/jsx-runtime";
2
+ const C = () => /* @__PURE__ */ l(
3
+ "svg",
4
+ {
5
+ width: "12",
6
+ height: "13",
7
+ viewBox: "0 0 12 13",
8
+ fill: "none",
9
+ xmlns: "http://www.w3.org/2000/svg",
10
+ children: [
11
+ /* @__PURE__ */ i("g", { clipPath: "url(#clip0_251_243)", children: /* @__PURE__ */ i(
12
+ "path",
13
+ {
14
+ d: "M8.62497 4.99975H8.24997V3.12476C8.24997 2.52802 8.01292 1.95572 7.59096 1.53377C7.169 1.11181 6.59671 0.874756 5.99997 0.874756C5.40323 0.874756 4.83094 1.11181 4.40898 1.53377C3.98702 1.95572 3.74997 2.52802 3.74997 3.12476V4.99975H3.37497C2.97728 5.00019 2.596 5.15836 2.31479 5.43957C2.03358 5.72078 1.8754 6.10206 1.87497 6.49975V10.6248C1.8754 11.0224 2.03358 11.4037 2.31479 11.6849C2.596 11.9661 2.97728 12.1243 3.37497 12.1248H8.62497C9.02266 12.1243 9.40394 11.9661 9.68515 11.6849C9.96636 11.4037 10.1245 11.0224 10.125 10.6248V6.49975C10.1245 6.10206 9.96636 5.72078 9.68515 5.43957C9.40394 5.15836 9.02266 5.00019 8.62497 4.99975ZM7.49997 4.99975H4.49997V3.12476C4.49997 2.72693 4.658 2.3454 4.93931 2.0641C5.22061 1.78279 5.60214 1.62476 5.99997 1.62476C6.39779 1.62476 6.77932 1.78279 7.06063 2.0641C7.34193 2.3454 7.49997 2.72693 7.49997 3.12476V4.99975Z",
15
+ fill: "#3C4257"
16
+ }
17
+ ) }),
18
+ /* @__PURE__ */ i("defs", { children: /* @__PURE__ */ i("clipPath", { id: "clip0_251_243", children: /* @__PURE__ */ i(
19
+ "rect",
20
+ {
21
+ width: "12",
22
+ height: "12",
23
+ fill: "white",
24
+ transform: "translate(0 0.5)"
25
+ }
26
+ ) }) })
27
+ ]
28
+ }
29
+ );
30
+ export {
31
+ C as default
32
+ };
33
+ //# sourceMappingURL=LockIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockIcon.mjs","sources":["../../../../../../../src/modules/slack/components/SlackChannelCombobox/icons/LockIcon.tsx"],"sourcesContent":["const LockIcon = () => (\n <svg\n width=\"12\"\n height=\"13\"\n viewBox=\"0 0 12 13\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_251_243)\">\n <path\n d=\"M8.62497 4.99975H8.24997V3.12476C8.24997 2.52802 8.01292 1.95572 7.59096 1.53377C7.169 1.11181 6.59671 0.874756 5.99997 0.874756C5.40323 0.874756 4.83094 1.11181 4.40898 1.53377C3.98702 1.95572 3.74997 2.52802 3.74997 3.12476V4.99975H3.37497C2.97728 5.00019 2.596 5.15836 2.31479 5.43957C2.03358 5.72078 1.8754 6.10206 1.87497 6.49975V10.6248C1.8754 11.0224 2.03358 11.4037 2.31479 11.6849C2.596 11.9661 2.97728 12.1243 3.37497 12.1248H8.62497C9.02266 12.1243 9.40394 11.9661 9.68515 11.6849C9.96636 11.4037 10.1245 11.0224 10.125 10.6248V6.49975C10.1245 6.10206 9.96636 5.72078 9.68515 5.43957C9.40394 5.15836 9.02266 5.00019 8.62497 4.99975ZM7.49997 4.99975H4.49997V3.12476C4.49997 2.72693 4.658 2.3454 4.93931 2.0641C5.22061 1.78279 5.60214 1.62476 5.99997 1.62476C6.39779 1.62476 6.77932 1.78279 7.06063 2.0641C7.34193 2.3454 7.49997 2.72693 7.49997 3.12476V4.99975Z\"\n fill=\"#3C4257\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_251_243\">\n <rect\n width=\"12\"\n height=\"12\"\n fill=\"white\"\n transform=\"translate(0 0.5)\"\n />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default LockIcon;\n"],"names":["LockIcon","jsxs","jsx"],"mappings":";AAAA,MAAMA,IAAW,MACf,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IAEN,UAAA;AAAA,MAAC,gBAAAC,EAAA,KAAA,EAAE,UAAS,uBACV,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MAAA,GAET;AAAA,MACC,gBAAAA,EAAA,QAAA,EACC,UAAC,gBAAAA,EAAA,YAAA,EAAS,IAAG,iBACX,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAM;AAAA,UACN,QAAO;AAAA,UACP,MAAK;AAAA,UACL,WAAU;AAAA,QAAA;AAAA,SAEd,EACF,CAAA;AAAA,IAAA;AAAA,EAAA;AACF;"}
@@ -0,0 +1,21 @@
1
+ import { jsx as C } from "react/jsx-runtime";
2
+ const o = () => /* @__PURE__ */ C(
3
+ "svg",
4
+ {
5
+ width: "14",
6
+ height: "15",
7
+ viewBox: "0 0 14 15",
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ children: /* @__PURE__ */ C(
10
+ "path",
11
+ {
12
+ d: "M12.4881 12.0235L9.91536 9.45071C10.5348 8.62611 10.8691 7.62242 10.868 6.5911C10.868 3.9568 8.72481 1.8136 6.09052 1.8136C3.45622 1.8136 1.31302 3.9568 1.31302 6.5911C1.31302 9.22539 3.45622 11.3686 6.09052 11.3686C7.12184 11.3697 8.12553 11.0353 8.95013 10.4159L11.5229 12.9887C11.6531 13.1051 11.823 13.1673 11.9976 13.1624C12.1722 13.1575 12.3383 13.086 12.4619 12.9624C12.5854 12.8389 12.6569 12.6728 12.6618 12.4982C12.6667 12.3236 12.6046 12.1537 12.4881 12.0235ZM2.67802 6.5911C2.67802 5.91617 2.87816 5.2564 3.25313 4.69521C3.6281 4.13403 4.16106 3.69664 4.78461 3.43836C5.40816 3.18008 6.0943 3.1125 6.75626 3.24417C7.41822 3.37584 8.02627 3.70085 8.50352 4.1781C8.98077 4.65534 9.30578 5.26339 9.43745 5.92535C9.56912 6.58731 9.50154 7.27345 9.24326 7.897C8.98497 8.52056 8.54758 9.05352 7.9864 9.42849C7.42522 9.80346 6.76545 10.0036 6.09052 10.0036C5.1858 10.0025 4.31845 9.64263 3.67872 9.0029C3.03898 8.36317 2.6791 7.49582 2.67802 6.5911Z",
13
+ fill: "currentColor"
14
+ }
15
+ )
16
+ }
17
+ );
18
+ export {
19
+ o as default
20
+ };
21
+ //# sourceMappingURL=SearchIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchIcon.mjs","sources":["../../../../../../../src/modules/slack/components/SlackChannelCombobox/icons/SearchIcon.tsx"],"sourcesContent":["const SearchIcon = () => (\n <svg\n width=\"14\"\n height=\"15\"\n viewBox=\"0 0 14 15\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.4881 12.0235L9.91536 9.45071C10.5348 8.62611 10.8691 7.62242 10.868 6.5911C10.868 3.9568 8.72481 1.8136 6.09052 1.8136C3.45622 1.8136 1.31302 3.9568 1.31302 6.5911C1.31302 9.22539 3.45622 11.3686 6.09052 11.3686C7.12184 11.3697 8.12553 11.0353 8.95013 10.4159L11.5229 12.9887C11.6531 13.1051 11.823 13.1673 11.9976 13.1624C12.1722 13.1575 12.3383 13.086 12.4619 12.9624C12.5854 12.8389 12.6569 12.6728 12.6618 12.4982C12.6667 12.3236 12.6046 12.1537 12.4881 12.0235ZM2.67802 6.5911C2.67802 5.91617 2.87816 5.2564 3.25313 4.69521C3.6281 4.13403 4.16106 3.69664 4.78461 3.43836C5.40816 3.18008 6.0943 3.1125 6.75626 3.24417C7.41822 3.37584 8.02627 3.70085 8.50352 4.1781C8.98077 4.65534 9.30578 5.26339 9.43745 5.92535C9.56912 6.58731 9.50154 7.27345 9.24326 7.897C8.98497 8.52056 8.54758 9.05352 7.9864 9.42849C7.42522 9.80346 6.76545 10.0036 6.09052 10.0036C5.1858 10.0025 4.31845 9.64263 3.67872 9.0029C3.03898 8.36317 2.6791 7.49582 2.67802 6.5911Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default SearchIcon\n"],"names":["SearchIcon","jsx"],"mappings":";AAAA,MAAMA,IAAa,MAChB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACA,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,OAAM;AAAA,IAEN,UAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IACP;AAAA,EAAA;AACF;"}
@@ -0,0 +1,46 @@
1
+ import { jsxs as t, jsx as s } from "react/jsx-runtime";
2
+ const h = ({
3
+ height: c,
4
+ width: l
5
+ }) => /* @__PURE__ */ t(
6
+ "svg",
7
+ {
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ style: { height: c, width: l },
10
+ viewBox: "0 0 122.8 122.8",
11
+ children: [
12
+ /* @__PURE__ */ s(
13
+ "path",
14
+ {
15
+ d: "M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z",
16
+ fill: "#e01e5a"
17
+ }
18
+ ),
19
+ /* @__PURE__ */ s(
20
+ "path",
21
+ {
22
+ d: "M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z",
23
+ fill: "#36c5f0"
24
+ }
25
+ ),
26
+ /* @__PURE__ */ s(
27
+ "path",
28
+ {
29
+ d: "M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z",
30
+ fill: "#2eb67d"
31
+ }
32
+ ),
33
+ /* @__PURE__ */ s(
34
+ "path",
35
+ {
36
+ d: "M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z",
37
+ fill: "#ecb22e"
38
+ }
39
+ )
40
+ ]
41
+ }
42
+ );
43
+ export {
44
+ h as SlackIcon
45
+ };
46
+ //# sourceMappingURL=SlackIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackIcon.mjs","sources":["../../../../../../src/modules/slack/components/SlackIcon/SlackIcon.tsx"],"sourcesContent":["export const SlackIcon = ({\n height,\n width,\n}: {\n height: string;\n width: string;\n}) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style={{ height, width }}\n viewBox=\"0 0 122.8 122.8\"\n >\n <path\n d=\"M25.8 77.6c0 7.1-5.8 12.9-12.9 12.9S0 84.7 0 77.6s5.8-12.9 12.9-12.9h12.9v12.9zm6.5 0c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9v32.3c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V77.6z\"\n fill=\"#e01e5a\"\n ></path>\n <path\n d=\"M45.2 25.8c-7.1 0-12.9-5.8-12.9-12.9S38.1 0 45.2 0s12.9 5.8 12.9 12.9v12.9H45.2zm0 6.5c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H12.9C5.8 58.1 0 52.3 0 45.2s5.8-12.9 12.9-12.9h32.3z\"\n fill=\"#36c5f0\"\n ></path>\n <path\n d=\"M97 45.2c0-7.1 5.8-12.9 12.9-12.9s12.9 5.8 12.9 12.9-5.8 12.9-12.9 12.9H97V45.2zm-6.5 0c0 7.1-5.8 12.9-12.9 12.9s-12.9-5.8-12.9-12.9V12.9C64.7 5.8 70.5 0 77.6 0s12.9 5.8 12.9 12.9v32.3z\"\n fill=\"#2eb67d\"\n ></path>\n <path\n d=\"M77.6 97c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9-12.9-5.8-12.9-12.9V97h12.9zm0-6.5c-7.1 0-12.9-5.8-12.9-12.9s5.8-12.9 12.9-12.9h32.3c7.1 0 12.9 5.8 12.9 12.9s-5.8 12.9-12.9 12.9H77.6z\"\n fill=\"#ecb22e\"\n ></path>\n </svg>\n );\n};\n"],"names":["SlackIcon","height","width","jsxs","jsx"],"mappings":";AAAO,MAAMA,IAAY,CAAC;AAAA,EACxB,QAAAC;AAAA,EACA,OAAAC;AACF,MAKI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,OAAO,EAAE,QAAAF,GAAQ,OAAAC,EAAM;AAAA,IACvB,SAAQ;AAAA,IAER,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MACN;AAAA,MACD,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MACN;AAAA,MACD,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MACN;AAAA,MACD,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MACN;AAAA,IAAA;AAAA,EAAA;AAAA;"}