beem-component 1.6.1 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Buttons/buttons.js +6 -3
- package/dist/components/ChatComponents/ChatBody/chatBody.js +8 -5
- package/dist/components/ChatComponents/ChatBody/chatBody.stories.js +1 -0
- package/dist/components/PaymentBox/paymentBox.js +47 -0
- package/dist/components/PaymentBox/paymentBox.stories.js +33 -0
- package/dist/components/index.js +8 -0
- package/package.json +1 -1
- package/src/App copy.js +117 -0
- package/src/App.js +3 -33
- package/src/lib/components/Buttons/buttons.js +3 -0
- package/src/lib/components/ChatComponents/ChatBody/chatBody.js +5 -1
- package/src/lib/components/ChatComponents/ChatBody/chatBody.stories.js +1 -0
- package/src/lib/components/PaymentBox/paymentBox.js +51 -0
- package/src/lib/components/PaymentBox/paymentBox.stories.js +30 -0
- package/src/lib/components/index.js +2 -0
|
@@ -19,7 +19,7 @@ var _iconStyles = require("../iconStyles");
|
|
|
19
19
|
|
|
20
20
|
var _text = require("../text");
|
|
21
21
|
|
|
22
|
-
var _excluded = ["variant", "size", "disabled", "children", "leadingIcon", "trailingIcon", "color"];
|
|
22
|
+
var _excluded = ["variant", "size", "disabled", "children", "leadingIcon", "trailingIcon", "color", "type"];
|
|
23
23
|
|
|
24
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
25
25
|
|
|
@@ -192,13 +192,15 @@ var BmButton = function BmButton(props) {
|
|
|
192
192
|
leadingIcon = props.leadingIcon,
|
|
193
193
|
trailingIcon = props.trailingIcon,
|
|
194
194
|
color = props.color,
|
|
195
|
+
type = props.type,
|
|
195
196
|
rest = _objectWithoutProperties(props, _excluded);
|
|
196
197
|
|
|
197
198
|
return /*#__PURE__*/_react.default.createElement(BeemButton, _extends({
|
|
198
199
|
size: size,
|
|
199
200
|
variant: variant,
|
|
200
201
|
disabled: disabled,
|
|
201
|
-
color: color
|
|
202
|
+
color: color,
|
|
203
|
+
type: type
|
|
202
204
|
}, rest), leadingIcon && /*#__PURE__*/_react.default.createElement(BmLeftIcon, {
|
|
203
205
|
disabled: disabled,
|
|
204
206
|
icon: leadingIcon,
|
|
@@ -209,7 +211,8 @@ var BmButton = function BmButton(props) {
|
|
|
209
211
|
disabled: disabled,
|
|
210
212
|
variant: variant,
|
|
211
213
|
size: size,
|
|
212
|
-
color: color
|
|
214
|
+
color: color,
|
|
215
|
+
type: type // {...rest}
|
|
213
216
|
|
|
214
217
|
}, children), trailingIcon && /*#__PURE__*/_react.default.createElement(BmRightIcon, {
|
|
215
218
|
icon: trailingIcon,
|
|
@@ -23,7 +23,7 @@ var _sessionDetails = require("./sessionDetails");
|
|
|
23
23
|
|
|
24
24
|
var _colors = require("../../colors");
|
|
25
25
|
|
|
26
|
-
var _excluded = ["state", "file", "src", "fileName", "onDownload"],
|
|
26
|
+
var _excluded = ["state", "file", "src", "fileName", "onDownload", "link"],
|
|
27
27
|
_excluded2 = ["state", "src", "fileName"],
|
|
28
28
|
_excluded3 = ["children", "state", "displayTime", "status", "session", "src", "file", "fileName", "sessionDetails"];
|
|
29
29
|
|
|
@@ -168,16 +168,19 @@ var BmFileAttachment = function BmFileAttachment(_ref10) {
|
|
|
168
168
|
src = _ref10.src,
|
|
169
169
|
fileName = _ref10.fileName,
|
|
170
170
|
onDownload = _ref10.onDownload,
|
|
171
|
+
link = _ref10.link,
|
|
171
172
|
rest = _objectWithoutProperties(_ref10, _excluded);
|
|
172
173
|
|
|
173
174
|
return /*#__PURE__*/_react.default.createElement(FileAttachmentWrapper, _extends({
|
|
174
175
|
state: state
|
|
175
176
|
}, rest), /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
|
|
176
177
|
icon: /*#__PURE__*/_react.default.createElement(_FilePresent.default, null)
|
|
177
|
-
}), fileName, /*#__PURE__*/_react.default.createElement(
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
}
|
|
178
|
+
}), fileName, /*#__PURE__*/_react.default.createElement("a", {
|
|
179
|
+
href: link,
|
|
180
|
+
download: true
|
|
181
|
+
}, /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
|
|
182
|
+
icon: /*#__PURE__*/_react.default.createElement(_Download.default, null)
|
|
183
|
+
})));
|
|
181
184
|
}; // Start of Component for Images
|
|
182
185
|
|
|
183
186
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _colors = require("../colors");
|
|
15
|
+
|
|
16
|
+
var _excluded = ["children"];
|
|
17
|
+
|
|
18
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
19
|
+
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
22
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
23
|
+
|
|
24
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
25
|
+
|
|
26
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
27
|
+
|
|
28
|
+
var BmPaymentBoxWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inline-flex;\n flex-direction: column;\n min-width: 240px;\n min-height: 280px;\n border: 0.071rem solid ", ";\n border-radius: 0.5rem;\n > * {\n margin-bottom: 1rem;\n }\n &:hover {\n box-shadow: 0 0 60px rgba(0, 0, 0, 0.08);\n }\n"])), _colors.BmGrey200);
|
|
29
|
+
|
|
30
|
+
var BmPaymentBox = function BmPaymentBox(_ref) {
|
|
31
|
+
var children = _ref.children,
|
|
32
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
|
|
34
|
+
return /*#__PURE__*/_react.default.createElement(BmPaymentBoxWrapper, rest, children);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
BmPaymentBox.Header = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 0.5rem 0rem;\n border-radius: 0.5rem 0.5rem 0rem 0rem;\n background: ", "} \n"])), function (_ref2) {
|
|
38
|
+
var headerColor = _ref2.headerColor;
|
|
39
|
+
return headerColor || _colors.BmPrimaryBlue;
|
|
40
|
+
});
|
|
41
|
+
BmPaymentBox.Body = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n flex: 1;\n"])));
|
|
42
|
+
BmPaymentBox.Footer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n margin-top: auto;\n"])));
|
|
43
|
+
BmPaymentBox.propTypes = {
|
|
44
|
+
children: _propTypes.default.node.isRequired
|
|
45
|
+
};
|
|
46
|
+
var _default = BmPaymentBox;
|
|
47
|
+
exports.default = _default;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.SamplePaymentBox = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _paymentBox = _interopRequireDefault(require("./paymentBox"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
/* eslint-disable import/no-anonymous-default-export */
|
|
15
|
+
var _default = {
|
|
16
|
+
component: _paymentBox.default,
|
|
17
|
+
title: 'components/PaymentBox',
|
|
18
|
+
argTypes: {
|
|
19
|
+
headerColor: {
|
|
20
|
+
description: 'Color of the box header ',
|
|
21
|
+
defaultValue: {
|
|
22
|
+
summary: undefined
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
exports.default = _default;
|
|
28
|
+
|
|
29
|
+
var SamplePaymentBox = function SamplePaymentBox() {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_paymentBox.default, null, /*#__PURE__*/_react.default.createElement(_paymentBox.default.Header, null, /*#__PURE__*/_react.default.createElement("h2", null, "Header")), /*#__PURE__*/_react.default.createElement(_paymentBox.default.Body, null, /*#__PURE__*/_react.default.createElement("p", null, "This is a body")), /*#__PURE__*/_react.default.createElement(_paymentBox.default.Footer, null, /*#__PURE__*/_react.default.createElement("p", null, "This is a footer")));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
exports.SamplePaymentBox = SamplePaymentBox;
|
package/dist/components/index.js
CHANGED
|
@@ -210,6 +210,12 @@ Object.defineProperty(exports, "BmNoteBar", {
|
|
|
210
210
|
return _noteBar.BmNoteBar;
|
|
211
211
|
}
|
|
212
212
|
});
|
|
213
|
+
Object.defineProperty(exports, "BmPaymentBox", {
|
|
214
|
+
enumerable: true,
|
|
215
|
+
get: function get() {
|
|
216
|
+
return _paymentBox.default;
|
|
217
|
+
}
|
|
218
|
+
});
|
|
213
219
|
Object.defineProperty(exports, "BmProfileIcon", {
|
|
214
220
|
enumerable: true,
|
|
215
221
|
get: function get() {
|
|
@@ -381,6 +387,8 @@ var _ProfileIcon = require("./ProfileIcon/ProfileIcon");
|
|
|
381
387
|
|
|
382
388
|
var _checkboxToggler = require("./Checkbox/checkboxToggler");
|
|
383
389
|
|
|
390
|
+
var _paymentBox = _interopRequireDefault(require("./PaymentBox/paymentBox"));
|
|
391
|
+
|
|
384
392
|
var _iconStyles = require("./iconStyles");
|
|
385
393
|
|
|
386
394
|
var _noteBar = require("./NoteBar/noteBar");
|
package/package.json
CHANGED
package/src/App copy.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GlobalStyle, BmChat } from './lib/components';
|
|
3
|
+
// import { BmCheckboxToggle } from './lib/components/Checkbox/checkboxToggler';
|
|
4
|
+
// import BmChat from './lib/components';
|
|
5
|
+
|
|
6
|
+
const Chat = () => {
|
|
7
|
+
// const [checked, setChecked] = useState(false);
|
|
8
|
+
// const [showModal, setShowModal] = useState(false);
|
|
9
|
+
const image =
|
|
10
|
+
'https://bm-chatbot-images.s3.eu-west-1.amazonaws.com/3ba5560f-5446-4623-940e-c92b0f50a9b1?AWSAccessKeyId=AKIAVCAYXA54IQYB6C7A&Expires=1733652431&Signature=WEt9my0kkm3SRkiJjvth2vQKcHc%3D';
|
|
11
|
+
const file =
|
|
12
|
+
'https://bm-chatbot-images.s3.eu-west-1.amazonaws.com/270e8552-064f-42aa-970c-0593b5cf3a20?AWSAccessKeyId=AKIAVCAYXA54IQYB6C7A&Expires=1733652558&Signature=0sTEvpH0UoKHeb8mrFSXlf65h24%3D';
|
|
13
|
+
return (
|
|
14
|
+
<>
|
|
15
|
+
<GlobalStyle />
|
|
16
|
+
<BmChat>
|
|
17
|
+
<BmChat.Body>
|
|
18
|
+
<BmChat.Details
|
|
19
|
+
state="inbound"
|
|
20
|
+
session="sms"
|
|
21
|
+
displayTime={<p>12:00pm</p>}
|
|
22
|
+
status="sent"
|
|
23
|
+
sessionDetails={{
|
|
24
|
+
message: <h3>Session Message</h3>,
|
|
25
|
+
time: <p>12:00pm</p>,
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<p>Inbound Text Message</p>
|
|
29
|
+
</BmChat.Details>
|
|
30
|
+
<BmChat.Details
|
|
31
|
+
state="inbound"
|
|
32
|
+
session="live"
|
|
33
|
+
displayTime={<p>12:00pm</p>}
|
|
34
|
+
status="sent"
|
|
35
|
+
fileName={<p>chahhhhhhhht.png</p>}
|
|
36
|
+
src={image}
|
|
37
|
+
link={image}
|
|
38
|
+
sessionDetails={{
|
|
39
|
+
message: <h3>Session Message</h3>,
|
|
40
|
+
time: <p>12:00pm</p>,
|
|
41
|
+
}}
|
|
42
|
+
/>
|
|
43
|
+
<BmChat.Details
|
|
44
|
+
state="inbound"
|
|
45
|
+
session="live"
|
|
46
|
+
displayTime={<p>10:00am</p>}
|
|
47
|
+
status="failed"
|
|
48
|
+
fileName={<p>fifdsfdsfsdfsfle.csv</p>}
|
|
49
|
+
file={file}
|
|
50
|
+
link={file}
|
|
51
|
+
/>
|
|
52
|
+
<BmChat.Details
|
|
53
|
+
state="outbound"
|
|
54
|
+
session="bot"
|
|
55
|
+
displayTime={<p>12:00pm</p>}
|
|
56
|
+
status="sent"
|
|
57
|
+
>
|
|
58
|
+
<p>Outbound Text Message</p>
|
|
59
|
+
</BmChat.Details>
|
|
60
|
+
<BmChat.Details
|
|
61
|
+
state="outbound"
|
|
62
|
+
session="live"
|
|
63
|
+
displayTime={<p>12:00pm</p>}
|
|
64
|
+
status="sent"
|
|
65
|
+
fileName={<p>chat.png</p>}
|
|
66
|
+
src={image}
|
|
67
|
+
/>
|
|
68
|
+
<BmChat.Details
|
|
69
|
+
state="outbound"
|
|
70
|
+
session="live"
|
|
71
|
+
displayTime={<p>10:00am</p>}
|
|
72
|
+
status="failed"
|
|
73
|
+
fileName={<p>file.csv</p>}
|
|
74
|
+
file={image}
|
|
75
|
+
// onDownload={() => {
|
|
76
|
+
// alert('hello');
|
|
77
|
+
// }}
|
|
78
|
+
/>
|
|
79
|
+
</BmChat.Body>
|
|
80
|
+
{/* <BmChat.Footer>
|
|
81
|
+
<div className="chat-footer">
|
|
82
|
+
<BmIcons icon={<EmojiEmotionsIcon />} size="xlarge" />
|
|
83
|
+
<BmIcons icon={<AttachFileIcon />} size="xlarge" />
|
|
84
|
+
<BmIcons icon={<QuickreplyIcon />} size="xlarge" />
|
|
85
|
+
<BmInput placeholder="Enter Message" style={{ flex: '1' }} />
|
|
86
|
+
<BmIcons icon={<SendIcon />} size="xlarge" />
|
|
87
|
+
</div>
|
|
88
|
+
</BmChat.Footer> */}
|
|
89
|
+
</BmChat>
|
|
90
|
+
{/* <div>
|
|
91
|
+
<BmButton onClick={() => setShowModal(!showModal)}>Click Me!</BmButton>
|
|
92
|
+
</div>
|
|
93
|
+
<BmModal show={showModal} onHide={() => setShowModal(false)}>
|
|
94
|
+
<BmModal.Header closeButton>
|
|
95
|
+
<h2>Header</h2>
|
|
96
|
+
</BmModal.Header>
|
|
97
|
+
<BmModal.SubHeader>
|
|
98
|
+
<h5>This modal has a sub heading</h5>
|
|
99
|
+
</BmModal.SubHeader>
|
|
100
|
+
<BmModal.Body>
|
|
101
|
+
<BmCheckboxToggle
|
|
102
|
+
checked={checked}
|
|
103
|
+
onChange={() => setChecked(!checked)}
|
|
104
|
+
disabled
|
|
105
|
+
label={<h3>Field Label</h3>}
|
|
106
|
+
/>
|
|
107
|
+
<p>This is a body</p>
|
|
108
|
+
</BmModal.Body>
|
|
109
|
+
<BmModal.Footer>
|
|
110
|
+
<p>This is a footer</p>
|
|
111
|
+
</BmModal.Footer> */}
|
|
112
|
+
{/* </BmModal> */}
|
|
113
|
+
</>
|
|
114
|
+
);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export default Chat;
|
package/src/App.js
CHANGED
|
@@ -1,38 +1,8 @@
|
|
|
1
|
-
import React
|
|
2
|
-
import {
|
|
3
|
-
import { BmCheckboxToggle } from './lib/components/Checkbox/checkboxToggler';
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BmButton } from './lib/components';
|
|
4
3
|
|
|
5
4
|
const Chat = () => {
|
|
6
|
-
|
|
7
|
-
const [showModal, setShowModal] = useState(false);
|
|
8
|
-
return (
|
|
9
|
-
<>
|
|
10
|
-
<GlobalStyle />
|
|
11
|
-
<div>
|
|
12
|
-
<BmButton onClick={() => setShowModal(!showModal)}>Click Me!</BmButton>
|
|
13
|
-
</div>
|
|
14
|
-
<BmModal show={showModal} onHide={() => setShowModal(false)}>
|
|
15
|
-
<BmModal.Header closeButton>
|
|
16
|
-
<h2>Header</h2>
|
|
17
|
-
</BmModal.Header>
|
|
18
|
-
<BmModal.SubHeader>
|
|
19
|
-
<h5>This modal has a sub heading</h5>
|
|
20
|
-
</BmModal.SubHeader>
|
|
21
|
-
<BmModal.Body>
|
|
22
|
-
<BmCheckboxToggle
|
|
23
|
-
checked={checked}
|
|
24
|
-
onChange={() => setChecked(!checked)}
|
|
25
|
-
disabled
|
|
26
|
-
label={<h3>Field Label</h3>}
|
|
27
|
-
/>
|
|
28
|
-
<p>This is a body</p>
|
|
29
|
-
</BmModal.Body>
|
|
30
|
-
<BmModal.Footer>
|
|
31
|
-
<p>This is a footer</p>
|
|
32
|
-
</BmModal.Footer>
|
|
33
|
-
</BmModal>
|
|
34
|
-
</>
|
|
35
|
-
);
|
|
5
|
+
return <BmButton type="submit">Hello</BmButton>;
|
|
36
6
|
};
|
|
37
7
|
|
|
38
8
|
export default Chat;
|
|
@@ -177,6 +177,7 @@ export const BmButton = (props) => {
|
|
|
177
177
|
leadingIcon,
|
|
178
178
|
trailingIcon,
|
|
179
179
|
color,
|
|
180
|
+
type,
|
|
180
181
|
...rest
|
|
181
182
|
} = props;
|
|
182
183
|
return (
|
|
@@ -185,6 +186,7 @@ export const BmButton = (props) => {
|
|
|
185
186
|
variant={variant}
|
|
186
187
|
disabled={disabled}
|
|
187
188
|
color={color}
|
|
189
|
+
type={type}
|
|
188
190
|
{...rest}
|
|
189
191
|
>
|
|
190
192
|
{leadingIcon && (
|
|
@@ -201,6 +203,7 @@ export const BmButton = (props) => {
|
|
|
201
203
|
variant={variant}
|
|
202
204
|
size={size}
|
|
203
205
|
color={color}
|
|
206
|
+
type={type}
|
|
204
207
|
// {...rest}
|
|
205
208
|
>
|
|
206
209
|
{children}
|
|
@@ -172,13 +172,17 @@ const BmFileAttachment = ({
|
|
|
172
172
|
src,
|
|
173
173
|
fileName,
|
|
174
174
|
onDownload,
|
|
175
|
+
link,
|
|
175
176
|
...rest
|
|
176
177
|
}) => {
|
|
177
178
|
return (
|
|
178
179
|
<FileAttachmentWrapper state={state} {...rest}>
|
|
179
180
|
<BmIcons icon={<FilePresentIcon />} />
|
|
181
|
+
{/* {fileName} */}
|
|
180
182
|
{fileName}
|
|
181
|
-
<
|
|
183
|
+
<a href={link} download>
|
|
184
|
+
<BmIcons icon={<DownloadIcon />} />
|
|
185
|
+
</a>
|
|
182
186
|
</FileAttachmentWrapper>
|
|
183
187
|
);
|
|
184
188
|
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { BmGrey200, BmPrimaryBlue } from '../colors';
|
|
5
|
+
|
|
6
|
+
const BmPaymentBoxWrapper = styled.div`
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
min-width: 240px;
|
|
10
|
+
min-height: 280px;
|
|
11
|
+
border: 0.071rem solid ${BmGrey200};
|
|
12
|
+
border-radius: 0.5rem;
|
|
13
|
+
> * {
|
|
14
|
+
margin-bottom: 1rem;
|
|
15
|
+
}
|
|
16
|
+
&:hover {
|
|
17
|
+
box-shadow: 0 0 60px rgba(0, 0, 0, 0.08);
|
|
18
|
+
}
|
|
19
|
+
`;
|
|
20
|
+
|
|
21
|
+
const BmPaymentBox = ({ children, ...rest }) => {
|
|
22
|
+
return <BmPaymentBoxWrapper {...rest}>{children}</BmPaymentBoxWrapper>;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
BmPaymentBox.Header = styled.div`
|
|
26
|
+
display: flex;
|
|
27
|
+
flex-direction: row;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
align-items: center;
|
|
30
|
+
padding: 0.5rem 0rem;
|
|
31
|
+
border-radius: 0.5rem 0.5rem 0rem 0rem;
|
|
32
|
+
background: ${({ headerColor }) => headerColor || BmPrimaryBlue}}
|
|
33
|
+
`;
|
|
34
|
+
|
|
35
|
+
BmPaymentBox.Body = styled.div`
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
flex: 1;
|
|
39
|
+
`;
|
|
40
|
+
BmPaymentBox.Footer = styled.div`
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: row;
|
|
43
|
+
justify-content: center;
|
|
44
|
+
margin-top: auto;
|
|
45
|
+
`;
|
|
46
|
+
|
|
47
|
+
BmPaymentBox.propTypes = {
|
|
48
|
+
children: PropTypes.node.isRequired,
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
export default BmPaymentBox;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable import/no-anonymous-default-export */
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import BmPaymentBox from './paymentBox';
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
component: BmPaymentBox,
|
|
7
|
+
title: 'components/PaymentBox',
|
|
8
|
+
argTypes: {
|
|
9
|
+
headerColor: {
|
|
10
|
+
description: 'Color of the box header ',
|
|
11
|
+
defaultValue: { summary: undefined },
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export const SamplePaymentBox = () => {
|
|
17
|
+
return (
|
|
18
|
+
<BmPaymentBox>
|
|
19
|
+
<BmPaymentBox.Header>
|
|
20
|
+
<h2>Header</h2>
|
|
21
|
+
</BmPaymentBox.Header>
|
|
22
|
+
<BmPaymentBox.Body>
|
|
23
|
+
<p>This is a body</p>
|
|
24
|
+
</BmPaymentBox.Body>
|
|
25
|
+
<BmPaymentBox.Footer>
|
|
26
|
+
<p>This is a footer</p>
|
|
27
|
+
</BmPaymentBox.Footer>
|
|
28
|
+
</BmPaymentBox>
|
|
29
|
+
);
|
|
30
|
+
};
|
|
@@ -22,6 +22,7 @@ import BmBanner from './BannerCard/bannerCards';
|
|
|
22
22
|
import BmProgressRing from './ProgressRing/progressRing';
|
|
23
23
|
import { BmProfileIcon } from './ProfileIcon/ProfileIcon';
|
|
24
24
|
import { BmCheckboxToggle } from './Checkbox/checkboxToggler';
|
|
25
|
+
import BmPaymentBox from './PaymentBox/paymentBox';
|
|
25
26
|
import {
|
|
26
27
|
BmTagIcon,
|
|
27
28
|
BmAvatarIcon,
|
|
@@ -80,6 +81,7 @@ export {
|
|
|
80
81
|
BmProgressRing,
|
|
81
82
|
BmProfileIcon,
|
|
82
83
|
BmCheckboxToggle,
|
|
84
|
+
BmPaymentBox,
|
|
83
85
|
// Fix height and if there is dropdown option inside the modal body
|
|
84
86
|
BmModal,
|
|
85
87
|
BmNoteBar,
|