@bcrumbs.net/inbox 0.0.58 → 0.0.60

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 (44) hide show
  1. package/{cb9c022b3cf80e0f.svg → 2998ffe42c3436c0.svg} +43 -43
  2. package/{594c01a9720e0657.svg → 396ba1d86a9997b1.svg} +42 -42
  3. package/assets/ar/inbox.json +268 -268
  4. package/assets/en/inbox.json +270 -270
  5. package/index.cjs.d.ts +1 -1
  6. package/index.cjs.js +9225 -9316
  7. package/index.esm.d.ts +1 -1
  8. package/index.esm.js +9228 -9319
  9. package/package.json +3 -3
  10. package/src/app/ai/components/Crumby/ChatView.d.ts +12 -0
  11. package/src/app/ai/components/Crumby/CrumbyComposer.d.ts +3 -0
  12. package/src/app/ai/components/Crumby/CrumbySendAction.d.ts +4 -0
  13. package/src/app/ai/components/Crumby/CrumbyWidget.d.ts +2 -0
  14. package/src/app/ai/components/Crumby/index.d.ts +1 -2
  15. package/src/app/auth/components/password-page/AuthPasswordPageLayout.d.ts +7 -0
  16. package/src/app/auth/components/password-page/ForgetPasswordFormView.d.ts +20 -0
  17. package/src/app/auth/components/password-page/PasswordFormView.d.ts +22 -0
  18. package/src/app/auth/components/password-page/PasswordSuccessView.d.ts +8 -0
  19. package/src/app/auth/pages/Forget.d.ts +0 -3
  20. package/src/app/broadcast/utils/helper.d.ts +2 -1
  21. package/src/app/dashboard/components/DashboardSections.d.ts +6 -2
  22. package/src/app/dashboard/components/OpenedChatsCard.d.ts +2 -1
  23. package/src/app/dashboard/components/TagPerformanceCard.d.ts +8 -0
  24. package/src/app/dashboard/utils/dateHelpers.d.ts +3 -0
  25. package/src/app/inbox/components/Chat/ChatContent.d.ts +1 -0
  26. package/src/app/inbox/components/Shared/SharedStyle.d.ts +0 -6
  27. package/src/app/inbox/hooks/useCanContribute.d.ts +3 -2
  28. package/src/app/layout/constants/index.d.ts +2 -1
  29. package/src/app/onboarding/components/OnboardingStepDetail.d.ts +10 -0
  30. package/src/app/onboarding/components/OnboardingView.d.ts +19 -0
  31. package/src/app/onboarding/components/onboardingStepGuide.d.ts +11 -0
  32. package/src/app/onboarding/components/useOnboardingChecklist.d.ts +30 -0
  33. package/src/app/onboarding/utils/onboardingChecklistStorage.d.ts +15 -2
  34. package/src/app/resources/components/Integrations/Facebook/PagePickerPopup.d.ts +1 -2
  35. package/src/app/resources/components/Integrations/Facebook/index.d.ts +3 -1
  36. package/src/app/resources/components/ListResources/Utils.d.ts +0 -1
  37. package/src/app/resources/hooks/useFBPagesHook.d.ts +1 -0
  38. package/src/app/subscriptions/components/SubscriptionSettings/SubscriptionUsers.d.ts +1 -1
  39. package/src/assets/locales/translations.d.ts +69 -1
  40. package/src/graphql.autogenerated.d.ts +192 -4
  41. package/src/graphql.billing.autogenerated.d.ts +171 -0
  42. package/src/utils/localStorage.d.ts +1 -0
  43. package/src/utils/zohoOAuth.d.ts +16 -0
  44. package/src/app/onboarding/components/OnboardingChecklistWidget.d.ts +0 -3
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bcrumbs.net/inbox",
3
3
  "description": "Inbox widget for Bread Crumbs portals",
4
- "version": "0.0.58",
4
+ "version": "0.0.60",
5
5
  "keyword": [
6
6
  "bcrumbs",
7
7
  "bc-ui",
@@ -24,8 +24,8 @@
24
24
  "graphql": "15.4.0"
25
25
  },
26
26
  "dependencies": {
27
- "@bcrumbs.net/bc-shared": "^0.0.9",
28
- "@bcrumbs.net/bc-ui": "^0.0.14",
27
+ "@bcrumbs.net/bc-shared": "^0.0.10",
28
+ "@bcrumbs.net/bc-ui": "^0.0.15",
29
29
  "@bcrumbs.net/bc-api": "^0.0.47",
30
30
  "@azure/storage-blob": "^12.25.0"
31
31
  },
@@ -0,0 +1,12 @@
1
+ import { type FC } from 'react';
2
+ export type ChatViewProps = {
3
+ rtl: boolean;
4
+ onClose: () => void;
5
+ /** When set, shows a back arrow that returns to the onboarding checklist (still in progress). */
6
+ onBack?: () => void;
7
+ /** Text carried over from the onboarding input; sent once on mount, then consumed. */
8
+ pendingMessage?: string | null;
9
+ onPendingConsumed?: () => void;
10
+ };
11
+ /** Chat mode of the unified widget: Crumby header, thread, action chips, composer. */
12
+ export declare const ChatView: FC<ChatViewProps>;
@@ -0,0 +1,3 @@
1
+ /** Single-line composer for the Crumby floating chat (distinct from the playground Composer). */
2
+ declare const CrumbyComposer: () => import("@emotion/react/jsx-runtime").JSX.Element;
3
+ export default CrumbyComposer;
@@ -0,0 +1,4 @@
1
+ declare const CrumbySendAction: ({ isRTL }: {
2
+ isRTL?: boolean;
3
+ }) => import("@emotion/react/jsx-runtime").JSX.Element;
4
+ export default CrumbySendAction;
@@ -0,0 +1,2 @@
1
+ declare const CrumbyWidget: () => import("@emotion/react/jsx-runtime").JSX.Element | null;
2
+ export default CrumbyWidget;
@@ -1,2 +1 @@
1
- declare const CrumbyChat: () => import("@emotion/react/jsx-runtime").JSX.Element;
2
- export default CrumbyChat;
1
+ export { default } from './CrumbyWidget';
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ type AuthPasswordPageLayoutProps = {
3
+ children: ReactNode;
4
+ backgroundImage?: string;
5
+ };
6
+ export declare function AuthPasswordPageLayout({ children, backgroundImage }: AuthPasswordPageLayoutProps): import("@emotion/react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,20 @@
1
+ type ForgetPasswordFormViewProps = {
2
+ title: string;
3
+ subtitle: string;
4
+ emailLabel: string;
5
+ emailPlaceholder: string;
6
+ emailValue: string;
7
+ emailError?: string;
8
+ submitLabel: string;
9
+ footerText: string;
10
+ footerLinkText: string;
11
+ footerLinkTo: string;
12
+ showFooterLink?: boolean;
13
+ submitDisabled?: boolean;
14
+ loading?: boolean;
15
+ onBack?: () => void;
16
+ onEmailChange: (value: string) => void;
17
+ onSubmit: () => void;
18
+ };
19
+ export declare function ForgetPasswordFormView({ title, subtitle, emailLabel, emailPlaceholder, emailValue, emailError, submitLabel, footerText, footerLinkText, footerLinkTo, showFooterLink, submitDisabled, loading, onBack, onEmailChange, onSubmit, }: ForgetPasswordFormViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,22 @@
1
+ export type PasswordFieldConfig = {
2
+ label: string;
3
+ placeholder: string;
4
+ value: string;
5
+ error?: string;
6
+ visibility: 'password' | 'text';
7
+ onChange: (value: string) => void;
8
+ onToggleVisibility: () => void;
9
+ };
10
+ type PasswordFormViewProps = {
11
+ title: string;
12
+ subtitle: string;
13
+ submitLabel: string;
14
+ passwordField: PasswordFieldConfig;
15
+ confirmPasswordField: PasswordFieldConfig;
16
+ submitDisabled?: boolean;
17
+ loading?: boolean;
18
+ onBack?: () => void;
19
+ onSubmit: () => void;
20
+ };
21
+ export declare function PasswordFormView({ title, subtitle, submitLabel, passwordField, confirmPasswordField, submitDisabled, loading, onBack, onSubmit, }: PasswordFormViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
22
+ export {};
@@ -0,0 +1,8 @@
1
+ type PasswordSuccessViewProps = {
2
+ title: string;
3
+ subtitle: string;
4
+ actionLabel?: string;
5
+ onAction?: () => void;
6
+ };
7
+ export declare function PasswordSuccessView({ title, subtitle, actionLabel, onAction }: PasswordSuccessViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -6,8 +6,5 @@ export type Props = {
6
6
  error: any;
7
7
  status: any;
8
8
  };
9
- export type State = {
10
- email: any;
11
- };
12
9
  declare const _default: any;
13
10
  export default _default;
@@ -1,4 +1,5 @@
1
- export declare const fullDateTimeFormat: (date: string | null | undefined) => string;
1
+ export declare const formatLocalizedDate: (date: string | null | undefined, locale?: string) => string;
2
+ export declare const fullDateTimeFormat: (date: string | null | undefined, locale?: string) => string;
2
3
  /**
3
4
  * Template sends store `content` as JSON: `{ name, language: { code }, components }`.
4
5
  */
@@ -1,6 +1,7 @@
1
- import { Agent, AgentsReportQuery, ConvsReportQuery, Conversation } from '../../../graphql.autogenerated';
1
+ import { Agent, AgentsReportQuery, ConvTagsReportQuery, ConvsReportQuery, Conversation } from '../../../graphql.autogenerated';
2
2
  import React from 'react';
3
3
  type AgentReportNode = NonNullable<AgentsReportQuery['agentsReport']['nodes']>[number];
4
+ type ConvTagReportNode = NonNullable<ConvTagsReportQuery['convTagsReport']['nodes']>[number];
4
5
  type ConvReportNode = NonNullable<ConvsReportQuery['convsReport']['nodes']>[number];
5
6
  type ReportNode = AgentReportNode | ConvReportNode;
6
7
  interface DashboardSectionsProps {
@@ -9,6 +10,8 @@ interface DashboardSectionsProps {
9
10
  agentsReportData?: AgentReportNode[];
10
11
  agentsLoading?: boolean;
11
12
  agentsReportLoading?: boolean;
13
+ convTagsReportData?: ConvTagReportNode[];
14
+ convTagsReportLoading?: boolean;
12
15
  totalMessages?: number;
13
16
  convsLoading?: boolean;
14
17
  integrationId?: string;
@@ -18,7 +21,8 @@ interface DashboardSectionsProps {
18
21
  liveConvs?: Conversation[] | null;
19
22
  startDate: string;
20
23
  endDate: string;
24
+ selectedPeriod: string;
21
25
  reportNodes: ReportNode[];
22
26
  }
23
- declare const _default: React.MemoExoticComponent<({ agentsData, allAgentsData, agentsReportData, agentsLoading, agentsReportLoading, totalMessages, convsLoading, integrationId, agentIds, assignedConversations, unassignedConversations, liveConvs, startDate, endDate, reportNodes, }: DashboardSectionsProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
27
+ declare const _default: React.MemoExoticComponent<({ agentsData, allAgentsData, agentsReportData, agentsLoading, agentsReportLoading, convTagsReportData, convTagsReportLoading, totalMessages, convsLoading, integrationId, agentIds, assignedConversations, unassignedConversations, liveConvs, startDate, endDate, selectedPeriod, reportNodes, }: DashboardSectionsProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
24
28
  export default _default;
@@ -2,7 +2,8 @@ export interface AllChatsCardProps {
2
2
  totalMessages?: number;
3
3
  assignedConversations?: number;
4
4
  unassignedConversations?: number;
5
+ selectedPeriod?: string;
5
6
  loading?: boolean;
6
7
  }
7
- declare const OpenedChatsCard: ({ totalMessages, assignedConversations, unassignedConversations, loading, }: AllChatsCardProps) => import("@emotion/react/jsx-runtime").JSX.Element;
8
+ declare const OpenedChatsCard: ({ totalMessages, assignedConversations, unassignedConversations, selectedPeriod, loading, }: AllChatsCardProps) => import("@emotion/react/jsx-runtime").JSX.Element;
8
9
  export default OpenedChatsCard;
@@ -0,0 +1,8 @@
1
+ import { ConvTagsReportQuery } from '../../../graphql.autogenerated';
2
+ type ConvTagReportNode = NonNullable<ConvTagsReportQuery['convTagsReport']['nodes']>[number];
3
+ interface TagPerformanceCardProps {
4
+ data?: ConvTagReportNode[];
5
+ loading?: boolean;
6
+ }
7
+ declare const TagPerformanceCard: ({ data, loading }: TagPerformanceCardProps) => import("@emotion/react/jsx-runtime").JSX.Element;
8
+ export default TagPerformanceCard;
@@ -21,4 +21,7 @@ export declare const getBroadcastReportQueryDateRange: (period?: string) => {
21
21
  startDate?: string;
22
22
  endDate?: string;
23
23
  };
24
+ export declare const PERIOD_TRANSLATION_KEYS: Record<string, string>;
25
+ export declare const getPeriodTranslationKey: (period: string) => string;
26
+ export declare const isDateInRange: (date: string | Date, startDate: string, endDate: string) => boolean;
24
27
  export declare const formatTime: (seconds: number) => string;
@@ -18,6 +18,7 @@ interface ChatContentProps {
18
18
  title: string;
19
19
  content: string;
20
20
  id: string;
21
+ type: MessageType;
21
22
  } | null;
22
23
  onCancelReplyMessage: () => void;
23
24
  errorMessage: string;
@@ -13,12 +13,6 @@ export declare const DetailsSectionLabel: import("@emotion/styled").StyledCompon
13
13
  export declare const EditButton: import("@emotion/styled").StyledComponent<import("@bcrumbs.net/bc-ui").ButtonProps & import("react").RefAttributes<HTMLButtonElement> & {
14
14
  theme?: import("@emotion/react").Theme | undefined;
15
15
  }, {}, {}>;
16
- export declare const TagContainer: import("@emotion/styled").StyledComponent<{
17
- theme?: import("@emotion/react").Theme | undefined;
18
- as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
19
- } & {
20
- $isMobile?: boolean | undefined;
21
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
16
  export declare const ClientDetailsContainer: import("@emotion/styled").StyledComponent<{
23
17
  theme?: import("@emotion/react").Theme | undefined;
24
18
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
@@ -1,9 +1,10 @@
1
+ import { Role } from '@bcrumbs.net/bc-shared';
1
2
  import { Agent, Conversation } from '../../../graphql.autogenerated';
2
3
  interface Props {
3
- hasAdminOrOwnerRole?: boolean;
4
+ role?: Role;
4
5
  selectedConv?: Conversation;
5
6
  myAgent?: Agent;
6
7
  userType?: string;
7
8
  }
8
- declare const useCanContribute: ({ hasAdminOrOwnerRole, selectedConv, myAgent, userType }: Props) => boolean;
9
+ declare const useCanContribute: ({ role, selectedConv, myAgent, userType }: Props) => boolean;
9
10
  export default useCanContribute;
@@ -37,7 +37,7 @@ export declare const BCMainNavigation: {
37
37
  })[];
38
38
  }[];
39
39
  tags: string[];
40
- requiredPermissions?: undefined;
40
+ requiredPermissions: Permission[];
41
41
  } | {
42
42
  label: string;
43
43
  title: string;
@@ -56,6 +56,7 @@ export declare const BCMainNavigation: {
56
56
  link: string;
57
57
  action: string;
58
58
  tags: string[];
59
+ requiredPermissions: Permission[];
59
60
  }[];
60
61
  };
61
62
  export declare const MOBILE_DIMENSION = 767;
@@ -0,0 +1,10 @@
1
+ import { type OnboardingChecklistStepId } from '../utils/onboardingChecklistStorage';
2
+ export type OnboardingStepDetailProps = {
3
+ stepId: OnboardingChecklistStepId;
4
+ /** Right-to-left layout (flips the back arrow direction). */
5
+ rtl: boolean;
6
+ onBack: () => void;
7
+ onClose: () => void;
8
+ };
9
+ /** Single-step guide: instructions (Step 1/Step 2…) plus optional screenshots. */
10
+ export declare function OnboardingStepDetail({ stepId, rtl, onBack, onClose }: OnboardingStepDetailProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { type OnboardingChecklistState, type OnboardingChecklistStepId } from '../utils/onboardingChecklistStorage';
2
+ export type OnboardingViewProps = {
3
+ applicableStepIds: OnboardingChecklistStepId[];
4
+ checklistState: OnboardingChecklistState | null;
5
+ completedCount: number;
6
+ celebrateStepId: OnboardingChecklistStepId | null;
7
+ /** Show the "Ask crumby…" input (hidden when Crumby chat is unavailable). */
8
+ showInput: boolean;
9
+ rtl: boolean;
10
+ toggleStep: (stepId: OnboardingChecklistStepId) => void;
11
+ onOpenStep: (stepId: OnboardingChecklistStepId) => void;
12
+ onClose: () => void;
13
+ /** Submit text from the input — switches the panel to chat and sends it. */
14
+ onSendToChat: (text: string) => void;
15
+ /** Finish onboarding (all steps done) and open the chat. */
16
+ onFinish: () => void;
17
+ };
18
+ /** Onboarding mode of the unified widget: welcome header, setup checklist, AI input. */
19
+ export declare function OnboardingView({ applicableStepIds, checklistState, completedCount, celebrateStepId, showInput, rtl, toggleStep, onOpenStep, onClose, onSendToChat, onFinish, }: OnboardingViewProps): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { type OnboardingChecklistStepId } from '../utils/onboardingChecklistStorage';
2
+ export type OnboardingStepGuide = {
3
+ /** Optional illustrative screenshots shown under the step instructions. */
4
+ images?: string[];
5
+ };
6
+ /**
7
+ * Per-step visual guide config. Instruction copy lives in i18n
8
+ * (`onboardingChecklist.guide.steps.*`); this only adds optional screenshots.
9
+ * Steps without images render text-only — add entries here as designs ship.
10
+ */
11
+ export declare const ONBOARDING_STEP_GUIDE: Partial<Record<OnboardingChecklistStepId, OnboardingStepGuide>>;
@@ -0,0 +1,30 @@
1
+ import { type OnboardingChecklistState, type OnboardingChecklistStepId } from '../utils/onboardingChecklistStorage';
2
+ export type UseOnboardingChecklist = {
3
+ /** Steps relevant for the current plan (drops Crumby steps when AI is disabled). */
4
+ applicableStepIds: OnboardingChecklistStepId[];
5
+ /** Parsed checklist, or null when there is no active checklist for this user. */
6
+ checklistState: OnboardingChecklistState | null;
7
+ /** Number of applicable steps the user has completed. */
8
+ completedCount: number;
9
+ /** True while there is a non-expired checklist with at least one applicable step still open. */
10
+ isActive: boolean;
11
+ /** Step currently playing the completion sweep, or null. */
12
+ celebrateStepId: OnboardingChecklistStepId | null;
13
+ /** One-shot request to auto-open the widget on onboarding (set right after sign-in). */
14
+ shouldAutoOpen: boolean;
15
+ /** Toggle a step's completed flag (manual checkbox). */
16
+ toggleStep: (stepId: OnboardingChecklistStepId) => void;
17
+ /** Clears the one-shot auto-open request once the widget has acted on it. */
18
+ consumeAutoOpen: () => void;
19
+ /** Run when the widget panel closes: clears the completed checklist from storage. */
20
+ onPanelClosed: () => void;
21
+ /** Finish onboarding now (Get started button): clears the checklist for this workspace. */
22
+ dismissChecklist: () => void;
23
+ };
24
+ /**
25
+ * Owns the onboarding-checklist state previously held inside OnboardingChecklistWidget:
26
+ * load/parse/TTL, applicable steps for the current plan, completion celebration, the
27
+ * cross-tab updated event, and the post-sign-in auto-open signal. The presentation is
28
+ * delegated to the unified Crumby widget.
29
+ */
30
+ export declare function useOnboardingChecklist(): UseOnboardingChecklist;
@@ -11,7 +11,19 @@ export declare const ONBOARDING_CHECKLIST_STEP_IDS: OnboardingChecklistStepId[];
11
11
  export declare const ONBOARDING_CHECKLIST_CRUMBY_STEP_IDS: OnboardingChecklistStepId[];
12
12
  export declare function getApplicableOnboardingChecklistStepIds(isCrumbyEnabled: boolean): OnboardingChecklistStepId[];
13
13
  export declare function isOnboardingChecklistCompleteForCrumbySetting(state: OnboardingChecklistState, isCrumbyEnabled: boolean): boolean;
14
- export declare function getOnboardingChecklistStorageKey(userId: string | number): string;
14
+ export declare function getOnboardingChecklistStorageKey(userId: string | number, workspaceId?: string | number | null): string;
15
+ /** Pre-workspace-scoping key: showcase_onboarding_checklist_{userId} */
16
+ export declare function getLegacyOnboardingChecklistStorageKey(userId: string | number): string;
17
+ /**
18
+ * Load checklist for user + workspace. Migrates legacy user-only (and empty-workspace) keys once.
19
+ * Returns null when workspace context is not available.
20
+ */
21
+ export declare function loadOnboardingChecklistState(userId: string | number, workspaceId?: string | number | null): OnboardingChecklistState | null;
22
+ /**
23
+ * Pending key is keyed by user only (NOT workspace): it is a one-shot "user just signed in"
24
+ * signal set at login, before the workspace context is available. The widget consumes it on
25
+ * first load and creates the checklist scoped to whichever workspace the user landed in.
26
+ */
15
27
  export declare function getOnboardingChecklistPendingKey(userId: string | number): string;
16
28
  /** One-shot: open checklist popover after sign-in (session tab only). */
17
29
  export declare const ONBOARDING_CHECKLIST_SESSION_AUTOPEN_KEY = "showcase_onboarding_checklist_session_autopen";
@@ -30,10 +42,11 @@ export declare function notifyOnboardingChecklistAfterSignIn(userId: string | nu
30
42
  * Use this to cheaply skip heavy work (e.g. scanning all inbox messages) when the step is already done
31
43
  * or there is no active checklist.
32
44
  */
33
- export declare function getActiveOnboardingChecklistState(userId: string | number | null | undefined): OnboardingChecklistState | null;
45
+ export declare function getActiveOnboardingChecklistState(userId: string | number | null | undefined, workspaceId?: string | number | null): OnboardingChecklistState | null;
34
46
  export type MarkOnboardingChecklistStepOptions = {
35
47
  /** When already loaded (e.g. after a gate check), avoids a second localStorage read. */
36
48
  knownActiveState?: OnboardingChecklistState;
49
+ workspaceId?: string | number | null;
37
50
  };
38
51
  /**
39
52
  * Marks a checklist step done when the user performs the real action (persists + notifies widget).
@@ -1,9 +1,8 @@
1
1
  import { IntegrationWithSecrets } from '../../../../../graphql.autogenerated';
2
2
  import { FBPage } from '../../../hooks/useFBPagesHook';
3
- export declare function PagePickerPopup({ onClose, setInitialValues, token, pages, rtl, }: {
3
+ export declare function PagePickerPopup({ onClose, setInitialValues, pages, rtl, }: {
4
4
  onClose: () => void;
5
5
  setInitialValues: (initialResource: Partial<IntegrationWithSecrets>) => void;
6
- token?: string;
7
6
  pages: FBPage[];
8
7
  rtl?: boolean;
9
8
  }): import("@emotion/react/jsx-runtime").JSX.Element;
@@ -4,7 +4,9 @@ import { IntegrationFlowComponentProps } from '../types';
4
4
  import { ChannelFlowExtendedProps } from '../RenderCorrectIntegrationFlow';
5
5
  type Props = IntegrationFlowComponentProps<IntegrationWithSecrets> & ChannelFlowExtendedProps;
6
6
  export declare const FacebookMessanger: React.FC<Props>;
7
- export declare const FacebookMessangerReconnect: React.FC<IntegrationFlowComponentProps<IntegrationWithSecrets>>;
7
+ export declare const FacebookMessangerReconnect: React.FC<IntegrationFlowComponentProps<IntegrationWithSecrets> & {
8
+ pageId?: string;
9
+ }>;
8
10
  export declare const InstaMessanger: React.FC<IntegrationFlowComponentProps<IntegrationWithSecrets>>;
9
11
  export declare const InstaMessangerReconnect: React.FC<IntegrationFlowComponentProps<IntegrationWithSecrets>>;
10
12
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TFunction } from "i18next";
3
2
  import { Row, Action } from "@bcrumbs.net/bc-ui";
4
3
  import { ResourceDefinition } from "../../config";
@@ -6,6 +6,7 @@ declare global {
6
6
  export interface FBPage {
7
7
  id: string;
8
8
  name: string;
9
+ access_token: string;
9
10
  }
10
11
  declare function useFBPagesHook(scope: string): {
11
12
  login: (onResult: (fbUserAccessToken: string, pages: FBPage[]) => void) => void;
@@ -4,7 +4,7 @@ type SubscriptionProfileRouteProps = {
4
4
  users: any[];
5
5
  refetchUsers: any;
6
6
  loadingUsers: boolean;
7
- inviteUser: (companyId: number, email: string) => Promise<unknown>;
7
+ inviteUser: (companyId: number, Email: string, actorEmail: string) => Promise<unknown>;
8
8
  removeUserFromCompany: (companyId: number, userId: string) => Promise<unknown>;
9
9
  };
10
10
  export declare const SubscriptionUsers: (props: SubscriptionProfileRouteProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -45,6 +45,7 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
45
45
  continue: string;
46
46
  dontHaveAnAccount: string;
47
47
  signupNow: string;
48
+ signUp: string;
48
49
  returnToLogin: string;
49
50
  passwordResetSuccess: string;
50
51
  passwordResetFaildDesc: string;
@@ -64,6 +65,14 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
64
65
  currentPassword: string;
65
66
  newPassword: string;
66
67
  confirmPassword: string;
68
+ createSecurePasswordTitle: string;
69
+ createSecurePasswordDesc: string;
70
+ createSecurePasswordSubtitle: string;
71
+ newPasswordPlaceholder: string;
72
+ confirmPasswordPlaceholder: string;
73
+ resetPasswordButton: string;
74
+ passwordChangedTitle: string;
75
+ passwordChangedDesc: string;
67
76
  facebook: string;
68
77
  google: string;
69
78
  };
@@ -120,6 +129,18 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
120
129
  sessionNotFound: string;
121
130
  subscriptionUpdated: string;
122
131
  subscriptionVerified: string;
132
+ purchaseConfirmed: string;
133
+ purchaseConfirmedDescription: string;
134
+ purchaseConfirmedWithPlan: string;
135
+ planName: string;
136
+ billingInterval: string;
137
+ nextRenewalDate: string;
138
+ createFirstChannel: string;
139
+ goToInbox: string;
140
+ manageSubscription: string;
141
+ helpAlert: string;
142
+ helpAlertWhatsApp: string;
143
+ channelGuideTitle: string;
123
144
  subscriptionCancelled: string;
124
145
  subscriptionCancelledDescription: string;
125
146
  backToInbox: string;
@@ -131,6 +152,7 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
131
152
  profileMgmt: string;
132
153
  profile: string;
133
154
  password: string;
155
+ changePassword: string;
134
156
  updatingEmailNote: string;
135
157
  help: string;
136
158
  feedback: string;
@@ -179,6 +201,9 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
179
201
  hychartWorkspace: string;
180
202
  inboxWorkspace: string;
181
203
  userRole: string;
204
+ usersTableName: string;
205
+ usersTableEmail: string;
206
+ usersTableRole: string;
182
207
  ownerRole: string;
183
208
  adminRole: string;
184
209
  managerRole: string;
@@ -193,7 +218,13 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
193
218
  workspaceIdCopyFailed: string;
194
219
  copyWorkspaceId: string;
195
220
  upgradePlan: string;
221
+ planUpdatedSuccessfully: string;
196
222
  cancelSubscription: string;
223
+ cancelSubscriptionConfirmTitle: string;
224
+ cancelSubscriptionConfirmDescription: string;
225
+ subscriptionCanceledSuccessfully: string;
226
+ subscriptionReactivatedSuccessfully: string;
227
+ reactivateSubscription: string;
197
228
  activePlan: string;
198
229
  cancelledBadge: string;
199
230
  currentCycleEnd: string;
@@ -585,13 +616,14 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
585
616
  deliverySuccess: string;
586
617
  successfullySent: string;
587
618
  avgChatTime: string;
588
- newConversations: string;
619
+ newClients: string;
589
620
  newClientsInPeriod: string;
590
621
  closed: string;
591
622
  uniqueClosed: string;
592
623
  agentPerformance: string;
593
624
  agents: string;
594
625
  openedChats: string;
626
+ openedChatsForPeriod: string;
595
627
  agent: string;
596
628
  messagesSent: string;
597
629
  messagesReceived: string;
@@ -613,6 +645,9 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
613
645
  last14Days: string;
614
646
  last30Days: string;
615
647
  agentPerformanceTooltip: string;
648
+ tagPerformance: string;
649
+ tag: string;
650
+ tagPerformanceTooltip: string;
616
651
  selectAll: string;
617
652
  clearAll: string;
618
653
  reports: string;
@@ -692,6 +727,10 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
692
727
  testAi: string;
693
728
  };
694
729
  };
730
+ welcomeTitle: string;
731
+ brand: string;
732
+ askCrumbyPlaceholder: string;
733
+ getStartedButton: string;
695
734
  };
696
735
  id: string;
697
736
  save: string;
@@ -858,6 +897,7 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
858
897
  exportFailed: string;
859
898
  noContactsToExport: string;
860
899
  selectedLifecycle: string;
900
+ archived: string;
861
901
  };
862
902
  management: {
863
903
  title: string;
@@ -926,6 +966,8 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
926
966
  apiKeyLabelPlaceholder: string;
927
967
  noUsersForLinkedAgentTitle: string;
928
968
  noUsersForLinkedAgentDescription: string;
969
+ greetingMessage: string;
970
+ greetingMessagePlaceholder: string;
929
971
  };
930
972
  ai: {
931
973
  title: string;
@@ -980,6 +1022,9 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
980
1022
  integrationNamePlaceholder: string;
981
1023
  token: string;
982
1024
  tokenPlaceholder: string;
1025
+ authorizationCode: string;
1026
+ authorizationCodePlaceholder: string;
1027
+ zohoInvalidCode: string;
983
1028
  urlHeader: string;
984
1029
  urlHeaderPlaceholder: string;
985
1030
  clientId: string;
@@ -1038,6 +1083,7 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
1038
1083
  selectStartWith: string;
1039
1084
  selectAiAgent: string;
1040
1085
  selectAgent: string;
1086
+ selectAgents: string;
1041
1087
  deleteConfirmTitle: string;
1042
1088
  deleteConfirmMessage: string;
1043
1089
  botToken: string;
@@ -1106,6 +1152,22 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
1106
1152
  };
1107
1153
  assistant: {
1108
1154
  welcomeMessage: string;
1155
+ title: string;
1156
+ greetingPrimary: string;
1157
+ greetingSecondary: string;
1158
+ suggestions: {
1159
+ createBroadcast: string;
1160
+ connectChannel: string;
1161
+ inviteTeamMember: string;
1162
+ analyzePerformance: string;
1163
+ };
1164
+ suggestionPrompts: {
1165
+ createBroadcast: string;
1166
+ connectChannel: string;
1167
+ inviteTeamMember: string;
1168
+ analyzePerformance: string;
1169
+ };
1170
+ composerPlaceholder: string;
1109
1171
  };
1110
1172
  file: {
1111
1173
  filesSubTitle: string;
@@ -1215,6 +1277,11 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
1215
1277
  cardTitle: string;
1216
1278
  saved: string;
1217
1279
  maxCharacters: string;
1280
+ instructionsVersion: {
1281
+ cardTitle: string;
1282
+ description: string;
1283
+ option: string;
1284
+ };
1218
1285
  contextPrompt: {
1219
1286
  label: string;
1220
1287
  description: string;
@@ -1269,4 +1336,5 @@ export declare const convertLanguageJsonToObject: (json: any, objToConvertTo?: C
1269
1336
  archive_confirmation: string;
1270
1337
  unarchive_confirmation: string;
1271
1338
  };
1339
+ send: string;
1272
1340
  }>, current?: string) => void;