react-covideo-embed 1.0.91 → 1.0.95

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 (72) hide show
  1. package/README.md +33 -0
  2. package/build/index.js +1058 -859
  3. package/build/index.js.map +1 -1
  4. package/build/react-covideo-embed.esm.js +10245 -8827
  5. package/build/react-covideo-embed.esm.js.map +1 -1
  6. package/dist/app/pages/quickVideos/QuickVideos.d.ts +5 -1
  7. package/dist/app/pages/quickVideos/assets/AddVideoIcon.d.ts +2 -0
  8. package/dist/app/pages/quickVideos/assets/VideoIcon.d.ts +2 -0
  9. package/dist/app/pages/quickVideos/assets/index.d.ts +2 -0
  10. package/dist/app/pages/quickVideos/card/QuickVideoCard.d.ts +10 -0
  11. package/dist/app/pages/quickVideos/card/components/QuickVideoCardBodySection.d.ts +6 -0
  12. package/dist/app/pages/quickVideos/card/components/QuickVideoCardFooterSection.d.ts +6 -0
  13. package/dist/app/pages/quickVideos/card/components/QuickVideoCardHeader.d.ts +6 -0
  14. package/dist/app/pages/quickVideos/form/Manager.d.ts +9 -0
  15. package/dist/app/pages/quickVideos/form/Page.d.ts +8 -0
  16. package/dist/app/pages/quickVideos/form/View.d.ts +5 -0
  17. package/dist/app/pages/quickVideos/form/data/payload.d.ts +3 -0
  18. package/dist/app/pages/quickVideos/form/data/validation.d.ts +1 -0
  19. package/dist/app/pages/quickVideos/form/data/values.d.ts +19 -0
  20. package/dist/app/pages/quickVideos/form/hooks/useSubmit.d.ts +4 -0
  21. package/dist/app/pages/quickVideos/modals/QuickVideoAddVideoModal.d.ts +8 -0
  22. package/dist/app/pages/quickVideos/modals/QuickVideoDetailsModal.d.ts +9 -0
  23. package/dist/app/pages/quickVideos/modals/components/QuickVideoAddVideoListItem.d.ts +7 -0
  24. package/dist/app/pages/quickVideos/modals/components/QuickVideoDetailsModalFooter.d.ts +4 -0
  25. package/dist/app/pages/quickVideos/modals/components/QuickVideoDetailsModalForm.d.ts +5 -0
  26. package/dist/app/pages/quickVideos/modals/components/QuickVideoDetailsModalHeader.d.ts +6 -0
  27. package/dist/app/pages/quickVideos/modals/components/QuickVideoPart.d.ts +11 -0
  28. package/dist/app/pages/quickVideos/modals/components/QuickVideoUserConfigurationVideoDetails.d.ts +7 -0
  29. package/dist/app/pages/quickVideos/modals/styles.d.ts +7 -0
  30. package/dist/app/pages/quickVideos/styles.d.ts +29 -0
  31. package/dist/app/pages/quickVideos/utils.d.ts +14 -0
  32. package/dist/index.d.ts +25 -1
  33. package/dist/lib/api/quickVideos/constants.d.ts +42 -0
  34. package/dist/lib/api/quickVideos/quickVideoKeys.d.ts +7 -0
  35. package/dist/lib/api/quickVideos/types.d.ts +78 -0
  36. package/dist/lib/api/quickVideos/useCreateQuickVideoJobMutation.d.ts +3 -0
  37. package/dist/lib/api/quickVideos/useGetQuickVideoAvailableOpportunity.d.ts +2 -0
  38. package/dist/lib/api/quickVideos/useGetQuickVideoAvailableOpportunityWithLeadDetails.d.ts +2 -0
  39. package/dist/lib/api/quickVideos/useSendQuickVideoWithLeadDetailsMutation.d.ts +3 -0
  40. package/dist/lib/api/quickVideos/useUpdateQuickVideoUserConfigurationMutation.d.ts +3 -0
  41. package/dist/lib/api/videos/types.d.ts +22 -0
  42. package/dist/lib/api/videos/useInfiniteQueryVideos.d.ts +10 -0
  43. package/dist/lib/api/videos/videoKeys.d.ts +4 -0
  44. package/dist/lib/components/styles/typography.d.ts +6 -2
  45. package/dist/lib/context/ConfigurationContext.d.ts +5 -1
  46. package/dist/lib/hooks/query/markAsSent/useQuickShareMarkAsSentMutation.d.ts +1 -0
  47. package/dist/lib/images/AccountIcon.d.ts +1 -1
  48. package/dist/lib/images/AddIcon.d.ts +1 -1
  49. package/dist/lib/images/CarIcon.d.ts +1 -1
  50. package/dist/lib/images/CdkLogo.d.ts +1 -1
  51. package/dist/lib/images/CdkSmallLogo.d.ts +1 -1
  52. package/dist/lib/images/CdkSmallLogoActive.d.ts +1 -1
  53. package/dist/lib/images/CheckmarkIcon.d.ts +1 -1
  54. package/dist/lib/images/CloseCircleIcon.d.ts +1 -1
  55. package/dist/lib/images/CloseIcon.d.ts +1 -1
  56. package/dist/lib/images/CovideoLogo.d.ts +1 -1
  57. package/dist/lib/images/CovideoSmallLogo.d.ts +1 -1
  58. package/dist/lib/images/CovideoSmallLogoActive.d.ts +1 -1
  59. package/dist/lib/images/DeleteIcon.d.ts +1 -1
  60. package/dist/lib/images/Drag.d.ts +1 -1
  61. package/dist/lib/images/HashtagIcon.d.ts +1 -1
  62. package/dist/lib/images/LaptopIcon.d.ts +1 -1
  63. package/dist/lib/images/SaveIcon.d.ts +1 -1
  64. package/dist/lib/images/SettingsIcon.d.ts +1 -1
  65. package/dist/lib/images/VectorIcon.d.ts +1 -1
  66. package/dist/lib/images/VideoIcon.d.ts +1 -1
  67. package/dist/lib/images/VirtualBgIcon.d.ts +1 -1
  68. package/dist/lib/images/ZoomInIcon.d.ts +1 -1
  69. package/dist/lib/images/ZoomOutIcon.d.ts +1 -1
  70. package/dist/lib/images/pauseButton.d.ts +1 -1
  71. package/dist/lib/images/playButton.d.ts +1 -1
  72. package/package.json +8 -7
@@ -1 +1,5 @@
1
- export declare const QuickVideos: () => import("react/jsx-runtime").JSX.Element;
1
+ type QuickVideosProps = {
2
+ handleUpdateToken: (jwt: string) => void | Promise<void>;
3
+ };
4
+ export declare const QuickVideos: ({ handleUpdateToken }: QuickVideosProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ export default AddVideoIcon;
2
+ declare const AddVideoIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,2 @@
1
+ export default VideoIcon;
2
+ declare const VideoIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,2 @@
1
+ export { default as VideoIcon } from './VideoIcon';
2
+ export { default as AddVideoIcon } from './AddVideoIcon';
@@ -0,0 +1,10 @@
1
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
2
+ export interface QuickVideoCardProps {
3
+ quickVideoId: string;
4
+ name: string;
5
+ thumbnailUrl: string;
6
+ description: string;
7
+ quickVideoParts: IQuickVideoPart[];
8
+ leadOpportunityId?: string;
9
+ }
10
+ export declare const QuickVideoCard: ({ quickVideoId, name, thumbnailUrl, description, quickVideoParts, leadOpportunityId, }: QuickVideoCardProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export interface QuickVideoCardBodySectionProps {
2
+ thumbnailUrl?: string;
3
+ name: string;
4
+ onOpenDetails: () => void;
5
+ }
6
+ export declare const QuickVideoCardBodySection: ({ thumbnailUrl, name, onOpenDetails, }: QuickVideoCardBodySectionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export interface QuickVideoCardFooterSectionProps {
2
+ quickVideoId: string;
3
+ leadOpportunityId?: string;
4
+ disabled?: boolean;
5
+ }
6
+ export declare const QuickVideoCardFooterSection: ({ quickVideoId, leadOpportunityId, disabled, }: QuickVideoCardFooterSectionProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export interface QuickVideoCardHeaderProps {
2
+ name: string;
3
+ description: string;
4
+ onOpenDetails: () => void;
5
+ }
6
+ export declare const QuickVideoCardHeader: ({ name, description, onOpenDetails, }: QuickVideoCardHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
3
+ export type ManagerProps = {
4
+ quickVideoId: number;
5
+ quickVideoParts: IQuickVideoPart[];
6
+ onSubmitSuccess?: () => void;
7
+ children: ReactNode;
8
+ };
9
+ export declare const Manager: ({ quickVideoId, quickVideoParts, onSubmitSuccess, children, }: ManagerProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
2
+ export type PageProps = {
3
+ quickVideoId: number;
4
+ quickVideoParts: IQuickVideoPart[];
5
+ onClose: () => void;
6
+ onSubmitSuccess?: () => void;
7
+ };
8
+ export declare const Page: ({ quickVideoId, quickVideoParts, onClose, onSubmitSuccess, }: PageProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
2
+ export type ViewProps = {
3
+ quickVideoParts: IQuickVideoPart[];
4
+ };
5
+ export declare const View: ({ quickVideoParts }: ViewProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import type { IQuickVideoUserConfigurationRequest } from 'lib/api/quickVideos/types';
2
+ import type { FormikValues } from './values';
3
+ export declare const preparePatchData: (values: FormikValues) => IQuickVideoUserConfigurationRequest;
@@ -0,0 +1 @@
1
+ export declare const getValidation: () => any;
@@ -0,0 +1,19 @@
1
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
2
+ export type QuickVideoPendingVideo = {
3
+ id: number;
4
+ title: string;
5
+ thumbnail?: string;
6
+ videoLength?: number;
7
+ totalViews?: number;
8
+ recordDate?: string;
9
+ };
10
+ export type QuickVideoUserPartFormValue = {
11
+ quickVideoPartId: number;
12
+ videoId?: number;
13
+ /** Client-only preview until save/refetch provides server configuration. */
14
+ pendingVideo?: QuickVideoPendingVideo;
15
+ };
16
+ export interface FormikValues {
17
+ parts: QuickVideoUserPartFormValue[];
18
+ }
19
+ export declare const getInitialValues: (quickVideoParts: IQuickVideoPart[]) => FormikValues;
@@ -0,0 +1,4 @@
1
+ import type { FormikValues } from '../data/values';
2
+ export declare const useSubmit: (quickVideoId: number) => {
3
+ submit: (values: FormikValues) => Promise<import("../../../../../lib/api/quickVideos/types").IQuickVideoResponseItem>;
4
+ };
@@ -0,0 +1,8 @@
1
+ import type { VideoListAutomotiveItem } from 'lib/context';
2
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
3
+ export type QuickVideoAddVideoModalProps = {
4
+ part: IQuickVideoPart;
5
+ onClose: () => void;
6
+ onAddVideo: (video: VideoListAutomotiveItem) => void;
7
+ };
8
+ export declare const QuickVideoAddVideoModal: ({ part, onClose, onAddVideo, }: QuickVideoAddVideoModalProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
2
+ export type QuickVideoDetailsModalProps = {
3
+ handleModalClose: () => void;
4
+ quickVideoId: number;
5
+ name: string;
6
+ description: string;
7
+ quickVideoParts: IQuickVideoPart[];
8
+ };
9
+ export declare const QuickVideoDetailsModal: ({ handleModalClose, quickVideoId, name, description, quickVideoParts, }: QuickVideoDetailsModalProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { VideoListAutomotiveItem } from 'lib/context';
2
+ export type QuickVideoAddVideoListItemProps = {
3
+ video: VideoListAutomotiveItem;
4
+ selected: boolean;
5
+ onSelect: (video: VideoListAutomotiveItem) => void;
6
+ };
7
+ export declare const QuickVideoAddVideoListItem: ({ video, selected, onSelect, }: QuickVideoAddVideoListItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export type QuickVideoDetailsModalFooterProps = {
2
+ onClose: () => void;
3
+ };
4
+ export declare const QuickVideoDetailsModalFooter: ({ onClose, }: QuickVideoDetailsModalFooterProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ export type QuickVideoDetailsModalFormProps = PropsWithChildren<{
3
+ onClose: () => void;
4
+ }>;
5
+ export declare const QuickVideoDetailsModalForm: ({ children, onClose, }: QuickVideoDetailsModalFormProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export type QuickVideoDetailsModalHeaderProps = {
2
+ name: string;
3
+ description: string;
4
+ onClose: () => void;
5
+ };
6
+ export declare const QuickVideoDetailsModalHeader: ({ name, description, onClose, }: QuickVideoDetailsModalHeaderProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import type { IQuickVideoPart } from 'lib/api/quickVideos/types';
2
+ import type { QuickVideoPendingVideo } from '../../form/data/values';
3
+ export type QuickVideoPartProps = {
4
+ part: IQuickVideoPart;
5
+ /** Current user-selected video id from Formik (user_video parts only). */
6
+ selectedUserVideoId?: number;
7
+ pendingVideo?: QuickVideoPendingVideo;
8
+ onClearUserVideo?: () => void;
9
+ onOpenAddVideo?: () => void;
10
+ };
11
+ export declare const QuickVideoPart: ({ part, selectedUserVideoId, pendingVideo, onClearUserVideo, onOpenAddVideo, }: QuickVideoPartProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import type { IQuickVideoPartUserConfiguration } from 'lib/api/quickVideos/types';
2
+ export type QuickVideoUserConfigurationVideoDetailsProps = {
3
+ configuration: IQuickVideoPartUserConfiguration;
4
+ onRemove?: () => void;
5
+ onChange?: () => void;
6
+ };
7
+ export declare const QuickVideoUserConfigurationVideoDetails: ({ configuration, onRemove, onChange, }: QuickVideoUserConfigurationVideoDetailsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ export declare const Header: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const Body: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const Footer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
4
+ export declare const AddYourVideoButtonWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const QuickVideoDetailsModalLine: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const QUICK_VIDEO_ADD_VIDEO_LIST_SCROLL_ID = "quickVideoAddVideoListScroll";
7
+ export declare const VideoListScrollContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,29 @@
1
+ export declare const QuickVideoContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const QuickVideoCategorySection: import("styled-components").StyledComponent<"section", import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const QuickVideoCategory: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, import("lib/components/styles/typography").ICommonTypography & {
4
+ as: string;
5
+ }, "as">;
6
+ export declare const QuickVideoCardGrid: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {}, never>;
7
+ export declare const QuickVideoCardGridItem: import("styled-components").StyledComponent<"li", import("styled-components").DefaultTheme, {}, never>;
8
+ export declare const QuickVideoCard: import("styled-components").StyledComponent<"article", import("styled-components").DefaultTheme, {}, never>;
9
+ export declare const QuickVideoCardBody: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
10
+ export declare const QuickVideoCardThumbnail: import("styled-components").StyledComponent<"img", import("styled-components").DefaultTheme, {}, never>;
11
+ export declare const QuickVideoCardThumbnailPlaceholder: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
12
+ export declare const QuickVideoCardThumbnailPlaceholderText: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, import("lib/components/styles/typography").ICommonTypography & {
13
+ as: string;
14
+ } & {
15
+ as: string;
16
+ }, "as">;
17
+ export declare const QuickVideoCardHeader: import("styled-components").StyledComponent<"header", import("styled-components").DefaultTheme, {}, never>;
18
+ export declare const QuickVideoCardName: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, import("lib/components/styles/typography").ICommonTypography & {
19
+ as: string;
20
+ } & {
21
+ as: string;
22
+ }, "as">;
23
+ export declare const QuickVideoCardDescription: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, import("lib/components/styles/typography").ICommonTypography & {
24
+ as: string;
25
+ }, "as">;
26
+ export declare const QuickVideoCardMenuWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
27
+ export declare const QuickVideoCardMenuTrigger: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {}, never>;
28
+ export declare const QuickVideoCardMenu: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
29
+ export declare const QuickVideoCardFooter: import("styled-components").StyledComponent<"footer", import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,14 @@
1
+ import type { TFunction } from 'i18next';
2
+ import type { VideoListAutomotiveItem } from 'lib/context';
3
+ import { type QuickVideoPartPosition, type QuickVideoPartType } from 'lib/api/quickVideos/constants';
4
+ import type { IQuickVideoPart, IQuickVideoPartUserConfiguration } from 'lib/api/quickVideos/types';
5
+ import type { QuickVideoPendingVideo } from './form/data/values';
6
+ export declare const getTranslatedPartPositionLabel: (partPosition: QuickVideoPartPosition, t: TFunction) => string;
7
+ export declare const getTranslatedPartTypeLabel: (partType: QuickVideoPartType, t: TFunction) => string;
8
+ export declare const getQuickVideoPartHeader: (part: Pick<IQuickVideoPart, "partPosition" | "partType">, t: TFunction) => string;
9
+ export declare const getQuickVideoPartShortName: (part: Pick<IQuickVideoPart, "partPosition" | "partType">, t: TFunction) => string;
10
+ export declare const getQuickVideoCardThumbnailUrl: (quickVideoParts: IQuickVideoPart[], fallbackThumbnailUrl?: string) => string | undefined;
11
+ export declare const mapListItemToPendingVideo: (video: VideoListAutomotiveItem) => QuickVideoPendingVideo;
12
+ export declare const toConfigurationFromPending: (pendingVideo: QuickVideoPendingVideo) => IQuickVideoPartUserConfiguration;
13
+ export declare const formatVideoLengthLabel: (videoLengthMs: number | undefined, t: TFunction) => string;
14
+ export declare const formatViewsAndDateLine: (totalViews: number | undefined, recordDate: string | undefined, t: TFunction) => string;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import './index.css';
2
+ import type { LeadDetails } from 'lib/api/quickVideos/types';
2
3
  import { WHITELABEL } from 'lib/context/ConfigurationContext';
3
4
  import 'react-covideo-ai-assist/dist/react-covideo-ai-assist.css';
4
5
  export declare enum Feature {
@@ -50,6 +51,13 @@ export type ShareData = {
50
51
  token: string;
51
52
  videoId: string;
52
53
  };
54
+ export type QuickVideoSendData = {
55
+ videoId: string;
56
+ quickVideoJobId: number;
57
+ leadOpportunityId: string;
58
+ };
59
+ export type { LeadDetails } from 'lib/api/quickVideos/types';
60
+ export { hasLeadDetails } from 'lib/api/quickVideos/types';
53
61
  export type RecordData = {
54
62
  token: string;
55
63
  };
@@ -84,9 +92,14 @@ export type CovideoEmbedProps = {
84
92
  /** Which product flow to use */
85
93
  flow?: Flow | FlowType;
86
94
  /**
87
- * Lead opportunity ID required for the Quick Videos Only flow.
95
+ * Lead opportunity ID for the Quick Videos Only flow.
96
+ * Optional when `leadDetails` is provided instead.
88
97
  */
89
98
  leadOpportunityId?: string;
99
+ /**
100
+ * Lead contact details when `leadOpportunityId` is not provided (Quick Videos Only flow).
101
+ */
102
+ leadDetails?: LeadDetails;
90
103
  /** Optional preview video id that triggers internal navigation to /preview/:videoId. */
91
104
  previewVideoId?: string;
92
105
  /** Enables analytics tracking in the player. */
@@ -101,6 +114,17 @@ export type CovideoEmbedProps = {
101
114
  * @param error - The error occurred during video insert.
102
115
  */
103
116
  onVideoInsertError?: (error: unknown) => void;
117
+ /**
118
+ * Callback triggered when a quick video is successfully sent in the
119
+ * Quick Videos Only flow (`flow: 'quickVideosOnly'`).
120
+ * @param data - Quick video job identifiers after a successful send.
121
+ */
122
+ onQuickVideoSend?: (data: QuickVideoSendData) => void;
123
+ /**
124
+ * Callback triggered when there is an error sending a quick video.
125
+ * @param error - The error occurred during quick video send.
126
+ */
127
+ onQuickVideoSendError?: (error: unknown) => void;
104
128
  /**
105
129
  * Callback triggered when the record button is clicked.
106
130
  * @param data - Contains the auth token.
@@ -0,0 +1,42 @@
1
+ export declare const QUICK_VIDEO_USE_CASE: {
2
+ readonly FIRST_RESPONSE: "first_response";
3
+ readonly SCHEDULE_TEST_DRIVE: "schedule_test_drive";
4
+ readonly AFTER_HOURS: "after_hours";
5
+ readonly VEHICLE_WALKAROUND: "vehicle_walkaround";
6
+ readonly APPOINTMENT_REMINDER: "appointment_reminder";
7
+ readonly MISSED_APPOINTMENT: "missed_appointment";
8
+ readonly UNSOLD_FOLLOWUP: "unsold_followup";
9
+ readonly THANK_YOU: "thank_you";
10
+ readonly REVIEW_OR_REFERRAL_REQUEST: "review_or_referral_request";
11
+ readonly CSI_SURVEY_REMINDER: "csi_survey_reminder";
12
+ readonly HOLIDAY_PROMOTION: "holiday_promotion";
13
+ readonly SALE_PROMOTION: "sale_promotion";
14
+ readonly DEALERSHIP_SHOWCASE: "dealership_showcase";
15
+ readonly AGING_INVENTORY_SHOWCASE: "aging_inventory_showcase";
16
+ readonly PURCHASE_ANNIVERSARY: "purchase_anniversary";
17
+ readonly LEASE_EXPIRATION_REMINDER: "lease_expiration_reminder";
18
+ readonly HAPPY_BIRTHDAY: "happy_birthday";
19
+ readonly BUY_BACK_OFFER: "buy_back_offer";
20
+ readonly SCHEDULE_SERVICE_APPOINTMENT: "schedule_service_appointment";
21
+ readonly SERVICE_APPOINTMENT_REMINDER: "service_appointment_reminder";
22
+ readonly MAINTENANCE_REMINDER: "maintenance_reminder";
23
+ readonly INTRO_TO_SERVICE_DEPARTMENT: "intro_to_service_department";
24
+ readonly SERVICE_DEPARTMENT_SHOWCASE: "service_department_showcase";
25
+ };
26
+ export type QuickVideoUseCase = (typeof QUICK_VIDEO_USE_CASE)[keyof typeof QUICK_VIDEO_USE_CASE];
27
+ export declare const QUICK_VIDEO_USE_CASE_LABELS: Record<QuickVideoUseCase, string>;
28
+ export declare const QUICK_VIDEO_PART_TYPE: {
29
+ readonly AI_VIN_REEL: "ai_vin_reel";
30
+ readonly AI_ASSISTANT: "ai_assistant";
31
+ readonly USER_VIDEO: "user_video";
32
+ readonly DEALERSHIP_VIDEO: "dealership_video";
33
+ };
34
+ export type QuickVideoPartType = (typeof QUICK_VIDEO_PART_TYPE)[keyof typeof QUICK_VIDEO_PART_TYPE];
35
+ export declare const QUICK_VIDEO_PART_TYPE_LABELS: Record<QuickVideoPartType, string>;
36
+ export declare const QUICK_VIDEO_PART_POSITION: {
37
+ readonly INTRO: "intro";
38
+ readonly MAIN: "main";
39
+ readonly OUTRO: "outro";
40
+ };
41
+ export type QuickVideoPartPosition = (typeof QUICK_VIDEO_PART_POSITION)[keyof typeof QUICK_VIDEO_PART_POSITION];
42
+ export declare const QUICK_VIDEO_PART_POSITION_LABELS: Record<QuickVideoPartPosition, string>;
@@ -0,0 +1,7 @@
1
+ import { IGetQuickVideoAvailableOpportunityParams, LeadDetails } from './types';
2
+ export declare const BASE_KEY = "QUICK_VIDEOS";
3
+ export declare const quickVideoKeys: {
4
+ all: () => readonly ["QUICK_VIDEOS"];
5
+ leadOpportunityAvailable: (params: IGetQuickVideoAvailableOpportunityParams) => readonly ["QUICK_VIDEOS", "lead-opportunity-available", string];
6
+ leadOpportunityAvailableWithLeadDetails: (params: LeadDetails) => readonly ["QUICK_VIDEOS", "lead-opportunity-available", "lead-details", LeadDetails];
7
+ };
@@ -0,0 +1,78 @@
1
+ import { Video } from '../videoRequestApi';
2
+ import { type QuickVideoPartPosition, type QuickVideoPartType, type QuickVideoUseCase } from './constants';
3
+ export interface IGetQuickVideoAvailableOpportunityParams {
4
+ leadOpportunityId: string;
5
+ }
6
+ export interface LeadDetails {
7
+ leadId?: string;
8
+ leadName?: string;
9
+ leadEmail?: string;
10
+ leadPhone?: string;
11
+ vin?: string;
12
+ }
13
+ export declare const hasLeadDetails: (leadDetails?: LeadDetails) => boolean;
14
+ export interface IQuickVideoPartCustomerConfiguration {
15
+ quickVideoPartCustomerConfigurationId?: number;
16
+ quickVideoPartId?: number;
17
+ }
18
+ export interface IQuickVideoPartUserConfiguration {
19
+ quickVideoPartUserConfigurationId?: number;
20
+ quickVideoPartId?: number;
21
+ video: Video;
22
+ }
23
+ export interface IQuickVideoPart {
24
+ quickVideoPartId: number;
25
+ quickVideoId: number;
26
+ partPosition: QuickVideoPartPosition;
27
+ partType: QuickVideoPartType;
28
+ description: string;
29
+ quickVideo?: IQuickVideo;
30
+ quickVideoPartCustomerConfiguration?: IQuickVideoPartCustomerConfiguration | null;
31
+ quickVideoPartUserConfigurations: IQuickVideoPartUserConfiguration[];
32
+ }
33
+ export interface IQuickVideo {
34
+ quickVideoId: number;
35
+ name: string;
36
+ description: string;
37
+ enabled: number;
38
+ deletedAt: string | null;
39
+ category: QuickVideoUseCase;
40
+ quickVideoParts: IQuickVideoPart[];
41
+ }
42
+ export interface IQuickVideoResponseItem extends IQuickVideo {
43
+ thumbnailUrl?: string;
44
+ }
45
+ export interface IQuickVideoPartUserConfigurationRequest {
46
+ quickVideoPartId: number;
47
+ videoId?: number;
48
+ }
49
+ export interface IQuickVideoUserConfigurationRequest {
50
+ parts: IQuickVideoPartUserConfigurationRequest[];
51
+ }
52
+ export interface IUpdateQuickVideoUserConfigurationParams {
53
+ quickVideoId: number;
54
+ data: IQuickVideoUserConfigurationRequest;
55
+ }
56
+ export interface IQuickVideosLeadOpportunityAvailableResponse {
57
+ quickVideos: IQuickVideoResponseItem[];
58
+ count: number;
59
+ }
60
+ export interface ICreateQuickVideoJobRequest {
61
+ leadOpportunityId: string | number;
62
+ }
63
+ export interface ICreateQuickVideoJobParams {
64
+ quickVideoId: string | number;
65
+ data: ICreateQuickVideoJobRequest;
66
+ }
67
+ export type ISendQuickVideoWithLeadDetailsRequest = LeadDetails;
68
+ export interface ISendQuickVideoWithLeadDetailsParams {
69
+ quickVideoId: string | number;
70
+ data: ISendQuickVideoWithLeadDetailsRequest;
71
+ }
72
+ export interface IQuickVideoJobResponse {
73
+ quickVideoJobId: number;
74
+ quickVideoId: number;
75
+ videoId: number;
76
+ leadOpportunityId: string;
77
+ status: string;
78
+ }
@@ -0,0 +1,3 @@
1
+ import type { ICreateQuickVideoJobParams, IQuickVideoJobResponse } from './types';
2
+ export declare const createQuickVideoJob: ({ quickVideoId, data, }: ICreateQuickVideoJobParams) => Promise<IQuickVideoJobResponse>;
3
+ export declare const useCreateQuickVideoJobMutation: () => import("react-query").UseMutationResult<IQuickVideoJobResponse, unknown, ICreateQuickVideoJobParams, unknown>;
@@ -0,0 +1,2 @@
1
+ import type { IQuickVideosLeadOpportunityAvailableResponse } from './types';
2
+ export declare const useGetQuickVideoAvailableOpportunity: (leadOpportunityId: string | undefined) => import("react-query").UseQueryResult<IQuickVideosLeadOpportunityAvailableResponse, unknown>;
@@ -0,0 +1,2 @@
1
+ import type { IQuickVideosLeadOpportunityAvailableResponse, LeadDetails } from './types';
2
+ export declare const useGetQuickVideoAvailableOpportunityWithLeadDetails: (leadDetails: LeadDetails, leadOpportunityId?: string) => import("react-query").UseQueryResult<IQuickVideosLeadOpportunityAvailableResponse, unknown>;
@@ -0,0 +1,3 @@
1
+ import type { ISendQuickVideoWithLeadDetailsParams, IQuickVideoJobResponse } from './types';
2
+ export declare const sendQuickVideoWithLeadDetails: ({ quickVideoId, data, }: ISendQuickVideoWithLeadDetailsParams) => Promise<IQuickVideoJobResponse>;
3
+ export declare const useSendQuickVideoWithLeadDetailsMutation: () => import("react-query").UseMutationResult<IQuickVideoJobResponse, unknown, ISendQuickVideoWithLeadDetailsParams, unknown>;
@@ -0,0 +1,3 @@
1
+ import type { IQuickVideoResponseItem, IUpdateQuickVideoUserConfigurationParams } from './types';
2
+ export declare const updateQuickVideoUserConfiguration: ({ quickVideoId, data, }: IUpdateQuickVideoUserConfigurationParams) => Promise<IQuickVideoResponseItem>;
3
+ export declare const useUpdateQuickVideoUserConfigurationMutation: () => import("react-query").UseMutationResult<IQuickVideoResponseItem, unknown, IUpdateQuickVideoUserConfigurationParams, unknown>;
@@ -0,0 +1,22 @@
1
+ export type CDSVideoListFilter = {
2
+ videoType?: string;
3
+ advisorId?: string;
4
+ userId?: string;
5
+ status?: string;
6
+ emailStatus?: string;
7
+ folderId?: number;
8
+ page: number;
9
+ size: number;
10
+ searchQuery: string;
11
+ isArchived?: number | boolean;
12
+ };
13
+ export type VideoListParams = {
14
+ size: number | undefined;
15
+ page: number | undefined;
16
+ search?: string | null;
17
+ folder?: string;
18
+ sort?: string;
19
+ count?: number;
20
+ filter?: CDSVideoListFilter;
21
+ isArchived?: number | boolean;
22
+ };
@@ -0,0 +1,10 @@
1
+ import { VideoListParams } from './types';
2
+ import { VideoListAutomotiveItem } from 'lib/context';
3
+ export declare const getVideos: (props: VideoListParams) => Promise<{
4
+ videos: VideoListAutomotiveItem[];
5
+ count: number;
6
+ }>;
7
+ export declare const useInfiniteQueryVideos: (params: VideoListParams) => import("react-query").UseInfiniteQueryResult<{
8
+ videos: VideoListAutomotiveItem[];
9
+ count: number;
10
+ }, unknown>;
@@ -0,0 +1,4 @@
1
+ import { VideoListParams } from './types';
2
+ export declare const videoKeys: {
3
+ infinite_videos: (params: VideoListParams) => readonly ["INFINITE_VIDEOS", VideoListParams];
4
+ };
@@ -1,5 +1,5 @@
1
1
  import { LabelHTMLAttributes } from 'react';
2
- interface ICommonTypography {
2
+ export interface ICommonTypography {
3
3
  m?: string;
4
4
  textAlign?: string;
5
5
  ellipsis?: boolean;
@@ -17,6 +17,11 @@ export declare const SubHeading: import("styled-components").StyledComponent<"h1
17
17
  export declare const ParagraphNormal: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, ICommonTypography & {
18
18
  as: string;
19
19
  }, "as">;
20
+ export declare const ParagraphNormalSpan: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, ICommonTypography & {
21
+ as: string;
22
+ } & {
23
+ as: string;
24
+ }, "as">;
20
25
  export declare const ParagraphNormalBold: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, ICommonTypography & {
21
26
  as: string;
22
27
  }, "as">;
@@ -41,4 +46,3 @@ export declare const ParagraphExtraSmallBold: import("styled-components").Styled
41
46
  export declare const CheckboxLabel: import("styled-components").StyledComponent<"h1", import("styled-components").DefaultTheme, ICommonTypography & {
42
47
  as: string;
43
48
  } & LabelHTMLAttributes<HTMLLabelElement>, "as">;
44
- export {};
@@ -1,6 +1,7 @@
1
1
  import { ENVIRONMENT } from 'lib/config';
2
2
  import { ReactNode } from 'react';
3
- import { Flow, FlowType, VideoRecordedData } from '../../index';
3
+ import type { LeadDetails } from 'lib/api/quickVideos/types';
4
+ import { Flow, FlowType, QuickVideoSendData, VideoRecordedData } from '../../index';
4
5
  export declare enum WHITELABEL {
5
6
  CDK = "cdk"
6
7
  }
@@ -25,6 +26,8 @@ interface ConfigurationProviderProps {
25
26
  videoId: string;
26
27
  }) => void;
27
28
  onVideoInsertError?: (error: unknown) => void;
29
+ onQuickVideoSend?: (data: QuickVideoSendData) => void;
30
+ onQuickVideoSendError?: (error: unknown) => void;
28
31
  children?: ReactNode;
29
32
  hideFeatures?: string[];
30
33
  apikey?: string;
@@ -41,6 +44,7 @@ interface ConfigurationProviderProps {
41
44
  flow?: Flow | FlowType;
42
45
  previewVideoId?: string;
43
46
  leadOpportunityId?: string;
47
+ leadDetails?: LeadDetails;
44
48
  }
45
49
  type ShowFeature = {
46
50
  showInsertFeature: boolean;
@@ -25,5 +25,6 @@ export interface IQuickShareMarkAsSentParams {
25
25
  toastType?: QuickShareTypes;
26
26
  reuseShortUrl?: boolean;
27
27
  }
28
+ export declare const markQuickShareAsSent: (params: IQuickShareMarkAsSentParams) => Promise<any>;
28
29
  export declare const useQuickShareMarkAsSentMutation: (onSuccessCallback: () => void) => import("react-query").UseMutationResult<MarkAsSentResponse, unknown, IQuickShareMarkAsSentParams, unknown>;
29
30
  export {};
@@ -1,2 +1,2 @@
1
1
  export default AccountIcon;
2
- declare const AccountIcon: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const AccountIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default AddIcon;
2
- declare const AddIcon: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const AddIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CarIcon;
2
- declare const CarIcon: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CarIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CdkLogo;
2
- declare const CdkLogo: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CdkLogo: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CdkSmallLogo;
2
- declare const CdkSmallLogo: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CdkSmallLogo: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CdkSmallLogoActive;
2
- declare const CdkSmallLogoActive: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CdkSmallLogoActive: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CheckmarkIcon;
2
- declare const CheckmarkIcon: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CheckmarkIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CloseCircleIcon;
2
- declare const CloseCircleIcon: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CloseCircleIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CloseIcon;
2
- declare const CloseIcon: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CloseIcon: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;
@@ -1,2 +1,2 @@
1
1
  export default CovideoLogo;
2
- declare const CovideoLogo: import("styled-components").StyledComponent<any, import("styled-components").DefaultTheme, any, any>;
2
+ declare const CovideoLogo: import("styled-components").StyledComponent<import("react").ComponentType<import("react").SVGProps<SVGSVGElement> & Record<string, unknown>>, import("styled-components").DefaultTheme, {}, never>;