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.
- package/.eslintrc +62 -0
- package/.prettierrc +6 -0
- package/babel.config.js +9 -10
- package/dist/components/Accordion/Accordion.js +7 -7
- package/dist/components/Accordion/Accordion.stories.js +28 -28
- package/dist/components/Avatars/avatars.js +30 -22
- package/dist/components/Avatars/avatars.stories.js +17 -17
- package/dist/components/BannerCard/bannerCard.stories.js +12 -12
- package/dist/components/BannerCard/bannerCards.js +14 -14
- package/dist/components/Buttons/Stories/basicbutton.stories.js +23 -23
- package/dist/components/Buttons/Stories/buttonAlertIcons.stories.js +16 -16
- package/dist/components/Buttons/Stories/buttonIconsOnly.stories.js +16 -16
- package/dist/components/Buttons/buttonAlertIcons.js +16 -16
- package/dist/components/Buttons/buttonIconsOnly.js +22 -22
- package/dist/components/Buttons/buttons.js +56 -56
- package/dist/components/Cards/cards.js +1 -1
- package/dist/components/Cards/cards.stories.js +6 -6
- package/dist/components/ChatComponents/ChatBody/chatBody.js +43 -36
- package/dist/components/ChatComponents/ChatBody/chatBody.stories.js +5 -5
- package/dist/components/ChatComponents/ChatHeader/chatHeader.js +1 -1
- package/dist/components/ChatComponents/ChatHeader/chatHeader.stories.js +1 -1
- package/dist/components/ChatComponents/ColorPicker/colorPicker.stories.js +7 -3
- package/dist/components/ChatComponents/ContactCards/contactCards.js +1 -2
- package/dist/components/ChatComponents/ContactCards/contactCards.stories.js +1 -1
- package/dist/components/ChatComponents/FormAccordion/FormAccordion.stories.js +9 -5
- package/dist/components/ChatComponents/InfoTab/infoTab.js +1 -1
- package/dist/components/ChatComponents/InfoTab/infoTab.stories.js +4 -4
- package/dist/components/ChatComponents/LabelAccordion/LabelAccordion.stories.js +12 -7
- package/dist/components/ChatComponents/NoteAccordion/NoteAccordion.stories.js +14 -12
- package/dist/components/Checkbox/checkboxToggler.js +64 -0
- package/dist/components/Checkbox/checkboxToggler.stories.js +92 -0
- package/dist/components/Lists/listBox.js +5 -5
- package/dist/components/Lists/listBox.stories.js +5 -5
- package/dist/components/Lists/listHeader.stories.js +11 -11
- package/dist/components/Lists/listheader.js +4 -4
- package/dist/components/Lists/rowLabels.js +2 -2
- package/dist/components/Lists/rowLabels.stories.js +16 -16
- package/dist/components/Loader/loader.js +7 -7
- package/dist/components/Loader/loader.stories.js +11 -11
- package/dist/components/MessageCounter/MessageCounter.stories.js +13 -13
- package/dist/components/MessageCounter/messageCounter.js +11 -11
- package/dist/components/Modals/modal.js +6 -8
- package/dist/components/Modals/modals.stories.js +6 -6
- package/dist/components/NoteBar/noteBar.js +14 -14
- package/dist/components/NoteBar/noteBar.stories.js +15 -15
- package/dist/components/PerformanceIndicator/performaceIndicator.stories.js +13 -13
- package/dist/components/PerformanceIndicator/performanceIndicator.js +14 -12
- package/dist/components/Pills/pills.js +10 -10
- package/dist/components/Pills/pills.stories.js +19 -21
- package/dist/components/ProfileIcon/ProfileIcon.js +14 -14
- package/dist/components/ProfileIcon/profileIcon.stories.js +16 -16
- package/dist/components/ProgressBar/progressbar.stories.js +6 -8
- package/dist/components/ProgressRing/progressRing.js +19 -19
- package/dist/components/ProgressRing/progressRing.stories.js +14 -14
- package/dist/components/RouteLink/link.js +3 -3
- package/dist/components/RouteLink/link.stories.js +1 -1
- package/dist/components/ScrollBar/scrollBar.js +9 -9
- package/dist/components/SuperFluid/SegmentCard/index.js +2 -2
- package/dist/components/Tabs/tabs.js +6 -6
- package/dist/components/Tabs/tabs.stories.js +17 -17
- package/dist/components/Tags/tags.js +21 -21
- package/dist/components/Tags/tags.stories.js +16 -16
- package/dist/components/breakpoints.js +3 -3
- package/dist/components/checkbox.js +4 -4
- package/dist/components/colors.js +32 -30
- package/dist/components/dropdownButton.js +35 -35
- package/dist/components/examples/InfoAccordion.js +0 -1
- package/dist/components/iconStyles.js +45 -45
- package/dist/components/index.js +24 -16
- package/dist/components/input.js +16 -16
- package/dist/components/typography.js +14 -14
- package/package.json +54 -31
- package/src/App.js +10 -7
- package/src/index.js +6 -8
- package/src/lib/components/Accordion/Accordion.js +32 -14
- package/src/lib/components/Accordion/Accordion.stories.js +31 -31
- package/src/lib/components/Avatars/avatars.js +44 -29
- package/src/lib/components/Avatars/avatars.stories.js +18 -18
- package/src/lib/components/BannerCard/bannerCard.stories.js +16 -17
- package/src/lib/components/BannerCard/bannerCards.js +18 -18
- package/src/lib/components/Buttons/Stories/basicbutton.stories.js +29 -29
- package/src/lib/components/Buttons/Stories/buttonAlertIcons.stories.js +17 -17
- package/src/lib/components/Buttons/Stories/buttonIconsOnly.stories.js +24 -24
- package/src/lib/components/Buttons/buttonAlertIcons.js +22 -25
- package/src/lib/components/Buttons/buttonIconsOnly.js +32 -28
- package/src/lib/components/Buttons/buttons.js +70 -73
- package/src/lib/components/Cards/cards.js +2 -3
- package/src/lib/components/Cards/cards.stories.js +10 -10
- package/src/lib/components/ChatComponents/ChatBody/chatBody.js +49 -45
- package/src/lib/components/ChatComponents/ChatBody/chatBody.stories.js +34 -28
- package/src/lib/components/ChatComponents/ChatBody/sessionDetails.js +2 -2
- package/src/lib/components/ChatComponents/ChatHeader/chatHeader.js +2 -2
- package/src/lib/components/ChatComponents/ChatHeader/chatHeader.stories.js +4 -4
- package/src/lib/components/ChatComponents/ColorPicker/colorPicker.js +2 -2
- package/src/lib/components/ChatComponents/ColorPicker/colorPicker.stories.js +4 -3
- package/src/lib/components/ChatComponents/ContactCards/contactCards.js +7 -5
- package/src/lib/components/ChatComponents/ContactCards/contactCards.stories.js +6 -6
- package/src/lib/components/ChatComponents/FormAccordion/FormAccordion.js +3 -3
- package/src/lib/components/ChatComponents/FormAccordion/FormAccordion.stories.js +4 -3
- package/src/lib/components/ChatComponents/InfoTab/infoTab.js +2 -2
- package/src/lib/components/ChatComponents/InfoTab/infoTab.stories.js +7 -7
- package/src/lib/components/ChatComponents/LabelAccordion/LabelAccordion.stories.js +5 -3
- package/src/lib/components/ChatComponents/NoteAccordion/NoteAccordion.js +2 -2
- package/src/lib/components/ChatComponents/NoteAccordion/NoteAccordion.stories.js +6 -5
- package/src/lib/components/Checkbox/checkboxToggler.js +89 -0
- package/src/lib/components/Checkbox/checkboxToggler.stories.js +48 -0
- package/src/lib/components/Lists/listBox.js +7 -7
- package/src/lib/components/Lists/listBox.stories.js +8 -11
- package/src/lib/components/Lists/listHeader.stories.js +13 -13
- package/src/lib/components/Lists/listheader.js +7 -7
- package/src/lib/components/Lists/rowLabels.js +6 -6
- package/src/lib/components/Lists/rowLabels.stories.js +18 -18
- package/src/lib/components/Loader/loader.js +13 -13
- package/src/lib/components/Loader/loader.stories.js +14 -14
- package/src/lib/components/MainWrapper/index.js +2 -2
- package/src/lib/components/MessageCounter/MessageCounter.stories.js +14 -14
- package/src/lib/components/MessageCounter/messageCounter.js +16 -16
- package/src/lib/components/Modals/modal.js +25 -23
- package/src/lib/components/Modals/modals.stories.js +9 -9
- package/src/lib/components/NoteBar/noteBar.js +20 -20
- package/src/lib/components/NoteBar/noteBar.stories.js +18 -17
- package/src/lib/components/PerformanceIndicator/performaceIndicator.stories.js +15 -15
- package/src/lib/components/PerformanceIndicator/performanceIndicator.js +11 -10
- package/src/lib/components/Pills/pills.js +16 -16
- package/src/lib/components/Pills/pills.stories.js +22 -23
- package/src/lib/components/ProfileIcon/ProfileIcon.js +50 -52
- package/src/lib/components/ProfileIcon/profileIcon.stories.js +22 -22
- package/src/lib/components/ProgressBar/progressbar.js +4 -5
- package/src/lib/components/ProgressBar/progressbar.stories.js +8 -9
- package/src/lib/components/ProgressRing/progressRing.js +25 -24
- package/src/lib/components/ProgressRing/progressRing.stories.js +18 -18
- package/src/lib/components/RouteLink/link.js +10 -8
- package/src/lib/components/RouteLink/link.stories.js +4 -4
- package/src/lib/components/ScrollBar/scrollBar.js +15 -14
- package/src/lib/components/SuperFluid/Content/index.js +2 -2
- package/src/lib/components/SuperFluid/ContentTitle.js/index.js +2 -2
- package/src/lib/components/SuperFluid/SegmentCard/index.js +9 -8
- package/src/lib/components/Tabs/tabs.js +11 -11
- package/src/lib/components/Tabs/tabs.stories.js +20 -20
- package/src/lib/components/Tags/tags.js +26 -24
- package/src/lib/components/Tags/tags.stories.js +19 -19
- package/src/lib/components/breakpoints.js +3 -3
- package/src/lib/components/checkbox.js +7 -6
- package/src/lib/components/colors.js +30 -28
- package/src/lib/components/dropdownButton.js +36 -39
- package/src/lib/components/examples/InfoAccordion.js +1 -1
- package/src/lib/components/globalStyles.js +2 -2
- package/src/lib/components/iconStyles.js +45 -48
- package/src/lib/components/index.js +47 -46
- package/src/lib/components/input.js +20 -20
- package/src/lib/components/text.js +1 -1
- package/src/lib/components/typography.js +14 -14
- package/src/reportWebVitals.js +1 -1
- package/dist/components/checkboxToggler.js +0 -50
- package/src/lib/components/checkboxToggler.js +0 -19
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import styled from
|
|
3
|
-
import PropTypes from
|
|
4
|
-
import { darken } from
|
|
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
|
|
18
|
-
import { BmButtonIcon } from
|
|
19
|
-
import { h3, h4 } from
|
|
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 ===
|
|
24
|
-
if (size ===
|
|
25
|
-
if (size ===
|
|
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 ===
|
|
32
|
-
if (variant ===
|
|
33
|
-
if (variant ===
|
|
34
|
-
if (variant ===
|
|
35
|
-
if (variant ===
|
|
36
|
-
if (variant ===
|
|
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 ===
|
|
53
|
-
if (size ===
|
|
54
|
-
if (size ===
|
|
55
|
-
return
|
|
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 ===
|
|
60
|
-
if (variant ===
|
|
61
|
-
if (variant ===
|
|
62
|
-
if (variant ===
|
|
63
|
-
if (variant ===
|
|
64
|
-
if (variant ===
|
|
65
|
-
return `${color
|
|
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 ===
|
|
78
|
-
if (variant ===
|
|
79
|
-
if (variant ===
|
|
80
|
-
if (variant ===
|
|
81
|
-
if (variant ===
|
|
82
|
-
if (variant ===
|
|
83
|
-
return `${color
|
|
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 ===
|
|
95
|
-
return `${darken(0.1, color
|
|
96
|
-
if (variant ===
|
|
97
|
-
if (variant ===
|
|
98
|
-
if (variant ===
|
|
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
|
|
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 ===
|
|
108
|
-
return `${darken(0.1, color
|
|
104
|
+
if (variant === 'secondary')
|
|
105
|
+
return `${darken(0.1, color || BmPrimaryBlue)}`;
|
|
109
106
|
}
|
|
110
|
-
return
|
|
107
|
+
return 'none';
|
|
111
108
|
}};
|
|
112
109
|
}
|
|
113
110
|
&:active {
|
|
114
111
|
background: ${({ variant, disabled, color }) => {
|
|
115
112
|
if (!disabled) {
|
|
116
|
-
if (variant ===
|
|
117
|
-
return `${darken(0.1, color
|
|
118
|
-
if (variant ===
|
|
119
|
-
if (variant ===
|
|
120
|
-
if (variant ===
|
|
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
|
|
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 ===
|
|
130
|
-
variant ===
|
|
131
|
-
variant ===
|
|
126
|
+
variant === 'primary' ||
|
|
127
|
+
variant === 'success' ||
|
|
128
|
+
variant === 'destructive'
|
|
132
129
|
)
|
|
133
|
-
return
|
|
130
|
+
return 'inset 0rem 0.125rem 0.25rem rgba(0, 0, 0, 0.25)';
|
|
134
131
|
if (!variant) {
|
|
135
|
-
return
|
|
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 ===
|
|
143
|
-
return `${darken(0.1, color
|
|
139
|
+
if (variant === 'secondary')
|
|
140
|
+
return `${darken(0.1, color || BmPrimaryBlue)}`;
|
|
144
141
|
}
|
|
145
|
-
return
|
|
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 ===
|
|
153
|
-
return `${darken(0.1, color
|
|
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 ===
|
|
161
|
-
return `${darken(0.1, color
|
|
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
|
|
2
|
-
import { BmGrey400, BmPrimaryWhite } from
|
|
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
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { BmButton } from
|
|
7
|
-
import Image from
|
|
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:
|
|
11
|
+
title: 'components/Card',
|
|
12
12
|
argTypes: {
|
|
13
13
|
children: {
|
|
14
|
-
description:
|
|
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(
|
|
22
|
+
<BmCard disabled={boolean('disabled', false)}>
|
|
23
23
|
<BmCard.Header>
|
|
24
|
-
<h3>{text(
|
|
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
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
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
|
|
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
|
-
${
|
|
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 ===
|
|
37
|
-
return
|
|
37
|
+
if (state === 'inbound') {
|
|
38
|
+
return 'flex-start';
|
|
38
39
|
}
|
|
39
|
-
if (state ===
|
|
40
|
-
return
|
|
40
|
+
if (state === 'outbound') {
|
|
41
|
+
return 'flex-end';
|
|
41
42
|
}
|
|
42
|
-
return
|
|
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
|
-
${
|
|
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 ===
|
|
73
|
-
if (state ===
|
|
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 ===
|
|
80
|
-
if (state ===
|
|
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 ===
|
|
87
|
-
if (state ===
|
|
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 ===
|
|
108
|
+
if (session === 'bot') {
|
|
108
109
|
return <BmAvatar size="small" user="chatbot" />;
|
|
109
110
|
}
|
|
110
|
-
if (session ===
|
|
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 ===
|
|
124
|
-
if (state ===
|
|
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 ===
|
|
131
|
-
if (state ===
|
|
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 ===
|
|
138
|
-
if (state ===
|
|
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 ===
|
|
156
|
-
if (state ===
|
|
159
|
+
if (state === 'inbound') return `${BmPrimaryBlue}`;
|
|
160
|
+
if (state === 'outbound') return `${BmPrimaryWhite}`;
|
|
157
161
|
}
|
|
158
162
|
return `${BmPrimaryWhite}`;
|
|
159
163
|
}};
|
|
160
164
|
}
|
|
161
|
-
${
|
|
162
|
-
${
|
|
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 ===
|
|
188
|
-
if (state ===
|
|
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 ===
|
|
195
|
-
if (state ===
|
|
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
|
-
${
|
|
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 ===
|
|
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 ===
|
|
288
|
+
{status === 'sent' && (
|
|
285
289
|
<BmIcons
|
|
286
290
|
icon={<DoneAll />}
|
|
287
291
|
color={`${BmSecondaryDarkGreen}`}
|
|
288
292
|
size="small"
|
|
289
293
|
/>
|
|
290
294
|
)}
|
|
291
|
-
{status ===
|
|
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 ===
|
|
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=
|
|
23
|
-
session=
|
|
22
|
+
state="inbound"
|
|
23
|
+
session="sms"
|
|
24
24
|
displayTime={<p>12:00pm</p>}
|
|
25
|
-
status=
|
|
26
|
-
sessionDetails={{
|
|
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=
|
|
32
|
-
session=
|
|
34
|
+
state="inbound"
|
|
35
|
+
session="live"
|
|
33
36
|
displayTime={<p>12:00pm</p>}
|
|
34
|
-
status=
|
|
37
|
+
status="sent"
|
|
35
38
|
fileName={<p>chat.png</p>}
|
|
36
39
|
src={image}
|
|
37
|
-
sessionDetails={{
|
|
40
|
+
sessionDetails={{
|
|
41
|
+
message: <h3>Session Message</h3>,
|
|
42
|
+
time: <p>12:00pm</p>,
|
|
43
|
+
}}
|
|
38
44
|
/>
|
|
39
45
|
<BmChat.Details
|
|
40
|
-
state=
|
|
41
|
-
session=
|
|
46
|
+
state="inbound"
|
|
47
|
+
session="live"
|
|
42
48
|
displayTime={<p>10:00am</p>}
|
|
43
|
-
status=
|
|
49
|
+
status="failed"
|
|
44
50
|
fileName={<p>file.csv</p>}
|
|
45
51
|
file={image}
|
|
46
52
|
/>
|
|
47
53
|
<BmChat.Details
|
|
48
|
-
state=
|
|
49
|
-
session=
|
|
54
|
+
state="outbound"
|
|
55
|
+
session="bot"
|
|
50
56
|
displayTime={<p>12:00pm</p>}
|
|
51
|
-
status=
|
|
57
|
+
status="sent"
|
|
52
58
|
>
|
|
53
59
|
<p>Outbound Text Message</p>
|
|
54
60
|
</BmChat.Details>
|
|
55
61
|
<BmChat.Details
|
|
56
|
-
state=
|
|
57
|
-
session=
|
|
62
|
+
state="outbound"
|
|
63
|
+
session="live"
|
|
58
64
|
displayTime={<p>12:00pm</p>}
|
|
59
|
-
status=
|
|
65
|
+
status="sent"
|
|
60
66
|
fileName={<p>chat.png</p>}
|
|
61
67
|
src={image}
|
|
62
68
|
/>
|
|
63
69
|
<BmChat.Details
|
|
64
|
-
state=
|
|
65
|
-
session=
|
|
70
|
+
state="outbound"
|
|
71
|
+
session="live"
|
|
66
72
|
displayTime={<p>10:00am</p>}
|
|
67
|
-
status=
|
|
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=
|
|
77
|
-
<BmIcons icon={<EmojiEmotionsIcon />} size=
|
|
78
|
-
<BmIcons icon={<AttachFileIcon />} size=
|
|
79
|
-
<BmIcons icon={<QuickreplyIcon />} size=
|
|
80
|
-
<BmInput placeholder=
|
|
81
|
-
<BmIcons icon={<SendIcon />} size=
|
|
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,11 +1,11 @@
|
|
|
1
|
-
import styled from
|
|
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
|
-
${
|
|
8
|
+
${'' /* border: 0.071rem solid ${BmGrey400}; */}
|
|
9
9
|
padding: 1rem;
|
|
10
10
|
> *:not(:last-child) {
|
|
11
11
|
margin-right: 0.5rem;
|