beem-component 1.9.9 → 2.0.0
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.
|
@@ -29,12 +29,12 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
29
29
|
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; }
|
|
30
30
|
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; }
|
|
31
31
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
var AccordionContext = /*#__PURE__*/_react.default.createContext({});
|
|
33
|
+
var Dropdown = function Dropdown(_ref) {
|
|
34
|
+
var value = _ref.value,
|
|
35
|
+
rest = _ref.rest;
|
|
36
36
|
if (value.expandIcon && value.expandIcon === 'none') {
|
|
37
|
-
return;
|
|
37
|
+
return null;
|
|
38
38
|
}
|
|
39
39
|
if (!value.expandIcon) {
|
|
40
40
|
return value.toggle ? /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
|
|
@@ -48,6 +48,7 @@ var Dropdown = function Dropdown(value, rest) {
|
|
|
48
48
|
icon: value.expandIcon
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
return null;
|
|
51
52
|
};
|
|
52
53
|
var BmAccordionMenu = _styledComponents.default.div.withConfig({
|
|
53
54
|
displayName: "MojaAccordion__BmAccordionMenu"
|
|
@@ -58,18 +59,18 @@ var BmAccordionDetails = _styledComponents.default.div.withConfig({
|
|
|
58
59
|
var BmAccordionWrapper = _styledComponents.default.div.withConfig({
|
|
59
60
|
displayName: "MojaAccordion__BmAccordionWrapper"
|
|
60
61
|
})(["display:flex;flex-direction:column;"]);
|
|
61
|
-
var BmChatAccordion = function BmChatAccordion(
|
|
62
|
-
var children =
|
|
63
|
-
disabled =
|
|
64
|
-
expandIcon =
|
|
65
|
-
Open =
|
|
66
|
-
expandIconPosition =
|
|
67
|
-
rest = _objectWithoutProperties(
|
|
62
|
+
var BmChatAccordion = function BmChatAccordion(_ref2) {
|
|
63
|
+
var children = _ref2.children,
|
|
64
|
+
disabled = _ref2.disabled,
|
|
65
|
+
expandIcon = _ref2.expandIcon,
|
|
66
|
+
Open = _ref2.Open,
|
|
67
|
+
expandIconPosition = _ref2.expandIconPosition,
|
|
68
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
68
69
|
var _useState = (0, _react.useState)(!!Open),
|
|
69
70
|
_useState2 = _slicedToArray(_useState, 2),
|
|
70
71
|
toggle = _useState2[0],
|
|
71
72
|
setToggle = _useState2[1];
|
|
72
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
73
|
+
return /*#__PURE__*/_react.default.createElement(AccordionContext.Provider, {
|
|
73
74
|
value: _objectSpread({
|
|
74
75
|
toggle: toggle,
|
|
75
76
|
setToggle: setToggle,
|
|
@@ -77,43 +78,56 @@ var BmChatAccordion = function BmChatAccordion(_ref) {
|
|
|
77
78
|
expandIcon: expandIcon,
|
|
78
79
|
expandIconPosition: expandIconPosition
|
|
79
80
|
}, rest)
|
|
80
|
-
}, children));
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement(BmAccordionWrapper, null, children));
|
|
81
82
|
};
|
|
82
|
-
BmChatAccordion.Title = function (
|
|
83
|
-
var children =
|
|
84
|
-
leadingIcon =
|
|
85
|
-
trailingIcon =
|
|
86
|
-
size =
|
|
87
|
-
rest = _objectWithoutProperties(
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
83
|
+
BmChatAccordion.Title = function (_ref3) {
|
|
84
|
+
var children = _ref3.children,
|
|
85
|
+
leadingIcon = _ref3.leadingIcon,
|
|
86
|
+
trailingIcon = _ref3.trailingIcon,
|
|
87
|
+
size = _ref3.size,
|
|
88
|
+
rest = _objectWithoutProperties(_ref3, _excluded2);
|
|
89
|
+
var value = (0, _react.useContext)(AccordionContext);
|
|
90
|
+
return /*#__PURE__*/_react.default.createElement(BmAccordionMenu, _extends({}, rest, {
|
|
91
|
+
onClick: function onClick() {
|
|
92
|
+
return !value.disabled || value.disabled === false ? value.setToggle(!value.toggle) : value.setToggle(false);
|
|
93
|
+
}
|
|
94
|
+
}), leadingIcon && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
|
|
95
|
+
icon: leadingIcon,
|
|
96
|
+
size: size
|
|
97
|
+
}), (value.expandIconPosition === 'left' || value.expandIconPosition === undefined) && /*#__PURE__*/_react.default.createElement(Dropdown, {
|
|
98
|
+
value: value,
|
|
99
|
+
rest: rest
|
|
100
|
+
}), /*#__PURE__*/_react.default.createElement(BmAccordionDetails, null, children), trailingIcon && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
|
|
101
|
+
icon: trailingIcon,
|
|
102
|
+
size: size
|
|
103
|
+
}), value.expandIconPosition === 'right' && /*#__PURE__*/_react.default.createElement(Dropdown, {
|
|
104
|
+
value: value,
|
|
105
|
+
rest: rest
|
|
106
|
+
}));
|
|
101
107
|
};
|
|
102
|
-
BmChatAccordion.Body = function (
|
|
103
|
-
var children =
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
});
|
|
108
|
+
BmChatAccordion.Body = function (_ref4) {
|
|
109
|
+
var children = _ref4.children;
|
|
110
|
+
var value = (0, _react.useContext)(AccordionContext);
|
|
111
|
+
return value.toggle ? /*#__PURE__*/_react.default.createElement("div", null, children) : null;
|
|
107
112
|
};
|
|
108
113
|
BmChatAccordion.propTypes = {
|
|
109
|
-
children: _propTypes.default.
|
|
114
|
+
children: _propTypes.default.node,
|
|
110
115
|
size: _propTypes.default.string,
|
|
111
|
-
expandIcon: _propTypes.default.
|
|
116
|
+
expandIcon: _propTypes.default.node,
|
|
112
117
|
expandIconPosition: _propTypes.default.string,
|
|
113
118
|
leadingIcon: _propTypes.default.node,
|
|
114
119
|
trailingIcon: _propTypes.default.node,
|
|
115
120
|
disabled: _propTypes.default.bool,
|
|
116
121
|
Open: _propTypes.default.bool
|
|
117
122
|
};
|
|
123
|
+
BmChatAccordion.Title.propTypes = {
|
|
124
|
+
children: _propTypes.default.node,
|
|
125
|
+
leadingIcon: _propTypes.default.node,
|
|
126
|
+
trailingIcon: _propTypes.default.node,
|
|
127
|
+
size: _propTypes.default.string
|
|
128
|
+
};
|
|
129
|
+
BmChatAccordion.Body.propTypes = {
|
|
130
|
+
children: _propTypes.default.node
|
|
131
|
+
};
|
|
118
132
|
var _default = BmChatAccordion;
|
|
119
133
|
exports.default = _default;
|
package/package.json
CHANGED
package/src/App.js
CHANGED
|
@@ -195,7 +195,7 @@ const Chat = () => {
|
|
|
195
195
|
</BmChat.Body>
|
|
196
196
|
</BmChat>
|
|
197
197
|
<div>
|
|
198
|
-
<BmChatAccordion Open
|
|
198
|
+
<BmChatAccordion Open expandIconPosition="left">
|
|
199
199
|
<BmChatAccordion.Title
|
|
200
200
|
// trailingIcon={<AbcIcon />}
|
|
201
201
|
// leadingIcon={<AbcIcon />}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/* eslint-disable react/display-name */
|
|
2
2
|
/* eslint-disable react/destructuring-assignment */
|
|
3
|
-
import React, { useState } from 'react';
|
|
3
|
+
import React, { useState, useContext } from 'react';
|
|
4
4
|
import styled from 'styled-components';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';
|
|
7
7
|
import { BmIcons } from '../iconStyles';
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const AccordionContext = React.createContext({});
|
|
10
10
|
|
|
11
|
-
const Dropdown = (value, rest) => {
|
|
11
|
+
const Dropdown = ({ value, rest }) => {
|
|
12
12
|
if (value.expandIcon && value.expandIcon === 'none') {
|
|
13
|
-
return;
|
|
13
|
+
return null;
|
|
14
14
|
}
|
|
15
15
|
if (!value.expandIcon) {
|
|
16
16
|
return value.toggle ? (
|
|
@@ -22,7 +22,9 @@ const Dropdown = (value, rest) => {
|
|
|
22
22
|
if (value.expandIcon && value.expandIcon !== 'none') {
|
|
23
23
|
return <BmIcons icon={value.expandIcon} />;
|
|
24
24
|
}
|
|
25
|
+
return null;
|
|
25
26
|
};
|
|
27
|
+
|
|
26
28
|
const BmAccordionMenu = styled.div`
|
|
27
29
|
display: flex;
|
|
28
30
|
align-items: center;
|
|
@@ -58,20 +60,18 @@ const BmChatAccordion = ({
|
|
|
58
60
|
const [toggle, setToggle] = useState(!!Open);
|
|
59
61
|
|
|
60
62
|
return (
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
>
|
|
72
|
-
|
|
73
|
-
</Provider>
|
|
74
|
-
</BmAccordionWrapper>
|
|
63
|
+
<AccordionContext.Provider
|
|
64
|
+
value={{
|
|
65
|
+
toggle,
|
|
66
|
+
setToggle,
|
|
67
|
+
disabled,
|
|
68
|
+
expandIcon,
|
|
69
|
+
expandIconPosition,
|
|
70
|
+
...rest,
|
|
71
|
+
}}
|
|
72
|
+
>
|
|
73
|
+
<BmAccordionWrapper>{children}</BmAccordionWrapper>
|
|
74
|
+
</AccordionContext.Provider>
|
|
75
75
|
);
|
|
76
76
|
};
|
|
77
77
|
|
|
@@ -82,40 +82,39 @@ BmChatAccordion.Title = ({
|
|
|
82
82
|
size,
|
|
83
83
|
...rest
|
|
84
84
|
}) => {
|
|
85
|
+
const value = useContext(AccordionContext);
|
|
85
86
|
return (
|
|
86
|
-
<
|
|
87
|
-
{
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
</BmAccordionMenu>
|
|
87
|
+
<BmAccordionMenu
|
|
88
|
+
{...rest}
|
|
89
|
+
onClick={() =>
|
|
90
|
+
!value.disabled || value.disabled === false
|
|
91
|
+
? value.setToggle(!value.toggle)
|
|
92
|
+
: value.setToggle(false)
|
|
93
|
+
}
|
|
94
|
+
>
|
|
95
|
+
{leadingIcon && <BmIcons icon={leadingIcon} size={size} />}
|
|
96
|
+
{(value.expandIconPosition === 'left' ||
|
|
97
|
+
value.expandIconPosition === undefined) && (
|
|
98
|
+
<Dropdown value={value} rest={rest} />
|
|
99
|
+
)}
|
|
100
|
+
<BmAccordionDetails>{children}</BmAccordionDetails>
|
|
101
|
+
{trailingIcon && <BmIcons icon={trailingIcon} size={size} />}
|
|
102
|
+
{value.expandIconPosition === 'right' && (
|
|
103
|
+
<Dropdown value={value} rest={rest} />
|
|
104
104
|
)}
|
|
105
|
-
</
|
|
105
|
+
</BmAccordionMenu>
|
|
106
106
|
);
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
BmChatAccordion.Body = ({ children }) => {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
);
|
|
110
|
+
const value = useContext(AccordionContext);
|
|
111
|
+
return value.toggle ? <div>{children}</div> : null;
|
|
113
112
|
};
|
|
114
113
|
|
|
115
114
|
BmChatAccordion.propTypes = {
|
|
116
|
-
children: PropTypes.
|
|
115
|
+
children: PropTypes.node,
|
|
117
116
|
size: PropTypes.string,
|
|
118
|
-
expandIcon: PropTypes.
|
|
117
|
+
expandIcon: PropTypes.node,
|
|
119
118
|
expandIconPosition: PropTypes.string,
|
|
120
119
|
leadingIcon: PropTypes.node,
|
|
121
120
|
trailingIcon: PropTypes.node,
|
|
@@ -123,4 +122,15 @@ BmChatAccordion.propTypes = {
|
|
|
123
122
|
Open: PropTypes.bool,
|
|
124
123
|
};
|
|
125
124
|
|
|
125
|
+
BmChatAccordion.Title.propTypes = {
|
|
126
|
+
children: PropTypes.node,
|
|
127
|
+
leadingIcon: PropTypes.node,
|
|
128
|
+
trailingIcon: PropTypes.node,
|
|
129
|
+
size: PropTypes.string,
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
BmChatAccordion.Body.propTypes = {
|
|
133
|
+
children: PropTypes.node,
|
|
134
|
+
};
|
|
135
|
+
|
|
126
136
|
export default BmChatAccordion;
|