@elliemae/ds-chat 2.4.2-rc.9 → 2.4.2

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 (41) hide show
  1. package/cjs/exported-related/bubble/ChatBubble.js +7 -7
  2. package/cjs/exported-related/bubble/styled.js +30 -1
  3. package/cjs/exported-related/chat-card/props.js +2 -2
  4. package/cjs/exported-related/chat-container-header/props.js +1 -1
  5. package/cjs/exported-related/chat-sidebar/SideBarChat.js +1 -3
  6. package/cjs/exported-related/chat-sidebar/props.js +5 -1
  7. package/cjs/exported-related/chat-sidebar/sidebar-button/SidebarButton.js +1 -1
  8. package/cjs/exported-related/grid-influencer/styled.js +6 -2
  9. package/cjs/exported-related/message-delimiter/styled.js +1 -1
  10. package/cjs/exported-related/tile-button/TileButton.js +4 -4
  11. package/cjs/exported-related/tile-button/styled.js +7 -5
  12. package/cjs/parts/chat-composer/ChatContainerComposer.js +8 -13
  13. package/cjs/parts/chat-composer/styled.js +2 -2
  14. package/cjs/parts/chat-container/ChatContainer.js +9 -15
  15. package/cjs/parts/chat-container/styled.js +11 -1
  16. package/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js +24 -50
  17. package/cjs/parts/chat-container-messages-list/styled.js +5 -1
  18. package/cjs/parts/chat-container-messages-list/useGetNewMessages.js +0 -1
  19. package/cjs/react-desc-prop-types.js +42 -5
  20. package/cjs/styled.js +1 -1
  21. package/esm/exported-related/bubble/ChatBubble.js +7 -7
  22. package/esm/exported-related/bubble/styled.js +30 -1
  23. package/esm/exported-related/chat-card/props.js +2 -2
  24. package/esm/exported-related/chat-container-header/props.js +1 -1
  25. package/esm/exported-related/chat-sidebar/SideBarChat.js +1 -3
  26. package/esm/exported-related/chat-sidebar/props.js +5 -1
  27. package/esm/exported-related/chat-sidebar/sidebar-button/SidebarButton.js +1 -1
  28. package/esm/exported-related/grid-influencer/styled.js +6 -2
  29. package/esm/exported-related/message-delimiter/styled.js +1 -1
  30. package/esm/exported-related/tile-button/TileButton.js +4 -4
  31. package/esm/exported-related/tile-button/styled.js +7 -4
  32. package/esm/parts/chat-composer/ChatContainerComposer.js +6 -11
  33. package/esm/parts/chat-composer/styled.js +2 -2
  34. package/esm/parts/chat-container/ChatContainer.js +9 -15
  35. package/esm/parts/chat-container/styled.js +11 -1
  36. package/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js +24 -50
  37. package/esm/parts/chat-container-messages-list/styled.js +5 -1
  38. package/esm/parts/chat-container-messages-list/useGetNewMessages.js +0 -1
  39. package/esm/react-desc-prop-types.js +42 -5
  40. package/esm/styled.js +1 -1
  41. package/package.json +10 -10
@@ -80,7 +80,7 @@ const ChatContainerMessagesList = props$1 => {
80
80
  totalSize,
81
81
  virtualItems
82
82
  } = reactVirtual.useVirtual(_objectSpread(_objectSpread({
83
- size: messages === null || messages === void 0 ? void 0 : messages.length,
83
+ size: messages?.length,
84
84
  parentRef: virtualListRef,
85
85
  overscan: 15
86
86
  }, getPadding({
@@ -92,8 +92,6 @@ const ChatContainerMessagesList = props$1 => {
92
92
  }));
93
93
  const newMessages = useGetNewMessages.useGetNewMessages(messages);
94
94
  const debouncedScroll = React__default["default"].useMemo(() => lodash.debounce(() => {
95
- var _virtualListRef$curre;
96
-
97
95
  if (document.visibilityState === 'hidden') {
98
96
  pendingOnScroll.current = true;
99
97
  return [];
@@ -104,7 +102,7 @@ const ChatContainerMessagesList = props$1 => {
104
102
  const {
105
103
  bottom,
106
104
  top
107
- } = (_virtualListRef$curre = virtualListRef.current) === null || _virtualListRef$curre === void 0 ? void 0 : _virtualListRef$curre.getBoundingClientRect();
105
+ } = virtualListRef.current?.getBoundingClientRect();
108
106
  const list = virtualListRef.current.querySelectorAll('[data-element="chat-element-list-item"]');
109
107
  const indexList = [];
110
108
  list.forEach(item => {
@@ -119,7 +117,7 @@ const ChatContainerMessagesList = props$1 => {
119
117
  }, 500), [onScrollEnds]);
120
118
  const onScrollStop = React__default["default"].useCallback(debouncedScroll, [debouncedScroll]);
121
119
  const onlyFocus = React__default["default"].useCallback(index => {
122
- virtualListRef.current.querySelector("[data-index=\"".concat(index, "\"]")).focus();
120
+ virtualListRef.current.querySelector(`[data-index="${index}"]`).focus();
123
121
  }, []);
124
122
  const scrollAndFocus = React__default["default"].useCallback(function (index) {
125
123
  let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
@@ -157,9 +155,7 @@ const ChatContainerMessagesList = props$1 => {
157
155
  actionRef.current.focusToIndexWithoutScroll = onlyFocus;
158
156
 
159
157
  actionRef.current.focusToList = () => {
160
- var _virtualListRef$curre2;
161
-
162
- (_virtualListRef$curre2 = virtualListRef.current) === null || _virtualListRef$curre2 === void 0 ? void 0 : _virtualListRef$curre2.focus();
158
+ virtualListRef.current?.focus();
163
159
  };
164
160
  }
165
161
  }, [actionRef, onScrollStop, onlyFocus, scrollAndFocus, vScroll]);
@@ -195,13 +191,9 @@ const ChatContainerMessagesList = props$1 => {
195
191
  e.preventDefault();
196
192
 
197
193
  if (index > 0) {
198
- var _virtualListRef$curre3;
199
-
200
- ((_virtualListRef$curre3 = virtualListRef.current) === null || _virtualListRef$curre3 === void 0 ? void 0 : _virtualListRef$curre3.querySelector("[data-index=\"".concat(index - 1, "\"]"))).focus();
194
+ (virtualListRef.current?.querySelector(`[data-index="${index - 1}"]`)).focus();
201
195
  } else if (hasMoreItems === 'top') {
202
- var _loadMoreRef$current;
203
-
204
- (_loadMoreRef$current = loadMoreRef.current) === null || _loadMoreRef$current === void 0 ? void 0 : _loadMoreRef$current.focus();
196
+ loadMoreRef.current?.focus();
205
197
  }
206
198
 
207
199
  break;
@@ -209,10 +201,8 @@ const ChatContainerMessagesList = props$1 => {
209
201
  case 'ArrowDown':
210
202
  e.preventDefault();
211
203
 
212
- if (index < (messages === null || messages === void 0 ? void 0 : messages.length) - 1) {
213
- var _virtualListRef$curre4;
214
-
215
- ((_virtualListRef$curre4 = virtualListRef.current) === null || _virtualListRef$curre4 === void 0 ? void 0 : _virtualListRef$curre4.querySelector("[data-index=\"".concat(index + 1, "\"]"))).focus();
204
+ if (index < messages?.length - 1) {
205
+ (virtualListRef.current?.querySelector(`[data-index="${index + 1}"]`)).focus();
216
206
  }
217
207
 
218
208
  break;
@@ -224,37 +214,29 @@ const ChatContainerMessagesList = props$1 => {
224
214
 
225
215
  case 'End':
226
216
  e.preventDefault();
227
- scrollAndFocus((messages === null || messages === void 0 ? void 0 : messages.length) - 1);
217
+ scrollAndFocus(messages?.length - 1);
228
218
  break;
229
219
 
230
220
  case 'Tab':
231
221
  if (hasMoreItems === 'bottom' && !e.shiftKey) {
232
- var _loadMoreRef$current2;
233
-
234
222
  e.preventDefault();
235
- (_loadMoreRef$current2 = loadMoreRef.current) === null || _loadMoreRef$current2 === void 0 ? void 0 : _loadMoreRef$current2.focus();
223
+ loadMoreRef.current?.focus();
236
224
  } else if (hasMoreItems === 'top' && e.shiftKey) {
237
- var _loadMoreRef$current3;
238
-
239
225
  e.preventDefault();
240
- (_loadMoreRef$current3 = loadMoreRef.current) === null || _loadMoreRef$current3 === void 0 ? void 0 : _loadMoreRef$current3.focus();
226
+ loadMoreRef.current?.focus();
241
227
  } else if (!e.shiftKey) {
242
228
  if (bannerPosition) {
243
- var _bannerRef$current;
244
-
245
229
  e.preventDefault();
246
- bannerRef === null || bannerRef === void 0 ? void 0 : (_bannerRef$current = bannerRef.current) === null || _bannerRef$current === void 0 ? void 0 : _bannerRef$current.focusOnWrapper();
230
+ bannerRef?.current?.focusOnWrapper();
247
231
  }
248
232
  } else {
249
- var _virtualListRef$curre5;
250
-
251
233
  e.preventDefault();
252
- (_virtualListRef$curre5 = virtualListRef.current) === null || _virtualListRef$curre5 === void 0 ? void 0 : _virtualListRef$curre5.focus();
234
+ virtualListRef.current?.focus();
253
235
  }
254
236
 
255
237
  break;
256
238
  }
257
- }, [bannerRef, hasMoreItems, messages === null || messages === void 0 ? void 0 : messages.length, bannerPosition, scrollAndFocus]);
239
+ }, [bannerRef, hasMoreItems, messages?.length, bannerPosition, scrollAndFocus]);
258
240
  const handleListKey = React__default["default"].useCallback(e => {
259
241
  const {
260
242
  key
@@ -265,9 +247,7 @@ const ChatContainerMessagesList = props$1 => {
265
247
  e.preventDefault();
266
248
 
267
249
  if (document.activeElement !== loadMoreRef.current) {
268
- var _onScrollStop;
269
-
270
- onlyFocus((_onScrollStop = onScrollStop()) === null || _onScrollStop === void 0 ? void 0 : _onScrollStop.shift());
250
+ onlyFocus(onScrollStop()?.shift());
271
251
  }
272
252
 
273
253
  break;
@@ -276,11 +256,9 @@ const ChatContainerMessagesList = props$1 => {
276
256
  e.preventDefault();
277
257
 
278
258
  if (document.activeElement === loadMoreRef.current) {
279
- virtualListRef.current.querySelector("[data-index=\"0\"]").focus();
259
+ virtualListRef.current.querySelector(`[data-index="0"]`).focus();
280
260
  } else {
281
- var _onScrollStop2;
282
-
283
- onlyFocus((_onScrollStop2 = onScrollStop()) === null || _onScrollStop2 === void 0 ? void 0 : _onScrollStop2.pop());
261
+ onlyFocus(onScrollStop()?.pop());
284
262
  }
285
263
 
286
264
  break;
@@ -292,16 +270,14 @@ const ChatContainerMessagesList = props$1 => {
292
270
 
293
271
  case 'End':
294
272
  e.preventDefault();
295
- scrollAndFocus((messages === null || messages === void 0 ? void 0 : messages.length) - 1);
273
+ scrollAndFocus(messages?.length - 1);
296
274
  break;
297
275
 
298
276
  case 'Tab':
299
277
  if (document.activeElement !== loadMoreRef.current) {
300
278
  if (hasMoreItems === 'bottom' && !e.shiftKey) {
301
- var _loadMoreRef$current4;
302
-
303
279
  e.preventDefault();
304
- (_loadMoreRef$current4 = loadMoreRef.current) === null || _loadMoreRef$current4 === void 0 ? void 0 : _loadMoreRef$current4.focus();
280
+ loadMoreRef.current?.focus();
305
281
  } else if (!e.shiftKey) {
306
282
  e.preventDefault();
307
283
  actionRef.current.focusToComposer();
@@ -310,15 +286,13 @@ const ChatContainerMessagesList = props$1 => {
310
286
  e.preventDefault();
311
287
  actionRef.current.focusToComposer();
312
288
  } else {
313
- var _virtualListRef$curre6;
314
-
315
289
  e.preventDefault();
316
- (_virtualListRef$curre6 = virtualListRef.current) === null || _virtualListRef$curre6 === void 0 ? void 0 : _virtualListRef$curre6.focus();
290
+ virtualListRef.current?.focus();
317
291
  }
318
292
 
319
293
  break;
320
294
  }
321
- }, [actionRef, hasMoreItems, messages === null || messages === void 0 ? void 0 : messages.length, onScrollStop, onlyFocus, scrollAndFocus]);
295
+ }, [actionRef, hasMoreItems, messages?.length, onScrollStop, onlyFocus, scrollAndFocus]);
322
296
  const render = React__default["default"].useMemo(() => virtualItems.map(virtualItem => {
323
297
  const {
324
298
  index,
@@ -331,7 +305,7 @@ const ChatContainerMessagesList = props$1 => {
331
305
  position: 'absolute',
332
306
  top: 0,
333
307
  left: 0,
334
- transform: "translateY(".concat(start, "px)"),
308
+ transform: `translateY(${start}px)`,
335
309
  width: '100%'
336
310
  };
337
311
  return /*#__PURE__*/jsxRuntime.jsx(styled.ListItem, {
@@ -350,7 +324,7 @@ const ChatContainerMessagesList = props$1 => {
350
324
  jsxRuntime.jsx(ChatBubble.ChatBubble, _objectSpread(_objectSpread({}, row), {}, {
351
325
  helpMessage: isSending ? sendingText : row.helpMessage
352
326
  })) : null, row.type === props.BUBBLE_TYPES.DELIMITER ? /*#__PURE__*/jsxRuntime.jsx(MessageDelimiter.MessageDelimiter, _objectSpread({}, row)) : null, row.type === props.BUBBLE_TYPES.SYSTEM ? /*#__PURE__*/jsxRuntime.jsx(SystemMessage.SystemMessage, _objectSpread({}, row)) : null)
353
- }, "ds-chat-bubble-".concat(index, "-").concat(row.dsId, "-").concat(row.type));
327
+ }, `ds-chat-bubble-${index}-${row.dsId}-${row.type}`);
354
328
  }), [virtualItems, messages, sendingMessages, handleKey, sendingText]);
355
329
  return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledWrapper, _objectSpread(_objectSpread({}, globalAttributes), {}, {
356
330
  children: [/*#__PURE__*/jsxRuntime.jsx(styled.StyledChatContainerContentList, {
@@ -360,7 +334,7 @@ const ChatContainerMessagesList = props$1 => {
360
334
  role: "list",
361
335
  onKeyDown: handleListKey,
362
336
  children: /*#__PURE__*/_jsx__default["default"](styled.StyledChatContainerContentListScroll, {
363
- height: "".concat(totalSize, "px")
337
+ height: `${totalSize}px`
364
338
  }, void 0, !isLoading && hasMoreItems ? /*#__PURE__*/_jsx__default["default"](styled.StyledLoadMoreContainer, {
365
339
  hasMoreItems: hasMoreItems
366
340
  }, void 0, /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
@@ -16,7 +16,11 @@ const StyledWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
16
16
 
17
17
  const StyledWrapperListItem = /*#__PURE__*/styled__default["default"].div.withConfig({
18
18
  componentId: "sc-1jhprzr-1"
19
- })(["min-width:100%;", ";", ";", ";"], props$1 => props$1.type === props.BUBBLE_TYPES.SENDER && "padding: ".concat(props$1.theme.space.xxs, " ").concat(props$1.theme.space.xxs, " ").concat(props$1.theme.space.xxs, " 13%\n "), props$1 => props$1.type === props.BUBBLE_TYPES.RECIPIENT && "padding: ".concat(props$1.theme.space.xxs, " 13% ").concat(props$1.theme.space.xxs, "\n ").concat(props$1.theme.space.xxs, "\n "), props$1 => props$1.type === props.BUBBLE_TYPES.SYSTEM && "padding: ".concat(props$1.theme.space.xxs, " 0px\n "));
19
+ })(["min-width:100%;", ";", ";", ";"], props$1 => props$1.type === props.BUBBLE_TYPES.SENDER && `padding: ${props$1.theme.space.xxs} ${props$1.theme.space.xxs} ${props$1.theme.space.xxs} 13%
20
+ `, props$1 => props$1.type === props.BUBBLE_TYPES.RECIPIENT && `padding: ${props$1.theme.space.xxs} 13% ${props$1.theme.space.xxs}
21
+ ${props$1.theme.space.xxs}
22
+ `, props$1 => props$1.type === props.BUBBLE_TYPES.SYSTEM && `padding: ${props$1.theme.space.xxs} 0px
23
+ `);
20
24
  const StyledChatContainerContentList = /*#__PURE__*/styled__default["default"].div.withConfig({
21
25
  componentId: "sc-1jhprzr-2"
22
26
  })(["width:100%;height:100%;padding:", ";padding-bottom:0;overflow-y:auto;overflow-x:hidden;"], props => props.theme.space.xs);
@@ -2,7 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('core-js/modules/web.dom-collections.iterator.js');
6
5
  require('core-js/modules/esnext.async-iterator.for-each.js');
7
6
  require('core-js/modules/esnext.iterator.constructor.js');
8
7
  require('core-js/modules/esnext.iterator.for-each.js');
@@ -51,7 +51,17 @@ const ChatComposerPropTypes = {
51
51
  inputMaxLength: dsPropsHelpers.PropTypes.number.description('Max length of the composer. `undefined` for no limit').defaultValue(defaultPropsComposer.inputMaxLength),
52
52
  buttonDisabled: dsPropsHelpers.PropTypes.bool.description('Control the disabled for the send button').defaultValue(defaultPropsComposer.buttonDisabled),
53
53
  dataTestid: dsPropsHelpers.PropTypes.string.description('Data testid').defaultValue(defaultPropsComposer.placeholder),
54
- actionRef: dsPropsHelpers.PropTypes.object.description("Reference: \n { \n scrollToIndex: (n: number) => void,\n getMessagesInView: () => number[],\n focusToIndex: (n: number) => void,\n focusToList: () => void,\n focusToComposer: () => void,\n focusToSend: () => void,\n }\n \n ").defaultValue(defaultPropsComposer.actionRef)
54
+ actionRef: dsPropsHelpers.PropTypes.object.description(`Reference:
55
+ {
56
+ scrollToIndex: (n: number) => void,
57
+ getMessagesInView: () => number[],
58
+ focusToIndex: (n: number) => void,
59
+ focusToList: () => void,
60
+ focusToComposer: () => void,
61
+ focusToSend: () => void,
62
+ }
63
+
64
+ `).defaultValue(defaultPropsComposer.actionRef)
55
65
  };
56
66
  const defaultPropsMessagesList = {
57
67
  messages: [],
@@ -65,8 +75,19 @@ const defaultPropsMessagesList = {
65
75
  };
66
76
  const ChatContainerMessagesListPropTypes = _objectSpread(_objectSpread({}, dsPropsHelpers.globalAttributesPropTypes), {}, {
67
77
  messages: dsPropsHelpers.PropTypes.arrayOf(dsPropsHelpers.PropTypes.object).description('The array of out-of-the-box items you want to render inside the ChatMessageList').defaultValue(defaultPropsMessagesList.messages),
68
- actionRef: dsPropsHelpers.PropTypes.object.description("Reference: \n { \n scrollToIndex: (n: number) => void,\n getMessagesInView: () => number[],\n focusToIndex: (n: number) => void,\n focusToIndexWithoutScroll: (n: number) => void,\n focusToList: () => void,\n focusToComposer: () => void,\n focusToSend: () => void,\n }\n \n ").defaultValue(defaultPropsMessagesList.actionRef),
69
- onScrollEnds: dsPropsHelpers.PropTypes.func.description("Called when the scroll stops."),
78
+ actionRef: dsPropsHelpers.PropTypes.object.description(`Reference:
79
+ {
80
+ scrollToIndex: (n: number) => void,
81
+ getMessagesInView: () => number[],
82
+ focusToIndex: (n: number) => void,
83
+ focusToIndexWithoutScroll: (n: number) => void,
84
+ focusToList: () => void,
85
+ focusToComposer: () => void,
86
+ focusToSend: () => void,
87
+ }
88
+
89
+ `).defaultValue(defaultPropsMessagesList.actionRef),
90
+ onScrollEnds: dsPropsHelpers.PropTypes.func.description(`Called when the scroll stops.`),
70
91
  isLoading: dsPropsHelpers.PropTypes.oneOf(['top', 'bottom', undefined]).description('Keeps the load more space while the loading is in progress'),
71
92
  hasMoreItems: dsPropsHelpers.PropTypes.oneOf(['top', 'bottom', undefined]).description('Show Load More button at the `top` or `bottom` of the container'),
72
93
  getMoreMessages: dsPropsHelpers.PropTypes.func.description('Called when the user clicks on load more').defaultValue(defaultPropsMessagesList.getMoreMessages),
@@ -102,10 +123,26 @@ const ChatContainerPropTypes = _objectSpread(_objectSpread({}, dsPropsHelpers.gl
102
123
  hasMoreItems: dsPropsHelpers.PropTypes.oneOf(['top', 'bottom', undefined]).description('Show Load More button at the `top` or `bottom` of the container'),
103
124
  getMoreMessages: dsPropsHelpers.PropTypes.func.description('Called when the user clicks on load more').defaultValue(defaultProps.getMoreMessages),
104
125
  bannerPosition: dsPropsHelpers.PropTypes.oneOf(['top', 'bottom', undefined]).description('Show Loading messages indicator at the `top` or `bottom` of the container'),
105
- bannerProps: dsPropsHelpers.PropTypes.object.description("Banner configuration:\n label: string;\n viewLabel: string;\n type: BANNER_TYPES;\n onView: () => void;\n onClose: () => void;\n ").defaultValue(defaultProps.bannerProps),
126
+ bannerProps: dsPropsHelpers.PropTypes.object.description(`Banner configuration:
127
+ label: string;
128
+ viewLabel: string;
129
+ type: BANNER_TYPES;
130
+ onView: () => void;
131
+ onClose: () => void;
132
+ `).defaultValue(defaultProps.bannerProps),
106
133
  sendingMessages: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.arrayOf(dsPropsHelpers.PropTypes.string), dsPropsHelpers.PropTypes.arrayOf(dsPropsHelpers.PropTypes.number)]).description('Array of ids of sending messages').defaultValue(defaultProps.sendingMessages),
107
134
  sendingText: dsPropsHelpers.PropTypes.string.description('Label description for messages in sending status').defaultValue(defaultProps.sendingText),
108
- actionRef: dsPropsHelpers.PropTypes.object.description("Reference: \n { \n scrollToIndex: (n: number) => void,\n getMessagesInView: () => number[],\n focusToIndex: (n: number) => void,\n focusToList: () => void,\n focusToComposer: () => void,\n focusToSend: () => void,\n }\n \n ").defaultValue(defaultProps.actionRef)
135
+ actionRef: dsPropsHelpers.PropTypes.object.description(`Reference:
136
+ {
137
+ scrollToIndex: (n: number) => void,
138
+ getMessagesInView: () => number[],
139
+ focusToIndex: (n: number) => void,
140
+ focusToList: () => void,
141
+ focusToComposer: () => void,
142
+ focusToSend: () => void,
143
+ }
144
+
145
+ `).defaultValue(defaultProps.actionRef)
109
146
  });
110
147
 
111
148
  exports.ChatComposerPropTypes = ChatComposerPropTypes;
package/cjs/styled.js CHANGED
@@ -7,7 +7,7 @@ const BUTTON_SIDEBAR_HEIGHT = 48;
7
7
  const BUTTON_FLOATING = 56;
8
8
  const BOX_SHADOW = '0 5px 8px 0 rgba(53,60,70,0.55)';
9
9
  const BOX_SHADOW_FLOATING = '0 5px 8px 0 rgba(53,60,70,0.35)';
10
- const BOX_SHADOW_INSET = "inset 100px 3px 4px 0 rgba(53,60,70,0.50)";
10
+ const BOX_SHADOW_INSET = `inset 100px 3px 4px 0 rgba(53,60,70,0.50)`;
11
11
 
12
12
  exports.BOX_SHADOW = BOX_SHADOW;
13
13
  exports.BOX_SHADOW_FLOATING = BOX_SHADOW_FLOATING;
@@ -24,7 +24,7 @@ const ChatBubble = props => {
24
24
  } = propsWithDefault;
25
25
  const bodyParts = React.useMemo(() => typeof body === 'string' ? body.split('\n') : [body], [body]);
26
26
  return /*#__PURE__*/_jsx(StyledWrapper, {
27
- "data-testid": "ds-chat-bubble-".concat(dsId)
27
+ "data-testid": `ds-chat-bubble-${dsId}`
28
28
  }, void 0, /*#__PURE__*/_jsx(StyledColoredBubble, {
29
29
  type: type
30
30
  }, void 0, /*#__PURE__*/_jsx(StyledTitleBubble, {
@@ -34,22 +34,22 @@ const ChatBubble = props => {
34
34
  className: "sr-only"
35
35
  }, void 0, /*#__PURE__*/_jsx(StyledTitleLeftBubble, {
36
36
  alignItems: "center",
37
- "data-testid": "chat-bubble-title-".concat(dsId)
37
+ "data-testid": `chat-bubble-title-${dsId}`
38
38
  }, void 0, title), /*#__PURE__*/_jsx(StyledTitleRightBubble, {
39
39
  alignItems: "center",
40
40
  type: type,
41
- "data-testid": "chat-bubble-time-".concat(dsId)
41
+ "data-testid": `chat-bubble-time-${dsId}`
42
42
  }, void 0, time)), /*#__PURE__*/_jsx(StyleBodyWrapper, {
43
- "data-testid": "chat-bubble-body-".concat(dsId)
44
- }, void 0, bodyParts.map((item, index) => /*#__PURE__*/_jsx(React.Fragment, {}, "".concat(item, "-").concat(dsId), item, index < bodyParts.length - 1 ? _br || (_br = /*#__PURE__*/_jsx("br", {})) : null))), /*#__PURE__*/_jsx(ChatBubbleArrow, {
43
+ "data-testid": `chat-bubble-body-${dsId}`
44
+ }, void 0, bodyParts.map((item, index) => /*#__PURE__*/_jsx(React.Fragment, {}, `${item}-${dsId}`, item, index < bodyParts.length - 1 ? _br || (_br = /*#__PURE__*/_jsx("br", {})) : null))), /*#__PURE__*/_jsx(ChatBubbleArrow, {
45
45
  type: type
46
46
  })), errorMessage ? /*#__PURE__*/_jsx(StyleErrorMessage, {
47
- "data-testid": "chat-bubble-error-message-".concat(dsId),
47
+ "data-testid": `chat-bubble-error-message-${dsId}`,
48
48
  p: "xxs",
49
49
  gutter: "xxs",
50
50
  cols: [1, 'auto']
51
51
  }, void 0, /*#__PURE__*/_jsx("span", {}, void 0, errorMessage), _WarningCircleFill || (_WarningCircleFill = /*#__PURE__*/_jsx(WarningCircleFill, {}))) : null, helpMessage ? /*#__PURE__*/_jsx(StyleHelpMessage, {
52
- "data-testid": "chat-bubble-help-message-".concat(dsId),
52
+ "data-testid": `chat-bubble-help-message-${dsId}`,
53
53
  p: "xxs",
54
54
  gutter: "xxs",
55
55
  cols: [1, 'auto']
@@ -32,6 +32,35 @@ const StyledBubbleArrow = /*#__PURE__*/styled.div.withConfig({
32
32
  })(["display:block;content:'';position:absolute;bottom:10px;height:15px;"]);
33
33
  const StyledColoredBubble = /*#__PURE__*/styled.div.withConfig({
34
34
  componentId: "sc-57v3aa-8"
35
- })(["min-width:224px;border-radius:10px;position:relative;", ""], props => props.type === BUBBLE_TYPES.SENDER ? "\n border: 1px solid ".concat(props.theme.colors.brand['700'], ";\n background: ").concat(props.theme.colors.brand[600], ";\n color: ").concat(props.theme.colors.neutral['000'], ";\n ").concat(StyledBubbleArrow, "{ \n right: -9px;\n bottom: 6px;\n svg{\n fill: ").concat(props.theme.colors.brand[600], ";\n }\n }\n\n a {\n color: #FFF;\n }\n\n ") : "\n box-shadow: 0 1px 3px 0 rgba(53,60,70,0.80);\n background: ".concat(props.theme.colors.neutral['000'], ";\n color: ").concat(props.theme.colors.neutral[700], ";\n\n ").concat(StyledBubbleArrow, "{ \n left: -11px;\n bottom: 6px;\n svg{\n fill: ").concat(props.theme.colors.neutral['000'], ";\n }\n }\n\n "));
35
+ })(["min-width:224px;border-radius:10px;position:relative;", ""], props => props.type === BUBBLE_TYPES.SENDER ? `
36
+ border: 1px solid ${props.theme.colors.brand['700']};
37
+ background: ${props.theme.colors.brand[600]};
38
+ color: ${props.theme.colors.neutral['000']};
39
+ ${StyledBubbleArrow}{
40
+ right: -9px;
41
+ bottom: 6px;
42
+ svg{
43
+ fill: ${props.theme.colors.brand[600]};
44
+ }
45
+ }
46
+
47
+ a {
48
+ color: #FFF;
49
+ }
50
+
51
+ ` : `
52
+ box-shadow: 0 1px 3px 0 rgba(53,60,70,0.80);
53
+ background: ${props.theme.colors.neutral['000']};
54
+ color: ${props.theme.colors.neutral[700]};
55
+
56
+ ${StyledBubbleArrow}{
57
+ left: -11px;
58
+ bottom: 6px;
59
+ svg{
60
+ fill: ${props.theme.colors.neutral['000']};
61
+ }
62
+ }
63
+
64
+ `);
36
65
 
37
66
  export { StyleBodyWrapper, StyleErrorMessage, StyleHelpMessage, StyledBubbleArrow, StyledColoredBubble, StyledTitleBubble, StyledTitleLeftBubble, StyledTitleRightBubble, StyledWrapper };
@@ -8,8 +8,8 @@ const defaultProps = {
8
8
  rightAddon: /*#__PURE__*/jsx(Fragment, {})
9
9
  };
10
10
  const propTypes = {
11
- title: PropTypes.string.isRequired.description("Card's title"),
12
- content: PropTypes.string.description("Card's content"),
11
+ title: PropTypes.string.isRequired.description(`Card's title`),
12
+ content: PropTypes.string.description(`Card's content`),
13
13
  time: PropTypes.string.description('Time'),
14
14
  rightAddon: PropTypes.element.description('Right addon, badge or icon')
15
15
  };
@@ -4,7 +4,7 @@ const defaultProps = {
4
4
  title: ''
5
5
  };
6
6
  const propTypes = {
7
- title: PropTypes.string.isRequired.description("Card's title"),
7
+ title: PropTypes.string.isRequired.description(`Card's title`),
8
8
  children: PropTypes.node.description('Childrens')
9
9
  };
10
10
 
@@ -57,9 +57,7 @@ const SideBarChat = props => {
57
57
  if (ref) listRef[ref.dataset.key] = ref;
58
58
  }, [listRef]);
59
59
  React.useEffect(() => {
60
- var _actionRef$current;
61
-
62
- if ((_actionRef$current = actionRef.current) !== null && _actionRef$current !== void 0 && _actionRef$current.listRef) {
60
+ if (actionRef.current?.listRef) {
63
61
  actionRef.current.listRef = listRef;
64
62
  }
65
63
  }, [sidebarItems, expanded, actionRef, listRef]);
@@ -28,7 +28,11 @@ const chatSidebarProps = {
28
28
  onHeaderExpand: PropTypes.func.description('The function to call when the chat is opened via the header').defaultValue(defaultProps.onHeaderExpand),
29
29
  onHeaderClose: PropTypes.func.description('The function to call when the chat is closed via the header').defaultValue(defaultProps.onHeaderClose),
30
30
  footerButtonExtraProps: PropTypes.object.description('Expand/collapse footer button extra props').defaultValue(defaultProps.footerButtonExtraProps),
31
- actionRef: PropTypes.object.description("Action ref for sidebar\n {\n listRef: references to Tiles\n }\n ").defaultValue(defaultProps.actionRef)
31
+ actionRef: PropTypes.object.description(`Action ref for sidebar
32
+ {
33
+ listRef: references to Tiles
34
+ }
35
+ `).defaultValue(defaultProps.actionRef)
32
36
  };
33
37
 
34
38
  export { chatSidebarProps, defaultProps };
@@ -29,7 +29,7 @@ const SidebarButton = _ref => {
29
29
  if (dsId) onClick(dsId);
30
30
  }, [onClick, dsId]);
31
31
  return /*#__PURE__*/jsxs(StyledSidebarButton, _objectSpread(_objectSpread({
32
- "data-testid": "sidebar-button-".concat(dsId),
32
+ "data-testid": `sidebar-button-${dsId}`,
33
33
  onClick: handleClick
34
34
  }, rest), {}, {
35
35
  children: [/*#__PURE__*/_jsx(StyledSidebarButtonIcon, {
@@ -4,9 +4,13 @@ import { MIN_WIDTH_SIDEBAR } from '../../styled.js';
4
4
 
5
5
  const StyledChatContainer = /*#__PURE__*/styled(Grid).withConfig({
6
6
  componentId: "sc-15373cc-0"
7
- })(["height:100%;width:", ";background:", ";box-shadow:-1px 0 0 0 ", ";transition:width ", " 350ms;"], props => props.expanded ? "".concat(props.expandedWidth, "px") : "".concat(MIN_WIDTH_SIDEBAR, "px"), props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral[100], props => props.expanded ? 'ease-out' : 'ease-in');
7
+ })(["height:100%;width:", ";background:", ";box-shadow:-1px 0 0 0 ", ";transition:width ", " 350ms;"], props => props.expanded ? `${props.expandedWidth}px` : `${MIN_WIDTH_SIDEBAR}px`, props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral[100], props => props.expanded ? 'ease-out' : 'ease-in');
8
8
  const StyledChatContainerContent = /*#__PURE__*/styled(Grid).withConfig({
9
9
  componentId: "sc-15373cc-1"
10
- })(["height:100%;overflow:hidden;background:", ";", ""], props => props.theme.colors.neutral['050'], props => props.floating ? "\n width: ".concat(props.expandedWidth, "px;\n") : "\n width: ".concat(props.expandedWidth - MIN_WIDTH_SIDEBAR, "px;\n"));
10
+ })(["height:100%;overflow:hidden;background:", ";", ""], props => props.theme.colors.neutral['050'], props => props.floating ? `
11
+ width: ${props.expandedWidth}px;
12
+ ` : `
13
+ width: ${props.expandedWidth - MIN_WIDTH_SIDEBAR}px;
14
+ `);
11
15
 
12
16
  export { StyledChatContainer, StyledChatContainerContent };
@@ -9,6 +9,6 @@ const Line = /*#__PURE__*/styled.span.withConfig({
9
9
  })(["border-top:1px solid ", ";"], props => props.theme.colors.neutral['400']);
10
10
  const Text = /*#__PURE__*/styled.p.withConfig({
11
11
  componentId: "sc-1oelxl4-2"
12
- })(["color:", ";font-size:", ";font-weight:", ";margin:", ";"], props => props.theme.colors.neutral['600'], props => props.size === 's' ? '12px' : '14px', props => props.theme.fontWeights.semibold, props => typeof props.verticalMargin === 'number' ? "".concat(props.verticalMargin, "px 8px") : "".concat(props.verticalMargin, " 8px"));
12
+ })(["color:", ";font-size:", ";font-weight:", ";margin:", ";"], props => props.theme.colors.neutral['600'], props => props.size === 's' ? '12px' : '14px', props => props.theme.fontWeights.semibold, props => typeof props.verticalMargin === 'number' ? `${props.verticalMargin}px 8px` : `${props.verticalMargin} 8px`);
13
13
 
14
14
  export { Line, Text, Wrapper };
@@ -53,7 +53,7 @@ const TileButton = props => {
53
53
  })), badge ? /*#__PURE__*/_jsx(StyledStatusBadge, {
54
54
  badgeColor: badgeColor,
55
55
  badgePosition: badgePosition,
56
- "data-testid": "tile-badge-".concat(dsId)
56
+ "data-testid": `tile-badge-${dsId}`
57
57
  }) : null)), !isHeader ? /*#__PURE__*/_jsx(Grid, {
58
58
  width: "100%",
59
59
  justifyContent: "center"
@@ -61,7 +61,7 @@ const TileButton = props => {
61
61
  const Btn = React.useMemo(() => /*#__PURE__*/jsx(StyledTileButton, {
62
62
  isHeader: isHeader,
63
63
  value: dsId,
64
- "data-testid": "tile-button-".concat(dsId),
64
+ "data-testid": `tile-button-${dsId}`,
65
65
  "data-key": dsId,
66
66
  onClick: handleClick,
67
67
  onFocus: onFocus,
@@ -79,11 +79,11 @@ const TileButton = props => {
79
79
  }, void 0, _span || (_span = /*#__PURE__*/_jsx("span", {}, void 0, MainContent)), _StyledWrapperLeftBor || (_StyledWrapperLeftBor = /*#__PURE__*/_jsx(StyledWrapperLeftBorder, {})), showClose && !disabled ? /*#__PURE__*/_jsx(CloseButton, {
80
80
  onClick: onClose,
81
81
  value: dsId,
82
- "data-testid": "tile-close-btn-".concat(dsId)
82
+ "data-testid": `tile-close-btn-${dsId}`
83
83
  }, void 0, _CloseXsmall || (_CloseXsmall = /*#__PURE__*/_jsx(CloseXsmall, {}))) : null)
84
84
  }, dsId), [MainContent, ariaLabel, badgeColor, badgePosition, disabled, dsId, handleClick, isHeader, onBlur, onClose, onFocus, selected, showClose, innerRef]);
85
85
  return title && !disableTooltip ? /*#__PURE__*/_jsx(StyledTooltipV3ButtonWrapper, {}, void 0, /*#__PURE__*/_jsx(DSTooltipV3, {
86
- id: "ds-chat-tile-tooltip-button-".concat(dsId),
86
+ id: `ds-chat-tile-tooltip-button-${dsId}`,
87
87
  text: title,
88
88
  startPlacementPreference: tooltipPlacement
89
89
  }, void 0, Btn)) : Btn;
@@ -1,9 +1,8 @@
1
- import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';
2
1
  import styled from 'styled-components';
3
2
  import { css } from '@elliemae/ds-system';
4
3
  import { Grid } from '@elliemae/ds-grid';
5
4
 
6
- var _templateObject;
5
+ /* eslint-disable indent */
7
6
  const MIN_WIDTH_SIDEBAR = 48;
8
7
  const BUTTON_SIDEBAR_HEIGHT = 48; // Buttons
9
8
 
@@ -53,7 +52,7 @@ const StyledTooltipV3ButtonWrapper = /*#__PURE__*/styled.div.withConfig({
53
52
  })(["height:", "px;width:", "px;"], BUTTON_SIDEBAR_HEIGHT, MIN_WIDTH_SIDEBAR);
54
53
  const StyledTileButton = /*#__PURE__*/styled.button.withConfig({
55
54
  componentId: "sc-b69sbu-7"
56
- })(["outline:none;background:transparent;height:", "px;width:", "px;position:relative;padding:0;border:none;cursor:pointer;border-bottom:", ";&:focus,&:hover,&:active,&:disabled{background:", ";& ", "{border:2px solid ", ";margin-top:-2px;", ";}}&:focus,&:hover{& ", "{background:", ";}& ", "{color:", ";}& svg{fill:", ";}}&:active:not(:disabled){background:", ";& ", "{background:", ";}& ", "{color:", ";font-weight:600;}& svg{fill:", ";}& ", "{border:2px solid ", ";}}&:disabled{background:", ";", "{background:", ";}& ", "{background:", ";border:2px solid ", ";}", "{svg{fill:", ";}}", "{color:", ";}}", ""], BUTTON_SIDEBAR_HEIGHT, MIN_WIDTH_SIDEBAR, props => props.isHeader ? "1px solid ".concat(props.theme.colors.neutral['200']) : 'none', props => props.theme.colors.neutral['080'], StyledStatusBadge, props => props.theme.colors.neutral['080'], props => {
55
+ })(["outline:none;background:transparent;height:", "px;width:", "px;position:relative;padding:0;border:none;cursor:pointer;border-bottom:", ";&:focus,&:hover,&:active,&:disabled{background:", ";& ", "{border:2px solid ", ";margin-top:-2px;", ";}}&:focus,&:hover{& ", "{background:", ";}& ", "{color:", ";}& svg{fill:", ";}}&:active:not(:disabled){background:", ";& ", "{background:", ";}& ", "{color:", ";font-weight:600;}& svg{fill:", ";}& ", "{border:2px solid ", ";}}&:disabled{background:", ";", "{background:", ";}& ", "{background:", ";border:2px solid ", ";}", "{svg{fill:", ";}}", "{color:", ";}}", ""], BUTTON_SIDEBAR_HEIGHT, MIN_WIDTH_SIDEBAR, props => props.isHeader ? `1px solid ${props.theme.colors.neutral['200']}` : 'none', props => props.theme.colors.neutral['080'], StyledStatusBadge, props => props.theme.colors.neutral['080'], props => {
57
56
  switch (props.badgePosition) {
58
57
  case 'left':
59
58
  return 'margin-left: -2px;';
@@ -66,7 +65,11 @@ const StyledTileButton = /*#__PURE__*/styled.button.withConfig({
66
65
  }
67
66
  }, StyledWrapperLeftBorder, props => props.theme.colors.brand[800], StyledTileButtonLabel, props => props.theme.colors.neutral[600], props => props.theme.colors.brand[800], props => props.theme.colors.neutral['050'], StyledWrapperLeftBorder, props => props.theme.colors.brand[600], StyledTileButtonLabel, props => props.theme.colors.neutral[600], props => props.theme.colors.brand[600], StyledStatusBadge, props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral['080'], StyledWrapperLeftBorder, props => props.theme.colors.neutral['400'], StyledStatusBadge, props => props.theme.colors.neutral['500'], props => props.theme.colors.neutral['080'], StyledTileButtonIcon, props => props.theme.colors.neutral[400], StyledTileButtonLabel, props => props.theme.colors.neutral[400], props => {
68
67
  if (props.selected) {
69
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n & ", " {\n background: ", ";\n }\n "])), StyledWrapperLeftBorder, nestedProps => nestedProps.theme.colors.brand[600]);
68
+ return css`
69
+ & ${StyledWrapperLeftBorder} {
70
+ background: ${nestedProps => nestedProps.theme.colors.brand[600]};
71
+ }
72
+ `;
70
73
  }
71
74
 
72
75
  return '';
@@ -5,7 +5,6 @@ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
5
  import 'core-js/modules/esnext.iterator.for-each.js';
6
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
7
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
8
- import 'core-js/modules/web.dom-collections.iterator.js';
9
8
  import React from 'react';
10
9
  import { Grid } from '@elliemae/ds-grid';
11
10
  import { PaperAirplane } from '@elliemae/ds-icons';
@@ -21,8 +20,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
21
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
21
 
23
22
  const ChatComposer = props => {
24
- var _input$current;
25
-
26
23
  const propsWithDefault = useMemoMergePropsWithDefault(props, defaultPropsComposer);
27
24
  useValidateTypescriptPropTypes(propsWithDefault, ChatComposerPropTypes);
28
25
  const {
@@ -50,12 +47,10 @@ const ChatComposer = props => {
50
47
  const internalMaxHeight = React.useMemo(() => maxHeight - 24, [maxHeight]);
51
48
  const [showScroll, setShowScroll] = React.useState(true);
52
49
  React.useEffect(() => {
53
- var _inputSize$current, _inputSize$current2, _inputSize$current3, _inputSize$current4;
54
-
55
- const newHeight = ((_inputSize$current = inputSize.current) === null || _inputSize$current === void 0 ? void 0 : _inputSize$current.scrollHeight) > internalMaxHeight ? internalMaxHeight : (_inputSize$current2 = inputSize.current) === null || _inputSize$current2 === void 0 ? void 0 : _inputSize$current2.scrollHeight;
50
+ const newHeight = inputSize.current?.scrollHeight > internalMaxHeight ? internalMaxHeight : inputSize.current?.scrollHeight;
56
51
  if (newHeight !== height && newHeight > COMPOSER_MIN_HEIGHT) onResize(newHeight);
57
52
  setHeight(newHeight);
58
- setShowScroll(((_inputSize$current3 = inputSize.current) === null || _inputSize$current3 === void 0 ? void 0 : _inputSize$current3.scrollHeight) - ((_inputSize$current4 = inputSize.current) === null || _inputSize$current4 === void 0 ? void 0 : _inputSize$current4.clientHeight) > 5);
53
+ setShowScroll(inputSize.current?.scrollHeight - inputSize.current?.clientHeight > 5);
59
54
  }, [inputValue, internalMaxHeight, height, onResize]);
60
55
  React.useEffect(() => {
61
56
  if (actionRef && actionRef.current) {
@@ -79,7 +74,7 @@ const ChatComposer = props => {
79
74
  const hasError = React.useMemo(() => inputLength > inputMaxLength, [inputLength, inputMaxLength]);
80
75
  return /*#__PURE__*/_jsx(StyledChatContainerContentComposer, {
81
76
  rows: ['auto', '15px'],
82
- maxHeight: "".concat(maxHeight, "px"),
77
+ maxHeight: `${maxHeight}px`,
83
78
  "data-testid": dataTestid
84
79
  }, void 0, /*#__PURE__*/_jsx(Grid, {
85
80
  cols: ['1fr', '24px'],
@@ -125,7 +120,7 @@ const ChatComposer = props => {
125
120
  pointerEvents: 'none',
126
121
  position: 'absolute',
127
122
  top: 0,
128
- width: (_input$current = input.current) === null || _input$current === void 0 ? void 0 : _input$current.clientWidth
123
+ width: input.current?.clientWidth
129
124
  },
130
125
  onChange: handleChange,
131
126
  value: inputValue
@@ -141,8 +136,8 @@ const ChatComposer = props => {
141
136
  }, void 0, inputMaxLength && hasError ? /*#__PURE__*/jsxs(Fragment, {
142
137
  children: [/*#__PURE__*/_jsx(StyledCounterErrorA11y, {
143
138
  role: "alert"
144
- }, void 0, ariaMaxLengthMessage || "You have entered ".concat(inputLength, " characters and have exceeded the limit by ").concat(inputLength - inputMaxLength, ". Please limit to less than ").concat(inputMaxLength, " characters. ")), maxLengthMessage || "Please limit to less than ".concat(inputMaxLength, " characters. ")]
145
- }) : '', inputMaxLength ? " ".concat(inputLength, " / ").concat(inputMaxLength) : ''), _Grid || (_Grid = /*#__PURE__*/_jsx(Grid, {}))));
139
+ }, void 0, 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. `]
140
+ }) : '', inputMaxLength ? ` ${inputLength} / ${inputMaxLength}` : ''), _Grid || (_Grid = /*#__PURE__*/_jsx(Grid, {}))));
146
141
  };
147
142
 
148
143
  const ChatComposerWithSchema = describe(ChatComposer);
@@ -8,13 +8,13 @@ const StyledChatContainerContentComposer = /*#__PURE__*/styled(Grid).withConfig(
8
8
  })(["width:100%;min-height:56px;background:", ";padding:", ";padding-bottom:3px;padding-top:6px;padding-left:", ";max-height:", ";border-top:1px solid #cbcfd7;"], props => props.theme.colors.neutral['050'], props => props.theme.space.xxs, props => props.theme.space.xs, props => props.maxHeight);
9
9
  const StyledComposerInput = /*#__PURE__*/styled.textarea.withConfig({
10
10
  componentId: "sc-1ahwpce-1"
11
- })(["padding:", ";resize:none;min-height:32px;border-radius:2px;border:solid 1px #cbcfd7;color:#25292f;height:", ";min-width:244px;overflow-y:auto;font-size:13px;font-weight:400;line-height:1;transition:height 0.05s;&:focus{outline:none;border:1px solid ", ";box-shadow:inset 0 0 0 1px #8cc2ed;border-radius:2px;}"], props => props.theme.space.xxs, props => typeof props.height === 'number' ? "".concat(props.height, "px") : props.height, props => props.theme.colors.brand[600]);
11
+ })(["padding:", ";resize:none;min-height:32px;border-radius:2px;border:solid 1px #cbcfd7;color:#25292f;height:", ";min-width:244px;overflow-y:auto;font-size:13px;font-weight:400;line-height:1;transition:height 0.05s;&:focus{outline:none;border:1px solid ", ";box-shadow:inset 0 0 0 1px #8cc2ed;border-radius:2px;}"], props => props.theme.space.xxs, props => typeof props.height === 'number' ? `${props.height}px` : props.height, props => props.theme.colors.brand[600]);
12
12
  const StyledComposerButton = /*#__PURE__*/styled(DSButton).withConfig({
13
13
  componentId: "sc-1ahwpce-2"
14
14
  })(["&:disabled{background:none;svg{fill:#5d6775;}}svg{fill:", ";}&:focus{background:", ";}"], props => props.theme.colors.brand[600], props => props.theme.colors.brand[200]);
15
15
  const StyledCounterArea = /*#__PURE__*/styled(Grid).withConfig({
16
16
  componentId: "sc-1ahwpce-3"
17
- })(["text-align:right;font-size:11px;height:15px;align-items:center;font-style:italic;", " position:relative;"], props => props.hasError ? "color:".concat(props.theme.colors.danger[900], ";") : '');
17
+ })(["text-align:right;font-size:11px;height:15px;align-items:center;font-style:italic;", " position:relative;"], props => props.hasError ? `color:${props.theme.colors.danger[900]};` : '');
18
18
  const StyledCounterErrorA11y = /*#__PURE__*/styled.span.withConfig({
19
19
  componentId: "sc-1ahwpce-4"
20
20
  })(["width:1px;height:1px;position:absolute;clip:rect(1px,1px,1px,1px);"]);