@elliemae/ds-chat 2.3.0-next.6 → 2.3.0-rc.1

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 (237) hide show
  1. package/cjs/{parts → exported-related}/bubble/ChatBubble.js +8 -10
  2. package/cjs/{parts → exported-related}/bubble/ChatBubbleArrow.js +0 -0
  3. package/cjs/{parts → exported-related}/bubble/index.js +0 -0
  4. package/cjs/exported-related/bubble/props.js +43 -0
  5. package/cjs/{parts → exported-related}/bubble/styled.js +9 -9
  6. package/cjs/{parts → exported-related}/chat-card/ChatCard.js +6 -7
  7. package/cjs/{parts → exported-related}/chat-card/index.js +0 -0
  8. package/cjs/exported-related/chat-card/props.js +22 -0
  9. package/cjs/{parts → exported-related}/chat-card/styled.js +6 -6
  10. package/cjs/{parts → exported-related}/chat-container-header/ChatContainerHeader.js +10 -4
  11. package/cjs/{parts → exported-related}/chat-container-header/helpers.js +0 -0
  12. package/cjs/exported-related/chat-container-header/props.js +18 -0
  13. package/cjs/{parts → exported-related}/chat-container-header/styled.js +4 -4
  14. package/cjs/{parts → exported-related}/chat-empty-state/ChatEmptyState.js +8 -10
  15. package/cjs/exported-related/chat-empty-state/props.js +18 -0
  16. package/cjs/{parts → exported-related}/chat-empty-state/styled.js +2 -2
  17. package/cjs/{parts → exported-related}/chat-sidebar/SideBarChat.js +10 -11
  18. package/cjs/{parts → exported-related}/chat-sidebar/index.js +0 -0
  19. package/cjs/{parts → exported-related}/chat-sidebar/props.js +2 -5
  20. package/cjs/{parts → exported-related/chat-sidebar}/sidebar-button/SidebarButton.js +1 -1
  21. package/cjs/{parts → exported-related/chat-sidebar}/sidebar-button/index.js +0 -0
  22. package/cjs/exported-related/chat-sidebar/sidebar-button/props.js +25 -0
  23. package/cjs/{parts → exported-related/chat-sidebar}/sidebar-button/styled.js +4 -4
  24. package/cjs/{parts → exported-related}/chat-sidebar/styled.js +2 -2
  25. package/cjs/{parts → exported-related}/floating-button/FloatingButton.js +13 -6
  26. package/cjs/{parts → exported-related}/floating-button/index.js +1 -0
  27. package/cjs/{parts → exported-related}/floating-button/props.js +0 -0
  28. package/cjs/{parts → exported-related}/floating-button/styled.js +1 -1
  29. package/cjs/{parts → exported-related}/floating-container/styled.js +1 -1
  30. package/cjs/{parts → exported-related}/grid-influencer/InfluencerContainer.js +1 -1
  31. package/cjs/{parts → exported-related}/grid-influencer/styled.js +2 -2
  32. package/cjs/exported-related/index.js +37 -0
  33. package/cjs/exported-related/message-delimiter/MessageDelimiter.js +53 -0
  34. package/cjs/{parts → exported-related}/message-delimiter/index.js +0 -0
  35. package/cjs/exported-related/message-delimiter/props.js +33 -0
  36. package/cjs/{parts → exported-related}/message-delimiter/styled.js +3 -3
  37. package/cjs/{parts → exported-related}/system-message/SystemMessage.js +6 -8
  38. package/cjs/{parts → exported-related}/system-message/index.js +0 -0
  39. package/cjs/{parts → exported-related}/system-message/props.js +0 -0
  40. package/cjs/{parts → exported-related}/system-message/style.js +5 -5
  41. package/cjs/{parts → exported-related}/tile-button/TileButton.js +7 -9
  42. package/cjs/{parts → exported-related}/tile-button/index.js +0 -0
  43. package/cjs/exported-related/tile-button/props.js +55 -0
  44. package/cjs/{parts → exported-related}/tile-button/styled.js +9 -9
  45. package/cjs/index.js +29 -18
  46. package/cjs/parts/chat-composer/ChatContainerComposer.js +7 -9
  47. package/cjs/parts/chat-container/ChatContainer.js +18 -20
  48. package/cjs/parts/chat-container/styled.js +2 -2
  49. package/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js +83 -70
  50. package/cjs/parts/chat-container-messages-list/styled.js +9 -5
  51. package/cjs/parts/chat-container-messages-list/useGetNewMessages.js +28 -0
  52. package/cjs/parts/index.js +16 -0
  53. package/cjs/react-desc-prop-types.js +116 -0
  54. package/esm/{parts → exported-related}/bubble/ChatBubble.js +7 -9
  55. package/esm/{parts → exported-related}/bubble/ChatBubbleArrow.js +0 -0
  56. package/esm/{parts → exported-related}/bubble/index.js +0 -0
  57. package/esm/{parts → exported-related}/bubble/props.js +14 -24
  58. package/esm/{parts → exported-related}/bubble/styled.js +9 -9
  59. package/esm/{parts → exported-related}/chat-card/ChatCard.js +4 -5
  60. package/esm/{parts → exported-related}/chat-card/index.js +0 -0
  61. package/esm/{parts → exported-related}/chat-card/props.js +9 -2
  62. package/esm/{parts → exported-related}/chat-card/styled.js +6 -6
  63. package/esm/{parts → exported-related}/chat-container-header/ChatContainerHeader.js +9 -4
  64. package/esm/{parts → exported-related}/chat-container-header/helpers.js +0 -0
  65. package/esm/exported-related/chat-container-header/props.js +13 -0
  66. package/esm/{parts → exported-related}/chat-container-header/styled.js +4 -4
  67. package/esm/{parts → exported-related}/chat-empty-state/ChatEmptyState.js +7 -9
  68. package/esm/exported-related/chat-empty-state/props.js +13 -0
  69. package/esm/{parts → exported-related}/chat-empty-state/styled.js +2 -2
  70. package/esm/{parts → exported-related}/chat-sidebar/SideBarChat.js +8 -9
  71. package/esm/{parts → exported-related}/chat-sidebar/index.js +0 -0
  72. package/esm/{parts → exported-related}/chat-sidebar/props.js +2 -5
  73. package/esm/{parts → exported-related/chat-sidebar}/sidebar-button/SidebarButton.js +1 -1
  74. package/esm/{parts → exported-related/chat-sidebar}/sidebar-button/index.js +0 -0
  75. package/esm/{parts → exported-related/chat-sidebar}/sidebar-button/props.js +3 -4
  76. package/esm/{parts → exported-related/chat-sidebar}/sidebar-button/styled.js +4 -4
  77. package/esm/{parts → exported-related}/chat-sidebar/styled.js +2 -2
  78. package/esm/exported-related/floating-button/FloatingButton.js +33 -0
  79. package/esm/exported-related/floating-button/index.js +1 -0
  80. package/esm/{parts → exported-related}/floating-button/props.js +0 -0
  81. package/esm/{parts → exported-related}/floating-button/styled.js +1 -1
  82. package/esm/{parts → exported-related}/floating-container/styled.js +1 -1
  83. package/esm/{parts → exported-related}/grid-influencer/InfluencerContainer.js +1 -1
  84. package/esm/{parts → exported-related}/grid-influencer/styled.js +2 -2
  85. package/esm/exported-related/index.js +11 -0
  86. package/esm/exported-related/message-delimiter/MessageDelimiter.js +43 -0
  87. package/esm/{parts → exported-related}/message-delimiter/index.js +0 -0
  88. package/esm/exported-related/message-delimiter/props.js +24 -0
  89. package/esm/{parts → exported-related}/message-delimiter/styled.js +3 -3
  90. package/esm/{parts → exported-related}/system-message/SystemMessage.js +4 -6
  91. package/esm/{parts → exported-related}/system-message/index.js +0 -0
  92. package/esm/{parts → exported-related}/system-message/props.js +0 -0
  93. package/esm/{parts → exported-related}/system-message/style.js +5 -5
  94. package/esm/{parts → exported-related}/tile-button/TileButton.js +5 -7
  95. package/esm/{parts → exported-related}/tile-button/index.js +0 -0
  96. package/esm/{parts → exported-related}/tile-button/props.js +3 -3
  97. package/esm/{parts → exported-related}/tile-button/styled.js +9 -9
  98. package/esm/index.js +14 -12
  99. package/esm/parts/chat-composer/ChatContainerComposer.js +9 -11
  100. package/esm/parts/chat-container/ChatContainer.js +16 -18
  101. package/esm/parts/chat-container/styled.js +2 -2
  102. package/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js +81 -68
  103. package/esm/parts/chat-container-messages-list/styled.js +9 -6
  104. package/esm/parts/chat-container-messages-list/useGetNewMessages.js +24 -0
  105. package/esm/parts/index.js +3 -0
  106. package/esm/react-desc-prop-types.js +103 -0
  107. package/package.json +176 -216
  108. package/types/exported-related/bubble/ChatBubble.d.ts +5 -0
  109. package/types/{parts → exported-related}/bubble/ChatBubbleArrow.d.ts +1 -1
  110. package/types/{parts → exported-related}/bubble/index.d.ts +0 -0
  111. package/types/exported-related/bubble/props.d.ts +33 -0
  112. package/types/{parts → exported-related}/bubble/styled.d.ts +11 -7
  113. package/types/{parts → exported-related}/bubble/tests/ChatBubble.test.d.ts +0 -0
  114. package/types/exported-related/chat-card/ChatCard.d.ts +5 -0
  115. package/types/{parts → exported-related}/chat-card/index.d.ts +0 -0
  116. package/types/exported-related/chat-card/props.d.ts +14 -0
  117. package/types/{parts → exported-related}/chat-card/styled.d.ts +0 -0
  118. package/types/exported-related/chat-container-header/ChatContainerHeader.d.ts +5 -0
  119. package/types/{parts → exported-related}/chat-container-header/helpers.d.ts +2 -2
  120. package/types/exported-related/chat-container-header/props.d.ts +10 -0
  121. package/types/{parts → exported-related}/chat-container-header/styled.d.ts +0 -0
  122. package/types/exported-related/chat-container-header/tests/ChatContainerHeader.test.d.ts +1 -0
  123. package/types/exported-related/chat-empty-state/ChatEmptyState.d.ts +5 -0
  124. package/types/exported-related/chat-empty-state/props.d.ts +10 -0
  125. package/types/{parts → exported-related}/chat-empty-state/styled.d.ts +0 -0
  126. package/types/exported-related/chat-sidebar/SideBarChat.d.ts +5 -0
  127. package/types/{parts → exported-related}/chat-sidebar/index.d.ts +0 -0
  128. package/types/{parts → exported-related}/chat-sidebar/props.d.ts +4 -4
  129. package/types/exported-related/chat-sidebar/sidebar-button/SidebarButton.d.ts +13 -0
  130. package/types/{parts → exported-related/chat-sidebar}/sidebar-button/index.d.ts +0 -0
  131. package/types/exported-related/chat-sidebar/sidebar-button/props.d.ts +18 -0
  132. package/types/{parts → exported-related/chat-sidebar}/sidebar-button/styled.d.ts +0 -0
  133. package/types/{parts → exported-related}/chat-sidebar/styled.d.ts +0 -0
  134. package/types/exported-related/floating-button/FloatingButton.d.ts +5 -0
  135. package/types/{parts → exported-related}/floating-button/index.d.ts +0 -0
  136. package/types/{parts → exported-related}/floating-button/props.d.ts +0 -0
  137. package/types/{parts → exported-related}/floating-button/styled.d.ts +0 -0
  138. package/types/exported-related/floating-container/styled.d.ts +2 -0
  139. package/types/{parts → exported-related}/grid-influencer/InfluencerContainer.d.ts +0 -0
  140. package/types/{parts → exported-related}/grid-influencer/styled.d.ts +0 -0
  141. package/types/exported-related/index.d.ts +10 -0
  142. package/types/exported-related/message-delimiter/MessageDelimiter.d.ts +5 -0
  143. package/types/{parts → exported-related}/message-delimiter/index.d.ts +0 -0
  144. package/types/exported-related/message-delimiter/props.d.ts +371 -0
  145. package/types/{parts → exported-related}/message-delimiter/styled.d.ts +0 -0
  146. package/types/exported-related/system-message/SystemMessage.d.ts +5 -0
  147. package/types/{parts → exported-related}/system-message/index.d.ts +0 -0
  148. package/types/{parts → exported-related}/system-message/props.d.ts +0 -0
  149. package/types/{parts → exported-related}/system-message/style.d.ts +0 -0
  150. package/types/exported-related/tile-button/TileButton.d.ts +5 -0
  151. package/types/{parts → exported-related}/tile-button/index.d.ts +0 -0
  152. package/types/exported-related/tile-button/props.d.ts +46 -0
  153. package/types/{parts → exported-related}/tile-button/styled.d.ts +1 -1
  154. package/types/index.d.ts +4 -13
  155. package/types/parts/chat-composer/ChatContainerComposer.d.ts +4 -59
  156. package/types/parts/chat-composer/styled.d.ts +4 -3
  157. package/types/parts/chat-container/ChatContainer.d.ts +4 -62
  158. package/types/parts/chat-container-messages-list/ChatContainerMessagesList.d.ts +4 -47
  159. package/types/parts/chat-container-messages-list/index.d.ts +1 -1
  160. package/types/parts/chat-container-messages-list/styled.d.ts +2 -2
  161. package/types/parts/chat-container-messages-list/useGetNewMessages.d.ts +2 -0
  162. package/types/parts/index.d.ts +3 -0
  163. package/types/react-desc-prop-types.d.ts +838 -0
  164. package/cjs/index.d.js +0 -2
  165. package/cjs/parts/bubble/config/useValidateProps.js +0 -31
  166. package/cjs/parts/bubble/props.js +0 -57
  167. package/cjs/parts/chat-card/config/useValidateProps.js +0 -11
  168. package/cjs/parts/chat-card/props.js +0 -14
  169. package/cjs/parts/chat-composer/config/useValidateProps.js +0 -11
  170. package/cjs/parts/chat-composer/props.js +0 -44
  171. package/cjs/parts/chat-container/config/useValidateProps.js +0 -11
  172. package/cjs/parts/chat-container/index.js +0 -10
  173. package/cjs/parts/chat-container/props.js +0 -49
  174. package/cjs/parts/chat-container-messages-list/config/useValidateProps.js +0 -11
  175. package/cjs/parts/chat-container-messages-list/props.js +0 -30
  176. package/cjs/parts/chat-empty-state/config/useValidateProps.js +0 -11
  177. package/cjs/parts/chat-empty-state/props.js +0 -17
  178. package/cjs/parts/chat-sidebar/config/useValidateProps.js +0 -11
  179. package/cjs/parts/message-delimiter/MessageDelimiter.js +0 -41
  180. package/cjs/parts/message-delimiter/config/useValidateProps.js +0 -11
  181. package/cjs/parts/message-delimiter/props.js +0 -23
  182. package/cjs/parts/sidebar-button/props.js +0 -30
  183. package/cjs/parts/system-message/config/useValidateProps.js +0 -11
  184. package/cjs/parts/tile-button/config/useValidateProps.js +0 -11
  185. package/cjs/parts/tile-button/props.js +0 -55
  186. package/cjs/prop-types.js +0 -33
  187. package/esm/index.d.js +0 -1
  188. package/esm/parts/bubble/config/useValidateProps.js +0 -27
  189. package/esm/parts/chat-card/config/useValidateProps.js +0 -7
  190. package/esm/parts/chat-composer/config/useValidateProps.js +0 -7
  191. package/esm/parts/chat-composer/props.js +0 -39
  192. package/esm/parts/chat-container/config/useValidateProps.js +0 -7
  193. package/esm/parts/chat-container/index.js +0 -1
  194. package/esm/parts/chat-container/props.js +0 -44
  195. package/esm/parts/chat-container-messages-list/config/useValidateProps.js +0 -7
  196. package/esm/parts/chat-container-messages-list/props.js +0 -25
  197. package/esm/parts/chat-empty-state/config/useValidateProps.js +0 -7
  198. package/esm/parts/chat-empty-state/props.js +0 -12
  199. package/esm/parts/chat-sidebar/config/useValidateProps.js +0 -7
  200. package/esm/parts/floating-button/FloatingButton.js +0 -27
  201. package/esm/parts/floating-button/index.js +0 -1
  202. package/esm/parts/message-delimiter/MessageDelimiter.js +0 -32
  203. package/esm/parts/message-delimiter/config/useValidateProps.js +0 -7
  204. package/esm/parts/message-delimiter/props.js +0 -18
  205. package/esm/parts/system-message/config/useValidateProps.js +0 -7
  206. package/esm/parts/tile-button/config/useValidateProps.js +0 -7
  207. package/esm/prop-types.js +0 -28
  208. package/types/index.d.d.ts +0 -37
  209. package/types/parts/bubble/ChatBubble.d.ts +0 -30
  210. package/types/parts/bubble/config/useValidateProps.d.ts +0 -2
  211. package/types/parts/bubble/props.d.ts +0 -52
  212. package/types/parts/chat-card/ChatCard.d.ts +0 -33
  213. package/types/parts/chat-card/config/useValidateProps.d.ts +0 -2
  214. package/types/parts/chat-card/props.d.ts +0 -29
  215. package/types/parts/chat-composer/config/useValidateProps.d.ts +0 -2
  216. package/types/parts/chat-container/config/useValidateProps.d.ts +0 -2
  217. package/types/parts/chat-container/index.d.ts +0 -1
  218. package/types/parts/chat-container-header/ChatContainerHeader.d.ts +0 -2
  219. package/types/parts/chat-container-messages-list/config/useValidateProps.d.ts +0 -2
  220. package/types/parts/chat-empty-state/ChatEmptyState.d.ts +0 -21
  221. package/types/parts/chat-empty-state/config/useValidateProps.d.ts +0 -2
  222. package/types/parts/chat-empty-state/props.d.ts +0 -15
  223. package/types/parts/chat-sidebar/SideBarChat.d.ts +0 -48
  224. package/types/parts/chat-sidebar/config/useValidateProps.d.ts +0 -2
  225. package/types/parts/floating-button/FloatingButton.d.ts +0 -18
  226. package/types/parts/floating-container/styled.d.ts +0 -1
  227. package/types/parts/message-delimiter/MessageDelimiter.d.ts +0 -31
  228. package/types/parts/message-delimiter/config/useValidateProps.d.ts +0 -2
  229. package/types/parts/message-delimiter/props.d.ts +0 -26
  230. package/types/parts/sidebar-button/SidebarButton.d.ts +0 -24
  231. package/types/parts/sidebar-button/props.d.ts +0 -29
  232. package/types/parts/system-message/SystemMessage.d.ts +0 -23
  233. package/types/parts/system-message/config/useValidateProps.d.ts +0 -2
  234. package/types/parts/tile-button/TileButton.d.ts +0 -75
  235. package/types/parts/tile-button/config/useValidateProps.d.ts +0 -2
  236. package/types/parts/tile-button/props.d.ts +0 -88
  237. package/types/prop-types.d.ts +0 -33
@@ -3,15 +3,13 @@
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');
7
6
  require('core-js/modules/esnext.async-iterator.map.js');
8
7
  require('core-js/modules/esnext.iterator.map.js');
9
8
  var React = require('react');
10
- var reactDesc = require('react-desc');
9
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
11
10
  var dsIcons = require('@elliemae/ds-icons');
12
11
  var styled = require('./styled.js');
13
12
  var props = require('./props.js');
14
- var useValidateProps = require('./config/useValidateProps.js');
15
13
  var ChatBubbleArrow = require('./ChatBubbleArrow.js');
16
14
 
17
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -21,8 +19,9 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
19
 
22
20
  var _br, _WarningCircleFill;
23
21
 
24
- const ChatBubble = props => {
25
- useValidateProps.useValidateProps(props, ChatBubbleWithSchema.toJSON());
22
+ const ChatBubble = props$1 => {
23
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props$1, props.defaultBubbleProps);
24
+ dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, props.BubblesPropTypes);
26
25
  const {
27
26
  dsId,
28
27
  type,
@@ -31,11 +30,10 @@ const ChatBubble = props => {
31
30
  body,
32
31
  errorMessage,
33
32
  helpMessage
34
- } = props;
33
+ } = propsWithDefault;
35
34
  const bodyParts = React__default["default"].useMemo(() => typeof body === 'string' ? body.split('\n') : [body], [body]);
36
35
  return /*#__PURE__*/_jsx__default["default"](styled.StyledWrapper, {
37
- "data-testid": "ds-chat-bubble-".concat(dsId),
38
- type: type
36
+ "data-testid": "ds-chat-bubble-".concat(dsId)
39
37
  }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledColoredBubble, {
40
38
  type: type
41
39
  }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledTitleBubble, {
@@ -67,8 +65,8 @@ const ChatBubble = props => {
67
65
  }, void 0, /*#__PURE__*/_jsx__default["default"]("span", {}, void 0, helpMessage)) : null);
68
66
  };
69
67
 
70
- const ChatBubbleWithSchema = reactDesc.describe(ChatBubble);
71
- ChatBubbleWithSchema.propTypes = props.propsBubbles;
68
+ const ChatBubbleWithSchema = dsPropsHelpers.describe(ChatBubble);
69
+ ChatBubbleWithSchema.propTypes = props.BubblesPropTypes;
72
70
 
73
71
  exports.ChatBubble = ChatBubble;
74
72
  exports.ChatBubbleWithSchema = ChatBubbleWithSchema;
File without changes
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
+ function noop() {}
9
+
10
+ const BUBBLE_TYPES = {
11
+ SENDER: 'SENDER',
12
+ RECIPIENT: 'RECIPIENT',
13
+ DELIMITER: 'DELIMITER',
14
+ SYSTEM: 'SYSTEM'
15
+ };
16
+ const defaultBubbleProps = {
17
+ dsId: '',
18
+ type: BUBBLE_TYPES.SENDER,
19
+ title: '',
20
+ time: '',
21
+ body: '',
22
+ onClick: noop,
23
+ errorMessage: '',
24
+ helpMessage: ''
25
+ };
26
+ const BubblesPropTypes = {
27
+ dsId: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.string, dsPropsHelpers.PropTypes.number]).description('Unique id for bubble').defaultValue(defaultBubbleProps.dsId),
28
+ type: dsPropsHelpers.PropTypes.oneOf([BUBBLE_TYPES.RECIPIENT, BUBBLE_TYPES.SENDER]).isRequired.description('Define bubble type ').defaultValue(defaultBubbleProps.type),
29
+ title: dsPropsHelpers.PropTypes.string.isRequired.description('Title of the bubble').defaultValue(defaultBubbleProps.title),
30
+ time: dsPropsHelpers.PropTypes.string.isRequired.description('Time of the bubble').defaultValue(defaultBubbleProps.title),
31
+ body: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.string, dsPropsHelpers.PropTypes.element]).isRequired.description('Bubble content').defaultValue(defaultBubbleProps.body),
32
+ onClick: dsPropsHelpers.PropTypes.func.description('Callback when the bubble is tapped').defaultValue(defaultBubbleProps.onClick),
33
+ errorMessage: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.string, dsPropsHelpers.PropTypes.element]).description('Error message to display at bottom of the bubble').defaultValue(defaultBubbleProps.onClick),
34
+ helpMessage: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.string, dsPropsHelpers.PropTypes.element]).description('Help message to display at bottom of the bubble').defaultValue(defaultBubbleProps.onClick)
35
+ };
36
+ const propsArrowBubble = {
37
+ type: dsPropsHelpers.PropTypes.oneOf([BUBBLE_TYPES.RECIPIENT, BUBBLE_TYPES.SENDER])
38
+ };
39
+
40
+ exports.BUBBLE_TYPES = BUBBLE_TYPES;
41
+ exports.BubblesPropTypes = BubblesPropTypes;
42
+ exports.defaultBubbleProps = defaultBubbleProps;
43
+ exports.propsArrowBubble = propsArrowBubble;
@@ -13,33 +13,33 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
13
13
  /* eslint-disable max-lines */
14
14
 
15
15
  const StyledWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
16
- componentId: "sc-fe8e9o-0"
16
+ componentId: "sc-57v3aa-0"
17
17
  })(["min-width:224px;border-radius:10px;"]); // Bubble HEADER
18
18
 
19
19
  const StyledTitleBubble = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
20
- componentId: "sc-fe8e9o-1"
20
+ componentId: "sc-57v3aa-1"
21
21
  })(["padding-top:6px;padding-left:10px;padding-right:10px;padding-bottom:4px;"]);
22
22
  const StyledTitleLeftBubble = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
23
- componentId: "sc-fe8e9o-2"
23
+ componentId: "sc-57v3aa-2"
24
24
  })(["font-size:13px;font-weight:600;"]);
25
25
  const StyledTitleRightBubble = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
26
- componentId: "sc-fe8e9o-3"
26
+ componentId: "sc-57v3aa-3"
27
27
  })(["font-size:13px;font-weight:400;color:", ";"], props$1 => props$1.type === props.BUBBLE_TYPES.SENDER ? '#FFF' : '#657489');
28
28
  const StyleBodyWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
29
- componentId: "sc-fe8e9o-4"
29
+ componentId: "sc-57v3aa-4"
30
30
  })(["font-size:13px;font-weight:400;line-height:15px;min-height:18px;padding:0px 10px 8px 10px;"]);
31
31
  const StyleErrorMessage = /*#__PURE__*/styled__default["default"].div.withConfig({
32
- componentId: "sc-fe8e9o-5"
32
+ componentId: "sc-57v3aa-5"
33
33
  })(["font-size:12px;font-weight:400;padding-top:", ";color:", ";align-items:flex-end;justify-content:center;text-align:right;line-height:15px;svg{fill:", ";}a{font-size:12px;color:", ";}.em-ds-icon{margin-left:8px;}"], props => props.theme.space.xxxs, props => props.theme.colors.danger[900], props => props.theme.colors.danger[900], props => props.theme.colors.danger[900]);
34
34
  const StyleHelpMessage = /*#__PURE__*/styled__default["default"](StyleErrorMessage).withConfig({
35
- componentId: "sc-fe8e9o-6"
35
+ componentId: "sc-57v3aa-6"
36
36
  })(["font-size:12px;line-height:15px;color:", ";svg{fill:", ";}a{font-size:12px;color:", ";}"], props => props.theme.colors.neutral[500], props => props.theme.colors.danger[500], props => props.theme.colors.danger[500]); // bubble sender/ recipient
37
37
 
38
38
  const StyledBubbleArrow = /*#__PURE__*/styled__default["default"].div.withConfig({
39
- componentId: "sc-fe8e9o-7"
39
+ componentId: "sc-57v3aa-7"
40
40
  })(["display:block;content:'';position:absolute;bottom:10px;height:15px;"]);
41
41
  const StyledColoredBubble = /*#__PURE__*/styled__default["default"].div.withConfig({
42
- componentId: "sc-fe8e9o-8"
42
+ componentId: "sc-57v3aa-8"
43
43
  })(["min-width:224px;border-radius:10px;position:relative;", ""], props$1 => props$1.type === props.BUBBLE_TYPES.SENDER ? "\n border: 1px solid ".concat(props$1.theme.colors.brand['700'], ";\n background: ").concat(props$1.theme.colors.brand[600], ";\n color: ").concat(props$1.theme.colors.neutral['000'], ";\n ").concat(StyledBubbleArrow, "{ \n right: -9px;\n bottom: 6px;\n svg{\n fill: ").concat(props$1.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$1.theme.colors.neutral['000'], ";\n color: ").concat(props$1.theme.colors.neutral[700], ";\n\n ").concat(StyledBubbleArrow, "{ \n left: -11px;\n bottom: 6px;\n svg{\n fill: ").concat(props$1.theme.colors.neutral['000'], ";\n }\n }\n\n "));
44
44
 
45
45
  exports.StyleBodyWrapper = StyleBodyWrapper;
@@ -3,26 +3,25 @@
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');
7
6
  require('react');
8
- var reactDesc = require('react-desc');
7
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
9
8
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
10
9
  var props = require('./props.js');
11
- var useValidateProps = require('./config/useValidateProps.js');
12
10
  var styled = require('./styled.js');
13
11
 
14
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
13
 
16
14
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
15
 
18
- const ChatCard = props => {
19
- useValidateProps.useValidateProps(props, ChatCardWithSchema.toJSON());
16
+ const ChatCard = props$1 => {
17
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props$1, props.defaultProps);
18
+ dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, props.propTypes);
20
19
  const {
21
20
  title,
22
21
  content,
23
22
  time,
24
23
  rightAddon
25
- } = props;
24
+ } = props$1;
26
25
  return /*#__PURE__*/_jsx__default["default"](styled.Wrapper, {
27
26
  cols: ['1fr', 'auto'],
28
27
  "data-testid": "chat-card-wrapper"
@@ -39,7 +38,7 @@ const ChatCard = props => {
39
38
  }, void 0, rightAddon));
40
39
  };
41
40
 
42
- const ChatCardWithSchema = reactDesc.describe(ChatCard);
41
+ const ChatCardWithSchema = dsPropsHelpers.describe(ChatCard);
43
42
  ChatCardWithSchema.propTypes = props.propTypes;
44
43
 
45
44
  exports.ChatCard = ChatCard;
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ const defaultProps = {
9
+ title: '',
10
+ content: '',
11
+ time: '',
12
+ rightAddon: /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {})
13
+ };
14
+ const propTypes = {
15
+ title: dsPropsHelpers.PropTypes.string.isRequired.description("Card's title"),
16
+ content: dsPropsHelpers.PropTypes.string.description("Card's content"),
17
+ time: dsPropsHelpers.PropTypes.string.description('Time'),
18
+ rightAddon: dsPropsHelpers.PropTypes.element.description('Right addon, badge or icon')
19
+ };
20
+
21
+ exports.defaultProps = defaultProps;
22
+ exports.propTypes = propTypes;
@@ -10,22 +10,22 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
12
  const Wrapper = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
13
- componentId: "sc-s0g4hn-0"
13
+ componentId: "sc-1x060wl-0"
14
14
  })(["min-width:248px;border:1px;border-bottom:1px solid #ccc;padding:12px 12px;"]);
15
15
  const MainContent = /*#__PURE__*/styled__default["default"].div.withConfig({
16
- componentId: "sc-s0g4hn-1"
16
+ componentId: "sc-1x060wl-1"
17
17
  })([""]);
18
18
  const Title = /*#__PURE__*/styled__default["default"].p.withConfig({
19
- componentId: "sc-s0g4hn-2"
19
+ componentId: "sc-1x060wl-2"
20
20
  })(["font-size:16px;font-weight:600;margin:0;"]);
21
21
  const Content = /*#__PURE__*/styled__default["default"].p.withConfig({
22
- componentId: "sc-s0g4hn-3"
22
+ componentId: "sc-1x060wl-3"
23
23
  })(["font-size:12px;font-weight:400;line-height:1;margin:0;"]);
24
24
  const Time = /*#__PURE__*/styled__default["default"].p.withConfig({
25
- componentId: "sc-s0g4hn-4"
25
+ componentId: "sc-1x060wl-4"
26
26
  })(["font-size:12px;font-weight:100;margin:0;margin-top:8px;font-weight:", ";color:", ";"], props => props.theme.fontWeights.regular, props => props.theme.colors.neutral['500']);
27
27
  const RightAddon = /*#__PURE__*/styled__default["default"].div.withConfig({
28
- componentId: "sc-s0g4hn-5"
28
+ componentId: "sc-1x060wl-5"
29
29
  })(["height:fit-content;margin-left:12px;"]);
30
30
 
31
31
  exports.Content = Content;
@@ -4,24 +4,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
7
8
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
8
9
  var styled = require('./styled.js');
10
+ var props = require('./props.js');
9
11
  var helpers = require('./helpers.js');
10
12
 
11
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
14
 
13
15
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
14
16
 
15
- const ChatContainerHeader = props => {
17
+ const ChatContainerHeader = props$1 => {
18
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props$1, props.defaultProps);
19
+ dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, props.propTypes);
16
20
  const {
17
21
  title,
18
- floating,
19
22
  children
20
- } = props;
23
+ } = propsWithDefault;
21
24
  return /*#__PURE__*/_jsx__default["default"](styled.StyledChatContainerContentHeader, {
22
25
  alignItems: "center",
23
26
  cols: ['minmax(calc(100% - 64px), 1fr)', children ? 'auto' : '0px'],
24
- floating: floating,
25
27
  role: "heading"
26
28
  }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledChatContainerContentHeaderLabel, {
27
29
  "data-testid": "chat-container-header-title",
@@ -36,4 +38,8 @@ const ChatContainerHeader = props => {
36
38
  }, void 0, children));
37
39
  };
38
40
 
41
+ const ChatContainerHeaderWithSchema = dsPropsHelpers.describe(ChatContainerHeader);
42
+ ChatContainerHeaderWithSchema.propTypes = props.propTypes;
43
+
39
44
  exports.ChatContainerHeader = ChatContainerHeader;
45
+ exports.ChatContainerHeaderWithSchema = ChatContainerHeaderWithSchema;
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ const defaultProps = {
9
+ title: '',
10
+ children: /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {})
11
+ };
12
+ const propTypes = {
13
+ title: dsPropsHelpers.PropTypes.string.isRequired.description("Card's title"),
14
+ children: dsPropsHelpers.PropTypes.node.description('Childrens')
15
+ };
16
+
17
+ exports.defaultProps = defaultProps;
18
+ exports.propTypes = propTypes;
@@ -10,14 +10,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
12
  const StyledChatContainerContentHeaderActions = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
13
- componentId: "sc-jmynvr-0"
13
+ componentId: "sc-rsxerm-0"
14
14
  })(["max-width:80px;"]);
15
15
  const StyledChatContainerContentHeader = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
16
- componentId: "sc-jmynvr-1"
16
+ componentId: "sc-rsxerm-1"
17
17
  })(["width:100%;min-height:48px;border-bottom:1px solid ", ";background:", ";", "{& button{background:transparent;}}"], props => props.theme.colors.neutral['200'], props => props.theme.colors.neutral['050'], StyledChatContainerContentHeaderActions);
18
18
  const StyledChatContainerContentHeaderLabel = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
19
- componentId: "sc-jmynvr-2"
20
- })(["justify-content:center;align-items:center;font-weight:bold;font-size:18px;color:", ";"], props => props.theme.colors.neutral['700']);
19
+ componentId: "sc-rsxerm-2"
20
+ })(["justify-content:center;align-items:center;font-weight:bold;font-size:18px;color:", ";line-height:1.6;"], props => props.theme.colors.neutral['700']);
21
21
 
22
22
  exports.StyledChatContainerContentHeader = StyledChatContainerContentHeader;
23
23
  exports.StyledChatContainerContentHeaderActions = StyledChatContainerContentHeaderActions;
@@ -3,27 +3,26 @@
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');
7
6
  var React = require('react');
8
- var reactDesc = require('react-desc');
7
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
9
8
  var dsGrid = require('@elliemae/ds-grid');
10
9
  var dsIcons = require('@elliemae/ds-icons');
11
10
  var props = require('./props.js');
12
11
  var styled = require('./styled.js');
13
- var useValidateProps = require('./config/useValidateProps.js');
14
12
 
15
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
14
 
17
15
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
18
16
 
19
- const ChatEmptyState = props => {
17
+ const ChatEmptyState = props$1 => {
20
18
  var _Grid, _Grid2;
21
19
 
22
- useValidateProps.useValidateProps(props, ChatEmptyStateListWithSchema.toJSON());
20
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props$1, props.defaultProps);
21
+ dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, props.emptyStateProps);
23
22
  const {
24
23
  label,
25
24
  action
26
- } = props;
25
+ } = propsWithDefault;
27
26
  const MainContent = React.useMemo(() => /*#__PURE__*/_jsx__default["default"](dsGrid.Grid, {
28
27
  alignItems: "center",
29
28
  justifyContent: "center"
@@ -46,9 +45,8 @@ const ChatEmptyState = props => {
46
45
  }, void 0, MainContent);
47
46
  };
48
47
 
49
- ChatEmptyState.defaultProps = props.defaultProps;
50
- const ChatEmptyStateListWithSchema = reactDesc.describe(ChatEmptyState);
51
- ChatEmptyStateListWithSchema.propTypes = props.emptyStateProps;
48
+ const ChatEmptyStateWithSchema = dsPropsHelpers.describe(ChatEmptyState);
49
+ ChatEmptyStateWithSchema.propTypes = props.emptyStateProps;
52
50
 
53
51
  exports.ChatEmptyState = ChatEmptyState;
54
- exports.ChatEmptyStateListWithSchema = ChatEmptyStateListWithSchema;
52
+ exports.ChatEmptyStateWithSchema = ChatEmptyStateWithSchema;
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ const defaultProps = {
9
+ label: 'No Messages Yet',
10
+ action: /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {})
11
+ };
12
+ const emptyStateProps = {
13
+ label: dsPropsHelpers.PropTypes.string.description('No Message to show text helper').defaultValue(defaultProps.label),
14
+ action: dsPropsHelpers.PropTypes.node.description('action element').defaultValue(defaultProps.action)
15
+ };
16
+
17
+ exports.defaultProps = defaultProps;
18
+ exports.emptyStateProps = emptyStateProps;
@@ -11,10 +11,10 @@ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
 
12
12
  const CONTAINER_WIDTH = 300;
13
13
  const ChatEmptyStateWrapper = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
14
- componentId: "sc-1tutmen-0"
14
+ componentId: "sc-16zzc1w-0"
15
15
  })(["height:100%;min-width:", "px;overflow:hidden;background:", ";"], CONTAINER_WIDTH, props => props.theme.colors.neutral['050']);
16
16
  const MessageWrapper = /*#__PURE__*/styled__default["default"].p.withConfig({
17
- componentId: "sc-1tutmen-1"
17
+ componentId: "sc-16zzc1w-1"
18
18
  })(["font-size:18px;"]);
19
19
 
20
20
  exports.CONTAINER_WIDTH = CONTAINER_WIDTH;
@@ -4,7 +4,6 @@ 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('core-js/modules/web.url.to-json.js');
8
7
  require('core-js/modules/esnext.async-iterator.map.js');
9
8
  require('core-js/modules/esnext.iterator.map.js');
10
9
  require('core-js/modules/esnext.async-iterator.filter.js');
@@ -13,13 +12,12 @@ require('core-js/modules/esnext.iterator.filter.js');
13
12
  require('core-js/modules/esnext.async-iterator.for-each.js');
14
13
  require('core-js/modules/esnext.iterator.for-each.js');
15
14
  var React = require('react');
16
- var reactDesc = require('react-desc');
15
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
17
16
  var dsIcons = require('@elliemae/ds-icons');
18
17
  var styled = require('./styled.js');
19
18
  var TileButton = require('../tile-button/TileButton.js');
20
- var SidebarButton = require('../sidebar-button/SidebarButton.js');
19
+ var SidebarButton = require('./sidebar-button/SidebarButton.js');
21
20
  var props = require('./props.js');
22
- var useValidateProps = require('./config/useValidateProps.js');
23
21
  var jsxRuntime = require('react/jsx-runtime');
24
22
 
25
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -41,7 +39,6 @@ const FooterChat = _ref => {
41
39
  } = _ref;
42
40
  return /*#__PURE__*/_jsx__default["default"](SidebarButton.SidebarButton, {
43
41
  dsId: "sidebar_footer",
44
- label: null,
45
42
  Icon: !expanded ? dsIcons.MenuCollapse : dsIcons.MenuExpand,
46
43
  onClick: expanded ? onFooterClose : onFooterExpand,
47
44
  "aria-pressed": expanded,
@@ -49,8 +46,9 @@ const FooterChat = _ref => {
49
46
  });
50
47
  };
51
48
 
52
- const SideBarChat = props => {
53
- useValidateProps.useValidateProps(props, SideBarChatWithSchema.toJSON());
49
+ const SideBarChat = props$1 => {
50
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props$1, props.defaultProps);
51
+ dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, props.chatSidebarProps);
54
52
  const {
55
53
  sidebarItems,
56
54
  expanded,
@@ -61,7 +59,7 @@ const SideBarChat = props => {
61
59
  tooltipPlacement,
62
60
  enableTooltipWhenIsClosed,
63
61
  actionRef
64
- } = props;
62
+ } = propsWithDefault;
65
63
  const {
66
64
  current: listRef
67
65
  } = React__default["default"].useRef({});
@@ -69,7 +67,9 @@ const SideBarChat = props => {
69
67
  if (ref) listRef[ref.dataset.key] = ref;
70
68
  }, [listRef]);
71
69
  React__default["default"].useEffect(() => {
72
- if (actionRef.current.listRef) {
70
+ var _actionRef$current;
71
+
72
+ if ((_actionRef$current = actionRef.current) !== null && _actionRef$current !== void 0 && _actionRef$current.listRef) {
73
73
  actionRef.current.listRef = listRef;
74
74
  }
75
75
  }, [sidebarItems, expanded, actionRef, listRef]);
@@ -91,8 +91,7 @@ const SideBarChat = props => {
91
91
  });
92
92
  };
93
93
 
94
- SideBarChat.defaultProps = props.defaultProps;
95
- const SideBarChatWithSchema = reactDesc.describe(SideBarChat);
94
+ const SideBarChatWithSchema = dsPropsHelpers.describe(SideBarChat);
96
95
  SideBarChatWithSchema.propTypes = props.chatSidebarProps;
97
96
 
98
97
  exports.SideBarChat = SideBarChat;
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var React = require('react');
5
6
  var reactDesc = require('react-desc');
6
7
  var lodash = require('lodash');
7
8
 
@@ -18,11 +19,7 @@ const defaultProps = {
18
19
  },
19
20
  tooltipPlacement: 'right',
20
21
  enableTooltipWhenIsClosed: false,
21
- actionRef: {
22
- current: {
23
- listRef: []
24
- }
25
- }
22
+ actionRef: /*#__PURE__*/React.createRef()
26
23
  };
27
24
  const chatSidebarProps = {
28
25
  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),
@@ -37,7 +37,7 @@ const SidebarButton = _ref => {
37
37
  rest = _objectWithoutProperties__default["default"](_ref, _excluded);
38
38
 
39
39
  const handleClick = React__default["default"].useCallback(() => {
40
- onClick(dsId);
40
+ if (dsId) onClick(dsId);
41
41
  }, [onClick, dsId]);
42
42
  return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledSidebarButton, _objectSpread(_objectSpread({
43
43
  "data-testid": "sidebar-button-".concat(dsId),
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
+ var lodash = require('lodash');
7
+ var dsIcons = require('@elliemae/ds-icons');
8
+
9
+ const defaultSidebarButton = {
10
+ Icon: dsIcons.Comments,
11
+ dsId: '',
12
+ label: '',
13
+ onClick: lodash.noop,
14
+ title: ''
15
+ };
16
+ const propsSidebarButton = {
17
+ Icon: dsPropsHelpers.PropTypes.element.description('Icon component').defaultValue(defaultSidebarButton.Icon),
18
+ dsId: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.number, dsPropsHelpers.PropTypes.string]).description('Unique id for the button').defaultValue(defaultSidebarButton.dsId),
19
+ label: dsPropsHelpers.PropTypes.string.description('It will display under the icon').defaultValue(defaultSidebarButton.label),
20
+ title: dsPropsHelpers.PropTypes.string.description('Tooltip').defaultValue(defaultSidebarButton.title),
21
+ onClick: dsPropsHelpers.PropTypes.func.description('The function to call when the is clicked').defaultValue(defaultSidebarButton.onClick)
22
+ };
23
+
24
+ exports.defaultSidebarButton = defaultSidebarButton;
25
+ exports.propsSidebarButton = propsSidebarButton;
@@ -4,20 +4,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var styled = require('styled-components');
6
6
  var dsGrid = require('@elliemae/ds-grid');
7
- var styled$1 = require('../../styled.js');
7
+ var styled$1 = require('../../../styled.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
13
  const StyledSidebarButton = /*#__PURE__*/styled__default["default"].button.withConfig({
14
- componentId: "sc-6ygly3-0"
14
+ componentId: "sc-1k6wb46-0"
15
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
16
  const StyledSidebarButtonIcon = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
17
- componentId: "sc-6ygly3-1"
17
+ componentId: "sc-1k6wb46-1"
18
18
  })(["position:relative;"]);
19
19
  const StyledSidebarButtonLabel = /*#__PURE__*/styled__default["default"].div.withConfig({
20
- componentId: "sc-6ygly3-2"
20
+ componentId: "sc-1k6wb46-2"
21
21
  })(["width:30px;text-transform:uppercase;overflow:hidden;text-align:center;"]);
22
22
 
23
23
  exports.StyledSidebarButton = StyledSidebarButton;
@@ -11,10 +11,10 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
11
11
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
12
12
 
13
13
  const StyledSideBarContainer = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
14
- componentId: "sc-16uijso-0"
14
+ componentId: "sc-18v8jb-0"
15
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
16
  const StyledSideBarButtonsContainer = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
17
- componentId: "sc-16uijso-1"
17
+ componentId: "sc-18v8jb-1"
18
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;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('react');
7
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
7
8
  var dsIcons = require('@elliemae/ds-icons');
8
9
  var styled = require('./styled.js');
9
10
  var props = require('./props.js');
@@ -14,12 +15,15 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
14
15
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
16
 
16
17
  var _Comments;
17
- const FloatingButton = _ref => {
18
- let {
19
- onClick,
18
+
19
+ const FloatingButton = props$1 => {
20
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props$1, props.defaultFloatingButton);
21
+ dsPropsHelpers.useValidateTypescriptPropTypes(propsWithDefault, props.propsFloatingButton);
22
+ const {
20
23
  onFocus,
21
- innerRef
22
- } = _ref;
24
+ innerRef,
25
+ onClick
26
+ } = propsWithDefault;
23
27
  return /*#__PURE__*/jsxRuntime.jsx(styled.StyledFloatingButton, {
24
28
  onFocus: onFocus,
25
29
  ref: innerRef,
@@ -30,6 +34,9 @@ const FloatingButton = _ref => {
30
34
  }))
31
35
  });
32
36
  };
33
- FloatingButton.defaultProps = props.defaultFloatingButton;
37
+
38
+ const FloatingButtonWithSchema = dsPropsHelpers.describe(FloatingButton);
39
+ FloatingButtonWithSchema.propTypes = props.propsFloatingButton;
34
40
 
35
41
  exports.FloatingButton = FloatingButton;
42
+ exports.FloatingButtonWithSchema = FloatingButtonWithSchema;
@@ -7,3 +7,4 @@ var FloatingButton = require('./FloatingButton.js');
7
7
 
8
8
 
9
9
  exports.FloatingButton = FloatingButton.FloatingButton;
10
+ exports.FloatingButtonWithSchema = FloatingButton.FloatingButtonWithSchema;