beem-component 1.0.6 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,18 @@
1
+ .sidebar {
2
+ display: flex;
3
+ flex-direction: column;
4
+ max-height: 100%;
5
+ height: 100%;
6
+ overflow: auto;
7
+ max-width: 20%;
8
+ width: 20%;
9
+ border: 1px solid #E2E2E2;
10
+ }
11
+
12
+ .sidebar>* {
13
+ margin-bottom: 1.5rem;
14
+ }
15
+
1
16
  .main-sidebar-tabs {
2
17
  display: flex;
3
18
  flex-direction: row;
@@ -9,4 +24,57 @@
9
24
  .main-sidebar-tabs>.sidebar-tabs {
10
25
  padding: 1.714rem;
11
26
  flex: 1;
27
+ }
28
+
29
+ .sidebar-contacts {
30
+ display: flex;
31
+ flex-direction: column;
32
+ margin: 0rem;
33
+ overflow: auto;
34
+ }
35
+
36
+ .main-chat-container {
37
+ display: flex;
38
+ flex-direction: row;
39
+ align-items: center;
40
+ height: calc(100vh - 180px);
41
+ max-width: 100%;
42
+ width: 100%;
43
+ background: white;
44
+ }
45
+
46
+ .chat {
47
+ display: flex;
48
+ flex-direction: column;
49
+ max-height: 100%;
50
+ height: 100%;
51
+ flex-grow: 1;
52
+ max-height: 100%;
53
+ height: 100%;
54
+ }
55
+
56
+ .chat-menu {
57
+ display: flex;
58
+ flex-direction: row;
59
+ height: 0%;
60
+ flex-grow: 1;
61
+ width: 100%;
62
+ }
63
+
64
+ .chat-messages {
65
+ display: flex;
66
+ flex-direction: column;
67
+ height: 100%;
68
+ overflow: auto;
69
+ width: 80%;
70
+ border: 1px solid #E2E2E2;
71
+ }
72
+
73
+ .chat-contact-info {
74
+ display: flex;
75
+ flex-direction: column;
76
+ height: 100%;
77
+ overflow: auto;
78
+ width: 25%;
79
+ border: 1px solid #E2E2E2;
12
80
  }
@@ -31,13 +31,13 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
31
31
 
32
32
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
33
33
 
34
- var BmChat = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n ", "\n"])), ""
34
+ var BmChat = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n height: 100%;\n ", "\n"])), ""
35
35
  /* border: 0.071rem solid ${BmGrey400}; */
36
36
  );
37
37
 
38
- BmChat.Body = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n padding: 0rem 1.5rem;\n"])));
38
+ BmChat.Body = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n padding: 0rem 1.5rem;\n flex-grow: 1;\n overflow: auto;\n"])));
39
39
 
40
- var Details = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n ", "\n justify-content: ", ";\n > *:not(:last-child) {\n margin-right: 1rem;\n }\n overflow-wrap: break-word !important;\n word-wrap: break-word !important;\n margin: 0rem;\n"])), ""
40
+ var Details = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n ", "\n justify-content: ", ";\n > *:not(:last-child) {\n margin-right: 1rem;\n }\n overflow-wrap: break-word !important;\n word-wrap: break-word !important;\n margin: 0rem;\n flex-grow: 1;\n"])), ""
41
41
  /* align-items: center; */
42
42
  , function (_ref) {
43
43
  var state = _ref.state;
@@ -133,6 +133,8 @@ BmChat.Details = function (_ref6) {
133
133
  }));
134
134
  };
135
135
 
136
- BmChat.Footer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n border-top: 0.071rem solid ", ";\n padding: 0.5rem 0rem;\n align-items: center;\n justify-content: center;\n background: ", ";\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n"])), _colors.BmGrey400, _colors.BmGrey50);
136
+ BmChat.Footer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n border-top: 0.071rem solid ", ";\n padding: 0.5rem 0rem;\n align-items: center;\n justify-content: center;\n ", "\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n"])), _colors.BmGrey400, ''
137
+ /* background: ${BmGrey50}; */
138
+ );
137
139
  var _default = BmChat;
138
140
  exports.default = _default;
@@ -7,14 +7,15 @@ exports.BmChatHeader = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
10
- var _colors = require("../colors");
11
-
12
10
  var _templateObject;
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
15
 
18
- var BmChatHeader = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n border: 0.071rem solid ", ";\n padding: 1rem;\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n button {\n margin-left: auto;\n }\n"])), _colors.BmGrey400);
16
+ // import { BmGrey400 } from "../colors";
17
+ var BmChatHeader = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n ", "\n padding: 1rem;\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n button {\n margin-left: auto;\n }\n"])), ''
18
+ /* border: 0.071rem solid ${BmGrey400}; */
19
+ );
19
20
 
20
21
  exports.BmChatHeader = BmChatHeader;
@@ -15,7 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
 
16
16
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
17
 
18
- var BmContactCard = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n > *:not(:last-child) {\n margin-right: 1rem;\n }\n &:hover {\n background: ", ";\n }\n\n ", "\n cursor: pointer;\n"])), _colors.BmGrey100, function (_ref) {
18
+ var BmContactCard = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n > *:not(:last-child) {\n margin-right: 1rem;\n }\n &:hover {\n background: ", ";\n }\n\n ", "\n cursor: pointer;\n padding: 1rem 1.5rem;\n"])), _colors.BmGrey100, function (_ref) {
19
19
  var active = _ref.active;
20
20
  return active && " \n background: ".concat(_colors.BmGrey100, ";\n ");
21
21
  });
@@ -7,15 +7,16 @@ exports.default = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
10
- var _colors = require("../colors");
11
-
12
10
  var _templateObject, _templateObject2, _templateObject3;
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
15
 
18
- var BmInfoTab = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n padding: 1.5rem;\n border: 0.071rem solid ", ";\n > *:not(:last-child) {\n margin-bottom: 1rem;\n }\n"])), _colors.BmGrey400);
16
+ // import { BmGrey400 } from "../colors";
17
+ var BmInfoTab = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n padding: 1.5rem;\n ", "\n > *:not(:last-child) {\n margin-bottom: 1rem;\n }\n"])), ''
18
+ /* border: 0.071rem solid ${BmGrey400}; */
19
+ );
19
20
 
20
21
  BmInfoTab.Content = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n"])));
21
22
  BmInfoTab.Tabs = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n >*:not(:first-child) {\n margin-top: 0.5rem;\n }\n"])));
@@ -114,6 +114,12 @@ Object.defineProperty(exports, "BmInput", {
114
114
  return _input.BmInput;
115
115
  }
116
116
  });
117
+ Object.defineProperty(exports, "BmListBox", {
118
+ enumerable: true,
119
+ get: function get() {
120
+ return _listBox.BmListBox;
121
+ }
122
+ });
117
123
  Object.defineProperty(exports, "BmListHeader", {
118
124
  enumerable: true,
119
125
  get: function get() {
@@ -174,6 +180,12 @@ Object.defineProperty(exports, "BmTab", {
174
180
  return _tabs.BmTab;
175
181
  }
176
182
  });
183
+ Object.defineProperty(exports, "BmTag", {
184
+ enumerable: true,
185
+ get: function get() {
186
+ return _tags.BmTag;
187
+ }
188
+ });
177
189
  Object.defineProperty(exports, "BmTagIcon", {
178
190
  enumerable: true,
179
191
  get: function get() {
@@ -223,6 +235,8 @@ var _listheader = require("./Lists/listheader");
223
235
 
224
236
  var _rowLabels = require("./Lists/rowLabels");
225
237
 
238
+ var _listBox = require("./Lists/listBox");
239
+
226
240
  var _modal = _interopRequireDefault(require("./Modals/modal"));
227
241
 
228
242
  var _progressbar = require("./ProgressBar/progressbar");
@@ -237,6 +251,8 @@ var _loader = require("./Loader/loader");
237
251
 
238
252
  var _checkbox = require("./checkbox");
239
253
 
254
+ var _tags = require("./tags");
255
+
240
256
  var _iconStyles = require("./iconStyles");
241
257
 
242
258
  var _noteBar = require("./NoteBar/noteBar");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beem-component",
3
- "version": "1.0.6",
3
+ "version": "1.1.0",
4
4
  "private": false,
5
5
  "main": "dist/components/index.js",
6
6
  "scripts": {
package/src/App.js CHANGED
@@ -1,94 +1,35 @@
1
- import React, { useState } from "react";
1
+ import React from "react";
2
2
  import "../src/main.scss";
3
- import { BmAvatar, BmInput, BmTab, MainWrapper } from "./lib/components";
3
+ import { MainWrapper } from "./lib/components";
4
4
  import { GlobalStyle } from "./lib/components/globalStyles";
5
- import { BmSideBar } from "./lib/components/sidebar";
6
5
  import "./lib/assets/css/sidebar.css";
7
- import BmChat from "./lib/components/ChatBody/chatBody";
8
- import { DoneAll, Home, MoreVert, Person, Phone } from "@material-ui/icons";
9
- import { BmIcons } from "./lib/components/iconStyles";
10
- import EmojiEmotionsIcon from "@mui/icons-material/EmojiEmotions";
11
- import AttachFileIcon from "@mui/icons-material/AttachFile";
12
- import QuickreplyIcon from "@mui/icons-material/Quickreply";
13
- import SendIcon from "@mui/icons-material/Send";
14
- import BmInfoTab from "./lib/components/InfoTab/infoTab";
15
- import { BmButton } from "./lib/components/Buttons/buttons";
16
- import {
17
- BmCustomizedDropdown,
18
- BmDropDownMenu,
19
- BmDropDownItem,
20
- BmButtonDropdownItem,
21
- } from "./lib/components/dropdownItems";
22
-
23
- import { BmButtonDropDown } from "./lib/components/dropdownButton";
24
- import { BmListBox } from "./lib/components/Lists/listBox";
25
- import { BmRowLabel } from "./lib/components/Lists/rowLabels";
6
+ import SideBar from "./SideBar";
7
+ import ChatHeader from "./ChatHeader";
8
+ import Chat from "./Chat";
9
+ import CustomerInfo from "./CustomerInfo";
26
10
 
27
11
  export const App = () => {
28
- const [dropDownItem, setDropdownItem] = useState(false);
29
12
 
30
13
  return (
31
14
  <>
32
15
  <GlobalStyle />
33
16
  <MainWrapper>
34
- <BmSideBar>
35
- <div className="main-sidebar-tabs">
36
- <BmTab state="active" className="sidebar-tabs">
37
- <h3>Tabs</h3>
38
- </BmTab>
39
- <BmTab state="inactive" className="sidebar-tabs">
40
- <h3>Tabs</h3>
41
- </BmTab>
17
+ <div className="main-chat-container">
18
+ <div className="sidebar">
19
+ <SideBar />
42
20
  </div>
43
- </BmSideBar>
44
-
45
- <BmChat>
46
- <BmChat.Body>
47
- <BmChat.Details
48
- state="inbound"
49
- session="bot"
50
- displayTime={<p>12:00pm</p>}
51
- status="sent"
52
- >
53
- <p>Inbound</p>
54
- </BmChat.Details>
55
- <BmChat.Details
56
- state="outbound"
57
- session="live"
58
- displayTime={<p>10:00am</p>}
59
- status="failed"
60
- >
61
- <p>Outbound</p>
62
- </BmChat.Details>
63
- </BmChat.Body>
64
- <BmChat.Footer>
65
- <BmIcons icon={<EmojiEmotionsIcon />} size="xlarge" />
66
- <BmIcons icon={<AttachFileIcon />} size="xlarge" />
67
- <BmIcons icon={<QuickreplyIcon />} size="xlarge" />
68
- <BmInput placeholder="Enter Message" />
69
- <BmIcons icon={<SendIcon />} size="xlarge" />
70
- </BmChat.Footer>
71
- </BmChat>
72
- {/* <BmCustomizedDropdown> */}
73
- <BmButton>Create Ticket</BmButton>
74
- <BmButtonDropDown
75
- size="medium"
76
- onClick={() => {
77
- setDropdownItem(!dropDownItem);
78
- }}
79
- variant="primary"
80
- >
81
- Session
82
- </BmButtonDropDown>
83
- <BmListBox isOpen={dropDownItem}>
84
- <BmRowLabel trailingIcon={<Person />} size="large">
85
- <h4>Row Label</h4>
86
- </BmRowLabel>
87
- <BmRowLabel size="large">
88
- <h4>Row Label</h4>
89
- </BmRowLabel>
90
- </BmListBox>
91
- {/* </BmCustomizedDropdown> */}
21
+ <div className="chat">
22
+ <ChatHeader />
23
+ <div className="chat-menu">
24
+ <div className="chat-messages">
25
+ <Chat />
26
+ </div>
27
+ <div className="chat-contact-info">
28
+ <CustomerInfo />
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
92
33
  </MainWrapper>
93
34
  </>
94
35
  );
package/src/Chat.js ADDED
@@ -0,0 +1,120 @@
1
+ import React from 'react';
2
+ import { AttachFile } from '@material-ui/icons';
3
+ import EmojiEmotionsIcon from '@material-ui/icons/EmojiEmotions';
4
+ import QuickreplyIcon from '@mui/icons-material/Quickreply';
5
+ import SendIcon from '@mui/icons-material/Send';
6
+ import { BmChat, BmIcons, BmInput } from './lib/components';
7
+
8
+ const Chat = () => {
9
+ return (
10
+ <BmChat>
11
+ <BmChat.Body style={{ flex: 1 }}>
12
+ <BmChat.Details
13
+ state="inbound"
14
+ session="bot"
15
+ displayTime={<p>12:00pm</p>}
16
+ status="sent"
17
+ >
18
+ <p>Inbound</p>
19
+ </BmChat.Details>
20
+ <BmChat.Details
21
+ state="outbound"
22
+ session="live"
23
+ displayTime={<p>10:00am</p>}
24
+ status="failed"
25
+ >
26
+ <p>Outbound</p>
27
+ </BmChat.Details>
28
+ <BmChat.Details
29
+ state="outbound"
30
+ session="live"
31
+ displayTime={<p>10:00am</p>}
32
+ status="failed"
33
+ >
34
+ <p>Outbound</p>
35
+ </BmChat.Details>
36
+ <BmChat.Details
37
+ state="outbound"
38
+ session="live"
39
+ displayTime={<p>10:00am</p>}
40
+ status="failed"
41
+ >
42
+ <p>Outbound</p>
43
+ </BmChat.Details>
44
+ <BmChat.Details
45
+ state="outbound"
46
+ session="live"
47
+ displayTime={<p>10:00am</p>}
48
+ status="failed"
49
+ >
50
+ <p>Outbound</p>
51
+ </BmChat.Details>{' '}
52
+ <BmChat.Details
53
+ state="outbound"
54
+ session="live"
55
+ displayTime={<p>10:00am</p>}
56
+ status="failed"
57
+ >
58
+ <p>Outbound</p>
59
+ </BmChat.Details>{' '}
60
+ <BmChat.Details
61
+ state="outbound"
62
+ session="live"
63
+ displayTime={<p>10:00am</p>}
64
+ status="failed"
65
+ >
66
+ <p>Outbound</p>
67
+ </BmChat.Details>{' '}
68
+ <BmChat.Details
69
+ state="outbound"
70
+ session="live"
71
+ displayTime={<p>10:00am</p>}
72
+ status="failed"
73
+ >
74
+ <p>Outbound</p>
75
+ </BmChat.Details>{' '}
76
+ <BmChat.Details
77
+ state="outbound"
78
+ session="live"
79
+ displayTime={<p>10:00am</p>}
80
+ status="failed"
81
+ >
82
+ <p>Outbound</p>
83
+ </BmChat.Details>{' '}
84
+ <BmChat.Details
85
+ state="outbound"
86
+ session="live"
87
+ displayTime={<p>10:00am</p>}
88
+ status="failed"
89
+ >
90
+ <p>Outbound</p>
91
+ </BmChat.Details>{' '}
92
+ <BmChat.Details
93
+ state="outbound"
94
+ session="live"
95
+ displayTime={<p>10:00am</p>}
96
+ status="failed"
97
+ >
98
+ <p>Outbound</p>
99
+ </BmChat.Details>{' '}
100
+ <BmChat.Details
101
+ state="outbound"
102
+ session="live"
103
+ displayTime={<p>10:00am</p>}
104
+ status="failed"
105
+ >
106
+ <p>Outbound</p>
107
+ </BmChat.Details>
108
+ </BmChat.Body>
109
+ <BmChat.Footer>
110
+ <BmIcons icon={<EmojiEmotionsIcon />} size="xlarge" />
111
+ <BmIcons icon={<AttachFile />} size="xlarge" />
112
+ <BmIcons icon={<QuickreplyIcon />} size="xlarge" />
113
+ <BmInput placeholder="Enter Message" />
114
+ <BmIcons icon={<SendIcon />} size="xlarge" />
115
+ </BmChat.Footer>
116
+ </BmChat>
117
+ );
118
+ };
119
+
120
+ export default Chat;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { BmChatHeader, BmButton} from '../src/lib/components/';
3
+
4
+ export const ChatHeader = ({ info }) => {
5
+ return (
6
+ <>
7
+ <BmChatHeader style={{ border: "1px solid #E2E2E2" }}>
8
+ <h2>Contact Name</h2>
9
+ <p>Last seen: 00:00</p>
10
+ <BmButton size="medium">End Session</BmButton>
11
+ </BmChatHeader>
12
+ </>
13
+ );
14
+ };
15
+
16
+ export default ChatHeader;
@@ -0,0 +1,46 @@
1
+ /* eslint-disable react/prop-types */
2
+ import React from 'react';
3
+ import { BmBtnIcon, BmInfoTab, BmIcons } from '../src/lib/components/';
4
+ import CallIcon from '@material-ui/icons/Call';
5
+ import EmailIcon from '@material-ui/icons/Email';
6
+ import NoteAddIcon from '@material-ui/icons/NoteAdd';
7
+ import AddIcon from '@material-ui/icons/Add';
8
+ import PriorityHighIcon from '@material-ui/icons/PriorityHigh';
9
+ import { MoreVert } from '@material-ui/icons';
10
+
11
+ const CustomerInfo = () => {
12
+ return (
13
+ <>
14
+ <BmInfoTab>
15
+ <BmInfoTab.Content>
16
+ <h3>Contact Name</h3>
17
+ <BmIcons icon={<MoreVert />} />
18
+ </BmInfoTab.Content>
19
+ <BmInfoTab.Content>
20
+ <BmInfoTab.Tabs>
21
+ <BmBtnIcon icon={<CallIcon />} />
22
+ <h4>Call</h4>
23
+ </BmInfoTab.Tabs>
24
+ <BmInfoTab.Tabs>
25
+ <BmBtnIcon icon={<EmailIcon />} />
26
+ <h4>Email</h4>
27
+ </BmInfoTab.Tabs>
28
+ <BmInfoTab.Tabs>
29
+ <BmBtnIcon icon={<NoteAddIcon />} />
30
+ <h4>Note</h4>
31
+ </BmInfoTab.Tabs>
32
+ <BmInfoTab.Tabs>
33
+ <BmBtnIcon icon={<AddIcon />} />
34
+ <h4>Log</h4>
35
+ </BmInfoTab.Tabs>
36
+ <BmInfoTab.Tabs>
37
+ <BmBtnIcon icon={<PriorityHighIcon />} variant="enabled" />
38
+ <h4>Priority</h4>
39
+ </BmInfoTab.Tabs>
40
+ </BmInfoTab.Content>
41
+ </BmInfoTab>
42
+ </>
43
+ );
44
+ };
45
+
46
+ export default CustomerInfo;
package/src/SideBar.js ADDED
@@ -0,0 +1,78 @@
1
+ import React from "react";
2
+ import { BmTab } from "./lib/components/Tabs/tabs";
3
+ import ForumIcon from '@material-ui/icons/Forum';
4
+ import { BmContactCard, BmAvatar, BmCounter, BmTag } from "./lib/components";
5
+
6
+ const SideBar = () => {
7
+ return (
8
+ <>
9
+ <div className="main-sidebar-tabs">
10
+ <BmTab
11
+ state="active"
12
+ className="sidebar-tabs"
13
+ leadingIcon={<ForumIcon />}
14
+ >
15
+ <h3>Chats</h3>
16
+ </BmTab>
17
+ </div>
18
+ <div className="sidebar-contacts">
19
+ <BmContactCard>
20
+ <BmContactCard.Profile>
21
+ <BmAvatar user="employee" size="small" color="{$BmPrimaryBlack}" />
22
+ </BmContactCard.Profile>
23
+ <BmContactCard.Details>
24
+ <BmContactCard.SubDetails>
25
+ <h3>Contact Names</h3>
26
+ </BmContactCard.SubDetails>
27
+ <BmContactCard.SubDetails>
28
+ <p>Message text</p>
29
+ <BmCounter>10</BmCounter>
30
+ </BmContactCard.SubDetails>
31
+ <BmContactCard.SubDetails>
32
+ <BmTag variant="success">label</BmTag>
33
+ <p>10:00 am</p>
34
+ </BmContactCard.SubDetails>
35
+ </BmContactCard.Details>
36
+ </BmContactCard>
37
+ <BmContactCard>
38
+ <BmContactCard.Profile>
39
+ <BmAvatar user="employee" size="small" color="{$BmPrimaryBlack}" />
40
+ </BmContactCard.Profile>
41
+ <BmContactCard.Details>
42
+ <BmContactCard.SubDetails>
43
+ <h3>Contact Names</h3>
44
+ </BmContactCard.SubDetails>
45
+ <BmContactCard.SubDetails>
46
+ <p>Message text</p>
47
+ <BmCounter>10</BmCounter>
48
+ </BmContactCard.SubDetails>
49
+ <BmContactCard.SubDetails>
50
+ <BmTag variant="success">label</BmTag>
51
+ <p>10:00 am</p>
52
+ </BmContactCard.SubDetails>
53
+ </BmContactCard.Details>
54
+ </BmContactCard>
55
+ <BmContactCard>
56
+ <BmContactCard.Profile>
57
+ <BmAvatar user="employee" size="small" color="{$BmPrimaryBlack}" />
58
+ </BmContactCard.Profile>
59
+ <BmContactCard.Details>
60
+ <BmContactCard.SubDetails>
61
+ <h3>Contact Names</h3>
62
+ </BmContactCard.SubDetails>
63
+ <BmContactCard.SubDetails>
64
+ <p>Message text</p>
65
+ <BmCounter>10</BmCounter>
66
+ </BmContactCard.SubDetails>
67
+ <BmContactCard.SubDetails>
68
+ {/* <BmTag variant="success">label</BmTag> */}
69
+ <p>10:00 am</p>
70
+ </BmContactCard.SubDetails>
71
+ </BmContactCard.Details>
72
+ </BmContactCard>
73
+ </div>
74
+ </>
75
+ );
76
+ };
77
+
78
+ export default SideBar;
@@ -1,3 +1,18 @@
1
+ .sidebar {
2
+ display: flex;
3
+ flex-direction: column;
4
+ max-height: 100%;
5
+ height: 100%;
6
+ overflow: auto;
7
+ max-width: 20%;
8
+ width: 20%;
9
+ border: 1px solid #E2E2E2;
10
+ }
11
+
12
+ .sidebar>* {
13
+ margin-bottom: 1.5rem;
14
+ }
15
+
1
16
  .main-sidebar-tabs {
2
17
  display: flex;
3
18
  flex-direction: row;
@@ -9,4 +24,57 @@
9
24
  .main-sidebar-tabs>.sidebar-tabs {
10
25
  padding: 1.714rem;
11
26
  flex: 1;
27
+ }
28
+
29
+ .sidebar-contacts {
30
+ display: flex;
31
+ flex-direction: column;
32
+ margin: 0rem;
33
+ overflow: auto;
34
+ }
35
+
36
+ .main-chat-container {
37
+ display: flex;
38
+ flex-direction: row;
39
+ align-items: center;
40
+ height: calc(100vh - 180px);
41
+ max-width: 100%;
42
+ width: 100%;
43
+ background: white;
44
+ }
45
+
46
+ .chat {
47
+ display: flex;
48
+ flex-direction: column;
49
+ max-height: 100%;
50
+ height: 100%;
51
+ flex-grow: 1;
52
+ max-height: 100%;
53
+ height: 100%;
54
+ }
55
+
56
+ .chat-menu {
57
+ display: flex;
58
+ flex-direction: row;
59
+ height: 0%;
60
+ flex-grow: 1;
61
+ width: 100%;
62
+ }
63
+
64
+ .chat-messages {
65
+ display: flex;
66
+ flex-direction: column;
67
+ height: 100%;
68
+ overflow: auto;
69
+ width: 80%;
70
+ border: 1px solid #E2E2E2;
71
+ }
72
+
73
+ .chat-contact-info {
74
+ display: flex;
75
+ flex-direction: column;
76
+ height: 100%;
77
+ overflow: auto;
78
+ width: 25%;
79
+ border: 1px solid #E2E2E2;
12
80
  }
@@ -15,6 +15,7 @@ import {
15
15
  const BmChat = styled.div`
16
16
  display: flex;
17
17
  flex-direction: column;
18
+ height: 100%;
18
19
  ${"" /* border: 0.071rem solid ${BmGrey400}; */}
19
20
  `;
20
21
 
@@ -22,6 +23,8 @@ BmChat.Body = styled.div`
22
23
  display: flex;
23
24
  flex-direction: column;
24
25
  padding: 0rem 1.5rem;
26
+ flex-grow: 1;
27
+ overflow: auto;
25
28
  `;
26
29
 
27
30
  const Details = styled.div`
@@ -42,6 +45,7 @@ const Details = styled.div`
42
45
  overflow-wrap: break-word !important;
43
46
  word-wrap: break-word !important;
44
47
  margin: 0rem;
48
+ flex-grow: 1;
45
49
  `;
46
50
 
47
51
  const MessageDetails = styled.div`
@@ -136,7 +140,7 @@ BmChat.Footer = styled.div`
136
140
  padding: 0.5rem 0rem;
137
141
  align-items: center;
138
142
  justify-content: center;
139
- background: ${BmGrey50};
143
+ ${'' /* background: ${BmGrey50}; */}
140
144
  > *:not(:last-child) {
141
145
  margin-right: 0.5rem;
142
146
  }
@@ -17,32 +17,32 @@ export default {
17
17
 
18
18
  export const ChatBody = () => {
19
19
  return (
20
- <BmChat>
21
- <BmChat.Body>
22
- <BmChat.Details
23
- state="inbound"
24
- session="bot"
25
- displayTime={<p>12:00pm</p>}
26
- status="sent"
27
- >
28
- <p>Inbound</p>
29
- </BmChat.Details>
30
- <BmChat.Details
31
- state="outbound"
32
- session="live"
33
- displayTime={<p>10:00am</p>}
34
- status="failed"
35
- >
36
- <p>Outbound</p>
37
- </BmChat.Details>
38
- </BmChat.Body>
39
- <BmChat.Footer>
40
- <BmIcons icon={<EmojiEmotionsIcon />} size="xlarge" />
41
- <BmIcons icon={<AttachFileIcon />} size="xlarge" />
42
- <BmIcons icon={<QuickreplyIcon />} size="xlarge" />
43
- <BmInput placeholder="Enter Message" />
44
- <BmIcons icon={<SendIcon />} size="xlarge" />
45
- </BmChat.Footer>
46
- </BmChat>
20
+ <BmChat>
21
+ <BmChat.Body>
22
+ <BmChat.Details
23
+ state="inbound"
24
+ session="bot"
25
+ displayTime={<p>12:00pm</p>}
26
+ status="sent"
27
+ >
28
+ <p>Inbound</p>
29
+ </BmChat.Details>
30
+ <BmChat.Details
31
+ state="outbound"
32
+ session="live"
33
+ displayTime={<p>10:00am</p>}
34
+ status="failed"
35
+ >
36
+ <p>Outbound</p>
37
+ </BmChat.Details>
38
+ </BmChat.Body>
39
+ <BmChat.Footer>
40
+ <BmIcons icon={<EmojiEmotionsIcon />} size="xlarge" />
41
+ <BmIcons icon={<AttachFileIcon />} size="xlarge" />
42
+ <BmIcons icon={<QuickreplyIcon />} size="xlarge" />
43
+ <BmInput placeholder="Enter Message" />
44
+ <BmIcons icon={<SendIcon />} size="xlarge" />
45
+ </BmChat.Footer>
46
+ </BmChat>
47
47
  );
48
48
  };
@@ -1,11 +1,11 @@
1
1
  import styled from "styled-components";
2
- import { BmGrey400 } from "../colors";
2
+ // import { BmGrey400 } from "../colors";
3
3
 
4
4
  export const BmChatHeader = styled.div`
5
5
  display: flex;
6
6
  flex-direction: row;
7
7
  align-items: center;
8
- border: 0.071rem solid ${BmGrey400};
8
+ ${'' /* border: 0.071rem solid ${BmGrey400}; */}
9
9
  padding: 1rem;
10
10
  > *:not(:last-child) {
11
11
  margin-right: 0.5rem;
@@ -18,6 +18,7 @@ export const BmContactCard = styled.div`
18
18
  background: ${BmGrey100};
19
19
  `}
20
20
  cursor: pointer;
21
+ padding: 1rem 1.5rem;
21
22
  `;
22
23
 
23
24
  BmContactCard.Profile = styled.div`
@@ -1,11 +1,11 @@
1
1
  import styled from "styled-components";
2
- import { BmGrey400 } from "../colors";
2
+ // import { BmGrey400 } from "../colors";
3
3
 
4
4
  const BmInfoTab = styled.div`
5
5
  display: flex;
6
6
  flex-direction: column;
7
7
  padding: 1.5rem;
8
- border: 0.071rem solid ${BmGrey400};
8
+ ${'' /* border: 0.071rem solid ${BmGrey400}; */}
9
9
  > *:not(:last-child) {
10
10
  margin-bottom: 1rem;
11
11
  }
@@ -10,12 +10,14 @@ import { BmInput } from "./input";
10
10
  import { BmRouteLink } from "./RouteLink/link";
11
11
  import { BmListHeader } from "./Lists/listheader";
12
12
  import { BmRowLabel } from "./Lists/rowLabels";
13
+ import { BmListBox } from "./Lists/listBox";
13
14
  import BmModal from "./Modals/modal";
14
15
  import { BmProgressBar } from "./ProgressBar/progressbar";
15
16
  import { BmTab } from "./Tabs/tabs";
16
17
  import * as BmColors from "./colors";
17
18
  import { BmLoader } from "./Loader/loader";
18
19
  import { BmCheckbox } from "./checkbox";
20
+ import { BmTag } from "./tags";
19
21
  import {
20
22
  BmTagIcon,
21
23
  BmAvatarIcon,
@@ -44,6 +46,7 @@ export {
44
46
  BmBtnIcon,
45
47
  BmColors,
46
48
  BmCard,
49
+ BmListBox,
47
50
  BmListHeader,
48
51
  BmRowLabel,
49
52
  BmModal,
@@ -53,11 +56,12 @@ export {
53
56
  BmTab,
54
57
  GlobalStyle,
55
58
  MainWrapper,
59
+ BmLoader,
56
60
  // Old components to be refactored
57
61
  BmButtonDropDown,
58
62
  BmCheckbox,
59
63
  BmInput,
60
- BmLoader,
64
+ BmTag,
61
65
  //Icons (Remove unused ones and check on the sizing for custom icons)
62
66
  BmAvatarIcon,
63
67
  BmIcons,