@elliemae/ds-chat 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (168) hide show
  1. package/cjs/ChatDataTestids.js +27 -0
  2. package/cjs/index.js +1 -0
  3. package/cjs/parts/bubble/ChatBubble.js +33 -20
  4. package/cjs/parts/bubble/ChatBubbleArrow.js +64 -61
  5. package/cjs/parts/bubble/config/useValidateProps.js +31 -0
  6. package/cjs/parts/bubble/index.js +1 -0
  7. package/cjs/parts/bubble/props.js +5 -5
  8. package/cjs/parts/bubble/styled.js +12 -41
  9. package/cjs/parts/chat-card/ChatCard.js +26 -20
  10. package/cjs/parts/chat-card/config/useValidateProps.js +11 -0
  11. package/cjs/parts/chat-card/props.js +3 -3
  12. package/cjs/parts/chat-card/styled.js +6 -6
  13. package/cjs/parts/chat-composer/ChatContainerComposer.js +50 -25
  14. package/cjs/parts/chat-composer/config/useValidateProps.js +11 -0
  15. package/cjs/parts/chat-composer/props.js +10 -4
  16. package/cjs/parts/chat-composer/styled.js +8 -8
  17. package/cjs/parts/chat-container/ChatContainer.js +79 -29
  18. package/cjs/parts/chat-container/config/useValidateProps.js +11 -0
  19. package/cjs/parts/chat-container/props.js +12 -7
  20. package/cjs/parts/chat-container/styled.js +5 -5
  21. package/cjs/parts/chat-container-header/ChatContainerHeader.js +7 -7
  22. package/cjs/parts/chat-container-header/helpers.js +31 -0
  23. package/cjs/parts/chat-container-header/styled.js +6 -6
  24. package/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js +214 -34
  25. package/cjs/parts/chat-container-messages-list/config/useValidateProps.js +11 -0
  26. package/cjs/parts/chat-container-messages-list/props.js +6 -10
  27. package/cjs/parts/chat-container-messages-list/styled.js +11 -14
  28. package/cjs/parts/chat-empty-state/ChatEmptyState.js +22 -12
  29. package/cjs/parts/chat-empty-state/config/useValidateProps.js +11 -0
  30. package/cjs/parts/chat-empty-state/props.js +2 -1
  31. package/cjs/parts/chat-empty-state/styled.js +2 -2
  32. package/cjs/parts/chat-sidebar/SideBarChat.js +70 -36
  33. package/cjs/parts/chat-sidebar/config/useValidateProps.js +11 -0
  34. package/cjs/parts/chat-sidebar/props.js +11 -1
  35. package/cjs/parts/chat-sidebar/styled.js +4 -4
  36. package/cjs/parts/floating-button/FloatingButton.js +18 -10
  37. package/cjs/parts/floating-button/props.js +6 -2
  38. package/cjs/parts/floating-button/styled.js +1 -1
  39. package/cjs/parts/floating-container/styled.js +1 -1
  40. package/cjs/parts/grid-influencer/InfluencerContainer.js +2 -2
  41. package/cjs/parts/grid-influencer/styled.js +4 -8
  42. package/cjs/parts/message-delimiter/MessageDelimiter.js +18 -12
  43. package/cjs/parts/message-delimiter/config/useValidateProps.js +11 -0
  44. package/cjs/parts/message-delimiter/props.js +1 -1
  45. package/cjs/parts/message-delimiter/styled.js +4 -4
  46. package/cjs/parts/sidebar-button/SidebarButton.js +12 -7
  47. package/cjs/parts/sidebar-button/props.js +3 -4
  48. package/cjs/parts/sidebar-button/styled.js +4 -4
  49. package/cjs/parts/system-message/SystemMessage.js +21 -15
  50. package/cjs/parts/system-message/config/useValidateProps.js +11 -0
  51. package/cjs/parts/system-message/style.js +6 -6
  52. package/cjs/parts/tile-button/TileButton.js +40 -34
  53. package/cjs/parts/tile-button/config/useValidateProps.js +11 -0
  54. package/cjs/parts/tile-button/props.js +15 -13
  55. package/cjs/parts/tile-button/styled.js +22 -15
  56. package/cjs/styled.js +1 -1
  57. package/esm/ChatDataTestids.js +23 -0
  58. package/esm/index.js +1 -1
  59. package/esm/parts/bubble/ChatBubble.js +24 -12
  60. package/esm/parts/bubble/ChatBubbleArrow.js +64 -61
  61. package/esm/parts/bubble/config/useValidateProps.js +27 -0
  62. package/esm/parts/bubble/index.js +1 -1
  63. package/esm/parts/bubble/props.js +4 -4
  64. package/esm/parts/bubble/styled.js +3 -32
  65. package/esm/parts/chat-card/ChatCard.js +26 -20
  66. package/esm/parts/chat-card/config/useValidateProps.js +7 -0
  67. package/esm/parts/chat-card/props.js +3 -3
  68. package/esm/parts/chat-composer/ChatContainerComposer.js +33 -7
  69. package/esm/parts/chat-composer/config/useValidateProps.js +7 -0
  70. package/esm/parts/chat-composer/props.js +10 -4
  71. package/esm/parts/chat-composer/styled.js +2 -2
  72. package/esm/parts/chat-container/ChatContainer.js +68 -18
  73. package/esm/parts/chat-container/config/useValidateProps.js +7 -0
  74. package/esm/parts/chat-container/props.js +12 -7
  75. package/esm/parts/chat-container/styled.js +2 -2
  76. package/esm/parts/chat-container-header/ChatContainerHeader.js +3 -2
  77. package/esm/parts/chat-container-header/helpers.js +23 -0
  78. package/esm/parts/chat-container-header/styled.js +6 -6
  79. package/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js +202 -22
  80. package/esm/parts/chat-container-messages-list/config/useValidateProps.js +7 -0
  81. package/esm/parts/chat-container-messages-list/props.js +6 -10
  82. package/esm/parts/chat-container-messages-list/styled.js +6 -10
  83. package/esm/parts/chat-empty-state/ChatEmptyState.js +16 -6
  84. package/esm/parts/chat-empty-state/config/useValidateProps.js +7 -0
  85. package/esm/parts/chat-empty-state/props.js +2 -1
  86. package/esm/parts/chat-sidebar/SideBarChat.js +69 -34
  87. package/esm/parts/chat-sidebar/config/useValidateProps.js +7 -0
  88. package/esm/parts/chat-sidebar/props.js +11 -1
  89. package/esm/parts/chat-sidebar/styled.js +2 -2
  90. package/esm/parts/floating-button/FloatingButton.js +18 -9
  91. package/esm/parts/floating-button/props.js +6 -2
  92. package/esm/parts/grid-influencer/styled.js +2 -6
  93. package/esm/parts/message-delimiter/MessageDelimiter.js +18 -12
  94. package/esm/parts/message-delimiter/config/useValidateProps.js +7 -0
  95. package/esm/parts/message-delimiter/props.js +1 -1
  96. package/esm/parts/message-delimiter/styled.js +1 -1
  97. package/esm/parts/sidebar-button/SidebarButton.js +6 -1
  98. package/esm/parts/sidebar-button/props.js +1 -1
  99. package/esm/parts/sidebar-button/styled.js +1 -1
  100. package/esm/parts/system-message/SystemMessage.js +21 -15
  101. package/esm/parts/system-message/config/useValidateProps.js +7 -0
  102. package/esm/parts/system-message/style.js +1 -1
  103. package/esm/parts/tile-button/TileButton.js +35 -27
  104. package/esm/parts/tile-button/config/useValidateProps.js +7 -0
  105. package/esm/parts/tile-button/props.js +14 -7
  106. package/esm/parts/tile-button/styled.js +15 -10
  107. package/esm/styled.js +1 -1
  108. package/package.json +69 -6
  109. package/types/ChatDataTestids.d.ts +21 -0
  110. package/types/index.d.ts +1 -1
  111. package/types/parts/bubble/ChatBubble.d.ts +20 -5
  112. package/types/parts/bubble/config/useValidateProps.d.ts +2 -0
  113. package/types/parts/bubble/index.d.ts +1 -1
  114. package/types/parts/bubble/props.d.ts +13 -4
  115. package/types/parts/bubble/styled.d.ts +9 -9
  116. package/types/parts/bubble/tests/ChatBubble.test.d.ts +1 -0
  117. package/types/parts/chat-card/ChatCard.d.ts +25 -5
  118. package/types/parts/chat-card/config/useValidateProps.d.ts +2 -0
  119. package/types/parts/chat-card/props.d.ts +19 -3
  120. package/types/parts/chat-card/styled.d.ts +6 -6
  121. package/types/parts/chat-composer/ChatContainerComposer.d.ts +48 -12
  122. package/types/parts/chat-composer/config/useValidateProps.d.ts +2 -0
  123. package/types/parts/chat-composer/styled.d.ts +117 -24
  124. package/types/parts/chat-composer/tests/ChatContainerComposer.test.d.ts +1 -0
  125. package/types/parts/chat-container/ChatContainer.d.ts +54 -12
  126. package/types/parts/chat-container/config/useValidateProps.d.ts +2 -0
  127. package/types/parts/chat-container/styled.d.ts +4 -4
  128. package/types/parts/chat-container/tests/ChatContainer.test.d.ts +1 -0
  129. package/types/parts/chat-container-header/helpers.d.ts +6 -0
  130. package/types/parts/chat-container-header/styled.d.ts +3 -3
  131. package/types/parts/chat-container-messages-list/ChatContainerMessagesList.d.ts +39 -9
  132. package/types/parts/chat-container-messages-list/config/useValidateProps.d.ts +2 -0
  133. package/types/parts/chat-container-messages-list/styled.d.ts +7 -6
  134. package/types/parts/chat-empty-state/ChatEmptyState.d.ts +19 -1
  135. package/types/parts/chat-empty-state/config/useValidateProps.d.ts +2 -0
  136. package/types/parts/chat-empty-state/props.d.ts +7 -1
  137. package/types/parts/chat-empty-state/styled.d.ts +2 -2
  138. package/types/parts/chat-sidebar/SideBarChat.d.ts +40 -10
  139. package/types/parts/chat-sidebar/config/useValidateProps.d.ts +2 -0
  140. package/types/parts/chat-sidebar/props.d.ts +39 -9
  141. package/types/parts/chat-sidebar/styled.d.ts +2 -2
  142. package/types/parts/floating-button/FloatingButton.d.ts +11 -2
  143. package/types/parts/floating-button/props.d.ts +13 -1
  144. package/types/parts/floating-button/styled.d.ts +1 -1
  145. package/types/parts/floating-container/styled.d.ts +1 -2
  146. package/types/parts/grid-influencer/styled.d.ts +2 -2
  147. package/types/parts/message-delimiter/MessageDelimiter.d.ts +22 -5
  148. package/types/parts/message-delimiter/config/useValidateProps.d.ts +2 -0
  149. package/types/parts/message-delimiter/props.d.ts +16 -3
  150. package/types/parts/message-delimiter/styled.d.ts +3 -3
  151. package/types/parts/sidebar-button/SidebarButton.d.ts +16 -5
  152. package/types/parts/sidebar-button/props.d.ts +16 -5
  153. package/types/parts/sidebar-button/styled.d.ts +3 -3
  154. package/types/parts/system-message/SystemMessage.d.ts +13 -3
  155. package/types/parts/system-message/config/useValidateProps.d.ts +2 -0
  156. package/types/parts/system-message/props.d.ts +7 -1
  157. package/types/parts/system-message/style.d.ts +5 -5
  158. package/types/parts/tile-button/TileButton.d.ts +66 -17
  159. package/types/parts/tile-button/config/useValidateProps.d.ts +2 -0
  160. package/types/parts/tile-button/props.d.ts +64 -16
  161. package/types/parts/tile-button/styled.d.ts +9 -8
  162. package/types/prop-types.d.ts +28 -9
  163. package/types/tests/utils.d.ts +27 -0
  164. package/cjs/package.json +0 -4
  165. package/esm/package.json +0 -4
  166. package/types/parts/chat-composer/props.d.ts +0 -32
  167. package/types/parts/chat-container/props.d.ts +0 -38
  168. package/types/parts/chat-container-messages-list/props.d.ts +0 -31
@@ -4,58 +4,92 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _jsx = require('@babel/runtime/helpers/jsx');
7
- require('react');
7
+ require('core-js/modules/web.url.to-json.js');
8
+ require('core-js/modules/esnext.async-iterator.map.js');
9
+ require('core-js/modules/esnext.iterator.map.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.constructor.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ require('core-js/modules/esnext.async-iterator.for-each.js');
14
+ require('core-js/modules/esnext.iterator.for-each.js');
15
+ var React = require('react');
8
16
  var reactDesc = require('react-desc');
9
- var MenuExpand = require('@elliemae/ds-icons/MenuExpand');
10
- var MenuCollapse = require('@elliemae/ds-icons/MenuCollapse');
17
+ var dsIcons = require('@elliemae/ds-icons');
11
18
  var styled = require('./styled.js');
12
19
  var TileButton = require('../tile-button/TileButton.js');
13
20
  var SidebarButton = require('../sidebar-button/SidebarButton.js');
14
21
  var props = require('./props.js');
22
+ var useValidateProps = require('./config/useValidateProps.js');
15
23
  var jsxRuntime = require('react/jsx-runtime');
16
24
 
17
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
26
 
19
27
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
20
28
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
- var MenuExpand__default = /*#__PURE__*/_interopDefaultLegacy(MenuExpand);
22
- var MenuCollapse__default = /*#__PURE__*/_interopDefaultLegacy(MenuCollapse);
29
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
30
 
24
31
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
32
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
33
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
34
 
28
- const FooterChat = ({
29
- expanded,
30
- onFooterClose,
31
- onFooterExpand,
32
- footerButtonExtraProps
33
- }) => /*#__PURE__*/_jsx__default['default'](SidebarButton.SidebarButton, {
34
- dsId: "sidebar_footer",
35
- label: null,
36
- Icon: !expanded ? MenuCollapse__default['default'] : MenuExpand__default['default'],
37
- onClick: expanded ? onFooterClose : onFooterExpand,
38
- "aria-pressed": expanded,
39
- "aria-label": footerButtonExtraProps['aria-label']
40
- });
35
+ const FooterChat = _ref => {
36
+ let {
37
+ expanded,
38
+ onFooterClose,
39
+ onFooterExpand,
40
+ footerButtonExtraProps
41
+ } = _ref;
42
+ return /*#__PURE__*/_jsx__default["default"](SidebarButton.SidebarButton, {
43
+ dsId: "sidebar_footer",
44
+ label: null,
45
+ Icon: !expanded ? dsIcons.MenuCollapse : dsIcons.MenuExpand,
46
+ onClick: expanded ? onFooterClose : onFooterExpand,
47
+ "aria-pressed": expanded,
48
+ "aria-label": footerButtonExtraProps['aria-label']
49
+ });
50
+ };
41
51
 
42
- const SideBarChat = ({
43
- sidebarItems,
44
- expanded,
45
- onFooterClose,
46
- onFooterExpand,
47
- selectedItem,
48
- footerButtonExtraProps
49
- }) => /*#__PURE__*/_jsx__default['default'](styled.StyledSideBarContainer, {
50
- rows: [1, 'auto']
51
- }, void 0, /*#__PURE__*/_jsx__default['default'](styled.StyledSideBarButtonsContainer, {}, void 0, sidebarItems.map(p => /*#__PURE__*/jsxRuntime.jsx(TileButton.TileButton, _objectSpread(_objectSpread({}, p), {}, {
52
- selected: selectedItem === p.dsId
53
- })))), /*#__PURE__*/_jsx__default['default'](FooterChat, {
54
- expanded: expanded,
55
- onFooterClose: onFooterClose,
56
- onFooterExpand: onFooterExpand,
57
- footerButtonExtraProps: footerButtonExtraProps
58
- }));
52
+ const SideBarChat = props => {
53
+ useValidateProps.useValidateProps(props, SideBarChatWithSchema.toJSON());
54
+ const {
55
+ sidebarItems,
56
+ expanded,
57
+ onFooterClose,
58
+ onFooterExpand,
59
+ selectedItem,
60
+ footerButtonExtraProps,
61
+ tooltipPlacement,
62
+ enableTooltipWhenIsClosed,
63
+ actionRef
64
+ } = props;
65
+ const {
66
+ current: listRef
67
+ } = React__default["default"].useRef({});
68
+ const registerReference = React__default["default"].useCallback(ref => {
69
+ if (ref) listRef[ref.dataset.key] = ref;
70
+ }, [listRef]);
71
+ React__default["default"].useEffect(() => {
72
+ if (actionRef.current.listRef) {
73
+ actionRef.current.listRef = listRef;
74
+ }
75
+ }, [sidebarItems, expanded, actionRef, listRef]);
76
+ return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledSideBarContainer, {
77
+ rows: [1, 'auto'],
78
+ ref: listRef,
79
+ children: [/*#__PURE__*/_jsx__default["default"](styled.StyledSideBarButtonsContainer, {}, void 0, sidebarItems.map(p => /*#__PURE__*/jsxRuntime.jsx(TileButton.TileButton, _objectSpread(_objectSpread({
80
+ innerRef: registerReference
81
+ }, p), {}, {
82
+ selected: selectedItem === p.dsId,
83
+ tooltipPlacement: tooltipPlacement,
84
+ disableTooltip: enableTooltipWhenIsClosed ? false : !expanded
85
+ }), p.dsId))), /*#__PURE__*/_jsx__default["default"](FooterChat, {
86
+ expanded: expanded,
87
+ onFooterClose: onFooterClose,
88
+ onFooterExpand: onFooterExpand,
89
+ footerButtonExtraProps: footerButtonExtraProps
90
+ })]
91
+ });
92
+ };
59
93
 
60
94
  SideBarChat.defaultProps = props.defaultProps;
61
95
  const SideBarChatWithSchema = reactDesc.describe(SideBarChat);
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+
7
+ const useValidateProps = (props, schema) => {
8
+ dsPropsHelpers.useValidatePropTypes(props, schema);
9
+ };
10
+
11
+ exports.useValidateProps = useValidateProps;
@@ -15,17 +15,27 @@ const defaultProps = {
15
15
  onHeaderClose: lodash.noop,
16
16
  footerButtonExtraProps: {
17
17
  'aria-label': 'expand or collapse button'
18
+ },
19
+ tooltipPlacement: 'right',
20
+ enableTooltipWhenIsClosed: false,
21
+ actionRef: {
22
+ current: {
23
+ listRef: []
24
+ }
18
25
  }
19
26
  };
20
27
  const chatSidebarProps = {
21
28
  sidebarItems: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.object).description('The array of out-of-the-box items you want to render inside the sidebar nav of the chat').defaultValue(defaultProps.sidebarItems),
22
29
  expanded: reactDesc.PropTypes.bool.description('Whether to show the chat expanded or collapsed').defaultValue(defaultProps.expanded),
23
30
  selectedItem: reactDesc.PropTypes.string.description('The id of the chat item you want to be opened').defaultValue(defaultProps.selectedItem),
31
+ tooltipPlacement: reactDesc.PropTypes.oneOf(['top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']).description('start placement preferences, as per popperjs placement option').defaultValue("'right'"),
32
+ enableTooltipWhenIsClosed: reactDesc.PropTypes.bool.description('Enable tooltip when is closed').defaultValue(defaultProps.onFooterExpand),
24
33
  onFooterExpand: reactDesc.PropTypes.func.description('The function to call when the chat is opened via the footer').defaultValue(defaultProps.onFooterExpand),
25
34
  onFooterClose: reactDesc.PropTypes.func.description('The function to call when the chat is closed via the footer').defaultValue(defaultProps.onFooterClose),
26
35
  onHeaderExpand: reactDesc.PropTypes.func.description('The function to call when the chat is opened via the header').defaultValue(defaultProps.onHeaderExpand),
27
36
  onHeaderClose: reactDesc.PropTypes.func.description('The function to call when the chat is closed via the header').defaultValue(defaultProps.onHeaderClose),
28
- footerButtonExtraProps: reactDesc.PropTypes.object.description('Expand/collapse footer button extra props').defaultValue(defaultProps.footerButtonExtraProps)
37
+ footerButtonExtraProps: reactDesc.PropTypes.object.description('Expand/collapse footer button extra props').defaultValue(defaultProps.footerButtonExtraProps),
38
+ actionRef: reactDesc.PropTypes.object.description("Action ref for sidebar\n {\n listRef: references to Tiles\n }\n ").defaultValue(defaultProps.actionRef)
29
39
  };
30
40
 
31
41
  exports.chatSidebarProps = chatSidebarProps;
@@ -10,12 +10,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledSideBarContainer = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
13
+ const StyledSideBarContainer = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
14
14
  componentId: "sc-16uijso-0"
15
- })(["height:100%;width:", "px;background:", ";border-right:1px solid ", ";"], styled$1.MIN_WIDTH_SIDEBAR, props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral['100']);
16
- const StyledSideBarButtonsContainer = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
15
+ })(["height:100%;width:", "px;background:", ";border-right:1px solid ", ";overflow:hidden;"], styled$1.MIN_WIDTH_SIDEBAR, props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral['100']);
16
+ const StyledSideBarButtonsContainer = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
17
17
  componentId: "sc-16uijso-1"
18
- })(["overflow-y:auto;align-items:flex-start;justify-content:flex-start;grid-template-rows:repeat(auto-fill,", "px);"], styled$1.BUTTON_SIDEBAR_HEIGHT);
18
+ })(["overflow-y:auto;align-items:flex-start;justify-content:flex-start;grid-template-rows:repeat(auto-fill,", "px);overflow-x:hidden;scrollbar-width:thin;&::-webkit-scrollbar{width:6px;}"], styled$1.BUTTON_SIDEBAR_HEIGHT);
19
19
 
20
20
  exports.StyledSideBarButtonsContainer = StyledSideBarButtonsContainer;
21
21
  exports.StyledSideBarContainer = StyledSideBarContainer;
@@ -4,24 +4,32 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
- var Comments = require('@elliemae/ds-icons/Comments');
7
+ var dsIcons = require('@elliemae/ds-icons');
8
8
  var styled = require('./styled.js');
9
9
  var props = require('./props.js');
10
+ var jsxRuntime = require('react/jsx-runtime');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
13
 
13
14
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
- var Comments__default = /*#__PURE__*/_interopDefaultLegacy(Comments);
15
15
 
16
16
  var _Comments;
17
- const FloatingButton = ({
18
- onClick
19
- }) => /*#__PURE__*/_jsx__default['default'](styled.StyledFloatingButton, {
20
- "data-testid": "chat-floating-button",
21
- onClick: onClick
22
- }, void 0, _Comments || (_Comments = /*#__PURE__*/_jsx__default['default'](Comments__default['default'], {
23
- size: "l"
24
- })));
17
+ const FloatingButton = _ref => {
18
+ let {
19
+ onClick,
20
+ onFocus,
21
+ innerRef
22
+ } = _ref;
23
+ return /*#__PURE__*/jsxRuntime.jsx(styled.StyledFloatingButton, {
24
+ onFocus: onFocus,
25
+ ref: innerRef,
26
+ "data-testid": "chat-floating-button",
27
+ onClick: onClick,
28
+ children: _Comments || (_Comments = /*#__PURE__*/_jsx__default["default"](dsIcons.Comments, {
29
+ size: "l"
30
+ }))
31
+ });
32
+ };
25
33
  FloatingButton.defaultProps = props.defaultFloatingButton;
26
34
 
27
35
  exports.FloatingButton = FloatingButton;
@@ -6,10 +6,14 @@ var reactDesc = require('react-desc');
6
6
  var lodash = require('lodash');
7
7
 
8
8
  const defaultFloatingButton = {
9
- onClick: lodash.noop
9
+ onClick: lodash.noop,
10
+ onFocus: lodash.noop,
11
+ innerRef: null
10
12
  };
11
13
  const propsFloatingButton = {
12
- onClick: reactDesc.PropTypes.func.description('The function to call when the chat is opened via the footer').defaultValue(defaultFloatingButton.onClick)
14
+ onClick: reactDesc.PropTypes.func.description('The function to call when the chat is opened via the footer').defaultValue(defaultFloatingButton.onClick),
15
+ onFocus: reactDesc.PropTypes.func.description('The function to call when button is being focused').defaultValue(defaultFloatingButton.onFocus),
16
+ innerRef: reactDesc.PropTypes.object.description('Ref to the component container').defaultValue(null)
13
17
  };
14
18
 
15
19
  exports.defaultFloatingButton = defaultFloatingButton;
@@ -11,7 +11,7 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
  const BUTTON_FLOATING = 56;
12
12
  const BOX_SHADOW = '0 5px 8px 0 rgba(53,60,70,0.55)';
13
13
  const BOX_SHADOW_FLOATING = '0 5px 8px 0 rgba(53,60,70,0.35)';
14
- const StyledFloatingButton = /*#__PURE__*/styled__default['default'].button.withConfig({
14
+ const StyledFloatingButton = /*#__PURE__*/styled__default["default"].button.withConfig({
15
15
  componentId: "sc-vlozhu-0"
16
16
  })(["outline:none;cursor:pointer;height:", "px;width:", "px;border:none;background:", ";border-radius:50%;box-shadow:", ";&:hover{background:", ";}&:focus{border:2px solid ", ";box-shadow:inset 0 0 0 2px ", ",", ";}&:active{background:", ";box-shadow:inset 0 0 0 0,", ";}svg{fill:", ";}"], BUTTON_FLOATING, BUTTON_FLOATING, props => props.theme.colors.brand[600], BOX_SHADOW_FLOATING, props => props.theme.colors.brand[700], props => props.theme.colors.brand[700], props => props.theme.colors.neutral['000'], BOX_SHADOW, props => props.theme.colors.brand[800], BOX_SHADOW_FLOATING, props => props.theme.colors.neutral['000']);
17
17
 
@@ -10,7 +10,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledFloatingContainer = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
13
+ const StyledFloatingContainer = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
14
14
  componentId: "sc-nqvrts-0"
15
15
  })(["position:fixed;bottom:24px;right:24px;border-radius:4px;z-index:1;box-shadow:", ";background:", ";width:348px;"], styled$1.BOX_SHADOW, nestedProps => nestedProps.theme.colors.neutral['050']);
16
16
 
@@ -14,10 +14,10 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
15
 
16
16
  var _SideBarChat, _ChatContainer, _div;
17
- const InfluencerContainer = props => React__default['default'].useMemo(() => props.floating ? null : /*#__PURE__*/_jsx__default['default'](styled.StyledChatContainer, {
17
+ const InfluencerContainer = props => React__default["default"].useMemo(() => props.floating ? null : /*#__PURE__*/_jsx__default["default"](styled.StyledChatContainer, {
18
18
  cols: ['auto', props.expanded ? 1 : '0px'],
19
19
  expanded: props.expanded,
20
20
  expandedWidth: props.expandedWidth
21
- }, void 0, _SideBarChat || (_SideBarChat = /*#__PURE__*/_jsx__default['default'](SideBarChat.SideBarChat, {})), props.expanded ? _ChatContainer || (_ChatContainer = /*#__PURE__*/_jsx__default['default'](ChatContainer.ChatContainer, {})) : _div || (_div = /*#__PURE__*/_jsx__default['default']("div", {}))), [props.floating, props.expanded, props.expandedWidth]);
21
+ }, void 0, _SideBarChat || (_SideBarChat = /*#__PURE__*/_jsx__default["default"](SideBarChat.SideBarChat, {})), props.expanded ? _ChatContainer || (_ChatContainer = /*#__PURE__*/_jsx__default["default"](ChatContainer.ChatContainer, {})) : _div || (_div = /*#__PURE__*/_jsx__default["default"]("div", {}))), [props.floating, props.expanded, props.expandedWidth]);
22
22
 
23
23
  exports.InfluencerContainer = InfluencerContainer;
@@ -10,16 +10,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledChatContainer = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
13
+ const StyledChatContainer = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
14
14
  componentId: "sc-b6t5vk-0"
15
- })(["height:100%;width:", ";background:", ";box-shadow:-1px 0 0 0 ", ";transition:width ", " 350ms;"], props => props.expanded ? `${props.expandedWidth}px` : `${styled$1.MIN_WIDTH_SIDEBAR}px`, props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral[100], props => props.expanded ? 'ease-out' : 'ease-in');
16
- const StyledChatContainerContent = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
15
+ })(["height:100%;width:", ";background:", ";box-shadow:-1px 0 0 0 ", ";transition:width ", " 350ms;"], props => props.expanded ? "".concat(props.expandedWidth, "px") : "".concat(styled$1.MIN_WIDTH_SIDEBAR, "px"), props => props.theme.colors.neutral['050'], props => props.theme.colors.neutral[100], props => props.expanded ? 'ease-out' : 'ease-in');
16
+ const StyledChatContainerContent = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
17
17
  componentId: "sc-b6t5vk-1"
18
- })(["height:100%;overflow:hidden;background:", ";", ""], props => props.theme.colors.neutral['050'], props => props.floating ? `
19
- width: ${props.expandedWidth}px;
20
- ` : `
21
- width: ${props.expandedWidth - styled$1.MIN_WIDTH_SIDEBAR}px;
22
- `);
18
+ })(["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 - styled$1.MIN_WIDTH_SIDEBAR, "px;\n"));
23
19
 
24
20
  exports.StyledChatContainer = StyledChatContainer;
25
21
  exports.StyledChatContainerContent = StyledChatContainerContent;
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/web.url.to-json.js');
6
7
  require('react');
7
8
  var reactDesc = require('react-desc');
8
9
  var styled = require('./styled.js');
9
10
  var props = require('./props.js');
11
+ var useValidateProps = require('./config/useValidateProps.js');
10
12
 
11
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
14
 
@@ -14,18 +16,22 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
16
 
15
17
  var _Line, _Line2;
16
18
 
17
- const MessageDelimiter = ({
18
- title,
19
- size,
20
- extraProps,
21
- verticalMargin
22
- }) => /*#__PURE__*/_jsx__default['default'](styled.Wrapper, {
23
- cols: ['1fr', 'auto', '1fr']
24
- }, void 0, _Line || (_Line = /*#__PURE__*/_jsx__default['default'](styled.Line, {})), /*#__PURE__*/_jsx__default['default'](styled.Text, {
25
- size: size,
26
- verticalMargin: verticalMargin,
27
- "data-testid": extraProps['data-testid']
28
- }, void 0, title), _Line2 || (_Line2 = /*#__PURE__*/_jsx__default['default'](styled.Line, {})));
19
+ const MessageDelimiter = props => {
20
+ useValidateProps.useValidateProps(props, MessageDelimiterWithSchema.toJSON());
21
+ const {
22
+ title,
23
+ size,
24
+ extraProps,
25
+ verticalMargin
26
+ } = props;
27
+ return /*#__PURE__*/_jsx__default["default"](styled.Wrapper, {
28
+ cols: ['1fr', 'auto', '1fr']
29
+ }, void 0, _Line || (_Line = /*#__PURE__*/_jsx__default["default"](styled.Line, {})), /*#__PURE__*/_jsx__default["default"](styled.Text, {
30
+ size: size,
31
+ verticalMargin: verticalMargin,
32
+ "data-testid": extraProps['data-testid']
33
+ }, void 0, title), _Line2 || (_Line2 = /*#__PURE__*/_jsx__default["default"](styled.Line, {})));
34
+ };
29
35
 
30
36
  MessageDelimiter.defaultProps = props.defaultProps;
31
37
  const MessageDelimiterWithSchema = reactDesc.describe(MessageDelimiter);
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+
7
+ const useValidateProps = (props, schema) => {
8
+ dsPropsHelpers.useValidatePropTypes(props, schema);
9
+ };
10
+
11
+ exports.useValidateProps = useValidateProps;
@@ -16,7 +16,7 @@ const messageDelimiterProps = {
16
16
  title: reactDesc.PropTypes.string.isRequired.description('Text to display in the delimiter'),
17
17
  size: reactDesc.PropTypes.oneOf(['s', 'l']).description('size of the delimiter').defaultValue('s'),
18
18
  extraProps: reactDesc.PropTypes.object.description('extra props for delimiter'),
19
- verticalMargin: reactDesc.PropTypes.string.description('Configurable css vertical margin property for flexibilty')
19
+ verticalMargin: reactDesc.PropTypes.oneOf(['string', 'number']).description('Configurable css vertical margin property for flexibilty')
20
20
  };
21
21
 
22
22
  exports.defaultProps = defaultProps;
@@ -9,15 +9,15 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
- const Wrapper = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
12
+ const Wrapper = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
13
13
  componentId: "sc-upz0rt-0"
14
14
  })(["align-items:center;justify-content:center;width:100%;min-height:8px;"]);
15
- const Line = /*#__PURE__*/styled__default['default'].span.withConfig({
15
+ const Line = /*#__PURE__*/styled__default["default"].span.withConfig({
16
16
  componentId: "sc-upz0rt-1"
17
17
  })(["border-top:1px solid ", ";"], props => props.theme.colors.neutral['400']);
18
- const Text = /*#__PURE__*/styled__default['default'].p.withConfig({
18
+ const Text = /*#__PURE__*/styled__default["default"].p.withConfig({
19
19
  componentId: "sc-upz0rt-2"
20
- })(["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`);
20
+ })(["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"));
21
21
 
22
22
  exports.Line = Line;
23
23
  exports.Text = Text;
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  var _jsx = require('@babel/runtime/helpers/jsx');
7
12
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
@@ -21,7 +26,7 @@ const _excluded = ["label", "dsId", "onClick", "Icon"];
21
26
 
22
27
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
28
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
30
  const SidebarButton = _ref => {
26
31
  let {
27
32
  label,
@@ -29,21 +34,21 @@ const SidebarButton = _ref => {
29
34
  onClick,
30
35
  Icon
31
36
  } = _ref,
32
- rest = _objectWithoutProperties__default['default'](_ref, _excluded);
37
+ rest = _objectWithoutProperties__default["default"](_ref, _excluded);
33
38
 
34
- const handleClick = React__default['default'].useCallback(() => {
39
+ const handleClick = React__default["default"].useCallback(() => {
35
40
  onClick(dsId);
36
41
  }, [onClick, dsId]);
37
42
  return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledSidebarButton, _objectSpread(_objectSpread({
38
- "data-testid": `sidebar-button-${dsId}`,
43
+ "data-testid": "sidebar-button-".concat(dsId),
39
44
  onClick: handleClick
40
45
  }, rest), {}, {
41
- children: [/*#__PURE__*/_jsx__default['default'](styled.StyledSidebarButtonIcon, {
46
+ children: [/*#__PURE__*/_jsx__default["default"](styled.StyledSidebarButtonIcon, {
42
47
  alignItems: "center",
43
48
  justifyContent: "center"
44
- }, void 0, /*#__PURE__*/_jsx__default['default'](Icon, {
49
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Icon, {
45
50
  size: "m"
46
- })), label && /*#__PURE__*/_jsx__default['default'](styled.StyledSidebarButtonLabel, {}, void 0, label)]
51
+ })), label && /*#__PURE__*/_jsx__default["default"](styled.StyledSidebarButtonLabel, {}, void 0, label)]
47
52
  }), dsId);
48
53
  };
49
54
  SidebarButton.defaultProps = props.defaultSidebarButton;
@@ -5,15 +5,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var propsTypes = require('prop-types');
6
6
  var reactDesc = require('react-desc');
7
7
  var lodash = require('lodash');
8
- var Comments = require('@elliemae/ds-icons/Comments');
8
+ var dsIcons = require('@elliemae/ds-icons');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
12
12
  var propsTypes__default = /*#__PURE__*/_interopDefaultLegacy(propsTypes);
13
- var Comments__default = /*#__PURE__*/_interopDefaultLegacy(Comments);
14
13
 
15
14
  const defaultSidebarButton = {
16
- Icon: Comments__default['default'],
15
+ Icon: dsIcons.Comments,
17
16
  dsId: undefined,
18
17
  label: '',
19
18
  onClick: lodash.noop,
@@ -21,7 +20,7 @@ const defaultSidebarButton = {
21
20
  };
22
21
  const propsSidebarButton = {
23
22
  Icon: reactDesc.PropTypes.element.description('Icon component').defaultValue(defaultSidebarButton.Icon),
24
- dsId: reactDesc.PropTypes.oneOfType([propsTypes__default['default'].number, propsTypes__default['default'].string]).description('Unique id for the button').defaultValue(defaultSidebarButton.dsId),
23
+ dsId: reactDesc.PropTypes.oneOfType([propsTypes__default["default"].number, propsTypes__default["default"].string]).description('Unique id for the button').defaultValue(defaultSidebarButton.dsId),
25
24
  label: reactDesc.PropTypes.string.description('It will display under the icon').defaultValue(defaultSidebarButton.label),
26
25
  title: reactDesc.PropTypes.string.description('Tooltip').defaultValue(defaultSidebarButton.title),
27
26
  onClick: reactDesc.PropTypes.func.description('The function to call when the is clicked').defaultValue(defaultSidebarButton.onClick)
@@ -10,13 +10,13 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
- const StyledSidebarButton = /*#__PURE__*/styled__default['default'].button.withConfig({
13
+ const StyledSidebarButton = /*#__PURE__*/styled__default["default"].button.withConfig({
14
14
  componentId: "sc-6ygly3-0"
15
- })(["display:flex;align-items:center;justify-content:center;outline:none;height:", "px;width:", "px;position:relative;border:0;background:transparent;&:focus,&:hover{background:", ";}cursor:pointer;border-bottom:1px solid ", ";"], styled$1.BUTTON_SIDEBAR_HEIGHT, styled$1.MIN_WIDTH_SIDEBAR, props => props.theme.colors.neutral['080'], props => props.theme.colors.neutral['200']);
16
- const StyledSidebarButtonIcon = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
15
+ })(["display:flex;align-items:center;justify-content:center;outline:none;height:", "px;width:", "px;position:relative;border:0;background:transparent;&:focus,&:hover{background:", ";}cursor:pointer;border-bottom:1px solid ", ";svg{fill:", ";}"], styled$1.BUTTON_SIDEBAR_HEIGHT, styled$1.MIN_WIDTH_SIDEBAR, props => props.theme.colors.neutral['080'], props => props.theme.colors.neutral['200'], props => props.theme.colors.neutral[500]);
16
+ const StyledSidebarButtonIcon = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
17
17
  componentId: "sc-6ygly3-1"
18
18
  })(["position:relative;"]);
19
- const StyledSidebarButtonLabel = /*#__PURE__*/styled__default['default'].div.withConfig({
19
+ const StyledSidebarButtonLabel = /*#__PURE__*/styled__default["default"].div.withConfig({
20
20
  componentId: "sc-6ygly3-2"
21
21
  })(["width:30px;text-transform:uppercase;overflow:hidden;text-align:center;"]);
22
22
 
@@ -3,10 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/web.url.to-json.js');
6
7
  require('react');
7
8
  var reactDesc = require('react-desc');
8
9
  var style = require('./style.js');
9
10
  var props = require('./props.js');
11
+ var useValidateProps = require('./config/useValidateProps.js');
10
12
 
11
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
14
 
@@ -14,21 +16,25 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
16
 
15
17
  var _span;
16
18
 
17
- const SystemMessage = ({
18
- title,
19
- time,
20
- body
21
- }) => /*#__PURE__*/_jsx__default['default'](style.Wrapper, {
22
- rows: ['auto', 'auto']
23
- }, void 0, /*#__PURE__*/_jsx__default['default'](style.Header, {
24
- cols: ['1fr', 'auto', '1fr']
25
- }, void 0, _span || (_span = /*#__PURE__*/_jsx__default['default']("span", {})), /*#__PURE__*/_jsx__default['default'](style.Title, {
26
- "data-testid": "chat-system-message-title"
27
- }, void 0, title), /*#__PURE__*/_jsx__default['default'](style.Time, {
28
- "data-testid": "chat-system-message-time"
29
- }, void 0, time)), /*#__PURE__*/_jsx__default['default'](style.Message, {
30
- "data-testid": "chat-system-message-body"
31
- }, void 0, body));
19
+ const SystemMessage = props => {
20
+ useValidateProps.useValidateProps(props, SystemMessageWithSchema.toJSON());
21
+ const {
22
+ title,
23
+ time,
24
+ body
25
+ } = props;
26
+ return /*#__PURE__*/_jsx__default["default"](style.Wrapper, {
27
+ rows: ['auto', 'auto']
28
+ }, void 0, /*#__PURE__*/_jsx__default["default"](style.Header, {
29
+ cols: ['1fr', 'auto', '1fr']
30
+ }, void 0, _span || (_span = /*#__PURE__*/_jsx__default["default"]("span", {})), /*#__PURE__*/_jsx__default["default"](style.Title, {
31
+ "data-testid": "chat-system-message-title"
32
+ }, void 0, title), /*#__PURE__*/_jsx__default["default"](style.Time, {
33
+ "data-testid": "chat-system-message-time"
34
+ }, void 0, time)), /*#__PURE__*/_jsx__default["default"](style.Message, {
35
+ "data-testid": "chat-system-message-body"
36
+ }, void 0, body));
37
+ };
32
38
 
33
39
  SystemMessage.defaultProps = props.defaultProps;
34
40
  const SystemMessageWithSchema = reactDesc.describe(SystemMessage);
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+
7
+ const useValidateProps = (props, schema) => {
8
+ dsPropsHelpers.useValidatePropTypes(props, schema);
9
+ };
10
+
11
+ exports.useValidateProps = useValidateProps;
@@ -9,19 +9,19 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
- const Wrapper = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
12
+ const Wrapper = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
13
13
  componentId: "sc-80w41d-0"
14
- })(["align-items:center;justify-content:center;min-width:268px;max-width:100%;padding:0 8px 8px;border:1px solid ", ";border-radius:10px;background-color:", ";box-shadow:none;"], props => props.theme.colors.neutral['100'], props => props.theme.colors.neutral['080']);
15
- const Header = /*#__PURE__*/styled__default['default'](dsGrid.Grid).withConfig({
14
+ })(["align-items:center;justify-content:center;max-width:100%;padding:0 8px 8px;border:1px solid ", ";border-radius:10px;background-color:", ";box-shadow:none;"], props => props.theme.colors.neutral['100'], props => props.theme.colors.neutral['080']);
15
+ const Header = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
16
16
  componentId: "sc-80w41d-1"
17
17
  })(["align-items:center;height:36px;"]);
18
- const Title = /*#__PURE__*/styled__default['default'].p.withConfig({
18
+ const Title = /*#__PURE__*/styled__default["default"].p.withConfig({
19
19
  componentId: "sc-80w41d-2"
20
20
  })(["font-size:14px;font-weight:", ";color:", ";margin:0;"], props => props.theme.fontWeights.semibold, props => props.theme.colors.neutral['700']);
21
- const Time = /*#__PURE__*/styled__default['default'].p.withConfig({
21
+ const Time = /*#__PURE__*/styled__default["default"].p.withConfig({
22
22
  componentId: "sc-80w41d-3"
23
23
  })(["font-size:12px;font-weight:", ";color:", ";margin:0;text-align:right;"], props => props.theme.fontWeights.regular, props => props.theme.colors.neutral['700']);
24
- const Message = /*#__PURE__*/styled__default['default'].p.withConfig({
24
+ const Message = /*#__PURE__*/styled__default["default"].p.withConfig({
25
25
  componentId: "sc-80w41d-4"
26
26
  })(["font-size:13px;font-weight:", ";color:", ";min-height:32px;text-align:center;margin:0;"], props => props.theme.fontWeights.regular, props => props.theme.colors.neutral['700']);
27
27