beem-component 1.0.2 → 1.0.6

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 (249) hide show
  1. package/.storybook/favicon.ico +0 -0
  2. package/.storybook/logo-blue.png +0 -0
  3. package/.storybook/main.js +18 -0
  4. package/.storybook/manager-head.html +14 -0
  5. package/.storybook/manager.js +6 -0
  6. package/.storybook/preview.js +10 -0
  7. package/.storybook/theme.js +10 -0
  8. package/Dockerfile +30 -0
  9. package/Jenkinsfile +73 -0
  10. package/build-storybook.log +14621 -0
  11. package/dist/assets/beem.jpeg +0 -0
  12. package/dist/assets/css/sidebar.css +12 -0
  13. package/dist/components/{Accordion.js → Accordion/Accordion.js} +13 -7
  14. package/dist/components/Accordion/Accordion.stories.js +86 -0
  15. package/dist/components/{avatars.js → Avatars/avatars.js} +32 -11
  16. package/dist/components/Avatars/avatars.stories.js +69 -0
  17. package/dist/components/Buttons/Stories/basicbutton.stories.js +67 -0
  18. package/dist/components/Buttons/Stories/buttonAlertIcons.stories.js +65 -0
  19. package/dist/components/Buttons/Stories/buttonIconsOnly.stories.js +65 -0
  20. package/dist/components/{buttonAlertIcons.js → Buttons/buttonAlertIcons.js} +17 -9
  21. package/dist/components/Buttons/buttonDropdown copy.js +158 -0
  22. package/dist/components/Buttons/buttonDropdown.js +30 -0
  23. package/dist/components/{buttonIconsOnly.js → Buttons/buttonIconsOnly.js} +14 -5
  24. package/dist/components/{buttons.js → Buttons/buttons.js} +12 -11
  25. package/dist/components/Cards/cards.js +24 -0
  26. package/dist/components/Cards/cards.stories.js +57 -0
  27. package/dist/components/ChatBody/chatBody.js +138 -0
  28. package/dist/components/ChatBody/chatBody.stories.js +65 -0
  29. package/dist/components/{Modals/noteModalBody.js → ChatHeader/chatHeader.js} +5 -5
  30. package/dist/components/ChatHeader/chatHeader.stories.js +29 -0
  31. package/dist/components/Chats/chat.js +1 -1
  32. package/dist/components/Chats/chatInput.js +1 -1
  33. package/dist/components/Chats/chatwrapper.js +1 -1
  34. package/dist/components/ContactCards/contactCards.js +34 -0
  35. package/dist/components/ContactCards/contactCards.stories.js +41 -0
  36. package/dist/components/InfoTab/infoTab.js +23 -0
  37. package/dist/components/InfoTab/infoTab.stories.js +49 -0
  38. package/dist/components/Lists/listBox.js +41 -0
  39. package/dist/components/Lists/listBox.stories.js +78 -0
  40. package/dist/components/Lists/listHeader.stories.js +58 -0
  41. package/dist/components/Lists/listheader.js +17 -12
  42. package/dist/components/Lists/rowLabels.js +34 -16
  43. package/dist/components/Lists/rowLabels.stories.js +85 -0
  44. package/dist/components/{loaders.js → Loader/loader.js} +13 -7
  45. package/dist/components/Loader/loader.stories.js +52 -0
  46. package/dist/components/{Reports/buttons.js → MainWrapper/index.js} +5 -3
  47. package/dist/components/MessageCounter/MessageCounter.stories.js +52 -0
  48. package/dist/components/MessageCounter/messageCounter.js +49 -0
  49. package/dist/components/Modals/modal copy.js +160 -0
  50. package/dist/components/Modals/modal.js +166 -0
  51. package/dist/components/Modals/modals.stories.js +117 -0
  52. package/dist/components/{infoNote.js → NoteBar/noteBar.js} +23 -19
  53. package/dist/components/NoteBar/noteBar.stories.js +66 -0
  54. package/dist/components/PerformanceIndicator/performaceIndicator.stories.js +66 -0
  55. package/dist/components/PerformanceIndicator/performanceIndicator.js +68 -0
  56. package/dist/components/Pills/pills.js +126 -0
  57. package/dist/components/Pills/pills.stories.js +110 -0
  58. package/dist/components/{progressbar.js → ProgressBar/progressbar.js} +8 -2
  59. package/dist/components/ProgressBar/progressbar.stories.js +45 -0
  60. package/dist/components/{Link.js → RouteLink/link.js} +8 -3
  61. package/dist/components/RouteLink/link.stories.js +29 -0
  62. package/dist/components/SuperFluid/ContentTitle.js/index.js +1 -1
  63. package/dist/components/SuperFluid/SegmentCard/index.js +1 -1
  64. package/dist/components/Tabs/tabs.js +85 -0
  65. package/dist/components/Tabs/tabs.stories.js +60 -0
  66. package/dist/components/breakpoints.js +18 -0
  67. package/dist/components/chatHeader.js +1 -1
  68. package/dist/components/checkboxToggler.js +2 -2
  69. package/dist/components/colors.js +5 -3
  70. package/dist/components/contacts.js +1 -1
  71. package/dist/components/dropdown.js +1 -1
  72. package/dist/components/dropdownButton.js +3 -3
  73. package/dist/components/dropdownItems.js +1 -1
  74. package/dist/components/example.js +47 -0
  75. package/dist/components/iconStyles.js +69 -119
  76. package/dist/components/index-copy.js +1285 -0
  77. package/dist/components/index.js +88 -1134
  78. package/dist/components/input.js +9 -3
  79. package/dist/components/logo.js +1 -1
  80. package/dist/components/navbar.js +1 -1
  81. package/dist/components/sidebar.js +4 -6
  82. package/dist/components/tabs.js +1 -1
  83. package/dist/components/text.js +1 -1
  84. package/dist/components/typography.js +1 -1
  85. package/nginx.conf +17 -0
  86. package/package.json +30 -11
  87. package/public/favicon.ico +0 -0
  88. package/public/index.html +1 -1
  89. package/src/App.js +85 -30
  90. package/src/examples/Navbar.js +1 -1
  91. package/src/lib/assets/beem.jpeg +0 -0
  92. package/src/lib/assets/css/sidebar.css +12 -0
  93. package/src/lib/components/{Accordion.js → Accordion/Accordion.js} +6 -5
  94. package/src/lib/components/Accordion/Accordion.stories.js +63 -0
  95. package/src/lib/components/{avatars.js → Avatars/avatars.js} +27 -9
  96. package/src/lib/components/Avatars/avatars.stories.js +45 -0
  97. package/src/lib/components/Buttons/Stories/basicbutton.stories.js +51 -0
  98. package/src/lib/components/Buttons/Stories/buttonAlertIcons.stories.js +42 -0
  99. package/src/lib/components/Buttons/Stories/buttonIconsOnly.stories.js +49 -0
  100. package/src/lib/components/{buttonAlertIcons.js → Buttons/buttonAlertIcons.js} +20 -9
  101. package/src/lib/components/Buttons/buttonDropdown copy.js +147 -0
  102. package/src/lib/components/Buttons/buttonDropdown.js +13 -0
  103. package/src/lib/components/{buttonIconsOnly.js → Buttons/buttonIconsOnly.js} +13 -3
  104. package/src/lib/components/{buttons.js → Buttons/buttons.js} +14 -14
  105. package/src/lib/components/Cards/cards.js +37 -0
  106. package/src/lib/components/Cards/cards.stories.js +50 -0
  107. package/src/lib/components/ChatBody/chatBody.js +145 -0
  108. package/src/lib/components/ChatBody/chatBody.stories.js +48 -0
  109. package/src/lib/components/ChatHeader/chatHeader.js +16 -0
  110. package/src/lib/components/ChatHeader/chatHeader.stories.js +19 -0
  111. package/src/lib/components/ContactCards/contactCards.js +58 -0
  112. package/src/lib/components/ContactCards/contactCards.stories.js +34 -0
  113. package/src/lib/components/InfoTab/infoTab.js +28 -0
  114. package/src/lib/components/InfoTab/infoTab.stories.js +47 -0
  115. package/src/lib/components/Lists/listBox.js +34 -0
  116. package/src/lib/components/Lists/listBox.stories.js +47 -0
  117. package/src/lib/components/Lists/listHeader.stories.js +36 -0
  118. package/src/lib/components/Lists/listheader.js +17 -11
  119. package/src/lib/components/Lists/rowLabels.js +47 -16
  120. package/src/lib/components/Lists/rowLabels.stories.js +59 -0
  121. package/src/lib/components/{loaders.js → Loader/loader.js} +18 -7
  122. package/src/lib/components/Loader/loader.stories.js +30 -0
  123. package/src/lib/components/MainWrapper/index.js +7 -0
  124. package/src/lib/components/MessageCounter/MessageCounter.stories.js +35 -0
  125. package/src/lib/components/MessageCounter/messageCounter.js +42 -0
  126. package/src/lib/components/Modals/modal copy.js +159 -0
  127. package/src/lib/components/Modals/modal.js +152 -0
  128. package/src/lib/components/Modals/modals.stories.js +82 -0
  129. package/src/lib/components/{infoNote.js → NoteBar/noteBar.js} +24 -25
  130. package/src/lib/components/NoteBar/noteBar.stories.js +40 -0
  131. package/src/lib/components/PerformanceIndicator/performaceIndicator.stories.js +40 -0
  132. package/src/lib/components/PerformanceIndicator/performanceIndicator.js +56 -0
  133. package/src/lib/components/Pills/pills.js +91 -0
  134. package/src/lib/components/Pills/pills.stories.js +74 -0
  135. package/src/lib/components/{progressbar.js → ProgressBar/progressbar.js} +8 -1
  136. package/src/lib/components/ProgressBar/progressbar.stories.js +26 -0
  137. package/src/lib/components/{Link.js → RouteLink/link.js} +5 -4
  138. package/src/lib/components/RouteLink/link.stories.js +21 -0
  139. package/src/lib/components/Tabs/tabs.js +84 -0
  140. package/src/lib/components/Tabs/tabs.stories.js +37 -0
  141. package/src/lib/components/breakpoints.js +11 -0
  142. package/src/lib/components/colors.js +2 -0
  143. package/src/lib/components/dropdownButton.js +2 -2
  144. package/src/lib/components/example.js +30 -0
  145. package/src/lib/components/iconStyles.js +44 -101
  146. package/src/lib/components/index-copy.js +468 -0
  147. package/src/lib/components/index.js +50 -446
  148. package/src/lib/components/input.js +8 -2
  149. package/src/lib/components/sidebar.js +4 -4
  150. package/storybook-static/0.00c62ec79c260aedbb98.manager.bundle.js +2 -0
  151. package/storybook-static/0.00c62ec79c260aedbb98.manager.bundle.js.LICENSE.txt +8 -0
  152. package/storybook-static/0.96c45dd8.iframe.bundle.js +1 -0
  153. package/storybook-static/1.dc6acfa9.iframe.bundle.js +3 -0
  154. package/storybook-static/1.dc6acfa9.iframe.bundle.js.LICENSE.txt +8 -0
  155. package/storybook-static/1.dc6acfa9.iframe.bundle.js.map +1 -0
  156. package/storybook-static/1.dc7dcdaec2def2f224fd.manager.bundle.js +1 -0
  157. package/storybook-static/2.24353ddc.iframe.bundle.js +1 -0
  158. package/storybook-static/3.8bb2173c.iframe.bundle.js +1 -0
  159. package/storybook-static/5.0779e3847d325dece216.manager.bundle.js +1 -0
  160. package/storybook-static/6.8bd405c2576206749a16.manager.bundle.js +2 -0
  161. package/storybook-static/6.8bd405c2576206749a16.manager.bundle.js.LICENSE.txt +12 -0
  162. package/storybook-static/7.9d4ba19cf58425e7ff0d.manager.bundle.js +1 -0
  163. package/storybook-static/7.f0cfc757.iframe.bundle.js +1 -0
  164. package/storybook-static/8.91de97de.iframe.bundle.js +3 -0
  165. package/storybook-static/8.91de97de.iframe.bundle.js.LICENSE.txt +12 -0
  166. package/storybook-static/8.91de97de.iframe.bundle.js.map +1 -0
  167. package/storybook-static/8.b4e9ec0ec7648e02a923.manager.bundle.js +1 -0
  168. package/storybook-static/9.40ec65d6.iframe.bundle.js +1 -0
  169. package/storybook-static/asset-manifest.json +30 -0
  170. package/storybook-static/favicon.ico +0 -0
  171. package/storybook-static/iframe.html +348 -0
  172. package/storybook-static/index.html +110 -0
  173. package/storybook-static/main.3c8d8027.iframe.bundle.js +1 -0
  174. package/storybook-static/main.3e5804fe56d1f580b088.manager.bundle.js +1 -0
  175. package/storybook-static/runtime~main.d3a18d6a.iframe.bundle.js +1 -0
  176. package/storybook-static/runtime~main.ff106120648356c6069d.manager.bundle.js +1 -0
  177. package/storybook-static/static/css/main.b44a190d.chunk.css +4 -0
  178. package/storybook-static/static/css/main.b44a190d.chunk.css.map +1 -0
  179. package/storybook-static/static/media/OpenSans-Regular.1b0809d5.ttf +0 -0
  180. package/storybook-static/static/media/PoppinsBold.1eae2d48.woff2 +0 -0
  181. package/storybook-static/static/media/PoppinsBold.53ff6749.eot +0 -0
  182. package/storybook-static/static/media/PoppinsBold.53ff971f.ttf +0 -0
  183. package/storybook-static/static/media/PoppinsBold.850fc4f3.svg +3066 -0
  184. package/storybook-static/static/media/PoppinsBold.b33c148b.woff +0 -0
  185. package/storybook-static/static/media/PoppinsMedium.0ba26f6c.woff +0 -0
  186. package/storybook-static/static/media/PoppinsMedium.49b46ace.eot +0 -0
  187. package/storybook-static/static/media/PoppinsMedium.57a99fa8.woff2 +0 -0
  188. package/storybook-static/static/media/PoppinsMedium.b7e43707.svg +3103 -0
  189. package/storybook-static/static/media/PoppinsMedium.c98dddbd.ttf +0 -0
  190. package/storybook-static/static/media/PoppinsRegular.13b9af9c.eot +0 -0
  191. package/storybook-static/static/media/PoppinsRegular.43e9b50d.svg +3138 -0
  192. package/storybook-static/static/media/PoppinsRegular.4a4d5420.woff +0 -0
  193. package/storybook-static/static/media/PoppinsRegular.9a7cc7ec.woff2 +0 -0
  194. package/storybook-static/static/media/PoppinsRegular.e1bc9021.ttf +0 -0
  195. package/storybook-static/static/media/PoppinsSemiBold.5692c77f.ttf +0 -0
  196. package/storybook-static/static/media/PoppinsSemiBold.80138c67.woff +0 -0
  197. package/storybook-static/static/media/PoppinsSemiBold.c442695a.eot +0 -0
  198. package/storybook-static/static/media/PoppinsSemiBold.e1948d56.svg +3098 -0
  199. package/storybook-static/static/media/PoppinsSemiBold.f27050e2.woff2 +0 -0
  200. package/storybook-static/static/media/logo-blue.bfc5ba6d.png +0 -0
  201. package/storybook-static/vendors~main.1750028c2d68e574fb1d.manager.bundle.js +2 -0
  202. package/storybook-static/vendors~main.1750028c2d68e574fb1d.manager.bundle.js.LICENSE.txt +104 -0
  203. package/storybook-static/vendors~main.7fe78cc2.iframe.bundle.js +3 -0
  204. package/storybook-static/vendors~main.7fe78cc2.iframe.bundle.js.LICENSE.txt +122 -0
  205. package/storybook-static/vendors~main.7fe78cc2.iframe.bundle.js.map +1 -0
  206. package/dist/assets/content_copy_black.svg +0 -1
  207. package/dist/assets/profile-pic.jpg +0 -0
  208. package/dist/components/Accordicon.js +0 -51
  209. package/dist/components/CustomerInfo/customerInfo.js +0 -89
  210. package/dist/components/CustomerInfo/customerInfoBar.js +0 -24
  211. package/dist/components/CustomerInfo/infoAccordion.js +0 -78
  212. package/dist/components/CustomerInfo/labelsInfo.js +0 -37
  213. package/dist/components/CustomerInfo/notesInfo.js +0 -39
  214. package/dist/components/Modals/modalBody.js +0 -61
  215. package/dist/components/Modals/noteModalFooter.js +0 -24
  216. package/dist/components/Modals/noteModalHeader.js +0 -93
  217. package/dist/components/Reports/cards.js +0 -62
  218. package/dist/components/Reports/charts.js +0 -70
  219. package/dist/components/Reports/infoHeader.js +0 -65
  220. package/dist/components/Reports/reportsBody.js +0 -28
  221. package/dist/components/Reports/title.js +0 -28
  222. package/dist/components/performanceIndicator.js +0 -41
  223. package/dist/components/pills.js +0 -73
  224. package/src/App1.js +0 -229
  225. package/src/CHAT.js +0 -170
  226. package/src/Complete.js +0 -48
  227. package/src/CreateSegments.js +0 -48
  228. package/src/FileUploadSFL.js +0 -110
  229. package/src/examples/CustomerInfo.js +0 -248
  230. package/src/lib/assets/content_copy_black.svg +0 -1
  231. package/src/lib/assets/profile-pic.jpg +0 -0
  232. package/src/lib/components/Accordicon.js +0 -43
  233. package/src/lib/components/CustomerInfo/customerInfo.js +0 -91
  234. package/src/lib/components/CustomerInfo/customerInfoBar.js +0 -23
  235. package/src/lib/components/CustomerInfo/infoAccordion.js +0 -96
  236. package/src/lib/components/CustomerInfo/labelsInfo.js +0 -37
  237. package/src/lib/components/CustomerInfo/notesInfo.js +0 -61
  238. package/src/lib/components/Modals/modalBody.js +0 -66
  239. package/src/lib/components/Modals/noteModalBody.js +0 -10
  240. package/src/lib/components/Modals/noteModalFooter.js +0 -16
  241. package/src/lib/components/Modals/noteModalHeader.js +0 -103
  242. package/src/lib/components/Reports/buttons.js +0 -5
  243. package/src/lib/components/Reports/cards.js +0 -78
  244. package/src/lib/components/Reports/charts.js +0 -79
  245. package/src/lib/components/Reports/infoHeader.js +0 -63
  246. package/src/lib/components/Reports/reportsBody.js +0 -29
  247. package/src/lib/components/Reports/title.js +0 -19
  248. package/src/lib/components/performanceIndicator.js +0 -27
  249. package/src/lib/components/pills.js +0 -65
@@ -0,0 +1,48 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import BmChat from "./chatBody";
4
+ import { BmIcons } from "../iconStyles";
5
+ import EmojiEmotionsIcon from "@mui/icons-material/EmojiEmotions";
6
+ import AttachFileIcon from "@mui/icons-material/AttachFile";
7
+ import QuickreplyIcon from "@mui/icons-material/Quickreply";
8
+ import SendIcon from "@mui/icons-material/Send";
9
+ import BmAvatar from "../Avatars/avatars";
10
+ import { DoneAll } from "@material-ui/icons";
11
+ import { BmInput } from "../input";
12
+
13
+ export default {
14
+ component: BmChat,
15
+ title: "components/Chat/ChatBody",
16
+ };
17
+
18
+ export const ChatBody = () => {
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>
47
+ );
48
+ };
@@ -0,0 +1,16 @@
1
+ import styled from "styled-components";
2
+ import { BmGrey400 } from "../colors";
3
+
4
+ export const BmChatHeader = styled.div`
5
+ display: flex;
6
+ flex-direction: row;
7
+ align-items: center;
8
+ border: 0.071rem solid ${BmGrey400};
9
+ padding: 1rem;
10
+ > *:not(:last-child) {
11
+ margin-right: 0.5rem;
12
+ }
13
+ button {
14
+ margin-left: auto;
15
+ }
16
+ `;
@@ -0,0 +1,19 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import { BmButton } from "../Buttons/buttons";
4
+ import { BmChatHeader } from "./chatHeader";
5
+
6
+ export default {
7
+ component: BmChatHeader,
8
+ title: "components/Chat/ChatHeader",
9
+ };
10
+
11
+ export const ChatHeader = () => {
12
+ return (
13
+ <BmChatHeader>
14
+ <h2>Contact Name</h2>
15
+ <p>Last seen: 00:00</p>
16
+ <BmButton size="medium">End Session</BmButton>
17
+ </BmChatHeader>
18
+ );
19
+ };
@@ -0,0 +1,58 @@
1
+ import styled from "styled-components";
2
+ import { BmGrey100 } from "../colors";
3
+
4
+ export const BmContactCard = styled.div`
5
+ display: flex;
6
+ flex-direction: row;
7
+ justify-content: space-between;
8
+ > *:not(:last-child) {
9
+ margin-right: 1rem;
10
+ }
11
+ &:hover {
12
+ background: ${BmGrey100};
13
+ }
14
+
15
+ ${({ active }) =>
16
+ active &&
17
+ `
18
+ background: ${BmGrey100};
19
+ `}
20
+ cursor: pointer;
21
+ `;
22
+
23
+ BmContactCard.Profile = styled.div`
24
+ display: flex;
25
+ flex-direction: column;
26
+ justify-content: space-between;
27
+ align-items: center;
28
+ `;
29
+
30
+ BmContactCard.Details = styled.div`
31
+ display: flex;
32
+ flex-direction: column;
33
+ flex-grow: 1;
34
+ white-space: nowrap;
35
+ overflow: hidden;
36
+ text-overflow: ellipsis;
37
+ > *:not(:last-child) {
38
+ margin-bottom: 0.5rem;
39
+ }
40
+ `;
41
+
42
+ BmContactCard.SubDetails = styled.div`
43
+ display: flex;
44
+ flex-direction: row;
45
+ justify-content: space-between;
46
+ > * {
47
+ white-space: nowrap;
48
+ overflow: hidden;
49
+ text-overflow: ellipsis;
50
+ align-items: flex-start;
51
+ }
52
+ ${'' /* TODO */}
53
+ ${'' /* > :last-child {
54
+ margin-left: auto;
55
+ } */}
56
+ `;
57
+
58
+ export default BmContactCard;
@@ -0,0 +1,34 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import BmContactCard from "./contactCards";
4
+ import BmAvatar from "../Avatars/avatars";
5
+ import BmCounter from "../MessageCounter/messageCounter";
6
+ import { BmTag } from "../tags";
7
+
8
+ export default {
9
+ component: { BmContactCard, BmAvatar, BmTag, BmCounter },
10
+ title: "components/ContactCard",
11
+ };
12
+
13
+ export const ContactCard = () => {
14
+ return (
15
+ <BmContactCard>
16
+ <BmContactCard.Profile>
17
+ <BmAvatar user="chatbot" size="medium" />
18
+ </BmContactCard.Profile>
19
+ <BmContactCard.Details>
20
+ <BmContactCard.SubDetails>
21
+ <h3>Contact Names</h3>
22
+ </BmContactCard.SubDetails>
23
+ <BmContactCard.SubDetails>
24
+ <p>Message text</p>
25
+ <BmCounter>10</BmCounter>
26
+ </BmContactCard.SubDetails>
27
+ <BmContactCard.SubDetails>
28
+ <BmTag variant="success">label</BmTag>
29
+ <p>10:00 am</p>
30
+ </BmContactCard.SubDetails>
31
+ </BmContactCard.Details>
32
+ </BmContactCard>
33
+ );
34
+ };
@@ -0,0 +1,28 @@
1
+ import styled from "styled-components";
2
+ import { BmGrey400 } from "../colors";
3
+
4
+ const BmInfoTab = styled.div`
5
+ display: flex;
6
+ flex-direction: column;
7
+ padding: 1.5rem;
8
+ border: 0.071rem solid ${BmGrey400};
9
+ > *:not(:last-child) {
10
+ margin-bottom: 1rem;
11
+ }
12
+ `;
13
+
14
+ BmInfoTab.Content = styled.div`
15
+ display: flex;
16
+ flex-direction: row;
17
+ justify-content: space-between;
18
+ `;
19
+
20
+ BmInfoTab.Tabs = styled.div`
21
+ display: flex;
22
+ flex-direction: column;
23
+ >*:not(:first-child) {
24
+ margin-top: 0.5rem;
25
+ }
26
+ `;
27
+
28
+ export default BmInfoTab;
@@ -0,0 +1,47 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import BmInfoTab from "./infoTab";
4
+ import { BmTag } from "../tags";
5
+ import { BmBtnIcon } from "../Buttons/buttonIconsOnly";
6
+ import { MoreVert, Phone } from "@material-ui/icons";
7
+ import { BmIcons } from "../iconStyles";
8
+
9
+ export default {
10
+ component: BmInfoTab,
11
+ title: "components/InfoTab",
12
+ };
13
+
14
+ export const InfoTab = () => {
15
+ return (
16
+ <div style={{ maxWidth: "30%" }}>
17
+ <BmInfoTab>
18
+ <BmInfoTab.Content>
19
+ <h2>Contact Name</h2>
20
+ <BmIcons icon={<MoreVert />} />
21
+ </BmInfoTab.Content>
22
+ <BmInfoTab.Content>
23
+ <BmInfoTab.Tabs>
24
+ <BmBtnIcon icon={<Phone />} />
25
+ <h4>Call</h4>
26
+ </BmInfoTab.Tabs>
27
+ <BmInfoTab.Tabs>
28
+ <BmBtnIcon icon={<Phone />} />
29
+ <h4>Call</h4>
30
+ </BmInfoTab.Tabs>
31
+ <BmInfoTab.Tabs>
32
+ <BmBtnIcon icon={<Phone />} />
33
+ <h4>Call</h4>
34
+ </BmInfoTab.Tabs>
35
+ <BmInfoTab.Tabs>
36
+ <BmBtnIcon icon={<Phone />} />
37
+ <h4>Call</h4>
38
+ </BmInfoTab.Tabs>
39
+ <BmInfoTab.Tabs>
40
+ <BmBtnIcon icon={<Phone />} />
41
+ <h4>Call</h4>
42
+ </BmInfoTab.Tabs>
43
+ </BmInfoTab.Content>
44
+ </BmInfoTab>
45
+ </div>
46
+ );
47
+ };
@@ -0,0 +1,34 @@
1
+ import styled from "styled-components";
2
+ import { BmGrey400, BmPrimaryWhite } from "../colors";
3
+ import PropTypes from "prop-types";
4
+
5
+ const show = (isOpen) => {
6
+ if (isOpen !== undefined) {
7
+ if (isOpen === true) {
8
+ return `display: flex;
9
+ position: absolute;
10
+ margin-top: 0.5rem`;
11
+ }
12
+ if (isOpen === false) {
13
+ return `display: none;
14
+ position: absolute;
15
+ margin-top: 0.5rem`;
16
+ }
17
+ }
18
+ return "flex";
19
+ };
20
+ export const BmListBox = styled.div`
21
+ ${(props) => show(props.isOpen)};
22
+ flex-direction: column;
23
+ padding: 0.286rem 0rem;
24
+ background: ${BmPrimaryWhite};
25
+ border: 0.071rem solid ${BmGrey400};
26
+ box-shadow: 0rem 0.286rem 0.286rem rgba(0, 0, 0, 0.25);
27
+ border-radius: 0.21875rem;
28
+ z-index: 99999;
29
+ cursor: pointer;
30
+ `;
31
+
32
+ BmListBox.propTypes = {
33
+ isOpen: PropTypes.bool,
34
+ }
@@ -0,0 +1,47 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React, { useState } from "react";
3
+ import { BmListBox } from "./listBox";
4
+ import { KeyboardArrowRight } from "@material-ui/icons";
5
+ import { BmRowLabel } from "./rowLabels";
6
+ import { BmButton } from "../Buttons/buttons";
7
+
8
+ export default {
9
+ component: BmListBox,
10
+ title: "components/Lists/ListBox",
11
+ argTypes: {
12
+ isOpen: {
13
+ description:
14
+ "true/false (optional), Used for handling the display of listbox",
15
+ },
16
+ },
17
+ };
18
+
19
+ export const ListBox = () => {
20
+ return (
21
+ <BmListBox>
22
+ <BmRowLabel trailingIcon={<KeyboardArrowRight />} size="large">
23
+ <h4>Row Label</h4>
24
+ </BmRowLabel>
25
+ <BmRowLabel size="large">
26
+ <h4>Row Label</h4>
27
+ </BmRowLabel>
28
+ </BmListBox>
29
+ );
30
+ };
31
+
32
+ export const FunctionalListBox = () => {
33
+ const [List, showList] = useState(true);
34
+ return (
35
+ <>
36
+ <BmButton onClick={() => showList(!List)}>Click Me!</BmButton>
37
+ <BmListBox isOpen={List}>
38
+ <BmRowLabel trailingIcon={<KeyboardArrowRight />} size="large">
39
+ <h4>Row Label</h4>
40
+ </BmRowLabel>
41
+ <BmRowLabel size="large">
42
+ <h4>Row Label</h4>
43
+ </BmRowLabel>
44
+ </BmListBox>
45
+ </>
46
+ );
47
+ };
@@ -0,0 +1,36 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import { BmListHeader } from "./listheader";
4
+ import "../../../main.scss";
5
+ import { Favorite } from "@material-ui/icons";
6
+
7
+ export default {
8
+ component: BmListHeader,
9
+ title: "components/Lists/ListHeader",
10
+ argType: {
11
+ size: {
12
+ options: ["small", "medium", "large"],
13
+ control: { type: "select" },
14
+ description: "Size of the trailing icon",
15
+ defaultValue: { summary: "large" },
16
+ },
17
+ trailingIcon: {
18
+ description: "Material-UI Icon(optional)",
19
+ defaultValue: { summary: undefined },
20
+ },
21
+ color: {
22
+ description: "Color of the Icon",
23
+ },
24
+ children: {
25
+ description: "List header text",
26
+ },
27
+ },
28
+ };
29
+
30
+ const MainListHeader = (args) => <BmListHeader {...args} />;
31
+
32
+ export const ListHeader = MainListHeader.bind({});
33
+ ListHeader.args = {
34
+ children: <h3>List Header</h3>,
35
+ trailingIcon: <Favorite />,
36
+ };
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import styled from "styled-components";
3
3
  import { BmPrimaryBlack, BmPrimaryBlue } from "../colors";
4
4
  import { BmIcons } from "../iconStyles";
5
+ import PropTypes from "prop-types";
5
6
 
6
7
  export const Container = styled.div`
7
8
  display: flex;
@@ -11,19 +12,24 @@ export const Container = styled.div`
11
12
  border-bottom: 0.125rem solid ${BmPrimaryBlue};
12
13
  `;
13
14
 
14
- export const Title = styled.h3`
15
- color: ${BmPrimaryBlack};
16
- `;
17
-
18
- export const Icon = styled(BmIcons)`
19
- margin-left: auto;
20
- `;
21
-
22
- export const BmListHeader = ({ children, trailingIcon }) => {
15
+ export const BmListHeader = ({ children, trailingIcon, size, color }) => {
23
16
  return (
24
17
  <Container>
25
- <Title>{children}</Title>
26
- {trailingIcon && <Icon icon={trailingIcon} color={`${BmPrimaryBlack}`} />}
18
+ {children}
19
+ {trailingIcon && (
20
+ <BmIcons
21
+ icon={trailingIcon}
22
+ color={color || `${BmPrimaryBlack}` }
23
+ size={size || 'large'}
24
+ />
25
+ )}
27
26
  </Container>
28
27
  );
29
28
  };
29
+
30
+ BmListHeader.propTypes = {
31
+ children: PropTypes.object,
32
+ trailingIcon: PropTypes.node,
33
+ color: PropTypes.string,
34
+ size: PropTypes.string,
35
+ };
@@ -2,31 +2,34 @@ import React from "react";
2
2
  import styled from "styled-components";
3
3
  import { BmGrey100, BmPrimaryBlack, BmPrimaryWhite } from "../colors";
4
4
  import { BmIcons } from "../iconStyles";
5
+ import PropTypes from "prop-types";
5
6
 
6
7
  export const Container = styled.div`
7
8
  display: flex;
8
9
  flex-direction: row;
9
10
  align-items: center;
10
11
  padding: 0.5rem 1rem;
12
+ justify-content: space-between;
11
13
  background: ${BmPrimaryWhite};
12
14
  margin: 0rem;
13
-
14
15
  &:hover {
15
16
  background: ${BmGrey100};
16
17
  }
17
18
  `;
18
19
 
19
- export const Title = styled.p`
20
- color: ${BmPrimaryBlack};
21
- `;
22
-
23
- export const LeftIcon = styled(BmIcons)`
24
- margin-right: 0.5rem;
20
+ export const LeftContainer = styled.div`
21
+ display: flex;
22
+ flex-direction: flex-start;
23
+ align-items: center;
24
+ > * {
25
+ margin-right: 0.5rem;
26
+ }
25
27
  `;
26
28
 
27
29
  export const RightContainer = styled.div`
28
30
  margin-left: auto;
29
31
  display: flex;
32
+ flex-direction: flex-end;
30
33
  align-items: center;
31
34
  `;
32
35
 
@@ -38,24 +41,52 @@ export const Label = styled.p`
38
41
  margin-right: 0.5rem;
39
42
  `}
40
43
  `;
41
-
42
- export const BmRowLabel = ({ children, trailingIcon, leadingIcon, label, ...rest }) => {
44
+ export const BmRowLabel = ({
45
+ children,
46
+ trailingIcon,
47
+ leadingIcon,
48
+ label,
49
+ color,
50
+ size,
51
+ ...rest
52
+ }) => {
43
53
  return (
44
- <Container {...rest}>
45
- {leadingIcon && (
46
- <LeftIcon icon={leadingIcon} color={`${BmPrimaryBlack}`} />
47
- )}
48
- <Title>{children}</Title>
54
+ <Container
55
+ trailingIcon={trailingIcon}
56
+ leadingIcon={leadingIcon}
57
+ label={label}
58
+ size={size}
59
+ {...rest}
60
+ >
61
+ <LeftContainer>
62
+ {leadingIcon && (
63
+ <BmIcons
64
+ icon={leadingIcon}
65
+ color={color || `${BmPrimaryBlack}}`}
66
+ size={size || 'small'}
67
+ />
68
+ )}
69
+ {children}
70
+ </LeftContainer>
49
71
  <RightContainer>
50
72
  {label && <Label trailingIcon={trailingIcon}>{label}</Label>}
51
73
  {trailingIcon && (
52
74
  <BmIcons
53
75
  icon={trailingIcon}
54
- color={`${BmPrimaryBlack}`}
55
- size="small"
76
+ color={color || `${BmPrimaryBlack}}`}
77
+ size={size || 'small'}
56
78
  />
57
79
  )}
58
80
  </RightContainer>
59
81
  </Container>
60
82
  );
61
83
  };
84
+
85
+ BmRowLabel.propTypes = {
86
+ children: PropTypes.object,
87
+ trailingIcon: PropTypes.node,
88
+ label: PropTypes.object,
89
+ leadingIcon: PropTypes.node,
90
+ color: PropTypes.string,
91
+ size: PropTypes.string,
92
+ };
@@ -0,0 +1,59 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import { BmRowLabel } from "./rowLabels";
4
+ import "../../../main.scss";
5
+ import { Favorite, KeyboardArrowRight } from "@material-ui/icons";
6
+
7
+ export default {
8
+ component: BmRowLabel,
9
+ title: "components/Lists/RowLabels",
10
+ argType: {
11
+ size: {
12
+ options: ["small", "medium", "large"],
13
+ control: { type: "select" },
14
+ description: "Size of the icons",
15
+ defaultValue: { summary: "small" },
16
+ },
17
+ trailingIcon: {
18
+ description: "Material-UI Icon(optional)",
19
+ defaultValue: { summary: undefined },
20
+ },
21
+ leadingIcon: {
22
+ description: "Material-UI Icon(optional)",
23
+ defaultValue: { summary: undefined },
24
+ },
25
+ color: {
26
+ description: "Color of the Icons",
27
+ },
28
+ children: {
29
+ description: "Row Label text",
30
+ },
31
+ label: {
32
+ description: "Label Text",
33
+ },
34
+ },
35
+ };
36
+
37
+ const MainRowLabel = (args) => <BmRowLabel {...args} />;
38
+
39
+ export const TextOnly = MainRowLabel.bind({});
40
+ TextOnly.args = {
41
+ children: <h3>Row Label</h3>,
42
+ };
43
+
44
+ export const TextLabel = MainRowLabel.bind({});
45
+ TextLabel.args = {
46
+ children: <h3>Row Label</h3>,
47
+ label: <h3>Label</h3>,
48
+ };
49
+
50
+ export const LabelIcons = MainRowLabel.bind({});
51
+ LabelIcons.args = {
52
+ ...TextLabel.args,
53
+ trailingIcon: <KeyboardArrowRight />,
54
+ leadingIcon: <Favorite />,
55
+ size: "large",
56
+ };
57
+
58
+ //TODO: add checkbox button example
59
+ //TODO: size not working
@@ -1,26 +1,32 @@
1
- import React from 'react';
1
+ import React from "react";
2
+ import Proptypes from 'prop-types';
2
3
  import CircularProgress from "@material-ui/core/CircularProgress";
3
4
  import styled from "styled-components";
4
5
  import { withStyles } from "@material-ui/core/styles";
5
- import { BmPrimaryBlue } from "./colors";
6
+ import {
7
+ BmPrimaryBlue,
8
+ BmSecondaryDarkGreen,
9
+ BmSecondaryRed,
10
+ BmPrimaryGold,
11
+ } from "../colors";
6
12
 
7
13
  const style = {
8
14
  colorPrimary: {
9
- color: ({ color }) => {
10
- if (color) return color;
15
+ color: ({ type }) => {
16
+ if (type === "success") return `${BmSecondaryDarkGreen}`;
17
+ if (type === "warning") return `${BmPrimaryGold}`;
18
+ if (type === "error") return `${BmSecondaryRed}`;
11
19
  return `${BmPrimaryBlue}`;
12
20
  },
13
21
  },
14
22
  };
15
23
 
16
24
  export const BmLoader = withStyles(style)(({ size, ...rest }) => {
17
- let defaultSize;
25
+ let defaultSize = size || "2.286rem";
18
26
  if (size) {
19
27
  if (size === "large") defaultSize = "2.286rem";
20
28
  if (size === "medium") defaultSize = "1.714rem";
21
29
  if (size === "small") defaultSize = "1.429rem";
22
- } else {
23
- defaultSize = size;
24
30
  }
25
31
  return <CircularProgress action size={defaultSize} {...rest} />;
26
32
  });
@@ -30,3 +36,8 @@ export const Loader = styled.div`
30
36
  align-items: center;
31
37
  justify-content: center;
32
38
  `;
39
+
40
+ BmLoader.propTypes = {
41
+ size: Proptypes.string,
42
+ type: Proptypes.string,
43
+ }
@@ -0,0 +1,30 @@
1
+ /* eslint-disable import/no-anonymous-default-export */
2
+ import React from "react";
3
+ import { BmLoader } from "./loader";
4
+
5
+ export default {
6
+ component: BmLoader,
7
+ title: "components/Loader",
8
+ argTypes: {
9
+ size: {
10
+ options: ["small", "medium", "large"],
11
+ control: { type: "select" },
12
+ description: "Size of the loader (Can also be predefined e.g. 10px)",
13
+ defaultValue: { summary: "large" },
14
+ },
15
+ type: {
16
+ options: ["success", "warning", "error"],
17
+ control: { type: "select" },
18
+ description: "Type of loader",
19
+ defaultValue: { summary: "Beem default loader" },
20
+ },
21
+ },
22
+ };
23
+
24
+ const MainLoader = (args) => <BmLoader {...args} />;
25
+
26
+ export const Loader = MainLoader.bind({});
27
+ Loader.args = {
28
+ type: "success",
29
+ size: "small",
30
+ };
@@ -0,0 +1,7 @@
1
+ import styled from "styled-components";
2
+ import { BmBgGreyBlue } from "../colors";
3
+
4
+ export const MainWrapper = styled.div`
5
+ padding: 2.1875rem;
6
+ background-color: ${BmBgGreyBlue};
7
+ `;