@hiver/connector-agent 4.13.2 → 4.13.3-slack-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/app/connector-cards.d.ts.map +1 -1
- package/app/omni-slack/SlackConnectModalIsland.d.ts +22 -0
- package/app/omni-slack/SlackConnectModalIsland.d.ts.map +1 -0
- package/app/omni-slack/index.d.ts +14 -0
- package/app/omni-slack/index.d.ts.map +1 -0
- package/app/omni-slack/provider.d.ts +15 -0
- package/app/omni-slack/provider.d.ts.map +1 -0
- package/app/provider.d.ts.map +1 -1
- package/features/connector-cards/api/userAuth.d.ts +25 -0
- package/features/connector-cards/api/userAuth.d.ts.map +1 -0
- package/features/connector-cards/components/card-list/CardWithUserAuth.d.ts +33 -0
- package/features/connector-cards/components/card-list/CardWithUserAuth.d.ts.map +1 -0
- package/features/connector-cards/components/card-list/ListCards.d.ts.map +1 -1
- package/features/connector-cards/components/card-list/NoCardsUserAuthGate.d.ts +24 -0
- package/features/connector-cards/components/card-list/NoCardsUserAuthGate.d.ts.map +1 -0
- package/features/connector-cards/components/connection-in-progress-modal/index.d.ts +19 -0
- package/features/connector-cards/components/connection-in-progress-modal/index.d.ts.map +1 -0
- package/features/connector-cards/components/user-auth-card/__tests__/UserAuthCard.test.d.ts +2 -0
- package/features/connector-cards/components/user-auth-card/__tests__/UserAuthCard.test.d.ts.map +1 -0
- package/features/connector-cards/components/user-auth-card/index.d.ts +33 -0
- package/features/connector-cards/components/user-auth-card/index.d.ts.map +1 -0
- package/features/connector-cards/components/user-auth-card/style.d.ts +29 -0
- package/features/connector-cards/components/user-auth-card/style.d.ts.map +1 -0
- package/features/connector-cards/constants/api.d.ts +2 -0
- package/features/connector-cards/constants/api.d.ts.map +1 -1
- package/features/connector-cards/hooks/useUserAuthFlow.d.ts +42 -0
- package/features/connector-cards/hooks/useUserAuthFlow.d.ts.map +1 -0
- package/features/connector-cards/store/userAuth.d.ts +85 -0
- package/features/connector-cards/store/userAuth.d.ts.map +1 -0
- package/features/connector-cards/store/userAuth.test.d.ts +2 -0
- package/features/connector-cards/store/userAuth.test.d.ts.map +1 -0
- package/features/connector-cards/utils/registerUserAuthCallback.d.ts +13 -0
- package/features/connector-cards/utils/registerUserAuthCallback.d.ts.map +1 -0
- package/features/slack/api/channels.d.ts +11 -0
- package/features/slack/api/channels.d.ts.map +1 -0
- package/features/slack/api/conversations.d.ts +17 -0
- package/features/slack/api/conversations.d.ts.map +1 -0
- package/features/slack/api/effective-config.d.ts +21 -0
- package/features/slack/api/effective-config.d.ts.map +1 -0
- package/features/slack/api/index.d.ts +4 -0
- package/features/slack/api/index.d.ts.map +1 -0
- package/features/slack/api/linked-conv.d.ts +33 -0
- package/features/slack/api/linked-conv.d.ts.map +1 -0
- package/features/slack/api/members.d.ts +10 -0
- package/features/slack/api/members.d.ts.map +1 -0
- package/features/slack/api/messages.d.ts +10 -0
- package/features/slack/api/messages.d.ts.map +1 -0
- package/features/slack/api/normalise.d.ts +3 -0
- package/features/slack/api/normalise.d.ts.map +1 -0
- package/features/slack/avatar/SlackAvatar.d.ts +20 -0
- package/features/slack/avatar/SlackAvatar.d.ts.map +1 -0
- package/features/slack/avatar/cache.d.ts +10 -0
- package/features/slack/avatar/cache.d.ts.map +1 -0
- package/features/slack/avatar/index.d.ts +2 -0
- package/features/slack/avatar/index.d.ts.map +1 -0
- package/features/slack/components/HeroIllustration.d.ts +16 -0
- package/features/slack/components/HeroIllustration.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/ChannelThreadGroup.d.ts +25 -0
- package/features/slack/components/LinkedConversationPanel/ChannelThreadGroup.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/Composer.d.ts +41 -0
- package/features/slack/components/LinkedConversationPanel/Composer.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/LeftChannelBanner.d.ts +26 -0
- package/features/slack/components/LinkedConversationPanel/LeftChannelBanner.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/MentionPicker.d.ts +23 -0
- package/features/slack/components/LinkedConversationPanel/MentionPicker.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/MessageItem.d.ts +27 -0
- package/features/slack/components/LinkedConversationPanel/MessageItem.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/ReconnectSlackBanner.d.ts +15 -0
- package/features/slack/components/LinkedConversationPanel/ReconnectSlackBanner.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/ThreadDetailView.d.ts +19 -0
- package/features/slack/components/LinkedConversationPanel/ThreadDetailView.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/ThreadSkeleton.d.ts +3 -0
- package/features/slack/components/LinkedConversationPanel/ThreadSkeleton.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/index.d.ts +27 -0
- package/features/slack/components/LinkedConversationPanel/index.d.ts.map +1 -0
- package/features/slack/components/LinkedConversationPanel/style.d.ts +90 -0
- package/features/slack/components/LinkedConversationPanel/style.d.ts.map +1 -0
- package/features/slack/components/SlackConnectModal.d.ts +24 -0
- package/features/slack/components/SlackConnectModal.d.ts.map +1 -0
- package/features/slack/components/SlackConversationTab.d.ts +31 -0
- package/features/slack/components/SlackConversationTab.d.ts.map +1 -0
- package/features/slack/components/SlackLogo.d.ts +11 -0
- package/features/slack/components/SlackLogo.d.ts.map +1 -0
- package/features/slack/components/StartModal/SelectField.d.ts +19 -0
- package/features/slack/components/StartModal/SelectField.d.ts.map +1 -0
- package/features/slack/components/StartModal/SlackChannelTab.d.ts +21 -0
- package/features/slack/components/StartModal/SlackChannelTab.d.ts.map +1 -0
- package/features/slack/components/StartModal/SlackThreadTab.d.ts +25 -0
- package/features/slack/components/StartModal/SlackThreadTab.d.ts.map +1 -0
- package/features/slack/components/StartModal/TabIcon.d.ts +16 -0
- package/features/slack/components/StartModal/TabIcon.d.ts.map +1 -0
- package/features/slack/components/StartModal/index.d.ts +27 -0
- package/features/slack/components/StartModal/index.d.ts.map +1 -0
- package/features/slack/components/StartModal/style.d.ts +38 -0
- package/features/slack/components/StartModal/style.d.ts.map +1 -0
- package/features/slack/components/figma-tokens.d.ts +89 -0
- package/features/slack/components/figma-tokens.d.ts.map +1 -0
- package/features/slack/components/style.d.ts +54 -0
- package/features/slack/components/style.d.ts.map +1 -0
- package/features/slack/constants/api.d.ts +12 -0
- package/features/slack/constants/api.d.ts.map +1 -0
- package/features/slack/context.d.ts +30 -0
- package/features/slack/context.d.ts.map +1 -0
- package/features/slack/hooks/useLeftChannelGuard.d.ts +5 -0
- package/features/slack/hooks/useLeftChannelGuard.d.ts.map +1 -0
- package/features/slack/hooks/useSlackTabLabel.d.ts +23 -0
- package/features/slack/hooks/useSlackTabLabel.d.ts.map +1 -0
- package/features/slack/messageType.d.ts +16 -0
- package/features/slack/messageType.d.ts.map +1 -0
- package/features/slack/types/wire.d.ts +126 -0
- package/features/slack/types/wire.d.ts.map +1 -0
- package/features/toast-message/ToastRoot.d.ts.map +1 -1
- package/features/write-form/utils/response.d.ts.map +1 -1
- package/index.d.ts +5 -0
- package/index.d.ts.map +1 -1
- package/index.es.js +12100 -9258
- package/index.umd.js +1002 -404
- package/main-dev.d.ts.map +1 -1
- package/package.json +1 -1
- package/store/hooks.d.ts +2 -0
- package/store/hooks.d.ts.map +1 -1
- package/store/index.d.ts +6 -0
- package/store/index.d.ts.map +1 -1
- package/testing/mocks/handlers/fetch-cards.d.ts +2 -2
- package/testing/mocks/handlers/fetch-cards.d.ts.map +1 -1
- package/testing/mocks/handlers/slack.d.ts +35 -0
- package/testing/mocks/handlers/slack.d.ts.map +1 -0
- package/testing/mocks/handlers/user-auth.d.ts +31 -0
- package/testing/mocks/handlers/user-auth.d.ts.map +1 -0
- package/testing/mocks/handlers/write-capability.d.ts.map +1 -1
- package/testing/mocks/handlers.d.ts.map +1 -1
- package/types/cards.d.ts +1 -0
- package/types/cards.d.ts.map +1 -1
- package/types/form.d.ts +2 -0
- package/types/form.d.ts.map +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlackThreadTab.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/SlackThreadTab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAS3C,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgElD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Tab-switcher icons rendered inline (not via CSS mask / <img>) so the
|
|
4
|
+
* stroke inherits the tab's active/inactive color through
|
|
5
|
+
* `stroke="currentColor"`. A masked data-URI broke here because the
|
|
6
|
+
* icon stroke colors contain `#`, which truncates the mask url() into
|
|
7
|
+
* a fragment — leaving a solid filled square. Inline SVG sidesteps that
|
|
8
|
+
* entirely. Paths are the exact Figma exports (thread = message bubble,
|
|
9
|
+
* channel = hash).
|
|
10
|
+
*/
|
|
11
|
+
interface TabIconProps {
|
|
12
|
+
variant: 'thread' | 'channel';
|
|
13
|
+
}
|
|
14
|
+
export declare const TabIcon: FC<TabIconProps>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=TabIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabIcon.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/TabIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAE3B;;;;;;;;GAQG;AACH,UAAU,YAAY;IACpB,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA0BpC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
interface StartModalProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
/** Called after a successful start, with the linked channel id so
|
|
6
|
+
* the parent can transition to the linked-conv view. */
|
|
7
|
+
onStarted?: (channelId: string) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* UI-2 — shared shell for the "Start new" flow. Two tabs:
|
|
11
|
+
*
|
|
12
|
+
* Slack thread (UI-3, frame 683:665296) — pick an existing
|
|
13
|
+
* channel, post a thread starter.
|
|
14
|
+
* Slack channel (UI-4, frame 683:664668) — create a brand-new
|
|
15
|
+
* private channel + members + first message.
|
|
16
|
+
*
|
|
17
|
+
* Submit/cancel actions are shared. The tab bodies are dedicated
|
|
18
|
+
* components (SlackThreadTab / SlackChannelTab) that own their
|
|
19
|
+
* fields — this shell just orchestrates state + dispatch.
|
|
20
|
+
*
|
|
21
|
+
* The actual API call lands at:
|
|
22
|
+
* POST /v1/connectors/slack/agent/start/existing-channel (thread)
|
|
23
|
+
* POST /v1/connectors/slack/agent/start/new-channel (channel)
|
|
24
|
+
*/
|
|
25
|
+
export declare const StartModal: FC<StartModalProps>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAC;AAwBrC,UAAU,eAAe;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;6DACyD;IACzD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAID;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAqG1C,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BoxProps, ButtonProps, IconButtonProps, StackProps } from '@hiver/hiver-ui-kit';
|
|
2
|
+
import { StyledComponent } from '@emotion/styled';
|
|
3
|
+
/**
|
|
4
|
+
* Start-modal primitives — matches Figma frame 683:665888 (applies to
|
|
5
|
+
* both the Slack thread + Slack channel tabs). <Modal> supplies the
|
|
6
|
+
* dialog frame; this file owns the visual chrome.
|
|
7
|
+
*
|
|
8
|
+
* Design note: rather than fight MUI's standard-variant input
|
|
9
|
+
* internals (the underline + adornment slots resist `sx` overrides),
|
|
10
|
+
* the fields are built from our own bordered container (InputShell /
|
|
11
|
+
* SelectTrigger / MessageTextarea) with a bare input inside. MUI's
|
|
12
|
+
* Autocomplete still drives the dropdown logic via renderInput; we
|
|
13
|
+
* just own the chrome. See SlackThreadTab / SlackChannelTab.
|
|
14
|
+
*/
|
|
15
|
+
export declare const ModalShell: StyledComponent<BoxProps>;
|
|
16
|
+
export declare const ModalHeader: StyledComponent<StackProps>;
|
|
17
|
+
export declare const HeaderTitle: StyledComponent<BoxProps>;
|
|
18
|
+
export declare const CloseIconWrap: StyledComponent<IconButtonProps>;
|
|
19
|
+
export declare const ModalContent: StyledComponent<BoxProps>;
|
|
20
|
+
export declare const FieldStack: StyledComponent<BoxProps>;
|
|
21
|
+
export declare const ModalFooter: StyledComponent<StackProps>;
|
|
22
|
+
export declare const TabTrack: StyledComponent<BoxProps>;
|
|
23
|
+
export declare const TabButton: StyledComponent<ButtonProps & {
|
|
24
|
+
active?: boolean;
|
|
25
|
+
}>;
|
|
26
|
+
export declare const FieldLabel: StyledComponent<BoxProps>;
|
|
27
|
+
export declare const InputShell: StyledComponent<BoxProps>;
|
|
28
|
+
export declare const BareInput: StyledComponent<React.InputHTMLAttributes<HTMLInputElement>>;
|
|
29
|
+
export declare const SelectTrigger: StyledComponent<ButtonProps & {
|
|
30
|
+
placeholder?: boolean;
|
|
31
|
+
}>;
|
|
32
|
+
export declare const SelectValue: StyledComponent<BoxProps>;
|
|
33
|
+
export declare const MemberChip: StyledComponent<BoxProps>;
|
|
34
|
+
export declare const ChipRemove: StyledComponent<IconButtonProps>;
|
|
35
|
+
export declare const MessageTextarea: StyledComponent<React.TextareaHTMLAttributes<HTMLTextAreaElement>>;
|
|
36
|
+
export declare const CancelButton: StyledComponent<ButtonProps>;
|
|
37
|
+
export declare const PrimaryButton: StyledComponent<ButtonProps>;
|
|
38
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../../../src/features/slack/components/StartModal/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;;;;;;;;;GAWG;AAIH,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAOhD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,UAAU,CAOnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,QAAQ,CAMjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,eAAe,CAY1D,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,QAAQ,CAKlD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAIhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,UAAU,CAKnD,CAAC;AAIF,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAO9C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,CAAC,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CA8BzE,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAOhD,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAehD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAelF,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,WAAW,GAAG;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CA4BlF,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,CAAC,QAAQ,CAMjD,CAAC;AAIF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,QAAQ,CAchD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,CAAC,eAAe,CAUvD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CA6B9F,CAAC;AAOF,eAAO,MAAM,YAAY,EAAE,eAAe,CAAC,WAAW,CA0BrD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,WAAW,CAuBtD,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design tokens extracted from the Slack M1 Figma file (key
|
|
3
|
+
* l8xIG3MI2gKbvpSfykSR1y) on 2026-06-09 via figma MCP's
|
|
4
|
+
* get_variable_defs + get_design_context for the linked-conv
|
|
5
|
+
* panel (frames 683:666914 tab bar / 683:666932 chat content /
|
|
6
|
+
* 683:667011 composer).
|
|
7
|
+
*
|
|
8
|
+
* Why these live here and not @hiver/hiver-ui-kit: the design
|
|
9
|
+
* system in Figma uses a slate ramp + #276cf0 primary blue that
|
|
10
|
+
* doesn't fully map to hiver-ui-kit's theme.palette today (which
|
|
11
|
+
* leans on purple primary). Rather than mutate the shared theme,
|
|
12
|
+
* we ship Slack-scoped tokens that match Figma exactly. When
|
|
13
|
+
* @hiver/hiver-ui-kit catches up, this file goes away.
|
|
14
|
+
*
|
|
15
|
+
* Token names follow Figma's "Slate/Text/Body" → slateTextBody
|
|
16
|
+
* convention so the design-handoff trace is obvious.
|
|
17
|
+
*/
|
|
18
|
+
export declare const slackTokens: {
|
|
19
|
+
readonly color: {
|
|
20
|
+
readonly slateTextTitle: "#0f172a";
|
|
21
|
+
readonly slateTextBody: "#334155";
|
|
22
|
+
readonly slateTextSubtle: "#64758b";
|
|
23
|
+
readonly slateTextDisabled: "#94a3b8";
|
|
24
|
+
readonly slateTextCaption: "#cbd5e1";
|
|
25
|
+
readonly textLabel: "#0c3e9d";
|
|
26
|
+
readonly blueTextBody: "#0c3e9d";
|
|
27
|
+
readonly slateBorderLight: "#e2e8f0";
|
|
28
|
+
readonly slateBorderMild: "#edf1f6";
|
|
29
|
+
readonly slateSurfaceWhite: "#ffffff";
|
|
30
|
+
readonly slateSurfaceSubtle: "#f8fafc";
|
|
31
|
+
readonly slateSurfaceSubtle100: "#f1f5f9";
|
|
32
|
+
readonly slateSurface150: "#edf1f6";
|
|
33
|
+
readonly slateSurfaceDisabled: "#e2e8f0";
|
|
34
|
+
readonly primarySurfaceDefault: "#276cf0";
|
|
35
|
+
readonly primaryBorderDefault: "#276cf0";
|
|
36
|
+
readonly primarySurfaceSubtle: "#e6effd";
|
|
37
|
+
readonly primaryBorderSubtle: "#d4e2fc";
|
|
38
|
+
readonly hotBorderMain: "#f3f4f6";
|
|
39
|
+
readonly violetSurfaceFaint: "#fcf0ff";
|
|
40
|
+
readonly slackAubergine: "#4a154b";
|
|
41
|
+
readonly slackAubergineHover: "#3a103b";
|
|
42
|
+
};
|
|
43
|
+
readonly space: {
|
|
44
|
+
readonly xs: 2;
|
|
45
|
+
readonly sm: 4;
|
|
46
|
+
readonly md: 6;
|
|
47
|
+
readonly lg: 8;
|
|
48
|
+
readonly xl: 12;
|
|
49
|
+
readonly xxl: 16;
|
|
50
|
+
readonly panel: 20;
|
|
51
|
+
};
|
|
52
|
+
readonly radius: {
|
|
53
|
+
readonly none: 0;
|
|
54
|
+
readonly xs: 2;
|
|
55
|
+
readonly sm: 4;
|
|
56
|
+
readonly md: 6;
|
|
57
|
+
readonly lg: 8;
|
|
58
|
+
readonly full: 9999;
|
|
59
|
+
};
|
|
60
|
+
readonly font: {
|
|
61
|
+
readonly family: "Inter, system-ui, sans-serif";
|
|
62
|
+
readonly weightRegular: 400;
|
|
63
|
+
readonly weightMedium: 500;
|
|
64
|
+
};
|
|
65
|
+
readonly textStyles: {
|
|
66
|
+
readonly bodyXs: {
|
|
67
|
+
readonly fontSize: 13;
|
|
68
|
+
readonly lineHeight: "19px";
|
|
69
|
+
readonly fontWeight: 500;
|
|
70
|
+
};
|
|
71
|
+
readonly body: {
|
|
72
|
+
readonly fontSize: 14;
|
|
73
|
+
readonly lineHeight: "20px";
|
|
74
|
+
readonly fontWeight: 400;
|
|
75
|
+
};
|
|
76
|
+
readonly bodyMedium: {
|
|
77
|
+
readonly fontSize: 14;
|
|
78
|
+
readonly lineHeight: "20px";
|
|
79
|
+
readonly fontWeight: 500;
|
|
80
|
+
};
|
|
81
|
+
readonly caption: {
|
|
82
|
+
readonly fontSize: 12;
|
|
83
|
+
readonly lineHeight: "18px";
|
|
84
|
+
readonly fontWeight: 400;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export type SlackTokens = typeof slackTokens;
|
|
89
|
+
//# sourceMappingURL=figma-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"figma-tokens.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/components/figma-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEd,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { BoxProps, ButtonProps, IconButtonProps, StackProps } from '@hiver/hiver-ui-kit';
|
|
2
|
+
import { StyledComponent } from '@emotion/styled';
|
|
3
|
+
/**
|
|
4
|
+
* Tab content root for the Slack feature. outlook-ui owns the
|
|
5
|
+
* surrounding tab bar; we paint just the body.
|
|
6
|
+
*/
|
|
7
|
+
export declare const TabContentRoot: StyledComponent<BoxProps>;
|
|
8
|
+
/**
|
|
9
|
+
* Ready-state container — Hiver↔Slack hero illustration + body +
|
|
10
|
+
* Start New CTA. Figma frame 683:664077 centers this in the
|
|
11
|
+
* available area.
|
|
12
|
+
*/
|
|
13
|
+
export declare const ReadyStateContainer: StyledComponent<StackProps>;
|
|
14
|
+
export declare const HeroIllustrationWrapper: StyledComponent<BoxProps>;
|
|
15
|
+
/**
|
|
16
|
+
* Ready-state containment — Figma frame 683:663852. The tab content
|
|
17
|
+
* area is a subtle-gray backdrop with 8px padding; the hero + copy +
|
|
18
|
+
* CTA live inside a rounded white card. The card is content-driven
|
|
19
|
+
* (top-anchored), so the gray frame — not the card — takes the flex
|
|
20
|
+
* and shows below the card.
|
|
21
|
+
*/
|
|
22
|
+
export declare const ReadyStateFrame: StyledComponent<BoxProps>;
|
|
23
|
+
export declare const ReadyStateCard: StyledComponent<StackProps>;
|
|
24
|
+
/**
|
|
25
|
+
* Primary CTA — matches Figma's blue (#276cf0) primary surface.
|
|
26
|
+
* 8/16 padding, radius 6, Inter Medium 14/20, white text. The
|
|
27
|
+
* 0 2 3 rgba(0,0,0,0.07) drop shadow matches the Send button per
|
|
28
|
+
* Figma 683:667027.
|
|
29
|
+
*/
|
|
30
|
+
export declare const PrimaryButton: StyledComponent<ButtonProps>;
|
|
31
|
+
/**
|
|
32
|
+
* Connect-Slack CTA — Slack brand aubergine (#4a154b) with a leading
|
|
33
|
+
* hash glyph, per Figma 683:660098. Distinct from the blue
|
|
34
|
+
* PrimaryButton; content-sized (NOT full width), radius 6, 8/32 pad.
|
|
35
|
+
*/
|
|
36
|
+
export declare const ConnectSlackButton: StyledComponent<ButtonProps>;
|
|
37
|
+
export declare const SecondaryButton: StyledComponent<ButtonProps>;
|
|
38
|
+
/**
|
|
39
|
+
* Centered modal — Figma 683:660097 / 660098. Backdrop dims at
|
|
40
|
+
* rgba(0,0,0,0.4) approx; card is 399 wide × auto tall, radius
|
|
41
|
+
* 12px, white bg with a soft large drop shadow.
|
|
42
|
+
*/
|
|
43
|
+
export declare const ModalBackdrop: StyledComponent<BoxProps>;
|
|
44
|
+
export declare const ModalCard: StyledComponent<BoxProps>;
|
|
45
|
+
/**
|
|
46
|
+
* Logo panel inside the Connect modal — lavender wash with the
|
|
47
|
+
* Hiver / swap / Slack icon trio centered. Per Figma 683:660099
|
|
48
|
+
* the inner frame is 383×164 inside the 399×312 modal (i.e. a
|
|
49
|
+
* full-width band that takes the top half).
|
|
50
|
+
*/
|
|
51
|
+
export declare const ModalLogoPanel: StyledComponent<BoxProps>;
|
|
52
|
+
export declare const ModalCloseButton: StyledComponent<IconButtonProps>;
|
|
53
|
+
export declare const LogoImage: StyledComponent<React.ImgHTMLAttributes<HTMLImageElement>>;
|
|
54
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/components/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,QAAQ,CAOpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,eAAe,CAAC,UAAU,CAO3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,eAAe,CAAC,QAAQ,CAM7D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,QAAQ,CAQrD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,UAAU,CAYtD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,WAAW,CAqBtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAAC,WAAW,CAwB3D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,CAexD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,QAAQ,CASnD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,CAAC,QAAQ,CAa/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,eAAe,CAAC,QAAQ,CASpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,eAAe,CAiB7D,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAIhF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const SLACK_BASE_URL = "/v1/connectors/slack";
|
|
2
|
+
export declare const SLACK_AGENT_BASE = "/v1/connectors/slack/agent";
|
|
3
|
+
export declare const SLACK_START_EXISTING_CHANNEL_API: string;
|
|
4
|
+
export declare const SLACK_START_NEW_CHANNEL_API: string;
|
|
5
|
+
export declare const SLACK_MESSAGES_API: string;
|
|
6
|
+
export declare const SLACK_MESSAGE_BY_ID_API: string;
|
|
7
|
+
export declare const SLACK_EXTERNAL_CONVERSATION_API: string;
|
|
8
|
+
export declare const SLACK_THREAD_API: string;
|
|
9
|
+
export declare const SLACK_EXTERNAL_CONVERSATIONS_BY_TARGET_API: string;
|
|
10
|
+
export declare const SLACK_CHANNEL_MEMBERS_API: string;
|
|
11
|
+
export declare const SLACK_CHANNELS_API: string;
|
|
12
|
+
//# sourceMappingURL=api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/constants/api.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,eAAO,MAAM,gBAAgB,+BAA4B,CAAC;AAE1D,eAAO,MAAM,gCAAgC,EAAE,MAAqD,CAAC;AACrG,eAAO,MAAM,2BAA2B,EAAE,MAAgD,CAAC;AAE3F,eAAO,MAAM,kBAAkB,EAAE,MAAuC,CAAC;AAGzE,eAAO,MAAM,uBAAuB,EAAE,MAA0D,CAAC;AAEjG,eAAO,MAAM,+BAA+B,EAAE,MAAiE,CAAC;AAGhH,eAAO,MAAM,gBAAgB,EAAE,MAAmF,CAAC;AACnH,eAAO,MAAM,0CAA0C,EAAE,MAA+D,CAAC;AAEzH,eAAO,MAAM,yBAAyB,EAAE,MAA8C,CAAC;AAMvF,eAAO,MAAM,kBAAkB,EAAE,MAAuC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Per-panel context the host (outlook-ui) injects when mounting
|
|
4
|
+
* the Slack right-panel. Mirrors EmailLoggerProvider's shape so the
|
|
5
|
+
* Vue→React bridge stays consistent across panels.
|
|
6
|
+
*
|
|
7
|
+
* `connectorId` resolves to the install row for this user-group's
|
|
8
|
+
* Slack connector. The host knows it from its connectors list; we
|
|
9
|
+
* could fetch + match here, but a prop is one round-trip cheaper and
|
|
10
|
+
* keeps the panel rendering immediately on mount.
|
|
11
|
+
*/
|
|
12
|
+
export interface SlackContextData {
|
|
13
|
+
hiverConvId: string;
|
|
14
|
+
connectorId: string;
|
|
15
|
+
/**
|
|
16
|
+
* Shared mailbox id this conversation belongs to. Required for the
|
|
17
|
+
* Phase 9 effective-config endpoint (`/configs/effective?sm_id=`),
|
|
18
|
+
* which gates whether Slack renders for the current agent + SM.
|
|
19
|
+
* Sourced by the host from the conversation's current SM (first
|
|
20
|
+
* non-personal inbox in outlook-ui's case).
|
|
21
|
+
*/
|
|
22
|
+
smId: string;
|
|
23
|
+
isAdmin: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare const SlackContextProvider: FC<{
|
|
26
|
+
value: SlackContextData;
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
}>;
|
|
29
|
+
export declare const useSlackContext: () => SlackContextData;
|
|
30
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/features/slack/context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,EAAE,EAAE,SAAS,EAAc,MAAM,OAAO,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAErF,CAAC;AAKF,eAAO,MAAM,eAAe,QAAO,gBAMlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLeftChannelGuard.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/hooks/useLeftChannelGuard.ts"],"names":[],"mappings":"AA2BA,wBAAgB,mBAAmB;;YAIxB,CAAC,MAAM,MAAM,OAAO,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,CAAC,CAAC;EAgB9C"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface SlackTabLabel {
|
|
2
|
+
label: string;
|
|
3
|
+
/** True once we have a confirmed link; lets the host render a
|
|
4
|
+
* Slack icon next to the channel name (vs the generic "Slack"
|
|
5
|
+
* fallback) and apply any active-link styling. */
|
|
6
|
+
isLinked: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Resolves the tab label outlook-ui renders in its conversation
|
|
10
|
+
* tab bar.
|
|
11
|
+
*
|
|
12
|
+
* - Pre-link: "Slack" (host renders Slack icon + label)
|
|
13
|
+
* - Linked: channel name (e.g. "l2-escalations-zap") from
|
|
14
|
+
* external_conversation; host still renders the Slack
|
|
15
|
+
* icon so the user knows it's the Slack tab.
|
|
16
|
+
*
|
|
17
|
+
* Lives on the connectors-ui side because the linked-conv lookup
|
|
18
|
+
* already happens here for the tab content. Avoids the host
|
|
19
|
+
* duplicating that fetch just to compute a label.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useSlackTabLabel(hiverConvId: string): SlackTabLabel;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=useSlackTabLabel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSlackTabLabel.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/hooks/useSlackTabLabel.ts"],"names":[],"mappings":"AAEA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd;;uDAEmD;IACnD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAUnE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SlackMessage } from './types/wire';
|
|
2
|
+
/**
|
|
3
|
+
* Slack message-type policy lives on the UI side: the API sends the raw
|
|
4
|
+
* Slack `subtype` and the client decides what to do with it. Today that
|
|
5
|
+
* means hiding the reply affordance for system messages; a future
|
|
6
|
+
* milestone can branch rendering (e.g. a centered "X joined" notice)
|
|
7
|
+
* off the same field.
|
|
8
|
+
*
|
|
9
|
+
* These system subtypes are channel lifecycle events that Slack does NOT
|
|
10
|
+
* allow thread replies on — attempting to reply 500s on their side.
|
|
11
|
+
*/
|
|
12
|
+
export declare const NON_REPLYABLE_SUBTYPES: ReadonlySet<string>;
|
|
13
|
+
/** Ordinary messages (no subtype) are replyable; system subtypes above
|
|
14
|
+
* are not. Unknown subtypes default to replyable. */
|
|
15
|
+
export declare const isReplyable: (message: Pick<SlackMessage, "subtype">) => boolean;
|
|
16
|
+
//# sourceMappingURL=messageType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageType.d.ts","sourceRoot":"","sources":["../../../src/features/slack/messageType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAerD,CAAC;AAEH;sDACsD;AACtD,eAAO,MAAM,WAAW,YAAa,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,KAAG,OACH,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wire types for the Slack agent endpoints in custom-integrations.
|
|
3
|
+
*
|
|
4
|
+
* GET responses use camelCase keys; POST responses currently return
|
|
5
|
+
* `author` as a raw snake_case dict (known backend inconsistency —
|
|
6
|
+
* see plan-slack-m1-ui Backend status, 2026-06-09). The client
|
|
7
|
+
* normalises in api/index.ts so the UI layer only sees one shape.
|
|
8
|
+
*/
|
|
9
|
+
export interface SlackMessageAuthor {
|
|
10
|
+
externalUserId: string;
|
|
11
|
+
/** Backend leaves this null when the message author hasn't been
|
|
12
|
+
* enriched via users.info (e.g. fresh chat.postMessage responses).
|
|
13
|
+
* UI falls back to externalUserId for display. */
|
|
14
|
+
name: string | null;
|
|
15
|
+
avatarUrl?: string | null;
|
|
16
|
+
isSelf: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface SlackMessageAuthorRaw {
|
|
19
|
+
external_user_id: string;
|
|
20
|
+
name: string | null;
|
|
21
|
+
avatar_url?: string | null;
|
|
22
|
+
is_self: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface SlackMessage {
|
|
25
|
+
externalMessageId: string;
|
|
26
|
+
externalThreadTs?: string;
|
|
27
|
+
channelId: string;
|
|
28
|
+
author: SlackMessageAuthor;
|
|
29
|
+
text: string;
|
|
30
|
+
postedAt: string;
|
|
31
|
+
editedAt?: string | null;
|
|
32
|
+
deletedAt?: string | null;
|
|
33
|
+
clientMsgId?: string;
|
|
34
|
+
/** Raw Slack message subtype (e.g. 'channel_join', 'channel_leave');
|
|
35
|
+
* null/undefined for ordinary user messages. The UI derives
|
|
36
|
+
* replyability (and any future type-specific rendering) from this —
|
|
37
|
+
* see isReplyable(). */
|
|
38
|
+
subtype?: string | null;
|
|
39
|
+
/** UI-only flag for an in-flight outbound send. Never on the wire —
|
|
40
|
+
* the optimistic row gets dropped when refetchQueries lands the
|
|
41
|
+
* server's canonical state. */
|
|
42
|
+
isPending?: boolean;
|
|
43
|
+
}
|
|
44
|
+
/** Whether a link points at a single Slack thread (UI-5) or a whole
|
|
45
|
+
* channel (B4). Channel mode renders every thread in the channel. */
|
|
46
|
+
export type SlackTargetKind = 'thread' | 'channel';
|
|
47
|
+
/** Channel-mode grouping (B4): one Slack thread — a root message plus
|
|
48
|
+
* its replies (oldest-first). Sourced from the backend's `threads[]`. */
|
|
49
|
+
export interface SlackThreadGroup {
|
|
50
|
+
rootTs: string;
|
|
51
|
+
root: SlackMessage;
|
|
52
|
+
replies: SlackMessage[];
|
|
53
|
+
replyCount: number;
|
|
54
|
+
}
|
|
55
|
+
/** Why the current viewer can't post into the linked channel. Backend
|
|
56
|
+
* computes this per-request against the viewer's OWN Slack token:
|
|
57
|
+
* - 'not_in_channel' → connected but not a member (or has left)
|
|
58
|
+
* - 'slack_not_connected' → no active Slack auth for this viewer
|
|
59
|
+
* Null/undefined when the viewer can post. */
|
|
60
|
+
export type SlackPostBlockReason = 'not_in_channel' | 'slack_not_connected';
|
|
61
|
+
export interface ExternalConversation {
|
|
62
|
+
hiverConvId: string;
|
|
63
|
+
channelId: string;
|
|
64
|
+
channelName: string;
|
|
65
|
+
externalThreadTs?: string;
|
|
66
|
+
/** 'channel' → render `threads` grouped; 'thread' (default) → render
|
|
67
|
+
* the flat `messages` list with a pinned parent. */
|
|
68
|
+
targetKind?: SlackTargetKind;
|
|
69
|
+
messages: SlackMessage[];
|
|
70
|
+
/** Present in channel mode: one entry per Slack thread in the linked
|
|
71
|
+
* channel. Undefined in thread mode. */
|
|
72
|
+
threads?: SlackThreadGroup[];
|
|
73
|
+
isTrimmed?: boolean;
|
|
74
|
+
/** Per-viewer composer hint (computed against the viewer's own Slack
|
|
75
|
+
* token). Defaults to true when the server omits it. */
|
|
76
|
+
viewerCanPost?: boolean;
|
|
77
|
+
/** Reason the composer is blocked when viewerCanPost is false. */
|
|
78
|
+
viewerPostBlockReason?: SlackPostBlockReason | null;
|
|
79
|
+
}
|
|
80
|
+
export interface MemberResolutionReport {
|
|
81
|
+
added: Array<{
|
|
82
|
+
email: string;
|
|
83
|
+
externalUserId: string;
|
|
84
|
+
}>;
|
|
85
|
+
notOnSlack: string[];
|
|
86
|
+
}
|
|
87
|
+
export interface StartExistingChannelRequest {
|
|
88
|
+
hiverConvId: string;
|
|
89
|
+
channelId: string;
|
|
90
|
+
messageText: string;
|
|
91
|
+
}
|
|
92
|
+
export interface StartNewChannelRequest {
|
|
93
|
+
hiverConvId: string;
|
|
94
|
+
channelName: string;
|
|
95
|
+
/** Backend wants a bool; UI state holds a UX-friendly enum and
|
|
96
|
+
* transforms at the API boundary (see StartModal). */
|
|
97
|
+
isPrivate: boolean;
|
|
98
|
+
memberEmails: string[];
|
|
99
|
+
messageText: string;
|
|
100
|
+
}
|
|
101
|
+
export interface StartResponse {
|
|
102
|
+
externalConversationId: string;
|
|
103
|
+
channelId: string;
|
|
104
|
+
externalThreadTs?: string;
|
|
105
|
+
postedMessage: SlackMessage;
|
|
106
|
+
memberResolutionReport?: MemberResolutionReport;
|
|
107
|
+
}
|
|
108
|
+
export interface PostMessageRequest {
|
|
109
|
+
hiverConvId: string;
|
|
110
|
+
text: string;
|
|
111
|
+
/** Channel mode (B4): root ts of the thread to reply into. Omit to
|
|
112
|
+
* post a new top-level message (a new thread) to the channel. */
|
|
113
|
+
externalThreadTs?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface ChannelMember {
|
|
116
|
+
externalUserId: string;
|
|
117
|
+
name: string;
|
|
118
|
+
avatarUrl?: string;
|
|
119
|
+
}
|
|
120
|
+
export interface SlackChannel {
|
|
121
|
+
externalChannelId: string;
|
|
122
|
+
name: string;
|
|
123
|
+
isPrivate: boolean;
|
|
124
|
+
isMember: boolean;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../../src/features/slack/types/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastRoot.d.ts","sourceRoot":"","sources":["../../../src/features/toast-message/ToastRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA8B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ToastRoot.d.ts","sourceRoot":"","sources":["../../../src/features/toast-message/ToastRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA8B,MAAM,OAAO,CAAC;AA0BvD,eAAO,MAAM,kBAAkB,QAAO,IAIrC,CAAC;AAEF,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA4CxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/features/write-form/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGlE,eAAO,MAAM,gBAAgB,UAAW,iBAAiB,cAAc,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/features/write-form/utils/response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGlE,eAAO,MAAM,gBAAgB,UAAW,iBAAiB,cAAc,OAAO,CAAC,UAAU,CAAC,eAgFzF,CAAC"}
|
package/index.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export type { ISectionItems, IActionButtons, ISections, IMetaData, ITemplateUpda
|
|
|
9
9
|
export { EmailLogger, GmailLogObserver } from './app/email-logger';
|
|
10
10
|
export { OmniEmailLogger } from './app/omni-email-logger';
|
|
11
11
|
export type { OmniEmailLoggerProps } from './app/omni-email-logger';
|
|
12
|
+
export { OmniSlackTab } from './app/omni-slack';
|
|
13
|
+
export type { OmniSlackTabProps } from './app/omni-slack';
|
|
14
|
+
export { SlackConnectModalIsland } from './app/omni-slack/SlackConnectModalIsland';
|
|
15
|
+
export type { SlackConnectModalIslandProps } from './app/omni-slack/SlackConnectModalIsland';
|
|
16
|
+
export { useSlackTabLabel } from './features/slack/hooks/useSlackTabLabel';
|
|
12
17
|
export { fetchAppCfValues, fetchDeferredAppCfValues } from './api/appCustomField';
|
|
13
18
|
export type { AppCfValuesRequest, AppCfValuesResponse, AppFieldValue, AppFieldValueStatus } from './api/appCustomField';
|
|
14
19
|
export { useConnectorSelectedEmail } from './store/connectorEmailStore';
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAClF,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,YAAY,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAG7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAClF,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|