@pega/cosmos-react-social 9.0.0-build.17.5 → 9.0.0-build.17.6

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.
@@ -184,7 +184,7 @@ export interface EmailFieldValue extends Pick<EmailSelectorProps, 'loading' | 'a
184
184
  value: EmailUser['emailAddress'][];
185
185
  error?: string;
186
186
  }
187
- export interface EmailComposerProps extends Pick<EmailProps, 'suggestions' | 'onSuggestionClick'>, BaseProps, NoChildrenProp {
187
+ export interface EmailComposerBaseProps extends Pick<EmailProps, 'suggestions' | 'onSuggestionClick'>, BaseProps, NoChildrenProp {
188
188
  /** Show loader until the background process completes */
189
189
  progress?: boolean | Pick<ProgressProps, 'message'>;
190
190
  /** Object containing full list of email participants. */
@@ -220,10 +220,6 @@ export interface EmailComposerProps extends Pick<EmailProps, 'suggestions' | 'on
220
220
  /** Email response types */
221
221
  responseType?: EmailResponseType;
222
222
  } & Pick<EmailProps, 'markAsImportant'>;
223
- /** Callback when user clicks on the send button */
224
- onSend: () => void;
225
- /** Callback when user clicks on the save button */
226
- onSave?: () => void;
227
223
  /** Callback when image is added */
228
224
  onImageAdded?: RichTextEditorProps['onImageAdded'];
229
225
  /** Region to show more actions in footer */
@@ -250,6 +246,14 @@ export interface EmailComposerProps extends Pick<EmailProps, 'suggestions' | 'on
250
246
  /** Callback when composer body editor is initialized */
251
247
  onEditorInit?: EditorProps['onInit'];
252
248
  }
249
+ type EmailComposerActions = {
250
+ onSend: () => void;
251
+ onSave?: () => void;
252
+ } | {
253
+ onSend?: () => void;
254
+ onSave: () => void;
255
+ };
256
+ export type EmailComposerProps = EmailComposerBaseProps & EmailComposerActions;
253
257
  export interface EmailShellProps extends BaseProps {
254
258
  /** ref to the element */
255
259
  ref?: Ref<HTMLDivElement>;
@@ -1 +1 @@
1
- {"version":3,"file":"Email.types.d.ts","sourceRoot":"","sources":["../../../src/components/Email/Email.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Email.types.d.ts","sourceRoot":"","sources":["../../../src/components/Email/Email.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Email.types.js","sourceRoot":"","sources":["../../../src/components/Email/Email.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode, Ref, MouseEvent, MouseEventHandler } from 'react';\n\nimport type { UtilitiesSummaryProps } from '@pega/cosmos-react-work/lib/components/CaseView/UtilitiesSummary';\nimport type {\n BaseProps,\n AvatarProps,\n SentimentProps,\n OmitStrict,\n MenuProps,\n MenuItemProps,\n NoChildrenProp,\n EmptyStateProps,\n ProgressProps,\n PageTemplateProps,\n PopoverProps,\n BannerProps,\n FileItemProps,\n FileDisplayListProps\n} from '@pega/cosmos-react-core';\nimport type { EditorProps, EditorState, RichTextEditorProps } from '@pega/cosmos-react-rte';\n\nimport type { EmailSelectorProps } from './EmailSelector';\n\nexport interface EmailTemplate {\n /** Template title */\n title: string;\n /** Template id */\n id: string;\n /** categorized templates */\n templates?: Pick<EmailTemplate, 'title' | 'id'>[];\n}\n\nexport interface EmailUser {\n /** Short name of the User */\n shortName: string;\n /** Full name of the User */\n fullName: string;\n /** Email of the User */\n emailAddress: string;\n /** Avatar props of the User */\n avatarProps?: Partial<AvatarProps>;\n}\n\nexport interface EntityHighlightMapping {\n value: string;\n type: string;\n variant: number;\n names?: string[];\n icon?: string;\n}\n\nexport interface EntityMatch extends EntityHighlightMapping, MatchRange {\n matchedText: string;\n children?: EntityMatch[];\n}\n\nexport interface MatchRange {\n start: number;\n end: number;\n}\n\nexport interface ContextMenuProps extends Pick<MenuProps, 'loading'> {\n /** Callback triggered when a menu item is clicked */\n onItemClick: (selectedValue: { fieldName: string; fieldValue: string }) => void;\n /** Menu items */\n items: MenuItemProps[];\n /** Imperative handle */\n handle: Ref<ContextMenuHandleValue>;\n}\n\nexport interface ContextMenuHandleValue {\n setItems: (contextMenuItems: ContextMenuProps['items']) => void;\n setOpen: (open: boolean) => void;\n setLoading: (loading: boolean) => void;\n}\n\nexport interface EmailProps extends BaseProps, NoChildrenProp {\n /** Ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Unique ID for this email record */\n id: string;\n /** Timestamp of this email as ISO8601 string, timestamp or native Date object. */\n timeStamp: Date | number | string;\n /** From email */\n from: EmailUser;\n /** To email */\n to: EmailUser[];\n /** Carbon copy of email users list */\n cc?: EmailUser[];\n /** Blind carbon copy of email users list */\n bcc?: EmailUser[];\n /** Sentiment */\n sentiment?: SentimentProps;\n /** Subject of the email */\n subject?: string;\n /** Body */\n body?: string;\n /** Forwarded content or previous conversation content. Collapsed by default. Can be defer loaded */\n trail?: {\n /** HTML string containing the trail messages */\n content?: string;\n /**\n * Flag to show progress indicator\n * @default false\n */\n loading?: boolean;\n /** Flag indicating the expanded state of the trail. Expanded when true and collapsed when false */\n expanded: boolean;\n /** Callback triggered when the expand or collapse button is clicked */\n onExpandCollapse: (id: EmailProps['id']) => void;\n };\n /**\n * Entity highlight mapping\n * This requires body to be passed as a string with html tags\n */\n entityHighlightMapping?: EntityHighlightMapping[];\n /** onReply callback */\n onReply?: (id: EmailProps['id']) => void;\n /** onForward Callback */\n onForward?: (id: EmailProps['id']) => void;\n /** onReply callback */\n onReplyAll?: (id: EmailProps['id']) => void;\n /** Edit draft callback */\n onEditDraft?: (id: EmailProps['id']) => void;\n /** Delete draft Callback */\n onDeleteDraft?: (id: EmailProps['id']) => void;\n /** Show either undelivered or draft status on email */\n status?: 'undelivered' | 'draft';\n /** List of suggestions */\n suggestions?: EmailTemplate[];\n /** Callback that triggers on click of tag */\n onSuggestionClick?: (id: EmailProps['id'], suggestionId: EmailTemplate['id']) => void;\n /**\n * Flag that indicates if email is unread\n * @default false\n */\n unRead?: boolean;\n /** Attachments list */\n attachments?: FileDisplayListProps['items'];\n /**\n * Context menu props. Context menu is disabled if it is not provided.\n * To set the context menu items, use the setContextMenuItems method provided on handle\n */\n contextMenu?: OmitStrict<ContextMenuProps, 'items' | 'loading'> & {\n /** Callback on right click of content */\n onContextMenu: (id: EmailProps['id'], e: MouseEvent) => void;\n };\n /** Show banner for undelivered email */\n banner?: Pick<BannerProps, 'messages'>;\n /**\n * Flag indicating whether the email is marked as important.\n * @default false\n */\n markAsImportant?: boolean;\n}\n\nexport interface EmailConversationProps extends BaseProps {\n /** ref to the element */\n ref?: Ref<HTMLLIElement>;\n /** Unique ID for this email conversation record */\n id: string;\n /** List of mails */\n emails: EmailProps[];\n /** Sender(s) of this email conversation */\n from: EmailUser;\n /** Recipient(s) of this email conversation */\n to: EmailUser[];\n /** Count of unread emails */\n unReadEmailCount?: number;\n /** Total number of attachments in the email conversation. */\n attachmentCount?: number;\n /** Timestamp of this conversation as ISO8601 string, timestamp or native Date object. */\n timeStamp: Date | string | number;\n /** Flag that indicates if email conversation is expanded */\n isCollapsed?: boolean;\n /** Flag to set if conversation is spun off from forwarded email */\n isForwarded?: boolean;\n /** Callback when email conversation is collapsed */\n onCollapse?: () => void;\n /** Callback when email conversation is expanded */\n onExpand?: () => void;\n /** Flag that indicates if email conversation contains drafted emails */\n drafts?: boolean;\n /** Flag that indicates if email conversation contains undelivered emails */\n undelivered?: boolean;\n}\n\nexport type EmailResponseType = 'reply' | 'replyAll' | 'forward';\n\nexport type EmailComposerFieldType =\n | 'to'\n | 'cc'\n | 'bcc'\n | 'subject'\n | 'bodyContent'\n | 'attachments'\n | 'emailAccount'\n | 'responseType'\n | 'selectedTemplateId'\n | 'markImportant';\n\nexport type EmailComposerValueType<T> = T extends 'to' | 'cc' | 'bcc'\n ? EmailUser['emailAddress'][]\n : T extends 'subject' | 'bodyContent'\n ? string\n : T extends 'selectedTemplateId'\n ? string\n : T extends 'attachments'\n ? (FileItemProps & { File?: File })[]\n : T extends 'responseType'\n ? EmailResponseType\n : T extends 'emailAccount'\n ? string\n : T extends 'markImportant'\n ? boolean\n : never;\n\nexport interface EmailDirectRecipients {\n /** To address/addresses in case of reply response type on email. */\n reply: EmailUser['emailAddress'][];\n /** To address/addresses in case of replyAll response type on email. */\n replyAll: EmailUser['emailAddress'][];\n /** To address/addresses in case of forward response type on email. */\n forward?: EmailUser['emailAddress'][];\n}\n\nexport interface EmailComposerHandleValue {\n replaceBodyContent: (content: string) => void;\n updateImage: EditorState['appendImage'];\n activate: () => void;\n setCursorLocationToStart: EditorState['setCursorLocationToStart'];\n}\n\nexport interface EmailFieldValue extends Pick<EmailSelectorProps, 'loading' | 'accent'> {\n value: EmailUser['emailAddress'][];\n error?: string;\n}\n\nexport interface EmailComposerProps\n extends Pick<EmailProps, 'suggestions' | 'onSuggestionClick'>,\n BaseProps,\n NoChildrenProp {\n /** Show loader until the background process completes */\n progress?: boolean | Pick<ProgressProps, 'message'>;\n /** Object containing full list of email participants. */\n participants: EmailUser[];\n /** Object containing full list of sender email accounts */\n senderAccounts?: EmailUser[];\n /** Data for all fields of the composer */\n data: {\n /** Object to hold selected email account and field error */\n emailAccount?: OmitStrict<EmailFieldValue, 'value'> & { value: EmailUser['emailAddress'] };\n /** Object to hold To field data */\n to?: EmailFieldValue;\n /** Object to hold Cc field data */\n cc?: EmailFieldValue;\n /** Object to hold Bcc field data */\n bcc?: EmailFieldValue;\n /** Object to hold the subject value and error */\n subject: {\n value: string;\n error?: string;\n };\n /** Object containing the default body content and error */\n bodyContent: {\n defaultValue: string;\n error?: string;\n };\n /** Selected template id */\n selectedTemplateId?: EmailTemplate['id'];\n /** List of attachments */\n attachments?: FileItemProps[];\n /** Email response types */\n responseType?: EmailResponseType;\n } & Pick<EmailProps, 'markAsImportant'>;\n /** Callback when user clicks on the send button */\n onSend: () => void;\n /** Callback when user clicks on the save button */\n onSave?: () => void;\n /** Callback when image is added */\n onImageAdded?: RichTextEditorProps['onImageAdded'];\n /** Region to show more actions in footer */\n footerMoreActions?: ReactNode;\n /** Templates for drafting email */\n templates?: EmailTemplate[];\n /** Callback when user clicks on cancel */\n onCancel: () => void;\n /**\n * Callback to handle external entry validation for to, cc and bcc fields while adding a new email to the list\n * If returned true considers the entry to be a valid entry\n */\n externalValidator?: (value: string) => boolean;\n /** Ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Imperative handle for composer */\n handle?: Ref<EmailComposerHandleValue>;\n /** Change handler to all fields */\n onChange: <T extends EmailComposerFieldType>(\n field: T,\n value: EmailComposerValueType<T>,\n isProgrammatic?: boolean\n ) => void;\n /** Callback fired when the Combobox input value changes. */\n onFilterChange: <T extends Extract<EmailComposerFieldType, 'to' | 'cc' | 'bcc' | 'emailAccount'>>(\n field: T,\n filterValue: string\n ) => void;\n /** Callback to fetch more rows */\n onLoadMore?: <T extends Extract<EmailComposerFieldType, 'to' | 'cc' | 'bcc' | 'emailAccount'>>(\n field: T,\n filterValue: string\n ) => void;\n /** Callback when composer body editor is initialized */\n onEditorInit?: EditorProps['onInit'];\n}\n\nexport interface EmailShellProps extends BaseProps {\n /** ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Region for header */\n headerProps?: {\n /** Region for actions */\n actions?: ReactNode;\n /** Subject of the email conversations list */\n subject?: string;\n };\n /** Email conversations */\n conversations?: EmailConversationProps[];\n /** Shows only one conversation at a time */\n autoCollapse?: boolean;\n}\n\nexport interface EmailSummaryItemProps\n extends BaseProps,\n Pick<EmailConversationProps, 'attachmentCount' | 'drafts' | 'undelivered'> {\n /** Id of each summary item */\n id: string;\n /** List of from participant names of the conversations */\n activeParticipants: EmailUser[];\n /** Email body of last email in the email */\n message: string;\n /** Timestamp of the latest email */\n timeStamp: Date | string | number;\n /** Top topic of an email */\n topic?: string;\n /** Sentiment */\n sentiment?: SentimentProps;\n /** Urgency of an email */\n urgency?: number;\n /** Total number of unread emails in the email */\n unreadEmailCount?: number;\n /** Is the email currently active */\n active?: boolean;\n /** On click of email item */\n onSelect: (id: EmailSummaryItemProps['id']) => void;\n /** Contains search string used to highlight matching text in heading */\n searchQuery?: EmailSummaryListProps['searchQuery'];\n /** ref to the element */\n ref?: Ref<HTMLLIElement>;\n}\n\nexport interface Filter {\n /** Sets DOM id for the control and associates label element via 'for' attribute. */\n id: string;\n /** Pass a string or a fragment with an Icon and string for the filter label. */\n label: ReactNode;\n /**\n * Disables the filter.\n * @default false\n */\n disabled?: boolean;\n /**\n * Sets on prop via onFilterChange.\n * @default false\n */\n on?: boolean;\n}\n\ninterface EmailCount {\n total: number;\n unread?: number;\n}\n\nexport interface EmailSummaryListProps extends BaseProps {\n /** List of email categories */\n categories?: MenuProps['items'];\n /** Handles category change */\n onCategoryClick?: MenuItemProps['onClick'];\n /** List of EmailItems items */\n items: OmitStrict<EmailSummaryItemProps, 'onSelect' | 'active'>[];\n /** Object containing count of total and unread emails */\n count?: EmailCount;\n /** A set of filters to apply to the email inbox. */\n filters?: Filter[];\n /** A callback that runs when a filter is clicked. */\n onFilterChange?: (filterId: Filter['id'], on: boolean) => void;\n /** onClick of list item */\n onItemClick: (id: EmailSummaryItemProps['id']) => void;\n /** Indicates if the data is being currently loading */\n loading?: boolean;\n /** Callback to fetch more rows */\n onLoadMore?: () => void;\n /** Empty message when there are no email summary items */\n emptyMessage?: EmptyStateProps['message'];\n /** Id of the EmailSummaryItem */\n currentItemId?: string;\n /** Use summary list as selectable list */\n selectable?: boolean;\n /** Contains search string used to show static heading text and\n * show matching text as highlighted text in EmailSummaryItem heading */\n searchQuery?: string;\n /** ref to the element */\n ref?: Ref<HTMLOListElement>;\n}\n\nexport interface EmailEntityProps extends BaseProps {\n entity: OmitStrict<EntityHighlightMapping, 'names'> & { description?: string | string[] };\n ref?: Ref<HTMLElement>;\n}\n\nexport interface TargetProps {\n cursorPosition: { x: number; y: number };\n targetNode: Element | null;\n}\n\nexport interface ContextMenuPopoverProps extends BaseProps, TargetProps {\n contextMenu: ContextMenuProps;\n show: PopoverProps['show'];\n ref?: PopoverProps['ref'];\n}\n\nexport interface EntityListProps extends BaseProps {\n content: {\n name: string;\n value?: {\n id: string;\n entity: OmitStrict<EntityHighlightMapping, 'names'>;\n }[];\n }[];\n\n header?: {\n icon: string;\n text: string;\n };\n /**\n * Context menu props. Context menu is disabled if it is not provided.\n * To set the context menu items, use the setContextMenuItems method provided on handle\n */\n contextMenu?: OmitStrict<ContextMenuProps, 'items' | 'loading'> & {\n onContextMenu: (e: MouseEvent) => void;\n popoverRef?: ContextMenuPopoverProps['ref'];\n };\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface EmailManagerProps extends BaseProps {\n /** Header of the component */\n header?: {\n title: PageTemplateProps['title'];\n icon?: PageTemplateProps['icon'];\n getNextEmail?: () => void;\n };\n /** A region to hold an EmailSummaryList component */\n list?: ReactNode;\n /** Email case details */\n emailCaseDetails?: ReactNode;\n}\n\nexport interface EmailCaseViewProps extends BaseProps {\n /** Header of the the component */\n header?: EmailManagerProps['header'];\n /** A region to hold an Emails component */\n content: ReactNode;\n /** A region above the center column to display banners. */\n banners?: ReactNode;\n /** A region that is used to hold Utility components. */\n utilities?: ReactNode;\n /** The utilities summary array will be used to render the minimized utilities card. */\n utilitiesSummaryItems?: UtilitiesSummaryProps['items'];\n /** Expand/Collapse utilities */\n defaultUtilitiesExpanded?: boolean;\n}\n\nexport interface EmailNotificationPanelProps extends BaseProps {\n count: number;\n label: string;\n onClick: MouseEventHandler;\n}\n"]}
1
+ {"version":3,"file":"Email.types.js","sourceRoot":"","sources":["../../../src/components/Email/Email.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode, Ref, MouseEvent, MouseEventHandler } from 'react';\n\nimport type { UtilitiesSummaryProps } from '@pega/cosmos-react-work/lib/components/CaseView/UtilitiesSummary';\nimport type {\n BaseProps,\n AvatarProps,\n SentimentProps,\n OmitStrict,\n MenuProps,\n MenuItemProps,\n NoChildrenProp,\n EmptyStateProps,\n ProgressProps,\n PageTemplateProps,\n PopoverProps,\n BannerProps,\n FileItemProps,\n FileDisplayListProps\n} from '@pega/cosmos-react-core';\nimport type { EditorProps, EditorState, RichTextEditorProps } from '@pega/cosmos-react-rte';\n\nimport type { EmailSelectorProps } from './EmailSelector';\n\nexport interface EmailTemplate {\n /** Template title */\n title: string;\n /** Template id */\n id: string;\n /** categorized templates */\n templates?: Pick<EmailTemplate, 'title' | 'id'>[];\n}\n\nexport interface EmailUser {\n /** Short name of the User */\n shortName: string;\n /** Full name of the User */\n fullName: string;\n /** Email of the User */\n emailAddress: string;\n /** Avatar props of the User */\n avatarProps?: Partial<AvatarProps>;\n}\n\nexport interface EntityHighlightMapping {\n value: string;\n type: string;\n variant: number;\n names?: string[];\n icon?: string;\n}\n\nexport interface EntityMatch extends EntityHighlightMapping, MatchRange {\n matchedText: string;\n children?: EntityMatch[];\n}\n\nexport interface MatchRange {\n start: number;\n end: number;\n}\n\nexport interface ContextMenuProps extends Pick<MenuProps, 'loading'> {\n /** Callback triggered when a menu item is clicked */\n onItemClick: (selectedValue: { fieldName: string; fieldValue: string }) => void;\n /** Menu items */\n items: MenuItemProps[];\n /** Imperative handle */\n handle: Ref<ContextMenuHandleValue>;\n}\n\nexport interface ContextMenuHandleValue {\n setItems: (contextMenuItems: ContextMenuProps['items']) => void;\n setOpen: (open: boolean) => void;\n setLoading: (loading: boolean) => void;\n}\n\nexport interface EmailProps extends BaseProps, NoChildrenProp {\n /** Ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Unique ID for this email record */\n id: string;\n /** Timestamp of this email as ISO8601 string, timestamp or native Date object. */\n timeStamp: Date | number | string;\n /** From email */\n from: EmailUser;\n /** To email */\n to: EmailUser[];\n /** Carbon copy of email users list */\n cc?: EmailUser[];\n /** Blind carbon copy of email users list */\n bcc?: EmailUser[];\n /** Sentiment */\n sentiment?: SentimentProps;\n /** Subject of the email */\n subject?: string;\n /** Body */\n body?: string;\n /** Forwarded content or previous conversation content. Collapsed by default. Can be defer loaded */\n trail?: {\n /** HTML string containing the trail messages */\n content?: string;\n /**\n * Flag to show progress indicator\n * @default false\n */\n loading?: boolean;\n /** Flag indicating the expanded state of the trail. Expanded when true and collapsed when false */\n expanded: boolean;\n /** Callback triggered when the expand or collapse button is clicked */\n onExpandCollapse: (id: EmailProps['id']) => void;\n };\n /**\n * Entity highlight mapping\n * This requires body to be passed as a string with html tags\n */\n entityHighlightMapping?: EntityHighlightMapping[];\n /** onReply callback */\n onReply?: (id: EmailProps['id']) => void;\n /** onForward Callback */\n onForward?: (id: EmailProps['id']) => void;\n /** onReply callback */\n onReplyAll?: (id: EmailProps['id']) => void;\n /** Edit draft callback */\n onEditDraft?: (id: EmailProps['id']) => void;\n /** Delete draft Callback */\n onDeleteDraft?: (id: EmailProps['id']) => void;\n /** Show either undelivered or draft status on email */\n status?: 'undelivered' | 'draft';\n /** List of suggestions */\n suggestions?: EmailTemplate[];\n /** Callback that triggers on click of tag */\n onSuggestionClick?: (id: EmailProps['id'], suggestionId: EmailTemplate['id']) => void;\n /**\n * Flag that indicates if email is unread\n * @default false\n */\n unRead?: boolean;\n /** Attachments list */\n attachments?: FileDisplayListProps['items'];\n /**\n * Context menu props. Context menu is disabled if it is not provided.\n * To set the context menu items, use the setContextMenuItems method provided on handle\n */\n contextMenu?: OmitStrict<ContextMenuProps, 'items' | 'loading'> & {\n /** Callback on right click of content */\n onContextMenu: (id: EmailProps['id'], e: MouseEvent) => void;\n };\n /** Show banner for undelivered email */\n banner?: Pick<BannerProps, 'messages'>;\n /**\n * Flag indicating whether the email is marked as important.\n * @default false\n */\n markAsImportant?: boolean;\n}\n\nexport interface EmailConversationProps extends BaseProps {\n /** ref to the element */\n ref?: Ref<HTMLLIElement>;\n /** Unique ID for this email conversation record */\n id: string;\n /** List of mails */\n emails: EmailProps[];\n /** Sender(s) of this email conversation */\n from: EmailUser;\n /** Recipient(s) of this email conversation */\n to: EmailUser[];\n /** Count of unread emails */\n unReadEmailCount?: number;\n /** Total number of attachments in the email conversation. */\n attachmentCount?: number;\n /** Timestamp of this conversation as ISO8601 string, timestamp or native Date object. */\n timeStamp: Date | string | number;\n /** Flag that indicates if email conversation is expanded */\n isCollapsed?: boolean;\n /** Flag to set if conversation is spun off from forwarded email */\n isForwarded?: boolean;\n /** Callback when email conversation is collapsed */\n onCollapse?: () => void;\n /** Callback when email conversation is expanded */\n onExpand?: () => void;\n /** Flag that indicates if email conversation contains drafted emails */\n drafts?: boolean;\n /** Flag that indicates if email conversation contains undelivered emails */\n undelivered?: boolean;\n}\n\nexport type EmailResponseType = 'reply' | 'replyAll' | 'forward';\n\nexport type EmailComposerFieldType =\n | 'to'\n | 'cc'\n | 'bcc'\n | 'subject'\n | 'bodyContent'\n | 'attachments'\n | 'emailAccount'\n | 'responseType'\n | 'selectedTemplateId'\n | 'markImportant';\n\nexport type EmailComposerValueType<T> = T extends 'to' | 'cc' | 'bcc'\n ? EmailUser['emailAddress'][]\n : T extends 'subject' | 'bodyContent'\n ? string\n : T extends 'selectedTemplateId'\n ? string\n : T extends 'attachments'\n ? (FileItemProps & { File?: File })[]\n : T extends 'responseType'\n ? EmailResponseType\n : T extends 'emailAccount'\n ? string\n : T extends 'markImportant'\n ? boolean\n : never;\n\nexport interface EmailDirectRecipients {\n /** To address/addresses in case of reply response type on email. */\n reply: EmailUser['emailAddress'][];\n /** To address/addresses in case of replyAll response type on email. */\n replyAll: EmailUser['emailAddress'][];\n /** To address/addresses in case of forward response type on email. */\n forward?: EmailUser['emailAddress'][];\n}\n\nexport interface EmailComposerHandleValue {\n replaceBodyContent: (content: string) => void;\n updateImage: EditorState['appendImage'];\n activate: () => void;\n setCursorLocationToStart: EditorState['setCursorLocationToStart'];\n}\n\nexport interface EmailFieldValue extends Pick<EmailSelectorProps, 'loading' | 'accent'> {\n value: EmailUser['emailAddress'][];\n error?: string;\n}\n\nexport interface EmailComposerBaseProps\n extends Pick<EmailProps, 'suggestions' | 'onSuggestionClick'>,\n BaseProps,\n NoChildrenProp {\n /** Show loader until the background process completes */\n progress?: boolean | Pick<ProgressProps, 'message'>;\n /** Object containing full list of email participants. */\n participants: EmailUser[];\n /** Object containing full list of sender email accounts */\n senderAccounts?: EmailUser[];\n /** Data for all fields of the composer */\n data: {\n /** Object to hold selected email account and field error */\n emailAccount?: OmitStrict<EmailFieldValue, 'value'> & { value: EmailUser['emailAddress'] };\n /** Object to hold To field data */\n to?: EmailFieldValue;\n /** Object to hold Cc field data */\n cc?: EmailFieldValue;\n /** Object to hold Bcc field data */\n bcc?: EmailFieldValue;\n /** Object to hold the subject value and error */\n subject: {\n value: string;\n error?: string;\n };\n /** Object containing the default body content and error */\n bodyContent: {\n defaultValue: string;\n error?: string;\n };\n /** Selected template id */\n selectedTemplateId?: EmailTemplate['id'];\n /** List of attachments */\n attachments?: FileItemProps[];\n /** Email response types */\n responseType?: EmailResponseType;\n } & Pick<EmailProps, 'markAsImportant'>;\n /** Callback when image is added */\n onImageAdded?: RichTextEditorProps['onImageAdded'];\n /** Region to show more actions in footer */\n footerMoreActions?: ReactNode;\n /** Templates for drafting email */\n templates?: EmailTemplate[];\n /** Callback when user clicks on cancel */\n onCancel: () => void;\n /**\n * Callback to handle external entry validation for to, cc and bcc fields while adding a new email to the list\n * If returned true considers the entry to be a valid entry\n */\n externalValidator?: (value: string) => boolean;\n /** Ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Imperative handle for composer */\n handle?: Ref<EmailComposerHandleValue>;\n /** Change handler to all fields */\n onChange: <T extends EmailComposerFieldType>(\n field: T,\n value: EmailComposerValueType<T>,\n isProgrammatic?: boolean\n ) => void;\n /** Callback fired when the Combobox input value changes. */\n onFilterChange: <T extends Extract<EmailComposerFieldType, 'to' | 'cc' | 'bcc' | 'emailAccount'>>(\n field: T,\n filterValue: string\n ) => void;\n /** Callback to fetch more rows */\n onLoadMore?: <T extends Extract<EmailComposerFieldType, 'to' | 'cc' | 'bcc' | 'emailAccount'>>(\n field: T,\n filterValue: string\n ) => void;\n /** Callback when composer body editor is initialized */\n onEditorInit?: EditorProps['onInit'];\n}\n\ntype EmailComposerActions =\n | { onSend: () => void; onSave?: () => void }\n | { onSend?: () => void; onSave: () => void };\n\nexport type EmailComposerProps = EmailComposerBaseProps & EmailComposerActions;\n\nexport interface EmailShellProps extends BaseProps {\n /** ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Region for header */\n headerProps?: {\n /** Region for actions */\n actions?: ReactNode;\n /** Subject of the email conversations list */\n subject?: string;\n };\n /** Email conversations */\n conversations?: EmailConversationProps[];\n /** Shows only one conversation at a time */\n autoCollapse?: boolean;\n}\n\nexport interface EmailSummaryItemProps\n extends BaseProps,\n Pick<EmailConversationProps, 'attachmentCount' | 'drafts' | 'undelivered'> {\n /** Id of each summary item */\n id: string;\n /** List of from participant names of the conversations */\n activeParticipants: EmailUser[];\n /** Email body of last email in the email */\n message: string;\n /** Timestamp of the latest email */\n timeStamp: Date | string | number;\n /** Top topic of an email */\n topic?: string;\n /** Sentiment */\n sentiment?: SentimentProps;\n /** Urgency of an email */\n urgency?: number;\n /** Total number of unread emails in the email */\n unreadEmailCount?: number;\n /** Is the email currently active */\n active?: boolean;\n /** On click of email item */\n onSelect: (id: EmailSummaryItemProps['id']) => void;\n /** Contains search string used to highlight matching text in heading */\n searchQuery?: EmailSummaryListProps['searchQuery'];\n /** ref to the element */\n ref?: Ref<HTMLLIElement>;\n}\n\nexport interface Filter {\n /** Sets DOM id for the control and associates label element via 'for' attribute. */\n id: string;\n /** Pass a string or a fragment with an Icon and string for the filter label. */\n label: ReactNode;\n /**\n * Disables the filter.\n * @default false\n */\n disabled?: boolean;\n /**\n * Sets on prop via onFilterChange.\n * @default false\n */\n on?: boolean;\n}\n\ninterface EmailCount {\n total: number;\n unread?: number;\n}\n\nexport interface EmailSummaryListProps extends BaseProps {\n /** List of email categories */\n categories?: MenuProps['items'];\n /** Handles category change */\n onCategoryClick?: MenuItemProps['onClick'];\n /** List of EmailItems items */\n items: OmitStrict<EmailSummaryItemProps, 'onSelect' | 'active'>[];\n /** Object containing count of total and unread emails */\n count?: EmailCount;\n /** A set of filters to apply to the email inbox. */\n filters?: Filter[];\n /** A callback that runs when a filter is clicked. */\n onFilterChange?: (filterId: Filter['id'], on: boolean) => void;\n /** onClick of list item */\n onItemClick: (id: EmailSummaryItemProps['id']) => void;\n /** Indicates if the data is being currently loading */\n loading?: boolean;\n /** Callback to fetch more rows */\n onLoadMore?: () => void;\n /** Empty message when there are no email summary items */\n emptyMessage?: EmptyStateProps['message'];\n /** Id of the EmailSummaryItem */\n currentItemId?: string;\n /** Use summary list as selectable list */\n selectable?: boolean;\n /** Contains search string used to show static heading text and\n * show matching text as highlighted text in EmailSummaryItem heading */\n searchQuery?: string;\n /** ref to the element */\n ref?: Ref<HTMLOListElement>;\n}\n\nexport interface EmailEntityProps extends BaseProps {\n entity: OmitStrict<EntityHighlightMapping, 'names'> & { description?: string | string[] };\n ref?: Ref<HTMLElement>;\n}\n\nexport interface TargetProps {\n cursorPosition: { x: number; y: number };\n targetNode: Element | null;\n}\n\nexport interface ContextMenuPopoverProps extends BaseProps, TargetProps {\n contextMenu: ContextMenuProps;\n show: PopoverProps['show'];\n ref?: PopoverProps['ref'];\n}\n\nexport interface EntityListProps extends BaseProps {\n content: {\n name: string;\n value?: {\n id: string;\n entity: OmitStrict<EntityHighlightMapping, 'names'>;\n }[];\n }[];\n\n header?: {\n icon: string;\n text: string;\n };\n /**\n * Context menu props. Context menu is disabled if it is not provided.\n * To set the context menu items, use the setContextMenuItems method provided on handle\n */\n contextMenu?: OmitStrict<ContextMenuProps, 'items' | 'loading'> & {\n onContextMenu: (e: MouseEvent) => void;\n popoverRef?: ContextMenuPopoverProps['ref'];\n };\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface EmailManagerProps extends BaseProps {\n /** Header of the component */\n header?: {\n title: PageTemplateProps['title'];\n icon?: PageTemplateProps['icon'];\n getNextEmail?: () => void;\n };\n /** A region to hold an EmailSummaryList component */\n list?: ReactNode;\n /** Email case details */\n emailCaseDetails?: ReactNode;\n}\n\nexport interface EmailCaseViewProps extends BaseProps {\n /** Header of the the component */\n header?: EmailManagerProps['header'];\n /** A region to hold an Emails component */\n content: ReactNode;\n /** A region above the center column to display banners. */\n banners?: ReactNode;\n /** A region that is used to hold Utility components. */\n utilities?: ReactNode;\n /** The utilities summary array will be used to render the minimized utilities card. */\n utilitiesSummaryItems?: UtilitiesSummaryProps['items'];\n /** Expand/Collapse utilities */\n defaultUtilitiesExpanded?: boolean;\n}\n\nexport interface EmailNotificationPanelProps extends BaseProps {\n count: number;\n label: string;\n onClick: MouseEventHandler;\n}\n"]}
@@ -1,9 +1,10 @@
1
+ import type { PropsWithoutRef } from 'react';
1
2
  import type { ModalProps } from '@pega/cosmos-react-core';
2
3
  import type { EmailComposerProps } from './Email.types';
3
4
  export declare const StyledEmailComposer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, EmailComposerProps, never>;
4
5
  export declare const StyledResponseTypeIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("@pega/cosmos-react-core").IconProps>, import("styled-components").DefaultTheme, {}, never>;
5
6
  export declare const StyledToggleButton: import("styled-components").StyledComponent<import("@pega/cosmos-react-core").ForwardRefForwardPropsComponent<import("@pega/cosmos-react-core").ButtonProps>, import("styled-components").DefaultTheme, {}, never>;
6
7
  export declare const StyledModal: import("styled-components").StyledComponent<import("react").FunctionComponent<ModalProps & import("@pega/cosmos-react-core").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
7
- declare const EmailComposer: import("react").ForwardRefExoticComponent<Omit<EmailComposerProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
+ declare const EmailComposer: import("react").ForwardRefExoticComponent<PropsWithoutRef<EmailComposerProps> & import("react").RefAttributes<HTMLDivElement>>;
8
9
  export default EmailComposer;
9
10
  //# sourceMappingURL=EmailComposer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmailComposer.d.ts","sourceRoot":"","sources":["../../../src/components/Email/EmailComposer.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAEV,UAAU,EAIX,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKxD,eAAO,MAAM,mBAAmB,yHAU9B,CAAC;AAEH,eAAO,MAAM,sBAAsB,0LAIjC,CAAC;AAIH,eAAO,MAAM,kBAAkB,oNAK7B,CAAC;AAUH,eAAO,MAAM,WAAW,kMAkCtB,CAAC;AAmEH,QAAA,MAAM,aAAa,4HAyiBjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"EmailComposer.d.ts","sourceRoot":"","sources":["../../../src/components/Email/EmailComposer.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,OAAO,CAAC;AA2BrE,OAAO,KAAK,EAEV,UAAU,EAIX,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKxD,eAAO,MAAM,mBAAmB,yHAU9B,CAAC;AAEH,eAAO,MAAM,sBAAsB,0LAIjC,CAAC;AAIH,eAAO,MAAM,kBAAkB,oNAK7B,CAAC;AAkBH,eAAO,MAAM,WAAW,kMAkCtB,CAAC;AAmEH,QAAA,MAAM,aAAa,gIAoiBjB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { forwardRef, useState, useMemo, useRef, useImperativeHandle, useEffect, useCallback } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
- import { Button, Flex, Icon, registerIcon, useI18n, defaultThemeProp, MenuButton, Input, Modal, useModalManager, useModalContext, ComboBox, menuHelpers, createStringMatcher, FileList, createUID, Checkbox, useLiveLog, usePrevious, getActiveElement, isInstance } from '@pega/cosmos-react-core';
4
+ import { Button, Flex, Icon, registerIcon, useI18n, defaultThemeProp, MenuButton, Input, Modal, useModalManager, useModalContext, ComboBox, menuHelpers, createStringMatcher, FileList, createUID, Checkbox, useLiveLog, usePrevious, getActiveElement, isInstance, ExpandCollapse } from '@pega/cosmos-react-core';
5
5
  import { Editor, StyledRichTextEditor } from '@pega/cosmos-react-rte';
6
6
  import * as paperClipIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/paper-clip.icon';
7
7
  import * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';
@@ -30,8 +30,8 @@ export const StyledResponseTypeIcon = styled(Icon)(({ theme }) => {
30
30
  StyledResponseTypeIcon.defaultProps = defaultThemeProp;
31
31
  export const StyledToggleButton = styled(Button)(({ theme }) => {
32
32
  return css `
33
- margin-block-start: calc(2 * ${theme.base.spacing});
34
- color: ${theme.base.palette.interactive};
33
+ margin-block-start: calc(4 * ${theme.base.spacing});
34
+ margin-inline-start: ${theme.base.spacing};
35
35
  `;
36
36
  });
37
37
  StyledToggleButton.defaultProps = defaultThemeProp;
@@ -39,6 +39,12 @@ const StyledResponseType = styled(MenuButton) `
39
39
  align-self: flex-start;
40
40
  `;
41
41
  StyledResponseType.defaultProps = defaultThemeProp;
42
+ const StyledEditor = styled(Editor)(({ theme }) => {
43
+ return css `
44
+ margin-block-start: calc(2 * ${theme.base.spacing});
45
+ `;
46
+ });
47
+ StyledEditor.defaultProps = defaultThemeProp;
42
48
  export const StyledModal = styled(Modal)(({ state, theme }) => {
43
49
  return css `
44
50
  ${state === 'docked'
@@ -243,8 +249,9 @@ const EmailComposer = forwardRef(function EmailComposer({ participants, senderAc
243
249
  }));
244
250
  const hasCC = useMemo(() => !!cc?.value?.length, [cc]);
245
251
  const hasBCC = useMemo(() => !!bcc?.value?.length, [bcc]);
252
+ const [collapsed, setCollapsed] = useState(true);
246
253
  const content = (_jsxs(Flex, { as: StyledEmailComposer, ...restProps, container: {
247
- gap: 2,
254
+ gap: 0.5,
248
255
  direction: 'column'
249
256
  }, progress: !!progress, ref: ref, children: [senderAccounts && (_jsx(EmailSelector, { participants: senderAccounts, selectedItems: emailAccount ? [emailAccount.value] : [], label: t('email_account'), mode: 'single-select', required: true, onFilterChange: (filteredValue) => {
250
257
  onFilterChange('emailAccount', filteredValue);
@@ -256,10 +263,8 @@ const EmailComposer = forwardRef(function EmailComposer({ participants, senderAc
256
263
  mode: 'single-select',
257
264
  items: responseTypeMenuData.menuItems
258
265
  } })), _jsxs(Flex, { container: {
259
- alignItems: 'start',
260
- gap: 0.5
266
+ alignItems: 'start'
261
267
  }, children: [_jsx(Flex, { container: {
262
- gap: 1,
263
268
  direction: 'column'
264
269
  }, item: {
265
270
  grow: 1
@@ -269,21 +274,21 @@ const EmailComposer = forwardRef(function EmailComposer({ participants, senderAc
269
274
  onLoadMore?.('to', filteredValue);
270
275
  }, onSelectedItemChange: (selectedItems) => {
271
276
  onChange('to', selectedItems);
272
- }, loading: to?.loading, accent: to?.accent, externalValidator: externalValidator, status: to?.error ? 'error' : undefined, info: to?.error }) }), !(userCCToggleState || hasCC) && (_jsx(StyledToggleButton, { variant: 'simple', onClick: () => {
277
+ }, loading: to?.loading, accent: to?.accent, externalValidator: externalValidator, status: to?.error ? 'error' : undefined, info: to?.error }) }), _jsx(StyledToggleButton, { variant: 'link', onClick: () => {
278
+ setCollapsed(curState => !curState);
273
279
  ccPendingFocus.current = true;
274
280
  setUserCCToggleState(true);
275
- }, icon: true, children: t('cc') })), !(userBCCToggleState || hasBCC) && (_jsx(StyledToggleButton, { variant: 'simple', onClick: () => {
276
281
  bccPendingFocus.current = true;
277
282
  setUserBCCToggleState(true);
278
- }, icon: true, children: t('bcc') }))] }), (userCCToggleState || hasCC) && (_jsx(EmailSelector, { participants: participants, selectedItems: cc?.value || [], label: t('cc'), mode: 'multi-select', onFilterChange: (filteredValue) => {
279
- onFilterChange('cc', filteredValue);
280
- }, onLoadMore: (filteredValue) => {
281
- onLoadMore?.('cc', filteredValue);
282
- }, loading: cc?.loading, accent: cc?.accent, onSelectedItemChange: (selectedItems) => onChange('cc', selectedItems), externalValidator: externalValidator, status: cc?.error ? 'error' : undefined, info: cc?.error, comboBoxHandle: setCCHandle })), (userBCCToggleState || hasBCC) && (_jsx(EmailSelector, { participants: participants, selectedItems: bcc?.value || [], label: t('bcc'), mode: 'multi-select', onFilterChange: (filteredValue) => {
283
- onFilterChange('bcc', filteredValue);
284
- }, onLoadMore: (filteredValue) => {
285
- onLoadMore?.('bcc', filteredValue);
286
- }, loading: bcc?.loading, accent: bcc?.accent, onSelectedItemChange: (selectedItems) => onChange('bcc', selectedItems), externalValidator: externalValidator, status: bcc?.error ? 'error' : undefined, info: bcc?.error, comboBoxHandle: setBCCHandle })), _jsx(Input, { value: subject.value, onChange: (e) => onChange('subject', e.target.value), label: t('subject'), status: subject.error ? 'error' : undefined, info: subject.error }), templates && (_jsx(ComboBox, { label: t('response_templates'), value: filterValue, mode: 'single-select', menu: {
283
+ }, children: `${t('cc')} / ${t('bcc')}` })] }), _jsxs(ExpandCollapse, { dimension: 'height', collapsed: collapsed, nullWhenCollapsed: true, children: [(userCCToggleState || hasCC) && (_jsx(EmailSelector, { participants: participants, selectedItems: cc?.value || [], label: t('cc'), mode: 'multi-select', onFilterChange: (filteredValue) => {
284
+ onFilterChange('cc', filteredValue);
285
+ }, onLoadMore: (filteredValue) => {
286
+ onLoadMore?.('cc', filteredValue);
287
+ }, loading: cc?.loading, accent: cc?.accent, onSelectedItemChange: (selectedItems) => onChange('cc', selectedItems), externalValidator: externalValidator, status: cc?.error ? 'error' : undefined, info: cc?.error, comboBoxHandle: setCCHandle })), (userBCCToggleState || hasBCC) && (_jsx(EmailSelector, { participants: participants, selectedItems: bcc?.value || [], label: t('bcc'), mode: 'multi-select', onFilterChange: (filteredValue) => {
288
+ onFilterChange('bcc', filteredValue);
289
+ }, onLoadMore: (filteredValue) => {
290
+ onLoadMore?.('bcc', filteredValue);
291
+ }, loading: bcc?.loading, accent: bcc?.accent, onSelectedItemChange: (selectedItems) => onChange('bcc', selectedItems), externalValidator: externalValidator, status: bcc?.error ? 'error' : undefined, info: bcc?.error, comboBoxHandle: setBCCHandle }))] }), _jsx(Input, { value: subject.value, onChange: (e) => onChange('subject', e.target.value), label: t('subject'), status: subject.error ? 'error' : undefined, info: subject.error }), templates && (_jsx(ComboBox, { label: t('response_templates'), value: filterValue, mode: 'single-select', menu: {
287
292
  items: emailTemplatesToRender,
288
293
  onItemClick: (id) => {
289
294
  setFilterValue('');
@@ -301,7 +306,7 @@ const EmailComposer = forwardRef(function EmailComposer({ participants, senderAc
301
306
  if (!e.target.value)
302
307
  onChange('selectedTemplateId', '');
303
308
  setFilterValue(e.target.value);
304
- } })), _jsx(Editor, { autoFocus: true, ref: editorRef, toolbar: editorToolbar, onImageAdded: onImageAdded, labelHidden: true, label: t('email_message'), defaultValue: editorContent || bodyContent.defaultValue, autoResize: false, status: bodyContent.error ? 'error' : undefined, info: bodyContent.error, onChange: () => {
309
+ } })), _jsx(StyledEditor, { autoFocus: true, ref: editorRef, toolbar: editorToolbar, onImageAdded: onImageAdded, labelHidden: true, label: t('email_message'), defaultValue: editorContent || bodyContent.defaultValue, autoResize: false, status: bodyContent.error ? 'error' : undefined, info: bodyContent.error, onChange: () => {
305
310
  const currentHtml = editorRef?.current?.getHtml() || '';
306
311
  setEditorContent(currentHtml);
307
312
  onChange('bodyContent', currentHtml, isProgramatic.current);
@@ -324,7 +329,7 @@ const EmailComposer = forwardRef(function EmailComposer({ participants, senderAc
324
329
  fileUploadInputRef.current.value = '';
325
330
  fileUploadInputRef.current.click();
326
331
  }
327
- }, variant: 'simple', label: t('file_upload_text_multiple'), children: _jsx(Icon, { name: 'paper-clip' }) }), onSave && _jsx(Button, { onClick: onSave, children: t('save_as_draft') }), _jsx(Button, { variant: 'primary', onClick: onSend, children: t('send') })] }), _jsx("input", { type: 'file', style: { display: 'none' }, ref: fileUploadInputRef, onChange: onFileChange, multiple: true })] }));
332
+ }, variant: 'simple', label: t('file_upload_text_multiple'), children: _jsx(Icon, { name: 'paper-clip' }) }), onSave && (_jsx(Button, { variant: !onSend ? 'primary' : 'secondary', onClick: onSave, children: t('save_as_draft') })), onSend && (_jsx(Button, { variant: 'primary', onClick: onSend, children: t('send') }))] }), _jsx("input", { type: 'file', style: { display: 'none' }, ref: fileUploadInputRef, onChange: onFileChange, multiple: true })] }));
328
333
  // Create modal on mount
329
334
  useEffect(() => {
330
335
  const initiatorElement = getActiveElement();
@@ -1 +1 @@
1
- {"version":3,"file":"EmailComposer.js","sourceRoot":"","sources":["../../../src/components/Email/EmailComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useState,\n useMemo,\n useRef,\n useImperativeHandle,\n useEffect,\n useCallback\n} from 'react';\nimport type { PropsWithoutRef, ChangeEvent, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n Flex,\n Icon,\n registerIcon,\n useI18n,\n defaultThemeProp,\n MenuButton,\n Input,\n Modal,\n useModalManager,\n useModalContext,\n ComboBox,\n menuHelpers,\n createStringMatcher,\n FileList,\n createUID,\n Checkbox,\n useLiveLog,\n usePrevious,\n getActiveElement,\n isInstance\n} from '@pega/cosmos-react-core';\nimport type {\n ModalMethods,\n ModalProps,\n MenuItemProps,\n MenuProps,\n FileItemProps\n} from '@pega/cosmos-react-core';\nimport { Editor, StyledRichTextEditor } from '@pega/cosmos-react-rte';\nimport type { EditorState, EditorProps } from '@pega/cosmos-react-rte';\nimport * as paperClipIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/paper-clip.icon';\nimport * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';\nimport * as replyIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply.icon';\nimport * as forwardIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/forward.icon';\nimport {\n StyledModalChildrenWrap,\n StyledModalContent\n} from '@pega/cosmos-react-core/lib/components/Modal/Modal.styles';\nimport {\n StyledEditorRoot,\n StyledEditorContainer\n} from '@pega/cosmos-react-rte/lib/components/Editor/Editor.styles';\nimport type { ComboBoxHandleValue } from '@pega/cosmos-react-core/lib/components/ComboBox/ComboBox.types';\n\nimport type { EmailComposerProps } from './Email.types';\nimport EmailSelector from './EmailSelector';\n\nregisterIcon(paperClipIcon, replyAllIcon, replyIcon, forwardIcon);\n\nexport const StyledEmailComposer = styled.div<EmailComposerProps>(({ progress }) => {\n return css`\n ${progress\n ? css`\n visibility: hidden;\n `\n : css`\n visibility: visible;\n `}\n `;\n});\n\nexport const StyledResponseTypeIcon = styled(Icon)(({ theme }) => {\n return css`\n color: ${theme.base.palette.interactive};\n `;\n});\n\nStyledResponseTypeIcon.defaultProps = defaultThemeProp;\n\nexport const StyledToggleButton = styled(Button)(({ theme }) => {\n return css`\n margin-block-start: calc(2 * ${theme.base.spacing});\n color: ${theme.base.palette.interactive};\n `;\n});\n\nStyledToggleButton.defaultProps = defaultThemeProp;\n\nconst StyledResponseType = styled(MenuButton)`\n align-self: flex-start;\n`;\n\nStyledResponseType.defaultProps = defaultThemeProp;\n\nexport const StyledModal = styled(Modal)(({ state, theme }) => {\n return css`\n ${state === 'docked'\n ? css`\n max-height: calc(100vh - ${theme.base.spacing} * 4);\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area > iframe {\n /* Equivalent to 150px minus toolbar height */\n min-height: 10rem;\n max-height: 16.5rem;\n }\n `\n : css`\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area > iframe {\n /* Equivalent to 300px minus toolbar height */\n min-height: 16.5rem;\n }\n `}\n\n ${StyledModalContent},\n ${StyledModalChildrenWrap},\n ${StyledEmailComposer},\n ${StyledEmailComposer} > ${StyledEditorRoot},\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor},\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer},\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'],\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container,\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap,\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area,\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area > iframe {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n }\n `;\n});\n\nStyledModal.defaultProps = defaultThemeProp;\n\nconst responseTypeIcons = {\n reply: 'reply',\n replyAll: 'reply-all',\n forward: 'forward'\n};\n\nconst editorToolbar: EditorProps['toolbar'] = [\n 'inline-styling',\n 'lists',\n 'indentation',\n 'images',\n 'links'\n];\n\nconst ComposerModal = ({\n modalContent,\n actions: modalActions,\n progress: modalProgress,\n subject,\n onCancel,\n compose\n}: {\n modalContent: JSX.Element;\n actions: ReactNode;\n progress: ModalProps['progress'];\n subject: EmailComposerProps['data']['subject'];\n onCancel: EmailComposerProps['onCancel'];\n compose: boolean;\n}) => {\n const { state } = useModalContext();\n const t = useI18n();\n return (\n <StyledModal\n heading={compose ? t('compose_label') : subject.value}\n onRequestDismiss={() => {\n onCancel();\n return false;\n }}\n actions={!modalProgress ? modalActions : undefined}\n progress={modalProgress}\n state={state}\n >\n {modalContent}\n </StyledModal>\n );\n};\n\nconst createEmailTemplates = (\n selectedTemplateId: EmailComposerProps['data']['selectedTemplateId'],\n templates: EmailComposerProps['templates'] = []\n): MenuProps['items'] => {\n return templates.map(template => {\n return {\n id: template.id,\n primary: template.title,\n items: template.templates\n ? createEmailTemplates(selectedTemplateId, template.templates)\n : undefined,\n selected: template.id === selectedTemplateId\n };\n });\n};\n\nconst EmailComposer = forwardRef(function EmailComposer(\n {\n participants,\n senderAccounts,\n onCancel,\n onSend,\n onSave,\n onImageAdded,\n externalValidator,\n onChange,\n onFilterChange,\n onLoadMore,\n footerMoreActions,\n progress = false,\n templates,\n data: {\n to,\n cc,\n bcc,\n responseType,\n subject,\n bodyContent,\n selectedTemplateId,\n attachments,\n emailAccount,\n markAsImportant = false\n },\n handle,\n onEditorInit: onEditorInitProp,\n ...restProps\n }: PropsWithoutRef<EmailComposerProps>,\n ref: EmailComposerProps['ref']\n) {\n const t = useI18n();\n const { announcePolite } = useLiveLog();\n const { create: createModal } = useModalManager();\n\n const prevAttachments = usePrevious(attachments);\n\n const [userCCToggleState, setUserCCToggleState] = useState(false);\n const [userBCCToggleState, setUserBCCToggleState] = useState(false);\n const [editorContent, setEditorContent] = useState('');\n const [filterValue, setFilterValue] = useState('');\n\n const bodyContentToReplace = useRef<string | null>(null);\n const isProgramatic = useRef(false);\n const ccPendingFocus = useRef(false);\n const bccPendingFocus = useRef(false);\n\n const filesAnnounced = useRef(false);\n const announcedFilesSet = useRef<Set<string>>(new Set());\n\n const setCCHandle = useCallback((ccComboBoxHandle: ComboBoxHandleValue | null) => {\n if (ccComboBoxHandle && ccPendingFocus.current) {\n ccPendingFocus.current = false;\n ccComboBoxHandle.focusInput();\n }\n }, []);\n\n const setBCCHandle = useCallback((bccComboBoxHandle: ComboBoxHandleValue | null) => {\n if (bccComboBoxHandle && bccPendingFocus.current) {\n bccPendingFocus.current = false;\n bccComboBoxHandle.focusInput();\n }\n }, []);\n\n const filterRegex = createStringMatcher(filterValue, 'contains');\n\n const compose = useMemo(() => {\n return !!senderAccounts;\n }, [senderAccounts]);\n\n const emailTemplatesToRender = useMemo(() => {\n if (!templates) {\n return [];\n }\n\n const emailTemplates = createEmailTemplates(selectedTemplateId, templates);\n const newItems = filterValue\n ? menuHelpers.flatten(emailTemplates).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : emailTemplates;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : item.selected\n }));\n }, [filterValue, selectedTemplateId, templates]);\n\n const selectedEmailTemplate = useMemo(() => {\n return menuHelpers.getSelected(emailTemplatesToRender)[0];\n }, [emailTemplatesToRender]);\n\n const editorRef = useRef<EditorState>(null);\n const fileUploadInputRef = useRef<HTMLInputElement>(null);\n const modalMethods = useRef<ModalMethods>();\n\n const responseTypeMenuData = useMemo(() => {\n const menuItems = [\n {\n id: 'reply',\n primary: t('reply'),\n visual: <StyledResponseTypeIcon name={responseTypeIcons.reply} />,\n selected: responseType === 'reply',\n onClick: () => {\n onChange('responseType', 'reply');\n }\n },\n {\n id: 'replyAll',\n primary: t('reply_all'),\n visual: <StyledResponseTypeIcon name={responseTypeIcons.replyAll} />,\n selected: responseType === 'replyAll',\n onClick: () => {\n onChange('responseType', 'replyAll');\n }\n },\n {\n id: 'forward',\n primary: t('forward'),\n visual: <StyledResponseTypeIcon name={responseTypeIcons.forward} />,\n selected: responseType === 'forward',\n onClick: () => {\n onChange('responseType', 'forward');\n }\n }\n ];\n return {\n menuItems,\n selectedResponseType: menuItems.find(item => item.selected)?.primary || menuItems[0].primary,\n selectedResponseTypeIcon:\n (responseType && responseTypeIcons[responseType]) || responseTypeIcons.reply\n };\n }, [responseType]);\n\n const onAttachmentDelete = (id: FileItemProps['id']) => {\n onChange('attachments', attachments?.filter(item => item.id !== id) || []);\n };\n\n const onFileChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files) {\n const newFiles = Array.from(e.target.files).map(file => ({\n File: file,\n id: createUID(),\n name: file.name\n }));\n onChange('attachments', attachments ? [...attachments, ...newFiles] : newFiles);\n }\n };\n\n const onEditorInit: EditorProps['onInit'] = editor => {\n if (bodyContentToReplace.current) {\n editorRef.current?.insertHtml(bodyContentToReplace.current, true);\n bodyContentToReplace.current = null;\n editorRef.current?.focus();\n }\n if (onEditorInitProp) {\n onEditorInitProp(editor);\n }\n };\n\n useImperativeHandle(handle, () => ({\n replaceBodyContent: (contentToReplace: string) => {\n isProgramatic.current = true;\n if (editorRef.current) {\n editorRef.current.insertHtml(contentToReplace, true);\n } else {\n modalMethods.current?.dock();\n bodyContentToReplace.current = contentToReplace;\n }\n },\n updateImage: (imageData: { src: string; alt: string }, id: string) => {\n editorRef.current?.appendImage(imageData, id);\n // Triggering onChange manually as onChange on RTE is not triggered automatically for appendImage\n onChange('bodyContent', editorRef.current?.getHtml() || '', true);\n },\n activate: () => {\n modalMethods.current?.activate();\n },\n setCursorLocationToStart: () => {\n editorRef.current?.setCursorLocationToStart?.();\n }\n }));\n\n const hasCC = useMemo(() => !!cc?.value?.length, [cc]);\n const hasBCC = useMemo(() => !!bcc?.value?.length, [bcc]);\n\n const content = (\n <Flex\n as={StyledEmailComposer}\n {...restProps}\n container={{\n gap: 2,\n direction: 'column'\n }}\n progress={!!progress}\n ref={ref}\n >\n {senderAccounts && (\n <EmailSelector\n participants={senderAccounts}\n selectedItems={emailAccount ? [emailAccount.value] : []}\n label={t('email_account')}\n mode='single-select'\n required\n onFilterChange={(filteredValue: string) => {\n onFilterChange('emailAccount', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('emailAccount', filteredValue);\n }}\n onSelectedItemChange={(selectedItems: string[]) => {\n onChange('emailAccount', selectedItems[0] ?? '');\n }}\n loading={emailAccount?.loading}\n accent={emailAccount?.accent}\n status={emailAccount?.error ? 'error' : undefined}\n info={emailAccount?.error}\n compose\n />\n )}\n {responseType && (\n <StyledResponseType\n text={responseTypeMenuData.selectedResponseType}\n variant='link'\n icon={responseTypeMenuData.selectedResponseTypeIcon}\n menu={{\n mode: 'single-select',\n items: responseTypeMenuData.menuItems\n }}\n />\n )}\n\n <Flex\n container={{\n alignItems: 'start',\n gap: 0.5\n }}\n >\n <Flex\n container={{\n gap: 1,\n direction: 'column'\n }}\n item={{\n grow: 1\n }}\n >\n <EmailSelector\n participants={participants}\n selectedItems={to?.value || []}\n label={t('to')}\n mode='multi-select'\n required\n onFilterChange={(filteredValue: string) => {\n onFilterChange('to', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('to', filteredValue);\n }}\n onSelectedItemChange={(selectedItems: string[]) => {\n onChange('to', selectedItems);\n }}\n loading={to?.loading}\n accent={to?.accent}\n externalValidator={externalValidator}\n status={to?.error ? 'error' : undefined}\n info={to?.error}\n />\n </Flex>\n {!(userCCToggleState || hasCC) && (\n <StyledToggleButton\n variant='simple'\n onClick={() => {\n ccPendingFocus.current = true;\n setUserCCToggleState(true);\n }}\n icon\n >\n {t('cc')}\n </StyledToggleButton>\n )}\n {!(userBCCToggleState || hasBCC) && (\n <StyledToggleButton\n variant='simple'\n onClick={() => {\n bccPendingFocus.current = true;\n setUserBCCToggleState(true);\n }}\n icon\n >\n {t('bcc')}\n </StyledToggleButton>\n )}\n </Flex>\n\n {(userCCToggleState || hasCC) && (\n <EmailSelector\n participants={participants}\n selectedItems={cc?.value || []}\n label={t('cc')}\n mode='multi-select'\n onFilterChange={(filteredValue: string) => {\n onFilterChange('cc', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('cc', filteredValue);\n }}\n loading={cc?.loading}\n accent={cc?.accent}\n onSelectedItemChange={(selectedItems: string[]) => onChange('cc', selectedItems)}\n externalValidator={externalValidator}\n status={cc?.error ? 'error' : undefined}\n info={cc?.error}\n comboBoxHandle={setCCHandle}\n />\n )}\n {(userBCCToggleState || hasBCC) && (\n <EmailSelector\n participants={participants}\n selectedItems={bcc?.value || []}\n label={t('bcc')}\n mode='multi-select'\n onFilterChange={(filteredValue: string) => {\n onFilterChange('bcc', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('bcc', filteredValue);\n }}\n loading={bcc?.loading}\n accent={bcc?.accent}\n onSelectedItemChange={(selectedItems: string[]) => onChange('bcc', selectedItems)}\n externalValidator={externalValidator}\n status={bcc?.error ? 'error' : undefined}\n info={bcc?.error}\n comboBoxHandle={setBCCHandle}\n />\n )}\n\n <Input\n value={subject.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => onChange('subject', e.target.value)}\n label={t('subject')}\n status={subject.error ? 'error' : undefined}\n info={subject.error}\n />\n\n {templates && (\n <ComboBox\n label={t('response_templates')}\n value={filterValue}\n mode='single-select'\n menu={{\n items: emailTemplatesToRender,\n onItemClick: (id: MenuItemProps['id']) => {\n setFilterValue('');\n onChange('selectedTemplateId', id);\n },\n accent: filterRegex\n }}\n selected={\n selectedEmailTemplate\n ? {\n items: {\n id: selectedEmailTemplate.id,\n text: selectedEmailTemplate.primary\n }\n }\n : undefined\n }\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) onChange('selectedTemplateId', '');\n setFilterValue(e.target.value);\n }}\n />\n )}\n\n <Editor\n autoFocus\n ref={editorRef}\n toolbar={editorToolbar}\n onImageAdded={onImageAdded}\n labelHidden\n label={t('email_message')}\n defaultValue={editorContent || bodyContent.defaultValue}\n autoResize={false}\n status={bodyContent.error ? 'error' : undefined}\n info={bodyContent.error}\n onChange={() => {\n const currentHtml = editorRef?.current?.getHtml() || '';\n setEditorContent(currentHtml);\n onChange('bodyContent', currentHtml, isProgramatic.current);\n if (isProgramatic.current) isProgramatic.current = false;\n }}\n onInit={onEditorInit}\n initOptions={{\n contentStyle: 'body { height: 100%; overflow-y: auto; }'\n }}\n />\n <Checkbox\n label={t('mark_email_as_important')}\n checked={markAsImportant}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n onChange('markImportant', e.target.checked);\n }}\n />\n {!!attachments?.length && (\n <FileList\n type='item'\n items={attachments.map(item => {\n return {\n ...item,\n onDelete: onAttachmentDelete\n };\n })}\n ref={ref}\n />\n )}\n </Flex>\n );\n\n const footerContent = (\n <>\n <Button\n variant='secondary'\n onClick={() => {\n onCancel();\n }}\n >\n {t('cancel')}\n </Button>\n\n {footerMoreActions}\n\n <Flex container>\n <Button\n icon\n onClick={() => {\n if (fileUploadInputRef.current) {\n fileUploadInputRef.current.value = '';\n fileUploadInputRef.current.click();\n }\n }}\n variant='simple'\n label={t('file_upload_text_multiple')}\n >\n <Icon name='paper-clip' />\n </Button>\n\n {onSave && <Button onClick={onSave}>{t('save_as_draft')}</Button>}\n <Button variant='primary' onClick={onSend}>\n {t('send')}\n </Button>\n </Flex>\n <input\n type='file'\n style={{ display: 'none' }}\n ref={fileUploadInputRef}\n onChange={onFileChange}\n multiple\n />\n </>\n );\n\n // Create modal on mount\n useEffect(() => {\n const initiatorElement = getActiveElement();\n modalMethods.current = createModal(\n ComposerModal,\n { modalContent: content, actions: footerContent, progress, subject, onCancel, compose },\n { minimizable: true, maximizable: true, dockable: true }\n );\n\n return () => {\n // Will close the modal on unmount\n modalMethods.current?.dismiss();\n modalMethods.current?.unmount();\n if (isInstance(initiatorElement, HTMLElement) && initiatorElement.isConnected) {\n initiatorElement.focus();\n }\n };\n }, []);\n\n useEffect(() => {\n modalMethods.current?.update({\n modalContent: content,\n actions: footerContent,\n progress,\n subject,\n onCancel,\n compose\n });\n });\n\n useEffect(() => {\n if (!attachments) return;\n\n if (announcedFilesSet.current.size !== attachments.length) {\n filesAnnounced.current = false;\n }\n\n if ((prevAttachments?.length ?? 0) > attachments.length) {\n announcedFilesSet.current = new Set(\n Array.from(announcedFilesSet.current).filter(item =>\n attachments.some(file => file.id === item)\n )\n );\n }\n\n const errorFiles = attachments.filter(\n item => !announcedFilesSet.current.has(item.id) && item.error\n );\n const progressFiles = attachments.filter(\n item =>\n !announcedFilesSet.current.has(item.id) &&\n ('progress' in item ? typeof item.progress === 'number' && item.progress > 99 : true)\n );\n const totalAttachedFilesLength = progressFiles.length + errorFiles.length;\n\n if (\n totalAttachedFilesLength > 0 &&\n attachments.length - announcedFilesSet.current.size === totalAttachedFilesLength &&\n !filesAnnounced.current\n ) {\n if (progressFiles.length > 0) {\n announcePolite({\n message: t('files_uploaded', [progressFiles.length], { count: progressFiles.length })\n });\n\n progressFiles.forEach(file => {\n if (file.id && !announcedFilesSet.current.has(file.id)) {\n announcedFilesSet.current.add(file.id);\n }\n });\n }\n\n if (errorFiles.length > 0) {\n announcePolite({\n message: t('files_upload_failed', [errorFiles.length], { count: errorFiles.length })\n });\n\n errorFiles.forEach(file => {\n if (file.id && !announcedFilesSet.current.has(file.id)) {\n announcedFilesSet.current.add(file.id);\n }\n });\n }\n filesAnnounced.current = true;\n }\n }, [attachments]);\n\n return null;\n});\n\nexport default EmailComposer;\n"]}
1
+ {"version":3,"file":"EmailComposer.js","sourceRoot":"","sources":["../../../src/components/Email/EmailComposer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n useState,\n useMemo,\n useRef,\n useImperativeHandle,\n useEffect,\n useCallback\n} from 'react';\nimport type { PropsWithoutRef, ChangeEvent, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Button,\n Flex,\n Icon,\n registerIcon,\n useI18n,\n defaultThemeProp,\n MenuButton,\n Input,\n Modal,\n useModalManager,\n useModalContext,\n ComboBox,\n menuHelpers,\n createStringMatcher,\n FileList,\n createUID,\n Checkbox,\n useLiveLog,\n usePrevious,\n getActiveElement,\n isInstance,\n ExpandCollapse\n} from '@pega/cosmos-react-core';\nimport type {\n ModalMethods,\n ModalProps,\n MenuItemProps,\n MenuProps,\n FileItemProps\n} from '@pega/cosmos-react-core';\nimport { Editor, StyledRichTextEditor } from '@pega/cosmos-react-rte';\nimport type { EditorState, EditorProps } from '@pega/cosmos-react-rte';\nimport * as paperClipIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/paper-clip.icon';\nimport * as replyAllIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply-all.icon';\nimport * as replyIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/reply.icon';\nimport * as forwardIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/forward.icon';\nimport {\n StyledModalChildrenWrap,\n StyledModalContent\n} from '@pega/cosmos-react-core/lib/components/Modal/Modal.styles';\nimport {\n StyledEditorRoot,\n StyledEditorContainer\n} from '@pega/cosmos-react-rte/lib/components/Editor/Editor.styles';\nimport type { ComboBoxHandleValue } from '@pega/cosmos-react-core/lib/components/ComboBox/ComboBox.types';\n\nimport type { EmailComposerProps } from './Email.types';\nimport EmailSelector from './EmailSelector';\n\nregisterIcon(paperClipIcon, replyAllIcon, replyIcon, forwardIcon);\n\nexport const StyledEmailComposer = styled.div<EmailComposerProps>(({ progress }) => {\n return css`\n ${progress\n ? css`\n visibility: hidden;\n `\n : css`\n visibility: visible;\n `}\n `;\n});\n\nexport const StyledResponseTypeIcon = styled(Icon)(({ theme }) => {\n return css`\n color: ${theme.base.palette.interactive};\n `;\n});\n\nStyledResponseTypeIcon.defaultProps = defaultThemeProp;\n\nexport const StyledToggleButton = styled(Button)(({ theme }) => {\n return css`\n margin-block-start: calc(4 * ${theme.base.spacing});\n margin-inline-start: ${theme.base.spacing};\n `;\n});\n\nStyledToggleButton.defaultProps = defaultThemeProp;\n\nconst StyledResponseType = styled(MenuButton)`\n align-self: flex-start;\n`;\n\nStyledResponseType.defaultProps = defaultThemeProp;\n\nconst StyledEditor = styled(Editor)(({ theme }) => {\n return css`\n margin-block-start: calc(2 * ${theme.base.spacing});\n `;\n});\n\nStyledEditor.defaultProps = defaultThemeProp;\n\nexport const StyledModal = styled(Modal)(({ state, theme }) => {\n return css`\n ${state === 'docked'\n ? css`\n max-height: calc(100vh - ${theme.base.spacing} * 4);\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area > iframe {\n /* Equivalent to 150px minus toolbar height */\n min-height: 10rem;\n max-height: 16.5rem;\n }\n `\n : css`\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area > iframe {\n /* Equivalent to 300px minus toolbar height */\n min-height: 16.5rem;\n }\n `}\n\n ${StyledModalContent},\n ${StyledModalChildrenWrap},\n ${StyledEmailComposer},\n ${StyledEmailComposer} > ${StyledEditorRoot},\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor},\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer},\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'],\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container,\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap,\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area,\n ${StyledEmailComposer} > ${StyledEditorRoot} > ${StyledRichTextEditor} > ${StyledEditorContainer} > [role='application'] > .tox-editor-container > .tox-sidebar-wrap > .tox-edit-area > iframe {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n }\n `;\n});\n\nStyledModal.defaultProps = defaultThemeProp;\n\nconst responseTypeIcons = {\n reply: 'reply',\n replyAll: 'reply-all',\n forward: 'forward'\n};\n\nconst editorToolbar: EditorProps['toolbar'] = [\n 'inline-styling',\n 'lists',\n 'indentation',\n 'images',\n 'links'\n];\n\nconst ComposerModal = ({\n modalContent,\n actions: modalActions,\n progress: modalProgress,\n subject,\n onCancel,\n compose\n}: {\n modalContent: JSX.Element;\n actions: ReactNode;\n progress: ModalProps['progress'];\n subject: EmailComposerProps['data']['subject'];\n onCancel: EmailComposerProps['onCancel'];\n compose: boolean;\n}) => {\n const { state } = useModalContext();\n const t = useI18n();\n return (\n <StyledModal\n heading={compose ? t('compose_label') : subject.value}\n onRequestDismiss={() => {\n onCancel();\n return false;\n }}\n actions={!modalProgress ? modalActions : undefined}\n progress={modalProgress}\n state={state}\n >\n {modalContent}\n </StyledModal>\n );\n};\n\nconst createEmailTemplates = (\n selectedTemplateId: EmailComposerProps['data']['selectedTemplateId'],\n templates: EmailComposerProps['templates'] = []\n): MenuProps['items'] => {\n return templates.map(template => {\n return {\n id: template.id,\n primary: template.title,\n items: template.templates\n ? createEmailTemplates(selectedTemplateId, template.templates)\n : undefined,\n selected: template.id === selectedTemplateId\n };\n });\n};\n\nconst EmailComposer = forwardRef(function EmailComposer(\n {\n participants,\n senderAccounts,\n onCancel,\n onSend,\n onSave,\n onImageAdded,\n externalValidator,\n onChange,\n onFilterChange,\n onLoadMore,\n footerMoreActions,\n progress = false,\n templates,\n data: {\n to,\n cc,\n bcc,\n responseType,\n subject,\n bodyContent,\n selectedTemplateId,\n attachments,\n emailAccount,\n markAsImportant = false\n },\n handle,\n onEditorInit: onEditorInitProp,\n ...restProps\n }: PropsWithoutRef<EmailComposerProps>,\n ref: EmailComposerProps['ref']\n) {\n const t = useI18n();\n const { announcePolite } = useLiveLog();\n const { create: createModal } = useModalManager();\n\n const prevAttachments = usePrevious(attachments);\n\n const [userCCToggleState, setUserCCToggleState] = useState(false);\n const [userBCCToggleState, setUserBCCToggleState] = useState(false);\n const [editorContent, setEditorContent] = useState('');\n const [filterValue, setFilterValue] = useState('');\n\n const bodyContentToReplace = useRef<string | null>(null);\n const isProgramatic = useRef(false);\n const ccPendingFocus = useRef(false);\n const bccPendingFocus = useRef(false);\n\n const filesAnnounced = useRef(false);\n const announcedFilesSet = useRef<Set<string>>(new Set());\n\n const setCCHandle = useCallback((ccComboBoxHandle: ComboBoxHandleValue | null) => {\n if (ccComboBoxHandle && ccPendingFocus.current) {\n ccPendingFocus.current = false;\n ccComboBoxHandle.focusInput();\n }\n }, []);\n\n const setBCCHandle = useCallback((bccComboBoxHandle: ComboBoxHandleValue | null) => {\n if (bccComboBoxHandle && bccPendingFocus.current) {\n bccPendingFocus.current = false;\n bccComboBoxHandle.focusInput();\n }\n }, []);\n\n const filterRegex = createStringMatcher(filterValue, 'contains');\n\n const compose = useMemo(() => {\n return !!senderAccounts;\n }, [senderAccounts]);\n\n const emailTemplatesToRender = useMemo(() => {\n if (!templates) {\n return [];\n }\n\n const emailTemplates = createEmailTemplates(selectedTemplateId, templates);\n const newItems = filterValue\n ? menuHelpers.flatten(emailTemplates).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : emailTemplates;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : item.selected\n }));\n }, [filterValue, selectedTemplateId, templates]);\n\n const selectedEmailTemplate = useMemo(() => {\n return menuHelpers.getSelected(emailTemplatesToRender)[0];\n }, [emailTemplatesToRender]);\n\n const editorRef = useRef<EditorState>(null);\n const fileUploadInputRef = useRef<HTMLInputElement>(null);\n const modalMethods = useRef<ModalMethods>();\n\n const responseTypeMenuData = useMemo(() => {\n const menuItems = [\n {\n id: 'reply',\n primary: t('reply'),\n visual: <StyledResponseTypeIcon name={responseTypeIcons.reply} />,\n selected: responseType === 'reply',\n onClick: () => {\n onChange('responseType', 'reply');\n }\n },\n {\n id: 'replyAll',\n primary: t('reply_all'),\n visual: <StyledResponseTypeIcon name={responseTypeIcons.replyAll} />,\n selected: responseType === 'replyAll',\n onClick: () => {\n onChange('responseType', 'replyAll');\n }\n },\n {\n id: 'forward',\n primary: t('forward'),\n visual: <StyledResponseTypeIcon name={responseTypeIcons.forward} />,\n selected: responseType === 'forward',\n onClick: () => {\n onChange('responseType', 'forward');\n }\n }\n ];\n return {\n menuItems,\n selectedResponseType: menuItems.find(item => item.selected)?.primary || menuItems[0].primary,\n selectedResponseTypeIcon:\n (responseType && responseTypeIcons[responseType]) || responseTypeIcons.reply\n };\n }, [responseType]);\n\n const onAttachmentDelete = (id: FileItemProps['id']) => {\n onChange('attachments', attachments?.filter(item => item.id !== id) || []);\n };\n\n const onFileChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (e.target.files) {\n const newFiles = Array.from(e.target.files).map(file => ({\n File: file,\n id: createUID(),\n name: file.name\n }));\n onChange('attachments', attachments ? [...attachments, ...newFiles] : newFiles);\n }\n };\n\n const onEditorInit: EditorProps['onInit'] = editor => {\n if (bodyContentToReplace.current) {\n editorRef.current?.insertHtml(bodyContentToReplace.current, true);\n bodyContentToReplace.current = null;\n editorRef.current?.focus();\n }\n if (onEditorInitProp) {\n onEditorInitProp(editor);\n }\n };\n\n useImperativeHandle(handle, () => ({\n replaceBodyContent: (contentToReplace: string) => {\n isProgramatic.current = true;\n if (editorRef.current) {\n editorRef.current.insertHtml(contentToReplace, true);\n } else {\n modalMethods.current?.dock();\n bodyContentToReplace.current = contentToReplace;\n }\n },\n updateImage: (imageData: { src: string; alt: string }, id: string) => {\n editorRef.current?.appendImage(imageData, id);\n // Triggering onChange manually as onChange on RTE is not triggered automatically for appendImage\n onChange('bodyContent', editorRef.current?.getHtml() || '', true);\n },\n activate: () => {\n modalMethods.current?.activate();\n },\n setCursorLocationToStart: () => {\n editorRef.current?.setCursorLocationToStart?.();\n }\n }));\n\n const hasCC = useMemo(() => !!cc?.value?.length, [cc]);\n const hasBCC = useMemo(() => !!bcc?.value?.length, [bcc]);\n const [collapsed, setCollapsed] = useState(true);\n\n const content = (\n <Flex\n as={StyledEmailComposer}\n {...restProps}\n container={{\n gap: 0.5,\n direction: 'column'\n }}\n progress={!!progress}\n ref={ref}\n >\n {senderAccounts && (\n <EmailSelector\n participants={senderAccounts}\n selectedItems={emailAccount ? [emailAccount.value] : []}\n label={t('email_account')}\n mode='single-select'\n required\n onFilterChange={(filteredValue: string) => {\n onFilterChange('emailAccount', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('emailAccount', filteredValue);\n }}\n onSelectedItemChange={(selectedItems: string[]) => {\n onChange('emailAccount', selectedItems[0] ?? '');\n }}\n loading={emailAccount?.loading}\n accent={emailAccount?.accent}\n status={emailAccount?.error ? 'error' : undefined}\n info={emailAccount?.error}\n compose\n />\n )}\n {responseType && (\n <StyledResponseType\n text={responseTypeMenuData.selectedResponseType}\n variant='link'\n icon={responseTypeMenuData.selectedResponseTypeIcon}\n menu={{\n mode: 'single-select',\n items: responseTypeMenuData.menuItems\n }}\n />\n )}\n\n <Flex\n container={{\n alignItems: 'start'\n }}\n >\n <Flex\n container={{\n direction: 'column'\n }}\n item={{\n grow: 1\n }}\n >\n <EmailSelector\n participants={participants}\n selectedItems={to?.value || []}\n label={t('to')}\n mode='multi-select'\n required\n onFilterChange={(filteredValue: string) => {\n onFilterChange('to', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('to', filteredValue);\n }}\n onSelectedItemChange={(selectedItems: string[]) => {\n onChange('to', selectedItems);\n }}\n loading={to?.loading}\n accent={to?.accent}\n externalValidator={externalValidator}\n status={to?.error ? 'error' : undefined}\n info={to?.error}\n />\n </Flex>\n <StyledToggleButton\n variant='link'\n onClick={() => {\n setCollapsed(curState => !curState);\n\n ccPendingFocus.current = true;\n setUserCCToggleState(true);\n bccPendingFocus.current = true;\n setUserBCCToggleState(true);\n }}\n >\n {`${t('cc')} / ${t('bcc')}`}\n </StyledToggleButton>\n </Flex>\n <ExpandCollapse dimension='height' collapsed={collapsed} nullWhenCollapsed>\n {(userCCToggleState || hasCC) && (\n <EmailSelector\n participants={participants}\n selectedItems={cc?.value || []}\n label={t('cc')}\n mode='multi-select'\n onFilterChange={(filteredValue: string) => {\n onFilterChange('cc', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('cc', filteredValue);\n }}\n loading={cc?.loading}\n accent={cc?.accent}\n onSelectedItemChange={(selectedItems: string[]) => onChange('cc', selectedItems)}\n externalValidator={externalValidator}\n status={cc?.error ? 'error' : undefined}\n info={cc?.error}\n comboBoxHandle={setCCHandle}\n />\n )}\n {(userBCCToggleState || hasBCC) && (\n <EmailSelector\n participants={participants}\n selectedItems={bcc?.value || []}\n label={t('bcc')}\n mode='multi-select'\n onFilterChange={(filteredValue: string) => {\n onFilterChange('bcc', filteredValue);\n }}\n onLoadMore={(filteredValue: string) => {\n onLoadMore?.('bcc', filteredValue);\n }}\n loading={bcc?.loading}\n accent={bcc?.accent}\n onSelectedItemChange={(selectedItems: string[]) => onChange('bcc', selectedItems)}\n externalValidator={externalValidator}\n status={bcc?.error ? 'error' : undefined}\n info={bcc?.error}\n comboBoxHandle={setBCCHandle}\n />\n )}\n </ExpandCollapse>\n\n <Input\n value={subject.value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => onChange('subject', e.target.value)}\n label={t('subject')}\n status={subject.error ? 'error' : undefined}\n info={subject.error}\n />\n\n {templates && (\n <ComboBox\n label={t('response_templates')}\n value={filterValue}\n mode='single-select'\n menu={{\n items: emailTemplatesToRender,\n onItemClick: (id: MenuItemProps['id']) => {\n setFilterValue('');\n onChange('selectedTemplateId', id);\n },\n accent: filterRegex\n }}\n selected={\n selectedEmailTemplate\n ? {\n items: {\n id: selectedEmailTemplate.id,\n text: selectedEmailTemplate.primary\n }\n }\n : undefined\n }\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) onChange('selectedTemplateId', '');\n setFilterValue(e.target.value);\n }}\n />\n )}\n\n <StyledEditor\n autoFocus\n ref={editorRef}\n toolbar={editorToolbar}\n onImageAdded={onImageAdded}\n labelHidden\n label={t('email_message')}\n defaultValue={editorContent || bodyContent.defaultValue}\n autoResize={false}\n status={bodyContent.error ? 'error' : undefined}\n info={bodyContent.error}\n onChange={() => {\n const currentHtml = editorRef?.current?.getHtml() || '';\n setEditorContent(currentHtml);\n onChange('bodyContent', currentHtml, isProgramatic.current);\n if (isProgramatic.current) isProgramatic.current = false;\n }}\n onInit={onEditorInit}\n initOptions={{\n contentStyle: 'body { height: 100%; overflow-y: auto; }'\n }}\n />\n <Checkbox\n label={t('mark_email_as_important')}\n checked={markAsImportant}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n onChange('markImportant', e.target.checked);\n }}\n />\n {!!attachments?.length && (\n <FileList\n type='item'\n items={attachments.map(item => {\n return {\n ...item,\n onDelete: onAttachmentDelete\n };\n })}\n ref={ref}\n />\n )}\n </Flex>\n );\n\n const footerContent = (\n <>\n <Button\n variant='secondary'\n onClick={() => {\n onCancel();\n }}\n >\n {t('cancel')}\n </Button>\n\n {footerMoreActions}\n\n <Flex container>\n <Button\n icon\n onClick={() => {\n if (fileUploadInputRef.current) {\n fileUploadInputRef.current.value = '';\n fileUploadInputRef.current.click();\n }\n }}\n variant='simple'\n label={t('file_upload_text_multiple')}\n >\n <Icon name='paper-clip' />\n </Button>\n\n {onSave && (\n <Button variant={!onSend ? 'primary' : 'secondary'} onClick={onSave}>\n {t('save_as_draft')}\n </Button>\n )}\n {onSend && (\n <Button variant='primary' onClick={onSend}>\n {t('send')}\n </Button>\n )}\n </Flex>\n <input\n type='file'\n style={{ display: 'none' }}\n ref={fileUploadInputRef}\n onChange={onFileChange}\n multiple\n />\n </>\n );\n\n // Create modal on mount\n useEffect(() => {\n const initiatorElement = getActiveElement();\n modalMethods.current = createModal(\n ComposerModal,\n { modalContent: content, actions: footerContent, progress, subject, onCancel, compose },\n { minimizable: true, maximizable: true, dockable: true }\n );\n\n return () => {\n // Will close the modal on unmount\n modalMethods.current?.dismiss();\n modalMethods.current?.unmount();\n if (isInstance(initiatorElement, HTMLElement) && initiatorElement.isConnected) {\n initiatorElement.focus();\n }\n };\n }, []);\n\n useEffect(() => {\n modalMethods.current?.update({\n modalContent: content,\n actions: footerContent,\n progress,\n subject,\n onCancel,\n compose\n });\n });\n\n useEffect(() => {\n if (!attachments) return;\n\n if (announcedFilesSet.current.size !== attachments.length) {\n filesAnnounced.current = false;\n }\n\n if ((prevAttachments?.length ?? 0) > attachments.length) {\n announcedFilesSet.current = new Set(\n Array.from(announcedFilesSet.current).filter(item =>\n attachments.some(file => file.id === item)\n )\n );\n }\n\n const errorFiles = attachments.filter(\n item => !announcedFilesSet.current.has(item.id) && item.error\n );\n const progressFiles = attachments.filter(\n item =>\n !announcedFilesSet.current.has(item.id) &&\n ('progress' in item ? typeof item.progress === 'number' && item.progress > 99 : true)\n );\n const totalAttachedFilesLength = progressFiles.length + errorFiles.length;\n\n if (\n totalAttachedFilesLength > 0 &&\n attachments.length - announcedFilesSet.current.size === totalAttachedFilesLength &&\n !filesAnnounced.current\n ) {\n if (progressFiles.length > 0) {\n announcePolite({\n message: t('files_uploaded', [progressFiles.length], { count: progressFiles.length })\n });\n\n progressFiles.forEach(file => {\n if (file.id && !announcedFilesSet.current.has(file.id)) {\n announcedFilesSet.current.add(file.id);\n }\n });\n }\n\n if (errorFiles.length > 0) {\n announcePolite({\n message: t('files_upload_failed', [errorFiles.length], { count: errorFiles.length })\n });\n\n errorFiles.forEach(file => {\n if (file.id && !announcedFilesSet.current.has(file.id)) {\n announcedFilesSet.current.add(file.id);\n }\n });\n }\n filesAnnounced.current = true;\n }\n }, [attachments]);\n\n return null;\n});\n\nexport default EmailComposer;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/cosmos-react-social",
3
- "version": "9.0.0-build.17.5",
3
+ "version": "9.0.0-build.17.6",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "author": "Pegasystems",
6
6
  "sideEffects": [
@@ -17,9 +17,9 @@
17
17
  "build": "tsc -b tsconfig.build.json"
18
18
  },
19
19
  "dependencies": {
20
- "@pega/cosmos-react-core": "9.0.0-build.17.5",
21
- "@pega/cosmos-react-rte": "9.0.0-build.17.5",
22
- "@pega/cosmos-react-work": "9.0.0-build.17.5",
20
+ "@pega/cosmos-react-core": "9.0.0-build.17.6",
21
+ "@pega/cosmos-react-rte": "9.0.0-build.17.6",
22
+ "@pega/cosmos-react-work": "9.0.0-build.17.6",
23
23
  "@types/parse5": "^6.0.0",
24
24
  "@types/react": "^17.0.62 || ^18.3.3",
25
25
  "@types/react-dom": "^17.0.20 || ^18.3.0",