@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.
- package/cjs/ChatDataTestids.js +27 -0
- package/cjs/index.js +1 -0
- package/cjs/parts/bubble/ChatBubble.js +33 -20
- package/cjs/parts/bubble/ChatBubbleArrow.js +64 -61
- package/cjs/parts/bubble/config/useValidateProps.js +31 -0
- package/cjs/parts/bubble/index.js +1 -0
- package/cjs/parts/bubble/props.js +5 -5
- package/cjs/parts/bubble/styled.js +12 -41
- package/cjs/parts/chat-card/ChatCard.js +26 -20
- package/cjs/parts/chat-card/config/useValidateProps.js +11 -0
- package/cjs/parts/chat-card/props.js +3 -3
- package/cjs/parts/chat-card/styled.js +6 -6
- package/cjs/parts/chat-composer/ChatContainerComposer.js +50 -25
- package/cjs/parts/chat-composer/config/useValidateProps.js +11 -0
- package/cjs/parts/chat-composer/props.js +10 -4
- package/cjs/parts/chat-composer/styled.js +8 -8
- package/cjs/parts/chat-container/ChatContainer.js +79 -29
- package/cjs/parts/chat-container/config/useValidateProps.js +11 -0
- package/cjs/parts/chat-container/props.js +12 -7
- package/cjs/parts/chat-container/styled.js +5 -5
- package/cjs/parts/chat-container-header/ChatContainerHeader.js +7 -7
- package/cjs/parts/chat-container-header/helpers.js +31 -0
- package/cjs/parts/chat-container-header/styled.js +6 -6
- package/cjs/parts/chat-container-messages-list/ChatContainerMessagesList.js +214 -34
- package/cjs/parts/chat-container-messages-list/config/useValidateProps.js +11 -0
- package/cjs/parts/chat-container-messages-list/props.js +6 -10
- package/cjs/parts/chat-container-messages-list/styled.js +11 -14
- package/cjs/parts/chat-empty-state/ChatEmptyState.js +22 -12
- package/cjs/parts/chat-empty-state/config/useValidateProps.js +11 -0
- package/cjs/parts/chat-empty-state/props.js +2 -1
- package/cjs/parts/chat-empty-state/styled.js +2 -2
- package/cjs/parts/chat-sidebar/SideBarChat.js +70 -36
- package/cjs/parts/chat-sidebar/config/useValidateProps.js +11 -0
- package/cjs/parts/chat-sidebar/props.js +11 -1
- package/cjs/parts/chat-sidebar/styled.js +4 -4
- package/cjs/parts/floating-button/FloatingButton.js +18 -10
- package/cjs/parts/floating-button/props.js +6 -2
- package/cjs/parts/floating-button/styled.js +1 -1
- package/cjs/parts/floating-container/styled.js +1 -1
- package/cjs/parts/grid-influencer/InfluencerContainer.js +2 -2
- package/cjs/parts/grid-influencer/styled.js +4 -8
- package/cjs/parts/message-delimiter/MessageDelimiter.js +18 -12
- package/cjs/parts/message-delimiter/config/useValidateProps.js +11 -0
- package/cjs/parts/message-delimiter/props.js +1 -1
- package/cjs/parts/message-delimiter/styled.js +4 -4
- package/cjs/parts/sidebar-button/SidebarButton.js +12 -7
- package/cjs/parts/sidebar-button/props.js +3 -4
- package/cjs/parts/sidebar-button/styled.js +4 -4
- package/cjs/parts/system-message/SystemMessage.js +21 -15
- package/cjs/parts/system-message/config/useValidateProps.js +11 -0
- package/cjs/parts/system-message/style.js +6 -6
- package/cjs/parts/tile-button/TileButton.js +40 -34
- package/cjs/parts/tile-button/config/useValidateProps.js +11 -0
- package/cjs/parts/tile-button/props.js +15 -13
- package/cjs/parts/tile-button/styled.js +22 -15
- package/cjs/styled.js +1 -1
- package/esm/ChatDataTestids.js +23 -0
- package/esm/index.js +1 -1
- package/esm/parts/bubble/ChatBubble.js +24 -12
- package/esm/parts/bubble/ChatBubbleArrow.js +64 -61
- package/esm/parts/bubble/config/useValidateProps.js +27 -0
- package/esm/parts/bubble/index.js +1 -1
- package/esm/parts/bubble/props.js +4 -4
- package/esm/parts/bubble/styled.js +3 -32
- package/esm/parts/chat-card/ChatCard.js +26 -20
- package/esm/parts/chat-card/config/useValidateProps.js +7 -0
- package/esm/parts/chat-card/props.js +3 -3
- package/esm/parts/chat-composer/ChatContainerComposer.js +33 -7
- package/esm/parts/chat-composer/config/useValidateProps.js +7 -0
- package/esm/parts/chat-composer/props.js +10 -4
- package/esm/parts/chat-composer/styled.js +2 -2
- package/esm/parts/chat-container/ChatContainer.js +68 -18
- package/esm/parts/chat-container/config/useValidateProps.js +7 -0
- package/esm/parts/chat-container/props.js +12 -7
- package/esm/parts/chat-container/styled.js +2 -2
- package/esm/parts/chat-container-header/ChatContainerHeader.js +3 -2
- package/esm/parts/chat-container-header/helpers.js +23 -0
- package/esm/parts/chat-container-header/styled.js +6 -6
- package/esm/parts/chat-container-messages-list/ChatContainerMessagesList.js +202 -22
- package/esm/parts/chat-container-messages-list/config/useValidateProps.js +7 -0
- package/esm/parts/chat-container-messages-list/props.js +6 -10
- package/esm/parts/chat-container-messages-list/styled.js +6 -10
- package/esm/parts/chat-empty-state/ChatEmptyState.js +16 -6
- package/esm/parts/chat-empty-state/config/useValidateProps.js +7 -0
- package/esm/parts/chat-empty-state/props.js +2 -1
- package/esm/parts/chat-sidebar/SideBarChat.js +69 -34
- package/esm/parts/chat-sidebar/config/useValidateProps.js +7 -0
- package/esm/parts/chat-sidebar/props.js +11 -1
- package/esm/parts/chat-sidebar/styled.js +2 -2
- package/esm/parts/floating-button/FloatingButton.js +18 -9
- package/esm/parts/floating-button/props.js +6 -2
- package/esm/parts/grid-influencer/styled.js +2 -6
- package/esm/parts/message-delimiter/MessageDelimiter.js +18 -12
- package/esm/parts/message-delimiter/config/useValidateProps.js +7 -0
- package/esm/parts/message-delimiter/props.js +1 -1
- package/esm/parts/message-delimiter/styled.js +1 -1
- package/esm/parts/sidebar-button/SidebarButton.js +6 -1
- package/esm/parts/sidebar-button/props.js +1 -1
- package/esm/parts/sidebar-button/styled.js +1 -1
- package/esm/parts/system-message/SystemMessage.js +21 -15
- package/esm/parts/system-message/config/useValidateProps.js +7 -0
- package/esm/parts/system-message/style.js +1 -1
- package/esm/parts/tile-button/TileButton.js +35 -27
- package/esm/parts/tile-button/config/useValidateProps.js +7 -0
- package/esm/parts/tile-button/props.js +14 -7
- package/esm/parts/tile-button/styled.js +15 -10
- package/esm/styled.js +1 -1
- package/package.json +69 -6
- package/types/ChatDataTestids.d.ts +21 -0
- package/types/index.d.ts +1 -1
- package/types/parts/bubble/ChatBubble.d.ts +20 -5
- package/types/parts/bubble/config/useValidateProps.d.ts +2 -0
- package/types/parts/bubble/index.d.ts +1 -1
- package/types/parts/bubble/props.d.ts +13 -4
- package/types/parts/bubble/styled.d.ts +9 -9
- package/types/parts/bubble/tests/ChatBubble.test.d.ts +1 -0
- package/types/parts/chat-card/ChatCard.d.ts +25 -5
- package/types/parts/chat-card/config/useValidateProps.d.ts +2 -0
- package/types/parts/chat-card/props.d.ts +19 -3
- package/types/parts/chat-card/styled.d.ts +6 -6
- package/types/parts/chat-composer/ChatContainerComposer.d.ts +48 -12
- package/types/parts/chat-composer/config/useValidateProps.d.ts +2 -0
- package/types/parts/chat-composer/styled.d.ts +117 -24
- package/types/parts/chat-composer/tests/ChatContainerComposer.test.d.ts +1 -0
- package/types/parts/chat-container/ChatContainer.d.ts +54 -12
- package/types/parts/chat-container/config/useValidateProps.d.ts +2 -0
- package/types/parts/chat-container/styled.d.ts +4 -4
- package/types/parts/chat-container/tests/ChatContainer.test.d.ts +1 -0
- package/types/parts/chat-container-header/helpers.d.ts +6 -0
- package/types/parts/chat-container-header/styled.d.ts +3 -3
- package/types/parts/chat-container-messages-list/ChatContainerMessagesList.d.ts +39 -9
- package/types/parts/chat-container-messages-list/config/useValidateProps.d.ts +2 -0
- package/types/parts/chat-container-messages-list/styled.d.ts +7 -6
- package/types/parts/chat-empty-state/ChatEmptyState.d.ts +19 -1
- package/types/parts/chat-empty-state/config/useValidateProps.d.ts +2 -0
- package/types/parts/chat-empty-state/props.d.ts +7 -1
- package/types/parts/chat-empty-state/styled.d.ts +2 -2
- package/types/parts/chat-sidebar/SideBarChat.d.ts +40 -10
- package/types/parts/chat-sidebar/config/useValidateProps.d.ts +2 -0
- package/types/parts/chat-sidebar/props.d.ts +39 -9
- package/types/parts/chat-sidebar/styled.d.ts +2 -2
- package/types/parts/floating-button/FloatingButton.d.ts +11 -2
- package/types/parts/floating-button/props.d.ts +13 -1
- package/types/parts/floating-button/styled.d.ts +1 -1
- package/types/parts/floating-container/styled.d.ts +1 -2
- package/types/parts/grid-influencer/styled.d.ts +2 -2
- package/types/parts/message-delimiter/MessageDelimiter.d.ts +22 -5
- package/types/parts/message-delimiter/config/useValidateProps.d.ts +2 -0
- package/types/parts/message-delimiter/props.d.ts +16 -3
- package/types/parts/message-delimiter/styled.d.ts +3 -3
- package/types/parts/sidebar-button/SidebarButton.d.ts +16 -5
- package/types/parts/sidebar-button/props.d.ts +16 -5
- package/types/parts/sidebar-button/styled.d.ts +3 -3
- package/types/parts/system-message/SystemMessage.d.ts +13 -3
- package/types/parts/system-message/config/useValidateProps.d.ts +2 -0
- package/types/parts/system-message/props.d.ts +7 -1
- package/types/parts/system-message/style.d.ts +5 -5
- package/types/parts/tile-button/TileButton.d.ts +66 -17
- package/types/parts/tile-button/config/useValidateProps.d.ts +2 -0
- package/types/parts/tile-button/props.d.ts +64 -16
- package/types/parts/tile-button/styled.d.ts +9 -8
- package/types/prop-types.d.ts +28 -9
- package/types/tests/utils.d.ts +27 -0
- package/cjs/package.json +0 -4
- package/esm/package.json +0 -4
- package/types/parts/chat-composer/props.d.ts +0 -32
- package/types/parts/chat-container/props.d.ts +0 -38
- 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('
|
|
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
|
|
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
|
|
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[
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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[
|
|
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[
|
|
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
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
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[
|
|
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[
|
|
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[
|
|
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[
|
|
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[
|
|
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 ?
|
|
16
|
-
const StyledChatContainerContent = /*#__PURE__*/styled__default[
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
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[
|
|
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[
|
|
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[
|
|
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' ?
|
|
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[
|
|
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[
|
|
37
|
+
rest = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
33
38
|
|
|
34
|
-
const handleClick = React__default[
|
|
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":
|
|
43
|
+
"data-testid": "sidebar-button-".concat(dsId),
|
|
39
44
|
onClick: handleClick
|
|
40
45
|
}, rest), {}, {
|
|
41
|
-
children: [/*#__PURE__*/_jsx__default[
|
|
46
|
+
children: [/*#__PURE__*/_jsx__default["default"](styled.StyledSidebarButtonIcon, {
|
|
42
47
|
alignItems: "center",
|
|
43
48
|
justifyContent: "center"
|
|
44
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
49
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](Icon, {
|
|
45
50
|
size: "m"
|
|
46
|
-
})), label && /*#__PURE__*/_jsx__default[
|
|
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
|
|
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:
|
|
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[
|
|
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[
|
|
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[
|
|
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[
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
|
|
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[
|
|
12
|
+
const Wrapper = /*#__PURE__*/styled__default["default"](dsGrid.Grid).withConfig({
|
|
13
13
|
componentId: "sc-80w41d-0"
|
|
14
|
-
})(["align-items:center;justify-content:center;
|
|
15
|
-
const Header = /*#__PURE__*/styled__default[
|
|
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[
|
|
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[
|
|
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[
|
|
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
|
|