beem-component 1.1.0 → 1.1.4

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 (40) hide show
  1. package/dist/assets/css/sidebar.css +20 -0
  2. package/dist/components/Buttons/buttonIconsOnly.js +1 -1
  3. package/dist/components/Buttons/buttons.js +1 -1
  4. package/dist/components/Cards/cards.js +1 -1
  5. package/dist/components/ChatBody/chatBody.js +6 -2
  6. package/dist/components/ChatHeader/chatHeader.js +1 -1
  7. package/dist/components/Chats/chat.js +2 -2
  8. package/dist/components/Chats/chatInput.js +1 -1
  9. package/dist/components/Lists/listBox.js +1 -1
  10. package/dist/components/Tags/tags.js +116 -0
  11. package/dist/components/Tags/tags.stories.js +62 -0
  12. package/dist/components/dropdown.js +1 -1
  13. package/dist/components/dropdownItems.js +1 -1
  14. package/dist/components/index.js +79 -1
  15. package/dist/components/input.js +1 -3
  16. package/dist/components/search.js +1 -1
  17. package/dist/components/tags.js +3 -3
  18. package/package.json +1 -1
  19. package/src/App.js +4 -1
  20. package/src/Chat.js +27 -20
  21. package/src/ChatHeader.js +13 -7
  22. package/src/SideBar.js +7 -4
  23. package/src/lib/assets/css/sidebar.css +20 -0
  24. package/src/lib/components/Buttons/buttonIconsOnly.js +1 -1
  25. package/src/lib/components/Buttons/buttons.js +1 -1
  26. package/src/lib/components/Cards/cards.js +1 -1
  27. package/src/lib/components/ChatBody/chatBody.js +7 -8
  28. package/src/lib/components/ChatHeader/chatHeader.js +1 -4
  29. package/src/lib/components/Chats/chat.js +2 -2
  30. package/src/lib/components/Chats/chatInput.js +1 -1
  31. package/src/lib/components/Lists/listBox.js +1 -1
  32. package/src/lib/components/Tags/tags.js +109 -0
  33. package/src/lib/components/Tags/tags.stories.js +37 -0
  34. package/src/lib/components/dropdown.js +1 -1
  35. package/src/lib/components/dropdownItems.js +1 -1
  36. package/src/lib/components/index.js +34 -2
  37. package/src/lib/components/input.js +1 -2
  38. package/src/lib/components/search.js +1 -1
  39. package/src/lib/components/tags.js +4 -4
  40. package/storybook-static/main.3c8d8027.iframe.bundle.js +1 -1
package/src/ChatHeader.js CHANGED
@@ -1,14 +1,20 @@
1
1
  import React from "react";
2
- import { BmChatHeader, BmButton} from '../src/lib/components/';
2
+ import { BmChatHeader, BmButton } from "../src/lib/components/";
3
+ import "../src/lib/assets/css/sidebar.css";
3
4
 
4
- export const ChatHeader = ({ info }) => {
5
+ export const ChatHeader = () => {
5
6
  return (
6
7
  <>
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>
8
+ <div className="chat-header">
9
+ <BmChatHeader>
10
+ <h2>Contact Name</h2>
11
+ <p>Last seen: 00:00</p>
12
+ <div className="chat-header-buttons">
13
+ <BmButton size="medium">End Session</BmButton>
14
+ <BmButton size="medium">End Session</BmButton>
15
+ </div>
16
+ </BmChatHeader>
17
+ </div>
12
18
  </>
13
19
  );
14
20
  };
package/src/SideBar.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
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";
3
+ import { BmTag } from "./lib/components/Tags/tags";
4
+ import ForumIcon from "@material-ui/icons/Forum";
5
+ import { BmContactCard, BmAvatar, BmCounter } from "./lib/components";
5
6
 
6
7
  const SideBar = () => {
7
8
  return (
@@ -29,7 +30,9 @@ const SideBar = () => {
29
30
  <BmCounter>10</BmCounter>
30
31
  </BmContactCard.SubDetails>
31
32
  <BmContactCard.SubDetails>
32
- <BmTag variant="success">label</BmTag>
33
+ <BmTag variant="success">
34
+ <p>label</p>
35
+ </BmTag>
33
36
  <p>10:00 am</p>
34
37
  </BmContactCard.SubDetails>
35
38
  </BmContactCard.Details>
@@ -75,4 +78,4 @@ const SideBar = () => {
75
78
  );
76
79
  };
77
80
 
78
- export default SideBar;
81
+ export default SideBar;
@@ -77,4 +77,24 @@
77
77
  overflow: auto;
78
78
  width: 25%;
79
79
  border: 1px solid #E2E2E2;
80
+ }
81
+
82
+ .chat-header-buttons {
83
+ display: flex;
84
+ flex-direction: row;
85
+ margin-left: auto;
86
+ }
87
+
88
+ .chat-header-buttons>*:not(:last-child) {
89
+ margin-right: 0.5rem;
90
+ }
91
+
92
+ .chat-footer {
93
+ display: flex;
94
+ flex-direction: row;
95
+ align-items: center;
96
+ }
97
+
98
+ .chat-footer>*:not(:last-child) {
99
+ margin-right: 0.5rem;
80
100
  }
@@ -50,7 +50,7 @@ const BeemButtonIcon = styled.button`
50
50
  }
51
51
  }};
52
52
  box-sizing: border-box;
53
- border-radius: 0.21875rem;
53
+ border-radius: 0.25rem;
54
54
  padding: 0rem;
55
55
  `;
56
56
 
@@ -47,7 +47,7 @@ const BeemButton = styled.button`
47
47
  flex-direction: row;
48
48
  justify-content: center;
49
49
  align-items: center;
50
- border-radius: 0.21875rem;
50
+ border-radius: 0.25rem;
51
51
  padding: ${({ size }) => {
52
52
  if (size === "large") return "0.625rem 1.5rem";
53
53
  if (size === "medium") return "0.4375rem 1rem";
@@ -6,7 +6,7 @@ const BmCard = styled.div`
6
6
  flex-direction: column;
7
7
  background: ${BmPrimaryWhite};
8
8
  border: 0.071rem solid ${BmGrey400};
9
- border-radius: 0.21875rem;
9
+ border-radius: 0.25rem;
10
10
  `;
11
11
 
12
12
  BmCard.Header = styled.div`
@@ -5,11 +5,11 @@ import BmAvatar from "../Avatars/avatars";
5
5
  import { BmIcons } from "../iconStyles";
6
6
  import {
7
7
  BmGrey400,
8
- BmGrey50,
9
8
  BmPrimaryWhite,
10
9
  BmPrimaryBlue,
11
10
  BmPrimaryBlack,
12
11
  BmSecondaryDarkGreen,
12
+ BmGrey200,
13
13
  } from "../colors";
14
14
 
15
15
  const BmChat = styled.div`
@@ -135,14 +135,13 @@ BmChat.Details = ({
135
135
 
136
136
  BmChat.Footer = styled.div`
137
137
  display: flex;
138
- flex-direction: row;
139
- border-top: 0.071rem solid ${BmGrey400};
140
- padding: 0.5rem 0rem;
141
- align-items: center;
142
- justify-content: center;
143
- ${'' /* background: ${BmGrey50}; */}
138
+ flex-direction: column;
139
+ ${'' /* border-top: 0.071rem solid ${BmGrey200}; */}
140
+ padding: 0.5rem 0.5rem;
141
+ ${'' /* align-items: center; */}
142
+ ${'' /* justify-content: center; */}
144
143
  > *:not(:last-child) {
145
- margin-right: 0.5rem;
144
+ margin-bottom: 0.5rem;
146
145
  }
147
146
  `;
148
147
 
@@ -5,12 +5,9 @@ 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;
12
12
  }
13
- button {
14
- margin-left: auto;
15
- }
16
13
  `;
@@ -25,7 +25,7 @@ export const BmChatWrapper = styled.div`
25
25
  return `${BmPrimaryWhite}`;
26
26
  }};
27
27
  border: 0.071rem solid ${BmGrey400};
28
- border-radius: 0.21875rem 0.21875rem 0.21875rem 0rem;
28
+ border-radius: 0.25rem 0.21875rem 0.21875rem 0rem;
29
29
  max-width: 50%;
30
30
  overflow-wrap: break-word !important;
31
31
  word-wrap: break-word !important;
@@ -170,7 +170,7 @@ export const BmFileChat = ({ children, displayTime, type, ...rest }) => {
170
170
  export const BmImageWrapper = styled.div`
171
171
  background: ${BmGrey100};
172
172
  border: 0.071rem solid ${BmGrey400};
173
- border-radius: 0.21875rem 0.21875rem 0rem 0.21875rem;
173
+ border-radius: 0.25rem 0.21875rem 0rem 0.21875rem;
174
174
  display: flex;
175
175
  flex-direction: column;
176
176
  max-width: 50%;
@@ -63,7 +63,7 @@ export const BmMessage = styled("div")`
63
63
  background: ${BmPrimaryWhite};
64
64
  border: 0.071rem solid ${BmGrey400};
65
65
  box-sizing: border-box;
66
- border-radius: 0.21875rem;
66
+ border-radius: 0.25rem;
67
67
  flex-grow: 1;
68
68
  max-width: 75%;
69
69
  `;
@@ -24,7 +24,7 @@ export const BmListBox = styled.div`
24
24
  background: ${BmPrimaryWhite};
25
25
  border: 0.071rem solid ${BmGrey400};
26
26
  box-shadow: 0rem 0.286rem 0.286rem rgba(0, 0, 0, 0.25);
27
- border-radius: 0.21875rem;
27
+ border-radius: 0.25rem;
28
28
  z-index: 99999;
29
29
  cursor: pointer;
30
30
  `;
@@ -0,0 +1,109 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import PropTypes from "prop-types";
4
+ import { BmIcons } from "../iconStyles";
5
+ import {
6
+ BmPrimaryWhite,
7
+ BmSecondaryDarkGreen,
8
+ BmSecondaryRed,
9
+ BmPrimaryBlack,
10
+ BmGrey100,
11
+ BmGrey400,
12
+ BmPrimaryGold,
13
+ } from "../../components/colors";
14
+
15
+ const Color = ({ variant, color }) => {
16
+ if (variant === "success" || variant === "warning" || variant === "danger") {
17
+ return `${BmPrimaryWhite}`;
18
+ }
19
+ if (!variant && color) {
20
+ return color;
21
+ }
22
+ return `${BmPrimaryBlack}`;
23
+ };
24
+
25
+ const BeemTag = styled.button`
26
+ display: flex;
27
+ flex-direction: row;
28
+ justify-content: center;
29
+ align-items: center;
30
+ padding: 0.214rem 0.571rem;
31
+ border-radius: 0.25rem;
32
+ background: ${({ variant }) => {
33
+ if (variant === "neutral") return `${BmGrey100}`;
34
+ if (variant === "success") return `${BmSecondaryDarkGreen}`;
35
+ if (variant === "warning") return `${BmPrimaryGold}`;
36
+ if (variant === "danger") return `${BmSecondaryRed}`;
37
+ if (variant === "light") return `${BmPrimaryWhite}`;
38
+ if (!variant) return `${BmGrey100}`;
39
+ }};
40
+ border: 0.071rem solid
41
+ ${({ variant }) => {
42
+ if (variant === "neutral") return `${BmGrey100}`;
43
+ if (variant === "success") return `${BmSecondaryDarkGreen}`;
44
+ if (variant === "warning") return `${BmPrimaryGold}`;
45
+ if (variant === "danger") return `${BmSecondaryRed}`;
46
+ if (variant === "light") return `${BmGrey400}`;
47
+ return `${BmGrey100}`;
48
+ }};
49
+ > * {
50
+ color: ${({ variant, color }) => Color({ variant, color })};
51
+ text-transform: uppercase;
52
+ }
53
+
54
+ > *:not(:last-child) {
55
+ margin-right: 0.5rem;
56
+ }
57
+ `;
58
+
59
+ export const BmTag = (props) => {
60
+ const {
61
+ variant,
62
+ size,
63
+ disabled,
64
+ children,
65
+ leadingIcon,
66
+ trailingIcon,
67
+ color,
68
+ ...rest
69
+ } = props;
70
+
71
+ return (
72
+ <BeemTag
73
+ size={size}
74
+ variant={variant}
75
+ disabled={disabled}
76
+ children={children}
77
+ color={color}
78
+ {...rest}
79
+ >
80
+ {leadingIcon && (
81
+ <BmIcons
82
+ disabled={disabled}
83
+ icon={leadingIcon}
84
+ variant={variant}
85
+ color={Color({color, variant})}
86
+ size={size || 'small'}
87
+ />
88
+ )}
89
+ {children}
90
+ {trailingIcon && (
91
+ <BmIcons
92
+ icon={trailingIcon}
93
+ disabled={disabled}
94
+ color={Color({color, variant})}
95
+ size={size || 'small'}
96
+ />
97
+ )}
98
+ </BeemTag>
99
+ );
100
+ };
101
+
102
+ BmTag.propTypes = {
103
+ children: PropTypes.object,
104
+ trailingIcon: PropTypes.node,
105
+ leadingIcon: PropTypes.node,
106
+ color: PropTypes.string,
107
+ size: PropTypes.string,
108
+ variant: PropTypes.string,
109
+ };
@@ -0,0 +1,37 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import { Favorite, Home, KeyboardArrowDown } from "@material-ui/icons";
3
+ import React from "react";
4
+ import { BmTag } from "./tags";
5
+
6
+ export default {
7
+ component: BmTag,
8
+ title: "components/Tags",
9
+ argTypes: {
10
+ color: {
11
+ control: { type: "text" },
12
+ description: "Color of the Icons and Text, will work only if variant is not present",
13
+ },
14
+ size: {
15
+ options: ["xsmall", "small", "medium", "large", "xlarge"],
16
+ control: { type: "select" },
17
+ description: "Size of the icons",
18
+ defaultValue: { summary: "small" },
19
+ },
20
+ variant: {
21
+ options: ["success", "warning", "danger", "light", "neutral", undefined],
22
+ control: { type: "select" },
23
+ description: "Type of tag",
24
+ defaultValue: { summary: "neutral" },
25
+ },
26
+ },
27
+ };
28
+
29
+ const MainTab = (args) => <BmTag {...args} />;
30
+
31
+ export const Tabs = MainTab.bind({});
32
+ Tabs.args = {
33
+ children: <p>Tabs</p>,
34
+ leadingIcon: <Favorite />,
35
+ trailingIcon: <Favorite />,
36
+ variant: 'success',
37
+ };
@@ -13,7 +13,7 @@ const BmDropdownWrapper = styled.div`
13
13
  padding: 0.5rem 1.143rem;
14
14
  background: ${BmPrimaryWhite};
15
15
  border: 0.071rem solid ${BmGrey400};
16
- border-radius: 0.21875rem;
16
+ border-radius: 0.25rem;
17
17
  ${'' /* box-shadow: inset 0.071rem 0rem 0rem #afafaf; */}
18
18
  `;
19
19
 
@@ -17,7 +17,7 @@ export const BmButtonDropdownItem = styled.div`
17
17
  background: ${BmPrimaryWhite};
18
18
  border: 0.071rem solid ${BmGrey400};
19
19
  box-shadow: 0rem 0.286rem 0.286rem rgba(0, 0, 0, 0.25);
20
- border-radius: 0.21875rem;
20
+ border-radius: 0.25rem;
21
21
  z-index: 99999;
22
22
  position: absolute;
23
23
  cursor: pointer;
@@ -17,7 +17,7 @@ import { BmTab } from "./Tabs/tabs";
17
17
  import * as BmColors from "./colors";
18
18
  import { BmLoader } from "./Loader/loader";
19
19
  import { BmCheckbox } from "./checkbox";
20
- import { BmTag } from "./tags";
20
+ import { BmTag } from "../components/Tags/tags";
21
21
  import {
22
22
  BmTagIcon,
23
23
  BmAvatarIcon,
@@ -38,6 +38,24 @@ import BmContactCard from "./ContactCards/contactCards";
38
38
  import BmInfoTab from "./InfoTab/infoTab";
39
39
  import BmCounter from "./MessageCounter/messageCounter";
40
40
 
41
+ //SuperFluid Components
42
+ import { BmContent } from "./SuperFluid/Content/index";
43
+ import {
44
+ BmContentFooter,
45
+ BmContentTitle,
46
+ BmFooterLeft,
47
+ BmFooterRight,
48
+ } from "./SuperFluid/ContentTitle.js/index.js";
49
+ import {
50
+ BmSegmentCard,
51
+ BmSegmentSelector,
52
+ BmSegment,
53
+ BmSegmentCheckBox,
54
+ BmSegmentCompleteContent,
55
+ BmSegmentCompleteIcon,
56
+ BmSegmentCreateContent,
57
+ } from "./SuperFluid/SegmentCard/index";
58
+
41
59
  export {
42
60
  BmAccordion,
43
61
  BmAvatar,
@@ -49,6 +67,7 @@ export {
49
67
  BmListBox,
50
68
  BmListHeader,
51
69
  BmRowLabel,
70
+ // Fix height and if there is dropdown option inside the modal body
52
71
  BmModal,
53
72
  BmNoteBar,
54
73
  BmProgressBar,
@@ -57,11 +76,24 @@ export {
57
76
  GlobalStyle,
58
77
  MainWrapper,
59
78
  BmLoader,
79
+ BmTag,
60
80
  // Old components to be refactored
61
81
  BmButtonDropDown,
62
82
  BmCheckbox,
63
83
  BmInput,
64
- BmTag,
84
+ //Old SFL componets to be refactored
85
+ BmContent,
86
+ BmContentFooter,
87
+ BmContentTitle,
88
+ BmFooterLeft,
89
+ BmFooterRight,
90
+ BmSegmentCard,
91
+ BmSegmentSelector,
92
+ BmSegment,
93
+ BmSegmentCheckBox,
94
+ BmSegmentCompleteContent,
95
+ BmSegmentCompleteIcon,
96
+ BmSegmentCreateContent,
65
97
  //Icons (Remove unused ones and check on the sizing for custom icons)
66
98
  BmAvatarIcon,
67
99
  BmIcons,
@@ -14,7 +14,6 @@ import {
14
14
  BmSecondaryRed15,
15
15
  BmGrey100,
16
16
  } from "./colors";
17
- import { BmSuccessIcon, BmErrorIcon } from "./iconStyles";
18
17
 
19
18
  const BmInputLabel = styled.div`
20
19
  font-family: Open Sans;
@@ -77,7 +76,7 @@ const BmInputWrapper = styled.div`
77
76
  flex-direction: center;
78
77
  align-items: center;
79
78
  height: 2.929rem;
80
- border-radius: 0.21875rem;
79
+ border-radius: 0.25rem;
81
80
  padding: 0rem;
82
81
  background: ${({ state }) => {
83
82
  if (state) {
@@ -31,7 +31,7 @@ const BmSearchWrapper = styled.div`
31
31
  background: ${BmPrimaryWhite};
32
32
  border: 0.071rem solid ${BmGrey400};
33
33
  box-sizing: border-box;
34
- border-radius: 0.21875rem;
34
+ border-radius: 0.25rem;
35
35
  ${"" /* height: 2.929rem; */}
36
36
  padding: ${({ dropdown }) => {
37
37
  if (dropdown === "yes") {
@@ -8,15 +8,15 @@ import {
8
8
  BmGrey100,
9
9
  BmGrey400,
10
10
  BmPrimaryGold,
11
- } from "./colors";
12
- import { BmTagIcon } from "./iconStyles";
11
+ } from "../components/colors";
12
+ import { BmTagIcon } from "../components/iconStyles";
13
13
 
14
14
  const BeemTag = styled.button`
15
15
  display: flex;
16
16
  flex-direction: row;
17
17
  justify-content: center;
18
18
  align-items: center;
19
- border-radius: 0.21875rem;
19
+ border-radius: 0.25rem;
20
20
  height: ${({ size }) => {
21
21
  if (size === "small") return "1.286rem";
22
22
  if (size === "default") return "1.714rem";
@@ -45,7 +45,7 @@ const BeemTag = styled.button`
45
45
  if (variant === "light") return `${BmGrey400}`;
46
46
  return `${BmGrey100}`;
47
47
  }};
48
- border-radius: 0.21875rem;
48
+ border-radius: 0.25rem;
49
49
  `;
50
50
 
51
51
  const TagText = styled.p`