beem-component 1.5.8 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/.eslintrc +62 -0
  2. package/.prettierrc +6 -0
  3. package/babel.config.js +9 -10
  4. package/dist/components/Accordion/Accordion.js +7 -7
  5. package/dist/components/Accordion/Accordion.stories.js +28 -28
  6. package/dist/components/Avatars/avatars.js +30 -22
  7. package/dist/components/Avatars/avatars.stories.js +17 -17
  8. package/dist/components/BannerCard/bannerCard.stories.js +12 -12
  9. package/dist/components/BannerCard/bannerCards.js +14 -14
  10. package/dist/components/Buttons/Stories/basicbutton.stories.js +23 -23
  11. package/dist/components/Buttons/Stories/buttonAlertIcons.stories.js +16 -16
  12. package/dist/components/Buttons/Stories/buttonIconsOnly.stories.js +16 -16
  13. package/dist/components/Buttons/buttonAlertIcons.js +16 -16
  14. package/dist/components/Buttons/buttonIconsOnly.js +22 -22
  15. package/dist/components/Buttons/buttons.js +56 -56
  16. package/dist/components/Cards/cards.js +1 -1
  17. package/dist/components/Cards/cards.stories.js +6 -6
  18. package/dist/components/ChatComponents/ChatBody/chatBody.js +43 -36
  19. package/dist/components/ChatComponents/ChatBody/chatBody.stories.js +5 -5
  20. package/dist/components/ChatComponents/ChatHeader/chatHeader.js +1 -1
  21. package/dist/components/ChatComponents/ChatHeader/chatHeader.stories.js +1 -1
  22. package/dist/components/ChatComponents/ColorPicker/colorPicker.stories.js +7 -3
  23. package/dist/components/ChatComponents/ContactCards/contactCards.js +1 -2
  24. package/dist/components/ChatComponents/ContactCards/contactCards.stories.js +1 -1
  25. package/dist/components/ChatComponents/FormAccordion/FormAccordion.stories.js +9 -5
  26. package/dist/components/ChatComponents/InfoTab/infoTab.js +1 -1
  27. package/dist/components/ChatComponents/InfoTab/infoTab.stories.js +4 -4
  28. package/dist/components/ChatComponents/LabelAccordion/LabelAccordion.stories.js +12 -7
  29. package/dist/components/ChatComponents/NoteAccordion/NoteAccordion.stories.js +14 -12
  30. package/dist/components/Checkbox/checkboxToggler.js +64 -0
  31. package/dist/components/Checkbox/checkboxToggler.stories.js +92 -0
  32. package/dist/components/Lists/listBox.js +5 -5
  33. package/dist/components/Lists/listBox.stories.js +5 -5
  34. package/dist/components/Lists/listHeader.stories.js +11 -11
  35. package/dist/components/Lists/listheader.js +4 -4
  36. package/dist/components/Lists/rowLabels.js +2 -2
  37. package/dist/components/Lists/rowLabels.stories.js +16 -16
  38. package/dist/components/Loader/loader.js +7 -7
  39. package/dist/components/Loader/loader.stories.js +11 -11
  40. package/dist/components/MessageCounter/MessageCounter.stories.js +13 -13
  41. package/dist/components/MessageCounter/messageCounter.js +11 -11
  42. package/dist/components/Modals/modal.js +6 -8
  43. package/dist/components/Modals/modals.stories.js +6 -6
  44. package/dist/components/NoteBar/noteBar.js +14 -14
  45. package/dist/components/NoteBar/noteBar.stories.js +15 -15
  46. package/dist/components/PerformanceIndicator/performaceIndicator.stories.js +13 -13
  47. package/dist/components/PerformanceIndicator/performanceIndicator.js +14 -12
  48. package/dist/components/Pills/pills.js +10 -10
  49. package/dist/components/Pills/pills.stories.js +19 -21
  50. package/dist/components/ProfileIcon/ProfileIcon.js +14 -14
  51. package/dist/components/ProfileIcon/profileIcon.stories.js +16 -16
  52. package/dist/components/ProgressBar/progressbar.stories.js +6 -8
  53. package/dist/components/ProgressRing/progressRing.js +19 -19
  54. package/dist/components/ProgressRing/progressRing.stories.js +14 -14
  55. package/dist/components/RouteLink/link.js +3 -3
  56. package/dist/components/RouteLink/link.stories.js +1 -1
  57. package/dist/components/ScrollBar/scrollBar.js +9 -9
  58. package/dist/components/SuperFluid/SegmentCard/index.js +2 -2
  59. package/dist/components/Tabs/tabs.js +6 -6
  60. package/dist/components/Tabs/tabs.stories.js +17 -17
  61. package/dist/components/Tags/tags.js +21 -21
  62. package/dist/components/Tags/tags.stories.js +16 -16
  63. package/dist/components/breakpoints.js +3 -3
  64. package/dist/components/checkbox.js +4 -4
  65. package/dist/components/colors.js +32 -30
  66. package/dist/components/dropdownButton.js +35 -35
  67. package/dist/components/examples/InfoAccordion.js +0 -1
  68. package/dist/components/iconStyles.js +45 -45
  69. package/dist/components/index.js +24 -16
  70. package/dist/components/input.js +16 -16
  71. package/dist/components/typography.js +14 -14
  72. package/package.json +54 -31
  73. package/src/App.js +10 -7
  74. package/src/index.js +6 -8
  75. package/src/lib/components/Accordion/Accordion.js +32 -14
  76. package/src/lib/components/Accordion/Accordion.stories.js +31 -31
  77. package/src/lib/components/Avatars/avatars.js +44 -29
  78. package/src/lib/components/Avatars/avatars.stories.js +18 -18
  79. package/src/lib/components/BannerCard/bannerCard.stories.js +16 -17
  80. package/src/lib/components/BannerCard/bannerCards.js +18 -18
  81. package/src/lib/components/Buttons/Stories/basicbutton.stories.js +29 -29
  82. package/src/lib/components/Buttons/Stories/buttonAlertIcons.stories.js +17 -17
  83. package/src/lib/components/Buttons/Stories/buttonIconsOnly.stories.js +24 -24
  84. package/src/lib/components/Buttons/buttonAlertIcons.js +22 -25
  85. package/src/lib/components/Buttons/buttonIconsOnly.js +32 -28
  86. package/src/lib/components/Buttons/buttons.js +70 -73
  87. package/src/lib/components/Cards/cards.js +2 -3
  88. package/src/lib/components/Cards/cards.stories.js +10 -10
  89. package/src/lib/components/ChatComponents/ChatBody/chatBody.js +49 -45
  90. package/src/lib/components/ChatComponents/ChatBody/chatBody.stories.js +34 -28
  91. package/src/lib/components/ChatComponents/ChatBody/sessionDetails.js +2 -2
  92. package/src/lib/components/ChatComponents/ChatHeader/chatHeader.js +2 -2
  93. package/src/lib/components/ChatComponents/ChatHeader/chatHeader.stories.js +4 -4
  94. package/src/lib/components/ChatComponents/ColorPicker/colorPicker.js +2 -2
  95. package/src/lib/components/ChatComponents/ColorPicker/colorPicker.stories.js +4 -3
  96. package/src/lib/components/ChatComponents/ContactCards/contactCards.js +7 -5
  97. package/src/lib/components/ChatComponents/ContactCards/contactCards.stories.js +6 -6
  98. package/src/lib/components/ChatComponents/FormAccordion/FormAccordion.js +3 -3
  99. package/src/lib/components/ChatComponents/FormAccordion/FormAccordion.stories.js +4 -3
  100. package/src/lib/components/ChatComponents/InfoTab/infoTab.js +2 -2
  101. package/src/lib/components/ChatComponents/InfoTab/infoTab.stories.js +7 -7
  102. package/src/lib/components/ChatComponents/LabelAccordion/LabelAccordion.stories.js +5 -3
  103. package/src/lib/components/ChatComponents/NoteAccordion/NoteAccordion.js +2 -2
  104. package/src/lib/components/ChatComponents/NoteAccordion/NoteAccordion.stories.js +6 -5
  105. package/src/lib/components/Checkbox/checkboxToggler.js +89 -0
  106. package/src/lib/components/Checkbox/checkboxToggler.stories.js +48 -0
  107. package/src/lib/components/Lists/listBox.js +7 -7
  108. package/src/lib/components/Lists/listBox.stories.js +8 -11
  109. package/src/lib/components/Lists/listHeader.stories.js +13 -13
  110. package/src/lib/components/Lists/listheader.js +7 -7
  111. package/src/lib/components/Lists/rowLabels.js +6 -6
  112. package/src/lib/components/Lists/rowLabels.stories.js +18 -18
  113. package/src/lib/components/Loader/loader.js +13 -13
  114. package/src/lib/components/Loader/loader.stories.js +14 -14
  115. package/src/lib/components/MainWrapper/index.js +2 -2
  116. package/src/lib/components/MessageCounter/MessageCounter.stories.js +14 -14
  117. package/src/lib/components/MessageCounter/messageCounter.js +16 -16
  118. package/src/lib/components/Modals/modal.js +25 -23
  119. package/src/lib/components/Modals/modals.stories.js +9 -9
  120. package/src/lib/components/NoteBar/noteBar.js +20 -20
  121. package/src/lib/components/NoteBar/noteBar.stories.js +18 -17
  122. package/src/lib/components/PerformanceIndicator/performaceIndicator.stories.js +15 -15
  123. package/src/lib/components/PerformanceIndicator/performanceIndicator.js +11 -10
  124. package/src/lib/components/Pills/pills.js +16 -16
  125. package/src/lib/components/Pills/pills.stories.js +22 -23
  126. package/src/lib/components/ProfileIcon/ProfileIcon.js +50 -52
  127. package/src/lib/components/ProfileIcon/profileIcon.stories.js +22 -22
  128. package/src/lib/components/ProgressBar/progressbar.js +4 -5
  129. package/src/lib/components/ProgressBar/progressbar.stories.js +8 -9
  130. package/src/lib/components/ProgressRing/progressRing.js +25 -24
  131. package/src/lib/components/ProgressRing/progressRing.stories.js +18 -18
  132. package/src/lib/components/RouteLink/link.js +10 -8
  133. package/src/lib/components/RouteLink/link.stories.js +4 -4
  134. package/src/lib/components/ScrollBar/scrollBar.js +15 -14
  135. package/src/lib/components/SuperFluid/Content/index.js +2 -2
  136. package/src/lib/components/SuperFluid/ContentTitle.js/index.js +2 -2
  137. package/src/lib/components/SuperFluid/SegmentCard/index.js +9 -8
  138. package/src/lib/components/Tabs/tabs.js +11 -11
  139. package/src/lib/components/Tabs/tabs.stories.js +20 -20
  140. package/src/lib/components/Tags/tags.js +26 -24
  141. package/src/lib/components/Tags/tags.stories.js +19 -19
  142. package/src/lib/components/breakpoints.js +3 -3
  143. package/src/lib/components/checkbox.js +7 -6
  144. package/src/lib/components/colors.js +30 -28
  145. package/src/lib/components/dropdownButton.js +36 -39
  146. package/src/lib/components/examples/InfoAccordion.js +1 -1
  147. package/src/lib/components/globalStyles.js +2 -2
  148. package/src/lib/components/iconStyles.js +45 -48
  149. package/src/lib/components/index.js +47 -46
  150. package/src/lib/components/input.js +20 -20
  151. package/src/lib/components/text.js +1 -1
  152. package/src/lib/components/typography.js +14 -14
  153. package/src/reportWebVitals.js +1 -1
  154. package/dist/components/checkboxToggler.js +0 -50
  155. package/src/lib/components/checkboxToggler.js +0 -19
@@ -1,9 +1,9 @@
1
- import React from "react";
2
- import styled from "styled-components";
3
- import PropTypes from "prop-types";
4
- import { darken } from "polished";
1
+ import React from 'react';
2
+ import styled from 'styled-components';
3
+ import PropTypes from 'prop-types';
4
+ import { darken } from 'polished';
5
5
 
6
- //TODO: Button Links Pending
6
+ // TODO: Button Links Pending
7
7
  import {
8
8
  BmPrimaryWhite,
9
9
  BmPrimaryBlue,
@@ -14,30 +14,29 @@ import {
14
14
  BmGrey50,
15
15
  BmSecondaryGreen8,
16
16
  BmSecondaryRed8,
17
- } from "../colors";
18
- import { BmButtonIcon } from "../iconStyles";
19
- import { h3, h4 } from "../text";
17
+ } from '../colors';
18
+ import { BmButtonIcon } from '../iconStyles';
19
+ import { h3, h4 } from '../text';
20
20
 
21
21
  const ButtonText = styled.div`
22
22
  ${({ size }) => {
23
- if (size === "large") return `${h3}`;
24
- if (size === "medium") return `${h3}`;
25
- if (size === "small") return `${h4}`;
23
+ if (size === 'large') return `${h3}`;
24
+ if (size === 'medium') return `${h3}`;
25
+ if (size === 'small') return `${h4}`;
26
26
  return `${h3}`;
27
27
  }}
28
28
  text-align: center;
29
29
  color: ${({ variant, disabled, color }) => {
30
30
  if (!disabled) {
31
- if (variant === "primary") return `${BmPrimaryWhite}`;
32
- if (variant === "secondary") return `${color ? color : BmPrimaryBlue}`
33
- if (variant === "tertiary") return `${color ? color : BmPrimaryBlue}`
34
- if (variant === "destructive") return `${BmPrimaryWhite}`;
35
- if (variant === "success") return `${BmPrimaryWhite}`;
36
- if (variant === "neutral") return `${color ? color : BmPrimaryBlue}`
31
+ if (variant === 'primary') return `${BmPrimaryWhite}`;
32
+ if (variant === 'secondary') return `${color || BmPrimaryBlue}`;
33
+ if (variant === 'tertiary') return `${color || BmPrimaryBlue}`;
34
+ if (variant === 'destructive') return `${BmPrimaryWhite}`;
35
+ if (variant === 'success') return `${BmPrimaryWhite}`;
36
+ if (variant === 'neutral') return `${color || BmPrimaryBlue}`;
37
37
  return `${BmPrimaryWhite}`;
38
- } else {
39
- return `${BmGrey400}`;
40
38
  }
39
+ return `${BmGrey400}`;
41
40
  }};
42
41
  padding: 0rem;
43
42
  `;
@@ -49,116 +48,114 @@ const BeemButton = styled.button`
49
48
  align-items: center;
50
49
  border-radius: 0.25rem;
51
50
  padding: ${({ size }) => {
52
- if (size === "large") return "0.625rem 1.5rem";
53
- if (size === "medium") return "0.4375rem 1rem";
54
- if (size === "small") return "0.375rem 0.75rem";
55
- return "0.625rem 1.5rem";
51
+ if (size === 'large') return '0.625rem 1.5rem';
52
+ if (size === 'medium') return '0.4375rem 1rem';
53
+ if (size === 'small') return '0.375rem 0.75rem';
54
+ return '0.625rem 1.5rem';
56
55
  }};
57
56
  background: ${({ variant, disabled, color }) => {
58
57
  if (!disabled) {
59
- if (variant === "primary") return `${color ? color : BmPrimaryBlue}`;
60
- if (variant === "secondary") return "none";
61
- if (variant === "tertiary") return "none";
62
- if (variant === "destructive") return `${BmSecondaryRed}`;
63
- if (variant === "success") return `${BmSecondaryDarkGreen}`;
64
- if (variant === "neutral") return `${BmPrimaryWhite}`;
65
- return `${color ? color : BmPrimaryBlue}`;
66
- } else {
67
- if (variant === "primary") return `${BmGrey100}`;
68
- if (variant === "secondary") return "none";
69
- if (variant === "tertiary") return "none";
70
- return `${BmGrey100}`;
58
+ if (variant === 'primary') return `${color || BmPrimaryBlue}`;
59
+ if (variant === 'secondary') return 'none';
60
+ if (variant === 'tertiary') return 'none';
61
+ if (variant === 'destructive') return `${BmSecondaryRed}`;
62
+ if (variant === 'success') return `${BmSecondaryDarkGreen}`;
63
+ if (variant === 'neutral') return `${BmPrimaryWhite}`;
64
+ return `${color || BmPrimaryBlue}`;
71
65
  }
66
+ if (variant === 'primary') return `${BmGrey100}`;
67
+ if (variant === 'secondary') return 'none';
68
+ if (variant === 'tertiary') return 'none';
69
+ return `${BmGrey100}`;
72
70
  }};
73
71
 
74
72
  border: 0.071rem solid
75
73
  ${({ variant, disabled, color }) => {
76
74
  if (!disabled) {
77
- if (variant === "primary") return `${color ? color : BmPrimaryBlue}`;
78
- if (variant === "secondary") return `${color ? color : BmPrimaryBlue}`;
79
- if (variant === "tertiary") return "transparent";
80
- if (variant === "destructive") return `${BmSecondaryRed}`;
81
- if (variant === "success") return `${BmSecondaryDarkGreen}`;
82
- if (variant === "neutral") return `${BmGrey400}`;
83
- return `${color ? color : BmPrimaryBlue}`;
84
- } else {
85
- if (variant === "primary") return `${BmGrey100}`;
86
- if (variant === "secondary") return `${BmGrey400}`;
87
- if (variant === "tertiary") return "transparent";
75
+ if (variant === 'primary') return `${color || BmPrimaryBlue}`;
76
+ if (variant === 'secondary') return `${color || BmPrimaryBlue}`;
77
+ if (variant === 'tertiary') return 'transparent';
78
+ if (variant === 'destructive') return `${BmSecondaryRed}`;
79
+ if (variant === 'success') return `${BmSecondaryDarkGreen}`;
80
+ if (variant === 'neutral') return `${BmGrey400}`;
81
+ return `${color || BmPrimaryBlue}`;
88
82
  }
83
+ if (variant === 'primary') return `${BmGrey100}`;
84
+ if (variant === 'secondary') return `${BmGrey400}`;
85
+ if (variant === 'tertiary') return 'transparent';
89
86
  }};
90
87
 
91
88
  &:hover {
92
89
  background: ${({ variant, disabled, color }) => {
93
90
  if (!disabled) {
94
- if (variant === "primary")
95
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
96
- if (variant === "neutral") return `${BmGrey50}`;
97
- if (variant === "success") return `${BmSecondaryGreen8}`;
98
- if (variant === "destructive") return `${BmSecondaryRed8}`;
91
+ if (variant === 'primary')
92
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
93
+ if (variant === 'neutral') return `${BmGrey50}`;
94
+ if (variant === 'success') return `${BmSecondaryGreen8}`;
95
+ if (variant === 'destructive') return `${BmSecondaryRed8}`;
99
96
  if (!variant) {
100
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
97
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
101
98
  }
102
99
  }
103
100
  }};
104
101
  border: 0.071rem solid
105
102
  ${({ variant, disabled, color }) => {
106
103
  if (!disabled) {
107
- if (variant === "secondary")
108
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
104
+ if (variant === 'secondary')
105
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
109
106
  }
110
- return "none";
107
+ return 'none';
111
108
  }};
112
109
  }
113
110
  &:active {
114
111
  background: ${({ variant, disabled, color }) => {
115
112
  if (!disabled) {
116
- if (variant === "primary")
117
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
118
- if (variant === "neutral") return `${BmGrey100}`;
119
- if (variant === "success") return `${BmSecondaryDarkGreen}`;
120
- if (variant === "destructive") return `${BmSecondaryRed}`;
113
+ if (variant === 'primary')
114
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
115
+ if (variant === 'neutral') return `${BmGrey100}`;
116
+ if (variant === 'success') return `${BmSecondaryDarkGreen}`;
117
+ if (variant === 'destructive') return `${BmSecondaryRed}`;
121
118
  if (!variant) {
122
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
119
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
123
120
  }
124
121
  }
125
122
  }};
126
123
  box-shadow: ${({ variant, disabled }) => {
127
124
  if (!disabled) {
128
125
  if (
129
- variant === "primary" ||
130
- variant === "success" ||
131
- variant === "destructive"
126
+ variant === 'primary' ||
127
+ variant === 'success' ||
128
+ variant === 'destructive'
132
129
  )
133
- return "inset 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.25)";
130
+ return 'inset 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.25)';
134
131
  if (!variant) {
135
- return "inset 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.25)";
132
+ return 'inset 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.25)';
136
133
  }
137
134
  }
138
135
  }};
139
136
  border: 0.071rem solid
140
137
  ${({ variant, disabled, color }) => {
141
138
  if (!disabled) {
142
- if (variant === "secondary")
143
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
139
+ if (variant === 'secondary')
140
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
144
141
  }
145
- return "none";
142
+ return 'none';
146
143
  }};
147
144
  }
148
145
 
149
146
  &:hover ${ButtonText} {
150
147
  color: ${({ variant, disabled, color }) => {
151
148
  if (!disabled) {
152
- if (variant === "secondary" || variant === "tertiary")
153
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
149
+ if (variant === 'secondary' || variant === 'tertiary')
150
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
154
151
  }
155
152
  }};
156
153
  }
157
154
  &:active ${ButtonText} {
158
155
  color: ${({ variant, disabled, color }) => {
159
156
  if (!disabled) {
160
- if (variant === "secondary" || variant === "tertiary")
161
- return `${darken(0.1, color ? color : BmPrimaryBlue)}`;
157
+ if (variant === 'secondary' || variant === 'tertiary')
158
+ return `${darken(0.1, color || BmPrimaryBlue)}`;
162
159
  }
163
160
  }};
164
161
  }
@@ -1,5 +1,5 @@
1
- import styled from "styled-components";
2
- import { BmGrey400, BmPrimaryWhite } from "../colors";
1
+ import styled from 'styled-components';
2
+ import { BmGrey400, BmPrimaryWhite } from '../colors';
3
3
 
4
4
  const BmCard = styled.div`
5
5
  display: flex;
@@ -14,7 +14,6 @@ const BmCard = styled.div`
14
14
  justify-content: space-between;
15
15
  margin-bottom: 0.5rem;
16
16
  }
17
-
18
17
  `;
19
18
 
20
19
  BmCard.Header = styled.div`
@@ -1,17 +1,17 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
- import React from "react";
3
- import BmCard from "./cards";
4
- import { text, boolean } from "@storybook/addon-knobs";
5
- import "../../../main.scss";
6
- import { BmButton } from "../Buttons/buttons";
7
- import Image from "../../assets/beem.jpeg";
2
+ import React from 'react';
3
+ import { text, boolean } from '@storybook/addon-knobs';
4
+ import BmCard from './cards';
5
+ import '../../../main.scss';
6
+ import { BmButton } from '../Buttons/buttons';
7
+ import Image from '../../assets/beem.jpeg';
8
8
 
9
9
  export default {
10
10
  component: BmCard,
11
- title: "components/Card",
11
+ title: 'components/Card',
12
12
  argTypes: {
13
13
  children: {
14
- description: "Accordion Title Text",
14
+ description: 'Accordion Title Text',
15
15
  defaultValue: { summary: undefined },
16
16
  },
17
17
  },
@@ -19,9 +19,9 @@ export default {
19
19
  export const BasicCardSample = () => {
20
20
  return (
21
21
  <div>
22
- <BmCard disabled={boolean("disabled", false)}>
22
+ <BmCard disabled={boolean('disabled', false)}>
23
23
  <BmCard.Header>
24
- <h3>{text("children", "Card Header")}</h3>
24
+ <h3>{text('children', 'Card Header')}</h3>
25
25
  </BmCard.Header>
26
26
  <BmCard.Body>Card Body</BmCard.Body>
27
27
  <BmCard.Footer>Card Footer</BmCard.Footer>
@@ -1,24 +1,25 @@
1
- import React from "react";
2
- import { Done, DoneAll } from "@material-ui/icons";
3
- import FilePresentIcon from "@mui/icons-material/FilePresent";
4
- import DownloadIcon from "@mui/icons-material/Download";
5
- import styled from "styled-components";
6
- import BmAvatar from "../../Avatars/avatars";
7
- import { BmIcons } from "../../iconStyles";
8
- import { SessionDetails } from "./sessionDetails";
1
+ /* eslint-disable react/display-name */
2
+ import React from 'react';
3
+ import { Done, DoneAll } from '@material-ui/icons';
4
+ import FilePresentIcon from '@mui/icons-material/FilePresent';
5
+ import DownloadIcon from '@mui/icons-material/Download';
6
+ import styled from 'styled-components';
7
+ import BmAvatar from '../../Avatars/avatars';
8
+ import { BmIcons } from '../../iconStyles';
9
+ import { SessionDetails } from './sessionDetails';
9
10
  import {
10
11
  BmPrimaryWhite,
11
12
  BmPrimaryBlue,
12
13
  BmPrimaryBlack,
13
14
  BmSecondaryDarkGreen,
14
15
  BmGrey200,
15
- } from "../../colors";
16
+ } from '../../colors';
16
17
 
17
18
  const BmChat = styled.div`
18
19
  display: flex;
19
20
  flex-direction: column;
20
21
  height: 100%;
21
- ${"" /* border: 0.071rem solid ${BmGrey400}; */}
22
+ ${'' /* border: 0.071rem solid ${BmGrey400}; */}
22
23
  `;
23
24
 
24
25
  BmChat.Body = styled.div`
@@ -33,13 +34,13 @@ BmChat.Body = styled.div`
33
34
  const Details = styled.div`
34
35
  display: flex;
35
36
  justify-content: ${({ state }) => {
36
- if (state === "inbound") {
37
- return "flex-start";
37
+ if (state === 'inbound') {
38
+ return 'flex-start';
38
39
  }
39
- if (state === "outbound") {
40
- return "flex-end";
40
+ if (state === 'outbound') {
41
+ return 'flex-end';
41
42
  }
42
- return "row";
43
+ return 'row';
43
44
  }};
44
45
  > *:not(:last-child) {
45
46
  margin-right: 1rem;
@@ -49,7 +50,7 @@ const Details = styled.div`
49
50
  word-wrap: break-word !important;
50
51
  margin: 0rem;
51
52
  flex-grow: 1;
52
- ${"" /* border: 1px solid red; */}
53
+ ${'' /* border: 1px solid red; */}
53
54
  `;
54
55
 
55
56
  const MessageDetails = styled.div`
@@ -69,22 +70,22 @@ const Messages = styled.div`
69
70
  padding: 0.5rem;
70
71
  background: ${({ state }) => {
71
72
  if (state) {
72
- if (state === "inbound") return `${BmPrimaryWhite}`;
73
- if (state === "outbound") return `${BmPrimaryBlue}`;
73
+ if (state === 'inbound') return `${BmPrimaryWhite}`;
74
+ if (state === 'outbound') return `${BmPrimaryBlue}`;
74
75
  }
75
76
  return `${BmPrimaryWhite}`;
76
77
  }};
77
78
  color: ${({ state }) => {
78
79
  if (state) {
79
- if (state === "inbound") return `${BmPrimaryBlack}`;
80
- if (state === "outbound") return `${BmPrimaryWhite}`;
80
+ if (state === 'inbound') return `${BmPrimaryBlack}`;
81
+ if (state === 'outbound') return `${BmPrimaryWhite}`;
81
82
  }
82
83
  return `${BmPrimaryWhite}`;
83
84
  }};
84
85
  border-radius: ${({ state }) => {
85
86
  if (state) {
86
- if (state === "inbound") return "0.21875rem 0.21875rem 0.21875rem 0rem";
87
- if (state === "outbound") return "0.21875rem 0.21875rem 0rem 0.21875rem";
87
+ if (state === 'inbound') return '0.21875rem 0.21875rem 0.21875rem 0rem';
88
+ if (state === 'outbound') return '0.21875rem 0.21875rem 0rem 0.21875rem';
88
89
  }
89
90
  return `${BmPrimaryWhite}`;
90
91
  }};
@@ -104,12 +105,15 @@ const MessagesSubDetails = styled.div`
104
105
  `;
105
106
 
106
107
  const handleState = ({ session }) => {
107
- if (session === "bot") {
108
+ if (session === 'bot') {
108
109
  return <BmAvatar size="small" user="chatbot" />;
109
110
  }
110
- if (session === "live") {
111
+ if (session === 'live') {
111
112
  return <BmAvatar size="small" user="employee" />;
112
113
  }
114
+ if (session === 'sms') {
115
+ return <BmAvatar size="small" user="sms" />;
116
+ }
113
117
  };
114
118
 
115
119
  // Start of File Attachment
@@ -120,22 +124,22 @@ const FileAttachmentWrapper = styled.div`
120
124
  padding: 1rem;
121
125
  background: ${({ state }) => {
122
126
  if (state) {
123
- if (state === "inbound") return `${BmPrimaryWhite}`;
124
- if (state === "outbound") return `${BmPrimaryBlue}`;
127
+ if (state === 'inbound') return `${BmPrimaryWhite}`;
128
+ if (state === 'outbound') return `${BmPrimaryBlue}`;
125
129
  }
126
130
  return `${BmPrimaryWhite}`;
127
131
  }};
128
132
  color: ${({ state }) => {
129
133
  if (state) {
130
- if (state === "inbound") return `${BmPrimaryBlack}`;
131
- if (state === "outbound") return `${BmPrimaryWhite}`;
134
+ if (state === 'inbound') return `${BmPrimaryBlack}`;
135
+ if (state === 'outbound') return `${BmPrimaryWhite}`;
132
136
  }
133
137
  return `${BmPrimaryWhite}`;
134
138
  }};
135
139
  border-radius: ${({ state }) => {
136
140
  if (state) {
137
- if (state === "inbound") return "0.21875rem 0.21875rem 0.21875rem 0rem";
138
- if (state === "outbound") return "0.21875rem 0.21875rem 0rem 0.21875rem";
141
+ if (state === 'inbound') return '0.21875rem 0.21875rem 0.21875rem 0rem';
142
+ if (state === 'outbound') return '0.21875rem 0.21875rem 0rem 0.21875rem';
139
143
  }
140
144
  return `${BmPrimaryWhite}`;
141
145
  }};
@@ -152,14 +156,14 @@ const FileAttachmentWrapper = styled.div`
152
156
  align-items: center;
153
157
  color: ${({ state }) => {
154
158
  if (state) {
155
- if (state === "inbound") return `${BmPrimaryBlue}`;
156
- if (state === "outbound") return `${BmPrimaryWhite}`;
159
+ if (state === 'inbound') return `${BmPrimaryBlue}`;
160
+ if (state === 'outbound') return `${BmPrimaryWhite}`;
157
161
  }
158
162
  return `${BmPrimaryWhite}`;
159
163
  }};
160
164
  }
161
- ${"" /* max-width: 100%; */}
162
- ${"" /* max-height: 100%; */}
165
+ ${'' /* max-width: 100%; */}
166
+ ${'' /* max-height: 100%; */}
163
167
  `;
164
168
 
165
169
  const BmFileAttachment = ({
@@ -178,21 +182,21 @@ const BmFileAttachment = ({
178
182
  </FileAttachmentWrapper>
179
183
  );
180
184
  };
181
- //Start of Component for Images
185
+ // Start of Component for Images
182
186
  export const BmImageWrapper = styled.div`
183
187
  display: flex;
184
188
  flex-direction: column;
185
189
  color: ${({ state }) => {
186
190
  if (state) {
187
- if (state === "inbound") return `${BmPrimaryBlack}`;
188
- if (state === "outbound") return `${BmPrimaryWhite}`;
191
+ if (state === 'inbound') return `${BmPrimaryBlack}`;
192
+ if (state === 'outbound') return `${BmPrimaryWhite}`;
189
193
  }
190
194
  return `${BmPrimaryWhite}`;
191
195
  }};
192
196
  border-radius: ${({ state }) => {
193
197
  if (state) {
194
- if (state === "inbound") return "0.21875rem 0.21875rem 0.21875rem 0rem";
195
- if (state === "outbound") return "0.21875rem 0.21875rem 0rem 0.21875rem";
198
+ if (state === 'inbound') return '0.21875rem 0.21875rem 0.21875rem 0rem';
199
+ if (state === 'outbound') return '0.21875rem 0.21875rem 0rem 0.21875rem';
196
200
  }
197
201
  return `${BmPrimaryWhite}`;
198
202
  }};
@@ -200,7 +204,7 @@ export const BmImageWrapper = styled.div`
200
204
  `;
201
205
 
202
206
  export const BmImage = styled.img`
203
- ${"" /* Fix width */}
207
+ ${'' /* Fix width */}
204
208
  width: 100%;
205
209
  object-fit: cover;
206
210
  flex-grow: 1;
@@ -230,7 +234,7 @@ export const MessageState = styled.div`
230
234
  }
231
235
  `;
232
236
 
233
- //End of Component for Images
237
+ // End of Component for Images
234
238
 
235
239
  BmChat.Details = ({
236
240
  children,
@@ -256,7 +260,7 @@ BmChat.Details = ({
256
260
  <Details state={state} {...rest}>
257
261
  {/* Adding for mobile */}
258
262
  <MessageState>
259
- {state === "inbound" && session && handleState({ state, session })}
263
+ {state === 'inbound' && session && handleState({ state, session })}
260
264
  </MessageState>
261
265
  <MessageDetails>
262
266
  {/* For Images */}
@@ -281,14 +285,14 @@ BmChat.Details = ({
281
285
  )}
282
286
  <MessagesSubDetails>
283
287
  {displayTime && displayTime}
284
- {status === "sent" && (
288
+ {status === 'sent' && (
285
289
  <BmIcons
286
290
  icon={<DoneAll />}
287
291
  color={`${BmSecondaryDarkGreen}`}
288
292
  size="small"
289
293
  />
290
294
  )}
291
- {status === "failed" && (
295
+ {status === 'failed' && (
292
296
  <BmIcons
293
297
  icon={<Done />}
294
298
  color={`${BmPrimaryBlack}`}
@@ -298,7 +302,7 @@ BmChat.Details = ({
298
302
  </MessagesSubDetails>
299
303
  </MessageDetails>
300
304
  <MessageState>
301
- {state === "outbound" && session && handleState({ state, session })}
305
+ {state === 'outbound' && session && handleState({ state, session })}
302
306
  </MessageState>
303
307
  </Details>
304
308
  </>
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable import/no-anonymous-default-export */
2
2
  import React from 'react';
3
- import BmChat from './chatBody';
4
- import { BmIcons } from '../../iconStyles';
5
3
  import EmojiEmotionsIcon from '@mui/icons-material/EmojiEmotions';
6
4
  import AttachFileIcon from '@mui/icons-material/AttachFile';
7
5
  import QuickreplyIcon from '@mui/icons-material/Quickreply';
8
6
  import SendIcon from '@mui/icons-material/Send';
7
+ import { BmIcons } from '../../iconStyles';
8
+ import BmChat from './chatBody';
9
9
  import { BmInput } from '../../input';
10
10
  import image from '../../../assets/chart-img.png';
11
11
  // TODO: ADD DESCRIPTION
@@ -19,52 +19,58 @@ export const ChatBody = () => {
19
19
  <BmChat>
20
20
  <BmChat.Body>
21
21
  <BmChat.Details
22
- state='inbound'
23
- session='bot'
22
+ state="inbound"
23
+ session="sms"
24
24
  displayTime={<p>12:00pm</p>}
25
- status='sent'
26
- sessionDetails={{ message: <h3>Session Message</h3>, time: <p>12:00pm</p> }}
25
+ status="sent"
26
+ sessionDetails={{
27
+ message: <h3>Session Message</h3>,
28
+ time: <p>12:00pm</p>,
29
+ }}
27
30
  >
28
31
  <p>Inbound Text Message</p>
29
32
  </BmChat.Details>
30
33
  <BmChat.Details
31
- state='inbound'
32
- session='live'
34
+ state="inbound"
35
+ session="live"
33
36
  displayTime={<p>12:00pm</p>}
34
- status='sent'
37
+ status="sent"
35
38
  fileName={<p>chat.png</p>}
36
39
  src={image}
37
- sessionDetails={{ message: <h3>Session Message</h3>, time: <p>12:00pm</p> }}
40
+ sessionDetails={{
41
+ message: <h3>Session Message</h3>,
42
+ time: <p>12:00pm</p>,
43
+ }}
38
44
  />
39
45
  <BmChat.Details
40
- state='inbound'
41
- session='live'
46
+ state="inbound"
47
+ session="live"
42
48
  displayTime={<p>10:00am</p>}
43
- status='failed'
49
+ status="failed"
44
50
  fileName={<p>file.csv</p>}
45
51
  file={image}
46
52
  />
47
53
  <BmChat.Details
48
- state='outbound'
49
- session='bot'
54
+ state="outbound"
55
+ session="bot"
50
56
  displayTime={<p>12:00pm</p>}
51
- status='sent'
57
+ status="sent"
52
58
  >
53
59
  <p>Outbound Text Message</p>
54
60
  </BmChat.Details>
55
61
  <BmChat.Details
56
- state='outbound'
57
- session='live'
62
+ state="outbound"
63
+ session="live"
58
64
  displayTime={<p>12:00pm</p>}
59
- status='sent'
65
+ status="sent"
60
66
  fileName={<p>chat.png</p>}
61
67
  src={image}
62
68
  />
63
69
  <BmChat.Details
64
- state='outbound'
65
- session='live'
70
+ state="outbound"
71
+ session="live"
66
72
  displayTime={<p>10:00am</p>}
67
- status='failed'
73
+ status="failed"
68
74
  fileName={<p>file.csv</p>}
69
75
  file={image}
70
76
  onDownload={() => {
@@ -73,12 +79,12 @@ export const ChatBody = () => {
73
79
  />
74
80
  </BmChat.Body>
75
81
  <BmChat.Footer>
76
- <div className='chat-footer'>
77
- <BmIcons icon={<EmojiEmotionsIcon />} size='xlarge' />
78
- <BmIcons icon={<AttachFileIcon />} size='xlarge' />
79
- <BmIcons icon={<QuickreplyIcon />} size='xlarge' />
80
- <BmInput placeholder='Enter Message' style={{ flex: '1' }} />
81
- <BmIcons icon={<SendIcon />} size='xlarge' />
82
+ <div className="chat-footer">
83
+ <BmIcons icon={<EmojiEmotionsIcon />} size="xlarge" />
84
+ <BmIcons icon={<AttachFileIcon />} size="xlarge" />
85
+ <BmIcons icon={<QuickreplyIcon />} size="xlarge" />
86
+ <BmInput placeholder="Enter Message" style={{ flex: '1' }} />
87
+ <BmIcons icon={<SendIcon />} size="xlarge" />
82
88
  </div>
83
89
  </BmChat.Footer>
84
90
  </BmChat>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import styled from "styled-components";
3
- import { BmGrey200 } from "../../colors";
2
+ import styled from 'styled-components';
3
+ import { BmGrey200 } from '../../colors';
4
4
 
5
5
  const SessionDetailsWrapper = styled.div`
6
6
  display: flex;
@@ -1,11 +1,11 @@
1
- import styled from "styled-components";
1
+ import styled from 'styled-components';
2
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;