beem-component 1.9.8 → 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.
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _icons = require("@material-ui/icons");
12
+ var _iconStyles = require("../iconStyles");
13
+ var _excluded = ["children", "disabled", "expandIcon", "Open", "expandIconPosition"],
14
+ _excluded2 = ["children", "leadingIcon", "trailingIcon", "size"];
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
23
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
24
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
26
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
27
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
28
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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
+ 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
+ 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 AccordionContext = /*#__PURE__*/_react.default.createContext({});
33
+ var Dropdown = function Dropdown(_ref) {
34
+ var value = _ref.value,
35
+ rest = _ref.rest;
36
+ if (value.expandIcon && value.expandIcon === 'none') {
37
+ return null;
38
+ }
39
+ if (!value.expandIcon) {
40
+ return value.toggle ? /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
41
+ icon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowUp, null)
42
+ }, rest)) : /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
43
+ icon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowDown, null)
44
+ }, rest));
45
+ }
46
+ if (value.expandIcon && value.expandIcon !== 'none') {
47
+ return /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
48
+ icon: value.expandIcon
49
+ });
50
+ }
51
+ return null;
52
+ };
53
+ var BmAccordionMenu = _styledComponents.default.div.withConfig({
54
+ displayName: "MojaAccordion__BmAccordionMenu"
55
+ })(["display:flex;align-items:center;flex-direction:row;padding:0.571rem 1.143rem;background:#f9fafb;> *:not(:last-child){margin-right:0.5rem;}border-radius:0.4286rem;border:0.0714rem solid #eaecf0;"]);
56
+ var BmAccordionDetails = _styledComponents.default.div.withConfig({
57
+ displayName: "MojaAccordion__BmAccordionDetails"
58
+ })(["display:flex;justify-content:space-between;width:100%;"]);
59
+ var BmAccordionWrapper = _styledComponents.default.div.withConfig({
60
+ displayName: "MojaAccordion__BmAccordionWrapper"
61
+ })(["display:flex;flex-direction:column;"]);
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);
69
+ var _useState = (0, _react.useState)(!!Open),
70
+ _useState2 = _slicedToArray(_useState, 2),
71
+ toggle = _useState2[0],
72
+ setToggle = _useState2[1];
73
+ return /*#__PURE__*/_react.default.createElement(AccordionContext.Provider, {
74
+ value: _objectSpread({
75
+ toggle: toggle,
76
+ setToggle: setToggle,
77
+ disabled: disabled,
78
+ expandIcon: expandIcon,
79
+ expandIconPosition: expandIconPosition
80
+ }, rest)
81
+ }, /*#__PURE__*/_react.default.createElement(BmAccordionWrapper, null, children));
82
+ };
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
+ }));
107
+ };
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;
112
+ };
113
+ BmChatAccordion.propTypes = {
114
+ children: _propTypes.default.node,
115
+ size: _propTypes.default.string,
116
+ expandIcon: _propTypes.default.node,
117
+ expandIconPosition: _propTypes.default.string,
118
+ leadingIcon: _propTypes.default.node,
119
+ trailingIcon: _propTypes.default.node,
120
+ disabled: _propTypes.default.bool,
121
+ Open: _propTypes.default.bool
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
+ };
132
+ var _default = BmChatAccordion;
133
+ exports.default = _default;
@@ -70,6 +70,12 @@ Object.defineProperty(exports, "BmChat", {
70
70
  return _chatBody.default;
71
71
  }
72
72
  });
73
+ Object.defineProperty(exports, "BmChatAccordion", {
74
+ enumerable: true,
75
+ get: function get() {
76
+ return _MojaAccordion.default;
77
+ }
78
+ });
73
79
  Object.defineProperty(exports, "BmChatForm", {
74
80
  enumerable: true,
75
81
  get: function get() {
@@ -417,6 +423,7 @@ var _buttonGroup = _interopRequireDefault(require("./ButtonGroup/buttonGroup"));
417
423
  var _inputCounter = require("./InputCounter/inputCounter");
418
424
  var _stepper = _interopRequireDefault(require("./Stepper/stepper"));
419
425
  var _multipleDateSelector = _interopRequireDefault(require("./MultipleDateSelector/multipleDateSelector"));
426
+ var _MojaAccordion = _interopRequireDefault(require("./MojaAccordion/MojaAccordion"));
420
427
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
421
428
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
422
429
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beem-component",
3
- "version": "1.9.8",
3
+ "version": "2.0.0",
4
4
  "private": false,
5
5
  "main": "dist/components/index.js",
6
6
  "scripts": {
package/src/App.js CHANGED
@@ -1,6 +1,7 @@
1
1
  // * eslint-disable func-style *
2
2
  /* eslint-disable jsx-a11y/media-has-caption */
3
3
  import React, { useState } from 'react';
4
+ // import AbcIcon from '@mui/icons-material/Abc';
4
5
 
5
6
  import {
6
7
  BmChat,
@@ -10,6 +11,7 @@ import {
10
11
  BmCounter,
11
12
  BmTag,
12
13
  BmContactCheckbox,
14
+ BmChatAccordion,
13
15
  } from './lib/components';
14
16
 
15
17
  const Chat = () => {
@@ -192,6 +194,29 @@ const Chat = () => {
192
194
  ))}
193
195
  </BmChat.Body>
194
196
  </BmChat>
197
+ <div>
198
+ <BmChatAccordion Open expandIconPosition="left">
199
+ <BmChatAccordion.Title
200
+ // trailingIcon={<AbcIcon />}
201
+ // leadingIcon={<AbcIcon />}
202
+ >
203
+ <h3>tesxcxcxt</h3>
204
+ </BmChatAccordion.Title>
205
+ <BmChatAccordion.Body>
206
+ <div
207
+ style={{
208
+ marginTop: '.8571rem',
209
+ border: '.0714rem solid black',
210
+ borderRadius: '.4286rem',
211
+ padding: '.4286rem',
212
+ }}
213
+ >
214
+ <p>defdsfsdfsd</p>
215
+ <p>dsfsdfsdfdsfdsfsdf</p>
216
+ </div>
217
+ </BmChatAccordion.Body>
218
+ </BmChatAccordion>
219
+ </div>
195
220
  </>
196
221
  );
197
222
  };
@@ -0,0 +1,136 @@
1
+ /* eslint-disable react/display-name */
2
+ /* eslint-disable react/destructuring-assignment */
3
+ import React, { useState, useContext } from 'react';
4
+ import styled from 'styled-components';
5
+ import PropTypes from 'prop-types';
6
+ import { KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';
7
+ import { BmIcons } from '../iconStyles';
8
+
9
+ const AccordionContext = React.createContext({});
10
+
11
+ const Dropdown = ({ value, rest }) => {
12
+ if (value.expandIcon && value.expandIcon === 'none') {
13
+ return null;
14
+ }
15
+ if (!value.expandIcon) {
16
+ return value.toggle ? (
17
+ <BmIcons icon={<KeyboardArrowUp />} {...rest} />
18
+ ) : (
19
+ <BmIcons icon={<KeyboardArrowDown />} {...rest} />
20
+ );
21
+ }
22
+ if (value.expandIcon && value.expandIcon !== 'none') {
23
+ return <BmIcons icon={value.expandIcon} />;
24
+ }
25
+ return null;
26
+ };
27
+
28
+ const BmAccordionMenu = styled.div`
29
+ display: flex;
30
+ align-items: center;
31
+ flex-direction: row;
32
+ padding: 0.571rem 1.143rem;
33
+ background: #f9fafb;
34
+ > *:not(:last-child) {
35
+ margin-right: 0.5rem;
36
+ }
37
+ border-radius: 0.4286rem;
38
+ border: 0.0714rem solid #eaecf0;
39
+ `;
40
+
41
+ const BmAccordionDetails = styled.div`
42
+ display: flex;
43
+ justify-content: space-between;
44
+ width: 100%;
45
+ `;
46
+
47
+ const BmAccordionWrapper = styled.div`
48
+ display: flex;
49
+ flex-direction: column;
50
+ `;
51
+
52
+ const BmChatAccordion = ({
53
+ children,
54
+ disabled,
55
+ expandIcon,
56
+ Open,
57
+ expandIconPosition,
58
+ ...rest
59
+ }) => {
60
+ const [toggle, setToggle] = useState(!!Open);
61
+
62
+ return (
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
+ );
76
+ };
77
+
78
+ BmChatAccordion.Title = ({
79
+ children,
80
+ leadingIcon,
81
+ trailingIcon,
82
+ size,
83
+ ...rest
84
+ }) => {
85
+ const value = useContext(AccordionContext);
86
+ return (
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
+ )}
105
+ </BmAccordionMenu>
106
+ );
107
+ };
108
+
109
+ BmChatAccordion.Body = ({ children }) => {
110
+ const value = useContext(AccordionContext);
111
+ return value.toggle ? <div>{children}</div> : null;
112
+ };
113
+
114
+ BmChatAccordion.propTypes = {
115
+ children: PropTypes.node,
116
+ size: PropTypes.string,
117
+ expandIcon: PropTypes.node,
118
+ expandIconPosition: PropTypes.string,
119
+ leadingIcon: PropTypes.node,
120
+ trailingIcon: PropTypes.node,
121
+ disabled: PropTypes.bool,
122
+ Open: PropTypes.bool,
123
+ };
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
+
136
+ export default BmChatAccordion;
@@ -73,6 +73,7 @@ import BmButtonGroup from './ButtonGroup/buttonGroup';
73
73
  import { BmInputCounter } from './InputCounter/inputCounter';
74
74
  import BmStepper from './Stepper/stepper';
75
75
  import BmMultiDateSelector from './MultipleDateSelector/multipleDateSelector';
76
+ import BmChatAccordion from './MojaAccordion/MojaAccordion';
76
77
 
77
78
  export {
78
79
  BmAccordion,
@@ -123,6 +124,7 @@ export {
123
124
  BmSegmentCompleteContent,
124
125
  BmSegmentCompleteIcon,
125
126
  BmSegmentCreateContent,
127
+ BmChatAccordion,
126
128
  // Icons (Remove unused ones and check on the sizing for custom icons)
127
129
  BmAvatarIcon,
128
130
  BmIcons,