@elliemae/ds-chat 3.5.0-rc.9 → 3.5.1-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/cjs/exported-related/bubble/ChatBubble.js +63 -33
  2. package/dist/cjs/exported-related/bubble/ChatBubble.js.map +1 -1
  3. package/dist/cjs/exported-related/bubble/ChatBubbleArrow.js +83 -60
  4. package/dist/cjs/exported-related/bubble/ChatBubbleArrow.js.map +2 -2
  5. package/dist/cjs/exported-related/chat-card/ChatCard.js +28 -14
  6. package/dist/cjs/exported-related/chat-card/ChatCard.js.map +2 -2
  7. package/dist/cjs/exported-related/chat-card/props.js +2 -1
  8. package/dist/cjs/exported-related/chat-card/props.js.map +1 -1
  9. package/dist/cjs/exported-related/chat-container-header/ChatContainerHeader.js +20 -13
  10. package/dist/cjs/exported-related/chat-container-header/ChatContainerHeader.js.map +1 -1
  11. package/dist/cjs/exported-related/chat-empty-state/ChatEmptyState.js +31 -19
  12. package/dist/cjs/exported-related/chat-empty-state/ChatEmptyState.js.map +2 -2
  13. package/dist/cjs/exported-related/chat-empty-state/props.js +2 -1
  14. package/dist/cjs/exported-related/chat-empty-state/props.js.map +1 -1
  15. package/dist/cjs/exported-related/chat-sidebar/SideBarChat.js +22 -16
  16. package/dist/cjs/exported-related/chat-sidebar/SideBarChat.js.map +1 -1
  17. package/dist/cjs/exported-related/chat-sidebar/sidebar-button/SidebarButton.js +16 -9
  18. package/dist/cjs/exported-related/chat-sidebar/sidebar-button/SidebarButton.js.map +1 -1
  19. package/dist/cjs/exported-related/floating-button/FloatingButton.js +7 -6
  20. package/dist/cjs/exported-related/floating-button/FloatingButton.js.map +2 -2
  21. package/dist/cjs/exported-related/grid-influencer/InfluencerContainer.js +8 -3
  22. package/dist/cjs/exported-related/grid-influencer/InfluencerContainer.js.map +1 -1
  23. package/dist/cjs/exported-related/message-delimiter/MessageDelimiter.js +14 -8
  24. package/dist/cjs/exported-related/message-delimiter/MessageDelimiter.js.map +2 -2
  25. package/dist/cjs/exported-related/system-message/SystemMessage.js +24 -12
  26. package/dist/cjs/exported-related/system-message/SystemMessage.js.map +2 -2
  27. package/dist/cjs/exported-related/tile-button/TileButton.js +59 -35
  28. package/dist/cjs/exported-related/tile-button/TileButton.js.map +1 -1
  29. package/dist/cjs/parts/chat-composer/ChatContainerComposer.js +85 -60
  30. package/dist/cjs/parts/chat-composer/ChatContainerComposer.js.map +1 -1
  31. package/dist/cjs/parts/chat-container/ChatContainer.js +64 -50
  32. package/dist/cjs/parts/chat-container/ChatContainer.js.map +1 -1
  33. package/dist/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js +64 -37
  34. package/dist/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js.map +1 -1
  35. package/dist/esm/exported-related/bubble/ChatBubble.js +63 -33
  36. package/dist/esm/exported-related/bubble/ChatBubble.js.map +1 -1
  37. package/dist/esm/exported-related/bubble/ChatBubbleArrow.js +83 -60
  38. package/dist/esm/exported-related/bubble/ChatBubbleArrow.js.map +2 -2
  39. package/dist/esm/exported-related/chat-card/ChatCard.js +28 -14
  40. package/dist/esm/exported-related/chat-card/ChatCard.js.map +2 -2
  41. package/dist/esm/exported-related/chat-card/props.js +2 -1
  42. package/dist/esm/exported-related/chat-card/props.js.map +1 -1
  43. package/dist/esm/exported-related/chat-container-header/ChatContainerHeader.js +20 -13
  44. package/dist/esm/exported-related/chat-container-header/ChatContainerHeader.js.map +1 -1
  45. package/dist/esm/exported-related/chat-empty-state/ChatEmptyState.js +31 -19
  46. package/dist/esm/exported-related/chat-empty-state/ChatEmptyState.js.map +2 -2
  47. package/dist/esm/exported-related/chat-empty-state/props.js +2 -1
  48. package/dist/esm/exported-related/chat-empty-state/props.js.map +1 -1
  49. package/dist/esm/exported-related/chat-sidebar/SideBarChat.js +22 -16
  50. package/dist/esm/exported-related/chat-sidebar/SideBarChat.js.map +1 -1
  51. package/dist/esm/exported-related/chat-sidebar/sidebar-button/SidebarButton.js +16 -9
  52. package/dist/esm/exported-related/chat-sidebar/sidebar-button/SidebarButton.js.map +1 -1
  53. package/dist/esm/exported-related/floating-button/FloatingButton.js +7 -6
  54. package/dist/esm/exported-related/floating-button/FloatingButton.js.map +2 -2
  55. package/dist/esm/exported-related/grid-influencer/InfluencerContainer.js +8 -3
  56. package/dist/esm/exported-related/grid-influencer/InfluencerContainer.js.map +1 -1
  57. package/dist/esm/exported-related/message-delimiter/MessageDelimiter.js +14 -8
  58. package/dist/esm/exported-related/message-delimiter/MessageDelimiter.js.map +2 -2
  59. package/dist/esm/exported-related/system-message/SystemMessage.js +24 -12
  60. package/dist/esm/exported-related/system-message/SystemMessage.js.map +2 -2
  61. package/dist/esm/exported-related/tile-button/TileButton.js +59 -35
  62. package/dist/esm/exported-related/tile-button/TileButton.js.map +1 -1
  63. package/dist/esm/parts/chat-composer/ChatContainerComposer.js +85 -60
  64. package/dist/esm/parts/chat-composer/ChatContainerComposer.js.map +1 -1
  65. package/dist/esm/parts/chat-container/ChatContainer.js +64 -50
  66. package/dist/esm/parts/chat-container/ChatContainer.js.map +1 -1
  67. package/dist/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js +64 -37
  68. package/dist/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js.map +1 -1
  69. package/package.json +10 -10
@@ -29,6 +29,7 @@ __export(ChatContainerComposer_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(ChatContainerComposer_exports);
31
31
  var React = __toESM(require("react"));
32
+ var import_jsx_runtime = require("react/jsx-runtime");
32
33
  var import_react = __toESM(require("react"));
33
34
  var import_ds_grid = require("@elliemae/ds-grid");
34
35
  var import_ds_icons = require("@elliemae/ds-icons");
@@ -88,68 +89,92 @@ const ChatComposer = (props) => {
88
89
  const heightProps = { height, overflow: showScroll ? "auto" : "hidden" };
89
90
  const inputLength = String(inputValue || "").length;
90
91
  const hasError = import_react.default.useMemo(() => inputLength > inputMaxLength, [inputLength, inputMaxLength]);
91
- return /* @__PURE__ */ import_react.default.createElement(import_styled.StyledChatContainerContentComposer, {
92
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledChatContainerContentComposer, {
92
93
  rows: ["auto", "15px"],
93
94
  maxHeight: `${maxHeight}px`,
94
- "data-testid": dataTestid
95
- }, /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
96
- cols: ["1fr", "24px"],
97
- style: { height: heightProps.height },
98
- justifyContent: "center",
99
- alignItems: "flex-end",
100
- gutter: "xxs"
101
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledComposerInput, {
102
- ref: input,
103
- onChange: handleChange,
104
- style: { ...heightProps },
105
- value: inputValue,
106
- onFocus,
107
- onBlur,
108
- onKeyDown,
109
- placeholder,
110
- "aria-label": "Message to send",
111
- "data-testid": "chat-composer-textarea",
112
- name: "chat-composer-textarea",
113
- id: "chat-composer-textarea"
114
- }), /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
115
- height: "32px",
116
- alignItems: "center"
117
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledComposerButton, {
118
- buttonType: "text",
119
- icon: /* @__PURE__ */ import_react.default.createElement(import_ds_icons.PaperAirplane, {
120
- width: 18,
121
- height: 18
122
- }),
123
- onClick: onSend,
124
- size: "s",
125
- disabled: !inputValue || buttonDisabled || hasError,
126
- "data-testid": "chat-composer-send-button",
127
- "aria-label": "Send",
128
- innerRef: inputSend
129
- }))), /* @__PURE__ */ import_react.default.createElement(import_styled.StyledComposerInput, {
130
- ref: inputSize,
131
- style: {
132
- height: 32,
133
- visibility: "hidden",
134
- pointerEvents: "none",
135
- position: "absolute",
136
- top: 0,
137
- width: input.current?.clientWidth
138
- },
139
- onChange: handleChange,
140
- value: inputValue
141
- }), /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, {
142
- cols: ["1fr", "24px"],
143
- justifyContent: "flex-end",
144
- alignItems: "center",
145
- gutter: "xxs",
146
- pb: "xxs"
147
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledCounterArea, {
148
- hasError,
149
- "data-testid": "composer-counter-area"
150
- }, inputMaxLength && hasError ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledCounterErrorA11y, {
151
- role: "alert"
152
- }, ariaMaxLengthMessage || `You have entered ${inputLength} characters and have exceeded the limit by ${inputLength - inputMaxLength}. Please limit to less than ${inputMaxLength} characters. `), maxLengthMessage || `Please limit to less than ${inputMaxLength} characters. `) : "", inputMaxLength ? ` ${inputLength} / ${inputMaxLength}` : ""), /* @__PURE__ */ import_react.default.createElement(import_ds_grid.Grid, null)));
95
+ "data-testid": dataTestid,
96
+ children: [
97
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, {
98
+ cols: ["1fr", "24px"],
99
+ style: { height: heightProps.height },
100
+ justifyContent: "center",
101
+ alignItems: "flex-end",
102
+ gutter: "xxs",
103
+ children: [
104
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledComposerInput, {
105
+ ref: input,
106
+ onChange: handleChange,
107
+ style: { ...heightProps },
108
+ value: inputValue,
109
+ onFocus,
110
+ onBlur,
111
+ onKeyDown,
112
+ placeholder,
113
+ "aria-label": "Message to send",
114
+ "data-testid": "chat-composer-textarea",
115
+ name: "chat-composer-textarea",
116
+ id: "chat-composer-textarea"
117
+ }),
118
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {
119
+ height: "32px",
120
+ alignItems: "center",
121
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledComposerButton, {
122
+ buttonType: "text",
123
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.PaperAirplane, {
124
+ width: 18,
125
+ height: 18
126
+ }),
127
+ onClick: onSend,
128
+ size: "s",
129
+ disabled: !inputValue || buttonDisabled || hasError,
130
+ "data-testid": "chat-composer-send-button",
131
+ "aria-label": "Send",
132
+ innerRef: inputSend
133
+ })
134
+ })
135
+ ]
136
+ }),
137
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledComposerInput, {
138
+ ref: inputSize,
139
+ style: {
140
+ height: 32,
141
+ visibility: "hidden",
142
+ pointerEvents: "none",
143
+ position: "absolute",
144
+ top: 0,
145
+ width: input.current?.clientWidth
146
+ },
147
+ onChange: handleChange,
148
+ value: inputValue
149
+ }),
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, {
151
+ cols: ["1fr", "24px"],
152
+ justifyContent: "flex-end",
153
+ alignItems: "center",
154
+ gutter: "xxs",
155
+ pb: "xxs",
156
+ children: [
157
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledCounterArea, {
158
+ hasError,
159
+ "data-testid": "composer-counter-area",
160
+ children: [
161
+ inputMaxLength && hasError ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
162
+ children: [
163
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledCounterErrorA11y, {
164
+ role: "alert",
165
+ children: ariaMaxLengthMessage || `You have entered ${inputLength} characters and have exceeded the limit by ${inputLength - inputMaxLength}. Please limit to less than ${inputMaxLength} characters. `
166
+ }),
167
+ maxLengthMessage || `Please limit to less than ${inputMaxLength} characters. `
168
+ ]
169
+ }) : "",
170
+ inputMaxLength ? ` ${inputLength} / ${inputMaxLength}` : ""
171
+ ]
172
+ }),
173
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, {})
174
+ ]
175
+ })
176
+ ]
177
+ });
153
178
  };
154
179
  ChatComposer.propTypes = import_react_desc_prop_types.ChatComposerPropTypes;
155
180
  ChatComposer.displayName = "ChatComposer";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/chat-composer/ChatContainerComposer.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { WeakValidationMap } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { PaperAirplane } from '@elliemae/ds-icons';\nimport { useMemoMergePropsWithDefault, useValidateTypescriptPropTypes, describe } from '@elliemae/ds-utilities';\nimport {\n StyledChatContainerContentComposer,\n StyledComposerInput,\n StyledComposerButton,\n StyledCounterArea,\n StyledCounterErrorA11y,\n} from './styled';\n\nimport { DSChatT, ChatComposerPropTypes, defaultPropsComposer } from '../../react-desc-prop-types';\n// eslint-disable-next-line complexity\nconst ChatComposer: React.ComponentType<DSChatT.ComposerProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSChatT.ComposerProps>(props, defaultPropsComposer);\n useValidateTypescriptPropTypes<DSChatT.ComposerProps>(propsWithDefault, ChatComposerPropTypes);\n const {\n inputValue,\n onChange,\n onResize,\n onSend,\n onFocus,\n onBlur,\n onKeyDown,\n maxHeight = 300,\n placeholder,\n inputMaxLength,\n maxLengthMessage,\n ariaMaxLengthMessage,\n buttonDisabled,\n dataTestid,\n actionRef,\n } = propsWithDefault;\n\n const COMPOSER_MIN_HEIGHT = 32;\n const input = React.useRef<HTMLTextAreaElement>();\n const inputSize = React.useRef<HTMLTextAreaElement>();\n const inputSend = React.useRef<HTMLButtonElement>();\n const [height, setHeight] = React.useState(32);\n const internalMaxHeight = React.useMemo(() => maxHeight - 24, [maxHeight]);\n const [showScroll, setShowScroll] = React.useState(true);\n\n React.useEffect(() => {\n const newHeight =\n inputSize.current?.scrollHeight > internalMaxHeight ? internalMaxHeight : inputSize.current?.scrollHeight;\n if (newHeight !== height && newHeight > COMPOSER_MIN_HEIGHT) onResize(newHeight);\n setHeight(newHeight);\n setShowScroll(inputSize.current?.scrollHeight - inputSize.current?.clientHeight > 5);\n }, [inputValue, internalMaxHeight, height, onResize]);\n\n React.useEffect(() => {\n if (actionRef && actionRef.current) {\n actionRef.current.focusToComposer = () => {\n input.current.focus();\n };\n actionRef.current.focusToSend = () => {\n inputSend.current.focus();\n };\n }\n }, [actionRef]);\n\n const handleChange = React.useCallback(\n (e) => {\n onChange(e.target.value);\n },\n [onChange],\n );\n const heightProps = { height, overflow: showScroll ? 'auto' : 'hidden' };\n\n const inputLength = String(inputValue || '').length;\n const hasError = React.useMemo(() => inputLength > inputMaxLength, [inputLength, inputMaxLength]);\n return (\n <StyledChatContainerContentComposer rows={['auto', '15px']} maxHeight={`${maxHeight}px`} data-testid={dataTestid}>\n <Grid\n cols={['1fr', '24px']}\n style={{ height: heightProps.height }}\n justifyContent=\"center\"\n alignItems=\"flex-end\"\n gutter=\"xxs\"\n >\n <StyledComposerInput\n ref={input}\n onChange={handleChange}\n style={{ ...heightProps }}\n value={inputValue}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n aria-label=\"Message to send\"\n data-testid=\"chat-composer-textarea\"\n name=\"chat-composer-textarea\"\n id=\"chat-composer-textarea\"\n />\n\n <Grid height=\"32px\" alignItems=\"center\">\n <StyledComposerButton\n buttonType=\"text\"\n icon={<PaperAirplane width={18} height={18} />}\n onClick={onSend}\n size=\"s\"\n disabled={!inputValue || buttonDisabled || hasError}\n data-testid=\"chat-composer-send-button\"\n aria-label=\"Send\"\n innerRef={inputSend}\n />\n </Grid>\n </Grid>\n <StyledComposerInput\n ref={inputSize}\n style={{\n height: 32,\n visibility: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n width: input.current?.clientWidth,\n }}\n onChange={handleChange}\n value={inputValue}\n />\n <Grid cols={['1fr', '24px']} justifyContent=\"flex-end\" alignItems=\"center\" gutter=\"xxs\" pb=\"xxs\">\n <StyledCounterArea hasError={hasError} data-testid=\"composer-counter-area\">\n {inputMaxLength && hasError ? (\n <>\n <StyledCounterErrorA11y role=\"alert\">\n {ariaMaxLengthMessage ||\n `You have entered ${inputLength} characters and have exceeded the limit by ${\n inputLength - inputMaxLength\n }. Please limit to less than ${inputMaxLength} characters. `}\n </StyledCounterErrorA11y>\n {maxLengthMessage || `Please limit to less than ${inputMaxLength} characters. `}\n </>\n ) : (\n ''\n )}\n {inputMaxLength ? ` ${inputLength} / ${inputMaxLength}` : ''}\n </StyledCounterArea>\n <Grid />\n </Grid>\n </StyledChatContainerContentComposer>\n );\n};\n\nChatComposer.propTypes = ChatComposerPropTypes as WeakValidationMap<unknown>;\nChatComposer.displayName = 'ChatComposer';\nconst ChatComposerWithSchema = describe(ChatComposer);\nChatComposerWithSchema.propTypes = ChatComposerPropTypes as WeakValidationMap<unknown>;\n\nexport { ChatComposer, ChatComposerWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -29,6 +29,7 @@ __export(ChatContainer_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(ChatContainer_exports);
31
31
  var React = __toESM(require("react"));
32
+ var import_jsx_runtime = require("react/jsx-runtime");
32
33
  var import_react = __toESM(require("react"));
33
34
  var import_lodash = require("lodash");
34
35
  var import_ds_utilities = require("@elliemae/ds-utilities");
@@ -99,59 +100,72 @@ const ChatContainer = (props) => {
99
100
  actionRef.current.focusOnBannerLink = bannerRef.current.focusOnLink;
100
101
  }
101
102
  }, [actionRef]);
102
- return /* @__PURE__ */ import_react.default.createElement(Container, {
103
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Container, {
103
104
  ...globalAttributes,
104
105
  rows: ["minmax(0, 1fr)", "auto"],
105
106
  ref: containerRef,
106
- role: "region"
107
- }, /* @__PURE__ */ import_react.default.createElement("div", {
108
- style: { position: "relative", overflow: "hidden" }
109
- }, /* @__PURE__ */ import_react.default.createElement(import_chat_container_messages_list.ChatContainerMessagesList, {
110
- ...messagesListProps,
111
- actionRef: actionRef || listRef,
112
- isLoading,
113
- hasMoreItems,
114
- getMoreMessages,
115
- sendingMessages,
116
- sendingText,
117
- bannerPosition,
118
- bannerRef
119
- }), isLoading && ["top", "bottom"].includes(isLoading) ? /* @__PURE__ */ import_react.default.createElement(import_styled.StyledIndicatorContainer, {
120
- isLoading,
121
- "data-testid": "ds-chat-loading-indicator"
122
- }, /* @__PURE__ */ import_react.default.createElement(import_ds_indeterminate_progress_indicator.default, {
123
- processing: true,
124
- title: "Loading"
125
- })) : null, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledIndicatorContainer, {
126
- linear: true,
127
- isLoading: bannerPosition
128
- }, /* @__PURE__ */ import_react.default.createElement(import_ds_banner.default, {
129
- showCloseButton: true,
130
- label: bannerProps?.label || "Unread messages",
131
- containerProps: { id: "ds-chat-banner" },
132
- actionLink: {
133
- label: bannerProps?.viewLabel || "View",
134
- onClick: bannerProps?.onView
135
- },
136
- onClose: bannerProps?.onClose,
137
- isOpen: true,
138
- type: bannerProps?.type || import_ds_banner.BANNER_TYPES.INFO,
139
- actionRef: bannerRef
140
- })), sendingMessages && sendingMessages.length > 0 ? /* @__PURE__ */ import_react.default.createElement(import_styled.StyledIndicatorContainer, {
141
- isLoading: "bottom",
142
- linear: true,
143
- "data-testid": "ds-chat-loading-indicator"
144
- }, /* @__PURE__ */ import_react.default.createElement(import_ds_indeterminate_progress_indicator.default, {
145
- processing: true,
146
- title: sendingText,
147
- lineOnly: true
148
- })) : null), /* @__PURE__ */ import_react.default.createElement(import_chat_composer.ChatComposer, {
149
- ...composerProps,
150
- onKeyDown: handleTabs,
151
- onResize,
152
- maxHeight: (containerRef.current?.clientHeight || 0) / 2,
153
- actionRef: actionRef || listRef
154
- }));
107
+ role: "region",
108
+ children: [
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
110
+ style: { position: "relative", overflow: "hidden" },
111
+ children: [
112
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chat_container_messages_list.ChatContainerMessagesList, {
113
+ ...messagesListProps,
114
+ actionRef: actionRef || listRef,
115
+ isLoading,
116
+ hasMoreItems,
117
+ getMoreMessages,
118
+ sendingMessages,
119
+ sendingText,
120
+ bannerPosition,
121
+ bannerRef
122
+ }),
123
+ isLoading && ["top", "bottom"].includes(isLoading) ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledIndicatorContainer, {
124
+ isLoading,
125
+ "data-testid": "ds-chat-loading-indicator",
126
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_indeterminate_progress_indicator.default, {
127
+ processing: true,
128
+ title: "Loading"
129
+ })
130
+ }) : null,
131
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledIndicatorContainer, {
132
+ linear: true,
133
+ isLoading: bannerPosition,
134
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_banner.default, {
135
+ showCloseButton: true,
136
+ label: bannerProps?.label || "Unread messages",
137
+ containerProps: { id: "ds-chat-banner" },
138
+ actionLink: {
139
+ label: bannerProps?.viewLabel || "View",
140
+ onClick: bannerProps?.onView
141
+ },
142
+ onClose: bannerProps?.onClose,
143
+ isOpen: true,
144
+ type: bannerProps?.type || import_ds_banner.BANNER_TYPES.INFO,
145
+ actionRef: bannerRef
146
+ })
147
+ }),
148
+ sendingMessages && sendingMessages.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledIndicatorContainer, {
149
+ isLoading: "bottom",
150
+ linear: true,
151
+ "data-testid": "ds-chat-loading-indicator",
152
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_indeterminate_progress_indicator.default, {
153
+ processing: true,
154
+ title: sendingText,
155
+ lineOnly: true
156
+ })
157
+ }) : null
158
+ ]
159
+ }),
160
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_chat_composer.ChatComposer, {
161
+ ...composerProps,
162
+ onKeyDown: handleTabs,
163
+ onResize,
164
+ maxHeight: (containerRef.current?.clientHeight || 0) / 2,
165
+ actionRef: actionRef || listRef
166
+ })
167
+ ]
168
+ });
155
169
  };
156
170
  ChatContainer.propTypes = import_react_desc_prop_types.ChatContainerPropTypes;
157
171
  ChatContainer.displayName = "ChatContainer";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/chat-container/ChatContainer.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { WeakValidationMap } from 'react';\nimport { noop } from 'lodash';\nimport {\n useMemoMergePropsWithDefault,\n useGetGlobalAttributes,\n useValidateTypescriptPropTypes,\n describe,\n} from '@elliemae/ds-utilities';\n\nimport DSIndeterminateProgressIndicator from '@elliemae/ds-indeterminate-progress-indicator';\nimport DSBanner, { BANNER_TYPES } from '@elliemae/ds-banner';\nimport { ChatComposer } from '../chat-composer';\nimport { ChatContainerMessagesList } from '../chat-container-messages-list';\nimport { DSChatT, defaultProps, ChatContainerPropTypes } from '../../react-desc-prop-types';\n\nimport { StyledChatContainerContent, StyledIndicatorContainer, MobileStyledChatContainerContent } from './styled';\n\nconst ChatContainer: React.ComponentType<DSChatT.ContainerProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSChatT.ContainerProps>(props, defaultProps);\n useValidateTypescriptPropTypes<DSChatT.ContainerProps>(propsWithDefault, ChatContainerPropTypes);\n const globalAttributes = useGetGlobalAttributes(propsWithDefault);\n\n const {\n sendingText,\n sendingMessages,\n bannerPosition,\n bannerProps,\n messagesListProps,\n composerProps,\n composerProps: { onResize: onComposerResize, onKeyDown: onComposerKeyDown },\n actionRef,\n device,\n isLoading,\n hasMoreItems,\n getMoreMessages,\n } = propsWithDefault;\n const bannerRef = React.useRef({ focusOnWrapper: noop, focusOnLink: noop });\n const containerRef = React.useRef<HTMLElement>();\n const listRef = React.useRef({ scrollToIndex: noop });\n\n const onResize = React.useCallback(\n (height: number) => {\n if (onComposerResize) onComposerResize(height);\n /*\n setTimeout is used to equal the animation duration from the \n composer text area when increase its size\n */\n setTimeout(() => {\n actionRef.current.scrollToIndex(messagesListProps.messages.length - 1, {\n align: 'start',\n });\n }, 50);\n },\n [onComposerResize, messagesListProps.messages, actionRef],\n );\n const Container = device === 'desktop' ? StyledChatContainerContent : MobileStyledChatContainerContent;\n const handleTabs = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (onComposerKeyDown) onComposerKeyDown(e);\n else {\n const ref = actionRef || listRef;\n if (e.shiftKey && e.key === 'Tab') {\n if (messagesListProps.messages?.length > 0) {\n e.preventDefault();\n if (['top', 'bottom'].includes(bannerPosition)) {\n bannerRef.current.focusOnWrapper();\n } else {\n const last = ref.current.getMessagesInView().pop();\n ref.current?.focusToIndexWithoutScroll(last);\n }\n }\n }\n }\n },\n [actionRef, onComposerKeyDown, bannerPosition, messagesListProps.messages?.length],\n );\n\n // Map actions\n React.useEffect(() => {\n if (actionRef && actionRef.current) {\n actionRef.current.focusOnBanner = bannerRef.current.focusOnWrapper;\n actionRef.current.focusOnBannerLink = bannerRef.current.focusOnLink;\n }\n }, [actionRef]);\n return (\n <Container {...globalAttributes} rows={['minmax(0, 1fr)', 'auto']} ref={containerRef} role=\"region\">\n <div style={{ position: 'relative', overflow: 'hidden' }}>\n <ChatContainerMessagesList\n {...messagesListProps}\n actionRef={actionRef || listRef}\n isLoading={isLoading}\n hasMoreItems={hasMoreItems}\n getMoreMessages={getMoreMessages}\n sendingMessages={sendingMessages}\n sendingText={sendingText}\n bannerPosition={bannerPosition}\n bannerRef={bannerRef}\n />\n {isLoading && ['top', 'bottom'].includes(isLoading) ? (\n <StyledIndicatorContainer isLoading={isLoading} data-testid=\"ds-chat-loading-indicator\">\n <DSIndeterminateProgressIndicator processing title=\"Loading\" />\n </StyledIndicatorContainer>\n ) : null}\n <StyledIndicatorContainer linear isLoading={bannerPosition}>\n <DSBanner\n showCloseButton\n label={bannerProps?.label || 'Unread messages'}\n containerProps={{ id: 'ds-chat-banner' }}\n actionLink={{\n label: bannerProps?.viewLabel || 'View',\n onClick: bannerProps?.onView,\n }}\n onClose={bannerProps?.onClose}\n isOpen\n type={bannerProps?.type || BANNER_TYPES.INFO}\n actionRef={bannerRef}\n />\n </StyledIndicatorContainer>\n {sendingMessages && sendingMessages.length > 0 ? (\n <StyledIndicatorContainer isLoading=\"bottom\" linear data-testid=\"ds-chat-loading-indicator\">\n <DSIndeterminateProgressIndicator processing title={sendingText} lineOnly />\n </StyledIndicatorContainer>\n ) : null}\n </div>\n <ChatComposer\n {...composerProps}\n onKeyDown={handleTabs}\n onResize={onResize}\n maxHeight={(containerRef.current?.clientHeight || 0) / 2}\n actionRef={actionRef || listRef}\n />\n </Container>\n );\n};\n\nChatContainer.propTypes = ChatContainerPropTypes as WeakValidationMap<unknown>;\nChatContainer.displayName = 'ChatContainer';\nconst ChatContainerWithSchema = describe(ChatContainer);\nChatContainerWithSchema.propTypes = ChatContainerPropTypes as WeakValidationMap<unknown>;\n\nexport { ChatContainer, ChatContainerWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAyC;AACzC,oBAAqB;AACrB,0BAKO;AAEP,iDAA6C;AAC7C,uBAAuC;AACvC,2BAA6B;AAC7B,0CAA0C;AAC1C,mCAA8D;AAE9D,oBAAuG;AAEvG,MAAM,gBAA6D,CAAC,UAAU;AAC5E,QAAM,uBAAmB,kDAAqD,OAAO,yCAAY;AACjG,0DAAuD,kBAAkB,mDAAsB;AAC/F,QAAM,uBAAmB,4CAAuB,gBAAgB;AAEhE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,EAAE,UAAU,kBAAkB,WAAW,kBAAkB;AAAA,IAC1E;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,YAAY,aAAAA,QAAM,OAAO,EAAE,gBAAgB,oBAAM,aAAa,mBAAK,CAAC;AAC1E,QAAM,eAAe,aAAAA,QAAM,OAAoB;AAC/C,QAAM,UAAU,aAAAA,QAAM,OAAO,EAAE,eAAe,mBAAK,CAAC;AAEpD,QAAM,WAAW,aAAAA,QAAM;AAAA,IACrB,CAAC,WAAmB;AAClB,UAAI;AAAkB,yBAAiB,MAAM;AAK7C,iBAAW,MAAM;AACf,kBAAU,QAAQ,cAAc,kBAAkB,SAAS,SAAS,GAAG;AAAA,UACrE,OAAO;AAAA,QACT,CAAC;AAAA,MACH,GAAG,EAAE;AAAA,IACP;AAAA,IACA,CAAC,kBAAkB,kBAAkB,UAAU,SAAS;AAAA,EAC1D;AACA,QAAM,YAAY,WAAW,YAAY,2CAA6B;AACtE,QAAM,aAAa,aAAAA,QAAM;AAAA,IACvB,CAAC,MAA2B;AAC1B,UAAI;AAAmB,0BAAkB,CAAC;AAAA,WACrC;AACH,cAAM,MAAM,aAAa;AACzB,YAAI,EAAE,YAAY,EAAE,QAAQ,OAAO;AACjC,cAAI,kBAAkB,UAAU,SAAS,GAAG;AAC1C,cAAE,eAAe;AACjB,gBAAI,CAAC,OAAO,QAAQ,EAAE,SAAS,cAAc,GAAG;AAC9C,wBAAU,QAAQ,eAAe;AAAA,YACnC,OAAO;AACL,oBAAM,OAAO,IAAI,QAAQ,kBAAkB,EAAE,IAAI;AACjD,kBAAI,SAAS,0BAA0B,IAAI;AAAA,YAC7C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,WAAW,mBAAmB,gBAAgB,kBAAkB,UAAU,MAAM;AAAA,EACnF;AAGA,eAAAA,QAAM,UAAU,MAAM;AACpB,QAAI,aAAa,UAAU,SAAS;AAClC,gBAAU,QAAQ,gBAAgB,UAAU,QAAQ;AACpD,gBAAU,QAAQ,oBAAoB,UAAU,QAAQ;AAAA,IAC1D;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AACd,SACE,6BAAAA,QAAA,cAAC;AAAA,IAAW,GAAG;AAAA,IAAkB,MAAM,CAAC,kBAAkB,MAAM;AAAA,IAAG,KAAK;AAAA,IAAc,MAAK;AAAA,KACzF,6BAAAA,QAAA,cAAC;AAAA,IAAI,OAAO,EAAE,UAAU,YAAY,UAAU,SAAS;AAAA,KACrD,6BAAAA,QAAA,cAAC;AAAA,IACE,GAAG;AAAA,IACJ,WAAW,aAAa;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,GACF,GACC,aAAa,CAAC,OAAO,QAAQ,EAAE,SAAS,SAAS,IAChD,6BAAAA,QAAA,cAAC;AAAA,IAAyB;AAAA,IAAsB,eAAY;AAAA,KAC1D,6BAAAA,QAAA,cAAC,2CAAAC,SAAA;AAAA,IAAiC,YAAU;AAAA,IAAC,OAAM;AAAA,GAAU,CAC/D,IACE,MACJ,6BAAAD,QAAA,cAAC;AAAA,IAAyB,QAAM;AAAA,IAAC,WAAW;AAAA,KAC1C,6BAAAA,QAAA,cAAC,iBAAAE,SAAA;AAAA,IACC,iBAAe;AAAA,IACf,OAAO,aAAa,SAAS;AAAA,IAC7B,gBAAgB,EAAE,IAAI,iBAAiB;AAAA,IACvC,YAAY;AAAA,MACV,OAAO,aAAa,aAAa;AAAA,MACjC,SAAS,aAAa;AAAA,IACxB;AAAA,IACA,SAAS,aAAa;AAAA,IACtB,QAAM;AAAA,IACN,MAAM,aAAa,QAAQ,8BAAa;AAAA,IACxC,WAAW;AAAA,GACb,CACF,GACC,mBAAmB,gBAAgB,SAAS,IAC3C,6BAAAF,QAAA,cAAC;AAAA,IAAyB,WAAU;AAAA,IAAS,QAAM;AAAA,IAAC,eAAY;AAAA,KAC9D,6BAAAA,QAAA,cAAC,2CAAAC,SAAA;AAAA,IAAiC,YAAU;AAAA,IAAC,OAAO;AAAA,IAAa,UAAQ;AAAA,GAAC,CAC5E,IACE,IACN,GACA,6BAAAD,QAAA,cAAC;AAAA,IACE,GAAG;AAAA,IACJ,WAAW;AAAA,IACX;AAAA,IACA,YAAY,aAAa,SAAS,gBAAgB,KAAK;AAAA,IACvD,WAAW,aAAa;AAAA,GAC1B,CACF;AAEJ;AAEA,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,MAAM,8BAA0B,8BAAS,aAAa;AACtD,wBAAwB,YAAY;",
5
+ "mappings": "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",
6
6
  "names": ["React", "DSIndeterminateProgressIndicator", "DSBanner"]
7
7
  }
@@ -29,6 +29,7 @@ __export(ChatContainerMessagesList_exports, {
29
29
  });
30
30
  module.exports = __toCommonJS(ChatContainerMessagesList_exports);
31
31
  var React = __toESM(require("react"));
32
+ var import_jsx_runtime = require("react/jsx-runtime");
32
33
  var import_react = __toESM(require("react"));
33
34
  var import_ds_utilities = require("@elliemae/ds-utilities");
34
35
  var import_ds_button = __toESM(require("@elliemae/ds-button"));
@@ -64,52 +65,78 @@ const ChatContainerMessagesList = (props) => {
64
65
  transform: `translateY(${start}px)`,
65
66
  width: "100%"
66
67
  };
67
- return /* @__PURE__ */ import_react.default.createElement(import_styled.ListItem, {
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.ListItem, {
68
69
  "data-element": "chat-element-list-item",
69
70
  "data-index": index,
70
- key: `ds-chat-bubble-${index}-${row.dsId}-${row.type}`,
71
71
  style,
72
72
  ref: measureRef,
73
73
  tabIndex: -1,
74
74
  onKeyDown: handleKey,
75
- role: "listitem"
76
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledWrapperListItem, {
77
- type: row.type
78
- }, row.type === import_bubble.BUBBLE_TYPES.SENDER || row.type === import_bubble.BUBBLE_TYPES.RECIPIENT ? /* @__PURE__ */ import_react.default.createElement(import_bubble.ChatBubble, {
79
- ...row,
80
- helpMessage: isSending ? sendingText : row.helpMessage
81
- }) : null, row.type === import_bubble.BUBBLE_TYPES.DELIMITER ? /* @__PURE__ */ import_react.default.createElement(import_message_delimiter.MessageDelimiter, {
82
- ...row
83
- }) : null, row.type === import_bubble.BUBBLE_TYPES.SYSTEM ? /* @__PURE__ */ import_react.default.createElement(import_system_message.SystemMessage, {
84
- ...row
85
- }) : null));
75
+ role: "listitem",
76
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledWrapperListItem, {
77
+ type: row.type,
78
+ children: [
79
+ row.type === import_bubble.BUBBLE_TYPES.SENDER || row.type === import_bubble.BUBBLE_TYPES.RECIPIENT ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_bubble.ChatBubble, {
80
+ ...row,
81
+ helpMessage: isSending ? sendingText : row.helpMessage
82
+ }) : null,
83
+ row.type === import_bubble.BUBBLE_TYPES.DELIMITER ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_message_delimiter.MessageDelimiter, {
84
+ ...row
85
+ }) : null,
86
+ row.type === import_bubble.BUBBLE_TYPES.SYSTEM ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_system_message.SystemMessage, {
87
+ ...row
88
+ }) : null
89
+ ]
90
+ })
91
+ }, `ds-chat-bubble-${index}-${row.dsId}-${row.type}`);
86
92
  }),
87
93
  [virtualItems, messages, sendingMessages, handleKey, sendingText]
88
94
  );
89
- return /* @__PURE__ */ import_react.default.createElement(import_styled.StyledWrapper, {
90
- ...globalAttributes
91
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledChatContainerContentList, {
92
- "data-testid": "chat-thread-container",
93
- tabIndex: 0,
94
- ref: virtualListRef,
95
- role: "list",
96
- onKeyDown: handleListKey
97
- }, /* @__PURE__ */ import_react.default.createElement(import_styled.StyledChatContainerContentListScroll, {
98
- height: `${totalSize}px`
99
- }, !isLoading && hasMoreItems ? /* @__PURE__ */ import_react.default.createElement(import_styled.StyledLoadMoreContainer, {
100
- hasMoreItems
101
- }, /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
102
- labelText: "Load More",
103
- buttonType: "secondary",
104
- onClick: getMoreMessages,
105
- "data-testid": "ds-chat-load-more-btn",
106
- innerRef: loadMoreRef
107
- })) : null, render)), /* @__PURE__ */ import_react.default.createElement(import_styled.StyledNewMessagesHiddenContainer, {
108
- "aria-live": "polite",
109
- "aria-hidden": "false"
110
- }, newMessages.map((newMessage) => /* @__PURE__ */ import_react.default.createElement("p", {
111
- key: newMessage.dsId
112
- }, newMessage.title, " ", newMessage.time, " ", newMessage.body, " ", newMessage.errorMessage, " ", newMessage.helpMessage))));
95
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledWrapper, {
96
+ ...globalAttributes,
97
+ children: [
98
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledChatContainerContentList, {
99
+ "data-testid": "chat-thread-container",
100
+ tabIndex: 0,
101
+ ref: virtualListRef,
102
+ role: "list",
103
+ onKeyDown: handleListKey,
104
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledChatContainerContentListScroll, {
105
+ height: `${totalSize}px`,
106
+ children: [
107
+ !isLoading && hasMoreItems ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledLoadMoreContainer, {
108
+ hasMoreItems,
109
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.default, {
110
+ labelText: "Load More",
111
+ buttonType: "secondary",
112
+ onClick: getMoreMessages,
113
+ "data-testid": "ds-chat-load-more-btn",
114
+ innerRef: loadMoreRef
115
+ })
116
+ }) : null,
117
+ render
118
+ ]
119
+ })
120
+ }),
121
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledNewMessagesHiddenContainer, {
122
+ "aria-live": "polite",
123
+ "aria-hidden": "false",
124
+ children: newMessages.map((newMessage) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
125
+ children: [
126
+ newMessage.title,
127
+ " ",
128
+ newMessage.time,
129
+ " ",
130
+ newMessage.body,
131
+ " ",
132
+ newMessage.errorMessage,
133
+ " ",
134
+ newMessage.helpMessage
135
+ ]
136
+ }, newMessage.dsId))
137
+ })
138
+ ]
139
+ });
113
140
  };
114
141
  ChatContainerMessagesList.propTypes = import_react_desc_prop_types.ChatContainerMessagesListPropTypes;
115
142
  ChatContainerMessagesList.displayName = "ChatContainerMessagesList";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/chat-container-messages-list/ChatContainerMessagesList.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n/* eslint-disable max-lines */\nimport React, { CSSProperties, WeakValidationMap } from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport DSButton from '@elliemae/ds-button';\nimport { ChatBubble, BUBBLE_TYPES } from '../../exported-related/bubble';\nimport { MessageDelimiter } from '../../exported-related/message-delimiter';\nimport { SystemMessage } from '../../exported-related/system-message';\nimport {\n StyledWrapperListItem,\n StyledChatContainerContentList,\n StyledChatContainerContentListScroll,\n StyledWrapper,\n StyledLoadMoreContainer,\n ListItem,\n StyledNewMessagesHiddenContainer,\n} from './styled';\nimport { DSChatT, ChatContainerMessagesListPropTypes } from '../../react-desc-prop-types';\nimport { useGetNewMessages } from './useGetNewMessages';\nimport { useChatContainerMessageList } from './useChatContainerMessageList';\n\nconst ChatContainerMessagesList: React.ComponentType<DSChatT.MessagesListProps> = (props) => {\n const {\n propsWithDefault,\n globalAttributes,\n useVirtualHelpers,\n handleKey,\n handleListKey,\n loadMoreRef,\n virtualListRef,\n } = useChatContainerMessageList(props);\n\n const { sendingText, sendingMessages, messages, getMoreMessages, hasMoreItems, isLoading } = propsWithDefault;\n const { totalSize, virtualItems } = useVirtualHelpers;\n\n const newMessages = useGetNewMessages(messages);\n\n const render = React.useMemo(\n () =>\n virtualItems.map((virtualItem) => {\n const { index, measureRef, start } = virtualItem;\n const row = messages[index];\n const isSending = sendingMessages && sendingMessages.find((m) => m === row.dsId);\n const style: CSSProperties = {\n position: 'absolute',\n top: 0,\n left: 0,\n transform: `translateY(${start}px)`,\n width: '100%',\n };\n\n return (\n <ListItem\n data-element=\"chat-element-list-item\"\n data-index={index}\n key={`ds-chat-bubble-${index}-${row.dsId}-${row.type}`}\n style={style}\n ref={measureRef}\n tabIndex={-1}\n onKeyDown={handleKey}\n role=\"listitem\"\n >\n <StyledWrapperListItem type={row.type}>\n {row.type === BUBBLE_TYPES.SENDER || row.type === BUBBLE_TYPES.RECIPIENT ? (\n // eslint-disable-next-line eslint-comments/no-unlimited-disable\n <ChatBubble {...row} helpMessage={isSending ? sendingText : row.helpMessage} />\n ) : null}\n {row.type === BUBBLE_TYPES.DELIMITER ? <MessageDelimiter {...row} /> : null}\n {row.type === BUBBLE_TYPES.SYSTEM ? <SystemMessage {...row} /> : null}\n </StyledWrapperListItem>\n </ListItem>\n );\n }),\n [virtualItems, messages, sendingMessages, handleKey, sendingText],\n );\n\n return (\n <StyledWrapper {...globalAttributes}>\n <StyledChatContainerContentList\n data-testid=\"chat-thread-container\"\n tabIndex={0}\n ref={virtualListRef as React.RefObject<HTMLDivElement>}\n role=\"list\"\n onKeyDown={handleListKey}\n >\n <StyledChatContainerContentListScroll height={`${totalSize}px`}>\n {!isLoading && hasMoreItems ? (\n <StyledLoadMoreContainer hasMoreItems={hasMoreItems}>\n <DSButton\n labelText=\"Load More\"\n buttonType=\"secondary\"\n onClick={getMoreMessages}\n data-testid=\"ds-chat-load-more-btn\"\n innerRef={loadMoreRef}\n />\n </StyledLoadMoreContainer>\n ) : null}\n {render}\n </StyledChatContainerContentListScroll>\n </StyledChatContainerContentList>\n {/* We repeat the render with the new available messages */}\n <StyledNewMessagesHiddenContainer aria-live=\"polite\" aria-hidden=\"false\">\n {newMessages.map((newMessage) => (\n <p key={newMessage.dsId}>\n {newMessage.title} {newMessage.time} {newMessage.body} {newMessage.errorMessage} {newMessage.helpMessage}\n </p>\n ))}\n </StyledNewMessagesHiddenContainer>\n </StyledWrapper>\n );\n};\n\nChatContainerMessagesList.propTypes = ChatContainerMessagesListPropTypes as WeakValidationMap<unknown>;\nChatContainerMessagesList.displayName = 'ChatContainerMessagesList';\nconst ChatContainerMessagesListWithSchema = describe(ChatContainerMessagesList);\nChatContainerMessagesListWithSchema.propTypes = ChatContainerMessagesListPropTypes as WeakValidationMap<unknown>;\n\nexport { ChatContainerMessagesList, ChatContainerMessagesListWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["React", "DSButton"]
7
7
  }