beem-component 1.2.9 → 1.3.2

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.
@@ -61,9 +61,9 @@ var Dropdown = function Dropdown(value, rest) {
61
61
 
62
62
  if (!value.expandIcon) {
63
63
  return value.toggle ? /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
64
- icon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowDown, null)
65
- }, rest)) : /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
66
64
  icon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowUp, null)
65
+ }, rest)) : /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, _extends({
66
+ icon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowDown, null)
67
67
  }, rest));
68
68
  }
69
69
 
@@ -15,10 +15,10 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
15
15
 
16
16
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
17
 
18
- var BmCard = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n background: ", ";\n border: 0.071rem solid ", ";\n border-radius: 0.25rem;\n"])), _colors.BmPrimaryWhite, _colors.BmGrey400);
18
+ var BmCard = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n background: ", ";\n border: 0.071rem solid ", ";\n border-radius: 0.25rem;\n > * {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n }\n\n"])), _colors.BmPrimaryWhite, _colors.BmGrey400);
19
19
 
20
- BmCard.Header = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 1rem 1rem 0rem 1rem;\n"])));
21
- BmCard.Body = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin-top: 0.5rem;\n margin-bottom: 1rem;\n padding: 0rem 1rem;\n"])));
22
- BmCard.Footer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n border-top: 0.071rem solid ", ";\n padding: 1rem;\n align-items: center;\n"])), _colors.BmGrey400);
20
+ BmCard.Header = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 0.5rem 0.5rem 0rem 0.5rem;\n"])));
21
+ BmCard.Body = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: 0rem 0.5rem;\n"])));
22
+ BmCard.Footer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-top: 0.071rem solid ", ";\n padding: 0.5rem 0.5rem 0rem 0.5rem;\n"])), _colors.BmGrey400);
23
23
  var _default = BmCard;
24
24
  exports.default = _default;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
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
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.NoteBarWrapper = exports.BmNoteBar = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
@@ -17,30 +19,66 @@ var _colors = require("../colors");
17
19
 
18
20
  var _iconStyles = require("../iconStyles");
19
21
 
20
- var _excluded = ["type", "children", "color", "size"];
22
+ var _excluded = ["type", "children", "color", "size", "closeButton"];
21
23
 
22
24
  var _templateObject;
23
25
 
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
27
 
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ function _extends() { _extends = Object.assign || 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); }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ 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."); }
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
26
46
  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; }
27
47
 
28
48
  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; }
29
49
 
30
50
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
31
51
 
32
- var NoteBarWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n border: 0.071rem solid ", ";\n border-radius: 0.25rem;\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n"])), _colors.BmGrey400);
52
+ var NoteBarWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: ", ";\n flex-direction: row;\n align-items: center;\n padding: 0.5rem 1rem;\n border: 0.071rem solid ", ";\n border-radius: 0.25rem;\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n"])), function (_ref) {
53
+ var closeButton = _ref.closeButton,
54
+ isOpen = _ref.isOpen;
33
55
 
34
- exports.NoteBarWrapper = NoteBarWrapper;
56
+ if (!closeButton) {
57
+ return "flex";
58
+ }
59
+
60
+ return isOpen ? "flex" : "none";
61
+ }, _colors.BmGrey400);
35
62
 
36
- var BmNoteBar = function BmNoteBar(_ref) {
37
- var type = _ref.type,
38
- children = _ref.children,
39
- color = _ref.color,
40
- size = _ref.size,
41
- rest = _objectWithoutProperties(_ref, _excluded);
63
+ exports.NoteBarWrapper = NoteBarWrapper;
42
64
 
43
- return /*#__PURE__*/_react.default.createElement(NoteBarWrapper, rest, type === "info" && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
65
+ var BmNoteBar = function BmNoteBar(_ref2) {
66
+ var type = _ref2.type,
67
+ children = _ref2.children,
68
+ color = _ref2.color,
69
+ size = _ref2.size,
70
+ closeButton = _ref2.closeButton,
71
+ rest = _objectWithoutProperties(_ref2, _excluded);
72
+
73
+ var _useState = (0, _react.useState)(true),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ isOpen = _useState2[0],
76
+ setIsOpen = _useState2[1];
77
+
78
+ return /*#__PURE__*/_react.default.createElement(NoteBarWrapper, _extends({
79
+ closeButton: closeButton,
80
+ isOpen: isOpen
81
+ }, rest), type === "info" && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
44
82
  icon: /*#__PURE__*/_react.default.createElement(_icons.Info, null),
45
83
  color: color ? color : "".concat(_colors.BmPrimaryBlue),
46
84
  size: size ? size : "large"
@@ -52,7 +90,17 @@ var BmNoteBar = function BmNoteBar(_ref) {
52
90
  icon: /*#__PURE__*/_react.default.createElement(_icons.Warning, null),
53
91
  color: color ? color : "".concat(_colors.BmPrimaryGold),
54
92
  size: size ? size : "large"
55
- }), children);
93
+ }), children, closeButton && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
94
+ icon: /*#__PURE__*/_react.default.createElement(_icons.Clear, null),
95
+ color: color ? color : "".concat(_colors.BmSecondaryGrey),
96
+ size: size ? size : "small",
97
+ style: {
98
+ marginLeft: "auto"
99
+ },
100
+ onClick: function onClick() {
101
+ return setIsOpen(false);
102
+ }
103
+ }));
56
104
  };
57
105
 
58
106
  exports.BmNoteBar = BmNoteBar;
@@ -60,5 +108,6 @@ BmNoteBar.propTypes = {
60
108
  children: _propTypes.default.object,
61
109
  color: _propTypes.default.string,
62
110
  size: _propTypes.default.string,
63
- type: _propTypes.default.string
111
+ type: _propTypes.default.string,
112
+ closeButton: _propTypes.default.bool
64
113
  };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.NoteBar = void 0;
6
+ exports.default = exports.NoteBarWithCloseButton = exports.NoteBar = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -47,6 +47,9 @@ var _default = {
47
47
  defaultValue: {
48
48
  summary: undefined
49
49
  }
50
+ },
51
+ closeButton: {
52
+ description: "If present will allow to close the notebar, default size of the icon is small"
50
53
  }
51
54
  }
52
55
  };
@@ -63,4 +66,13 @@ NoteBar.args = {
63
66
  size: "large",
64
67
  children: /*#__PURE__*/_react.default.createElement("p", null, "NoteBar"),
65
68
  color: undefined
69
+ };
70
+ var NoteBarWithCloseButton = MainNoteBar.bind({});
71
+ exports.NoteBarWithCloseButton = NoteBarWithCloseButton;
72
+ NoteBarWithCloseButton.args = {
73
+ type: "warning",
74
+ size: "large",
75
+ children: /*#__PURE__*/_react.default.createElement("p", null, "NoteBar"),
76
+ color: undefined,
77
+ closeButton: true
66
78
  };
@@ -37,11 +37,9 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
37
 
38
38
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
39
39
 
40
- var xsmall = 1.143;
41
40
  var small = 1.429;
42
41
  var medium = 1.714;
43
- var large = 1.714;
44
- var xlarge = 2.286;
42
+ var large = 2.286;
45
43
  var center;
46
44
  var radius;
47
45
  var circumference;
@@ -51,10 +49,6 @@ var initialSize;
51
49
  var measurement = function measurement(size) {
52
50
  var initialSize = size || large * 14;
53
51
 
54
- if (size === "xsmall") {
55
- initialSize = xsmall * 14;
56
- }
57
-
58
52
  if (size === "small") {
59
53
  initialSize = small * 14;
60
54
  }
@@ -67,10 +61,6 @@ var measurement = function measurement(size) {
67
61
  initialSize = large * 14;
68
62
  }
69
63
 
70
- if (size === "xlarge") {
71
- initialSize = xlarge * 14;
72
- }
73
-
74
64
  center = initialSize / 2;
75
65
  radius = initialSize / 2 - strokeWidth / 2;
76
66
  circumference = 2 * Math.PI * radius;
@@ -84,22 +74,18 @@ var measurement = function measurement(size) {
84
74
 
85
75
  var ProgressRingWrapper = _styledComponents.default.svg(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n width: ", ";\n height: ", ";\n"])), function (_ref) {
86
76
  var size = _ref.size;
87
- if (size === "xsmall") return "1.143rem";
88
77
  if (size === "small") return "1.429rem";
89
78
  if (size === "medium") return "1.714rem";
90
- if (size === "large") return "1.714rem";
91
- if (size === "xlarge") return "2.286rem";
92
- if (!size) return "1.714rem";
93
- return size;
79
+ if (size === "large") return "2.286rem";
80
+ if (!size) return "2.286rem";
81
+ return "".concat(size, "px");
94
82
  }, function (_ref2) {
95
83
  var size = _ref2.size;
96
- if (size === "xsmall") return "1.143rem";
97
84
  if (size === "small") return "1.429rem";
98
85
  if (size === "medium") return "1.714rem";
99
- if (size === "large") return "1.714rem";
100
- if (size === "xlarge") return "2.286rem";
101
- if (!size) return "1.714rem";
102
- return size;
86
+ if (size === "large") return "2.286rem";
87
+ if (!size) return "2.286rem";
88
+ return "".concat(size, "px");
103
89
  });
104
90
 
105
91
  var ProgressRingCircle1 = _styledComponents.default.circle(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n fill: none;\n"])));
@@ -119,7 +105,7 @@ var ProgressRingCircle2 = _styledComponents.default.circle(_templateObject3 || (
119
105
  if (!progress) return "".concat(_colors.BmGrey100);
120
106
  });
121
107
 
122
- var Text = _styledComponents.default.text(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: ", ";\n text-anchor: middle;\n fill: black;\n position: absolute;\n"])), function () {
108
+ var Text = _styledComponents.default.text(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: ", ";\n text-anchor: middle;\n fill: black;\n"])), function () {
123
109
  if (initialSize >= 50 && initialSize < 100) {
124
110
  return "1rem";
125
111
  }
@@ -140,7 +126,11 @@ var BmProgressRing = function BmProgressRing(props) {
140
126
  var circleRef = (0, _react.useRef)(null);
141
127
  var size = props.size,
142
128
  progress = props.progress,
143
- variant = props.variant;
129
+ variant = props.variant,
130
+ children = props.children;
131
+ console.log({
132
+ children: children
133
+ });
144
134
  var initialMeasure = measurement(size);
145
135
  circumference = initialMeasure.circumference;
146
136
  radius = initialMeasure.radius;
@@ -159,7 +149,11 @@ var BmProgressRing = function BmProgressRing(props) {
159
149
  cy: center,
160
150
  r: radius,
161
151
  strokeWidth: strokeWidth
162
- }), /*#__PURE__*/_react.default.createElement(ProgressRingCircle2, {
152
+ }), /*#__PURE__*/_react.default.createElement(Text, {
153
+ x: "".concat(center),
154
+ y: "".concat(center),
155
+ size: size
156
+ }, progress), /*#__PURE__*/_react.default.createElement(ProgressRingCircle2, {
163
157
  progress: progress,
164
158
  ref: circleRef,
165
159
  variant: variant,
@@ -170,11 +164,7 @@ var BmProgressRing = function BmProgressRing(props) {
170
164
  strokeDasharray: circumference,
171
165
  strokeDashoffset: offset,
172
166
  "data-testid": "progress-bar-bar"
173
- }), /*#__PURE__*/_react.default.createElement(Text, {
174
- x: "".concat(center),
175
- y: "".concat(center),
176
- size: size
177
- }, progress, "%")));
167
+ })));
178
168
  };
179
169
 
180
170
  BmProgressRing.propTypes = {
@@ -17,7 +17,7 @@ var _default = {
17
17
  title: "components/ProgressRing",
18
18
  argTypes: {
19
19
  size: {
20
- options: ["xsmall", "small", "medium", "large", "xlarge"],
20
+ options: ["small", "medium", "large"],
21
21
  control: {
22
22
  type: "select"
23
23
  },
@@ -29,34 +29,39 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
29
29
 
30
30
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
31
31
 
32
- var BmTabWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 0.714rem 1.714rem;\n background: ", ";\n box-shadow: ", ";\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n ", "\n"])), _colors.BmPrimaryWhite, function (_ref) {
33
- var state = _ref.state;
32
+ var BmTabWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: 1rem;\n background: ", ";\n box-shadow: ", ";\n > *:not(:last-child) {\n margin-right: 0.5rem;\n }\n ", "\n\n &:hover {\n box-shadow: ", ";\n }\n"])), _colors.BmPrimaryWhite, function (_ref) {
33
+ var state = _ref.state,
34
+ disabled = _ref.disabled;
34
35
 
35
- if (state === "active") {
36
+ if (state === "active" && !disabled) {
36
37
  return "inset 0px -3px 0px ".concat(_colors.BmPrimaryBlue);
37
38
  }
38
39
 
39
- if (state === "inactive") {
40
- return "inset 0px -3px 0px ".concat(_colors.BmGrey400);
41
- }
42
-
43
40
  return "none";
44
41
  }, function (_ref2) {
45
42
  var color = _ref2.color,
46
43
  children = _ref2.children,
47
44
  disabled = _ref2.disabled;
48
45
  return children && disabled ? "\n > * {\n color: ".concat(_colors.BmGrey400, ";\n }\n ") : "\n > * {\n color: ".concat(color, ";\n }\n ");
46
+ }, function (_ref3) {
47
+ var disabled = _ref3.disabled;
48
+
49
+ if (!disabled) {
50
+ return "inset 0px -3px 0px ".concat(_colors.BmGrey400);
51
+ }
52
+
53
+ return "none";
49
54
  });
50
55
 
51
- var BmTab = function BmTab(_ref3) {
52
- var leadingIcon = _ref3.leadingIcon,
53
- trailingIcon = _ref3.trailingIcon,
54
- children = _ref3.children,
55
- size = _ref3.size,
56
- color = _ref3.color,
57
- icon = _ref3.icon,
58
- disabled = _ref3.disabled,
59
- rest = _objectWithoutProperties(_ref3, _excluded);
56
+ var BmTab = function BmTab(_ref4) {
57
+ var leadingIcon = _ref4.leadingIcon,
58
+ trailingIcon = _ref4.trailingIcon,
59
+ children = _ref4.children,
60
+ size = _ref4.size,
61
+ color = _ref4.color,
62
+ icon = _ref4.icon,
63
+ disabled = _ref4.disabled,
64
+ rest = _objectWithoutProperties(_ref4, _excluded);
60
65
 
61
66
  return /*#__PURE__*/_react.default.createElement(BmTabWrapper, _extends({
62
67
  leadingIcon: leadingIcon,
@@ -65,11 +70,11 @@ var BmTab = function BmTab(_ref3) {
65
70
  disabled: disabled
66
71
  }, rest), leadingIcon && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
67
72
  icon: leadingIcon,
68
- size: size || 'large',
73
+ size: size || "large",
69
74
  color: disabled ? "".concat(_colors.BmGrey400) : color
70
75
  }), children, trailingIcon && /*#__PURE__*/_react.default.createElement(_iconStyles.BmIcons, {
71
76
  icon: trailingIcon,
72
- size: size || 'large',
77
+ size: size || "large",
73
78
  color: disabled ? "".concat(_colors.BmGrey400) : color
74
79
  }));
75
80
  };
@@ -81,5 +86,6 @@ BmTab.propTypes = {
81
86
  leadingIcon: _propTypes.default.node,
82
87
  state: _propTypes.default.string,
83
88
  color: _propTypes.default.string,
84
- size: _propTypes.default.string
89
+ size: _propTypes.default.string,
90
+ disabled: _propTypes.default.bool
85
91
  };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Tabs = void 0;
6
+ exports.default = exports.DisabledTab = exports.BasicTab = void 0;
7
7
 
8
8
  var _icons = require("@material-ui/icons");
9
9
 
@@ -25,7 +25,7 @@ var _default = {
25
25
  description: "Color of the Icons and Text"
26
26
  },
27
27
  state: {
28
- options: ["active", "inactive"],
28
+ options: ["active"],
29
29
  control: {
30
30
  type: "select"
31
31
  },
@@ -40,6 +40,9 @@ var _default = {
40
40
  defaultValue: {
41
41
  summary: "large"
42
42
  }
43
+ },
44
+ disabled: {
45
+ description: "Disabled tab"
43
46
  }
44
47
  }
45
48
  };
@@ -49,12 +52,20 @@ var MainTab = function MainTab(args) {
49
52
  return /*#__PURE__*/_react.default.createElement(_tabs.BmTab, args);
50
53
  };
51
54
 
52
- var Tabs = MainTab.bind({});
53
- exports.Tabs = Tabs;
54
- Tabs.args = {
55
+ var BasicTab = MainTab.bind({});
56
+ exports.BasicTab = BasicTab;
57
+ BasicTab.args = {
55
58
  children: /*#__PURE__*/_react.default.createElement("h3", null, "Tabs"),
56
59
  leadingIcon: /*#__PURE__*/_react.default.createElement(_icons.Favorite, null),
57
60
  trailingIcon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowDown, null),
58
61
  disabled: false,
59
62
  state: 'active'
63
+ };
64
+ var DisabledTab = MainTab.bind({});
65
+ exports.DisabledTab = DisabledTab;
66
+ DisabledTab.args = {
67
+ children: /*#__PURE__*/_react.default.createElement("h3", null, "Disabled Tabs"),
68
+ leadingIcon: /*#__PURE__*/_react.default.createElement(_icons.Favorite, null),
69
+ trailingIcon: /*#__PURE__*/_react.default.createElement(_icons.KeyboardArrowDown, null),
70
+ disabled: true
60
71
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beem-component",
3
- "version": "1.2.9",
3
+ "version": "1.3.2",
4
4
  "private": false,
5
5
  "main": "dist/components/index.js",
6
6
  "scripts": {
package/src/App.js CHANGED
@@ -1,11 +1,18 @@
1
1
  import React from "react";
2
2
  import "../src/main.scss";
3
- import { BmButton, BmCard, BmIcons, MainWrapper } from "./lib/components";
3
+ import {
4
+ BmButton,
5
+ BmCard,
6
+ BmIcons,
7
+ BmNoteBar,
8
+ BmTab,
9
+ MainWrapper,
10
+ } from "./lib/components";
4
11
  import { GlobalStyle } from "./lib/components/globalStyles";
5
12
  import "./lib/assets/css/sidebar.scss";
6
13
  import BmBanner from "./lib/components/BannerCard/bannerCards";
7
14
  import { FileCopyOutlined } from "@material-ui/icons";
8
- import ProgressBar from "./lib/components/ProgressRing/progressRing";
15
+ import BmProgressRing from "./lib/components/ProgressRing/progressRing";
9
16
 
10
17
  export const App = () => {
11
18
  return (
@@ -26,10 +33,19 @@ export const App = () => {
26
33
  <BmCard.Header>
27
34
  <h3>Card Header</h3>
28
35
  </BmCard.Header>
29
- <BmCard.Body></BmCard.Body>
36
+ <BmCard.Body>
37
+ <p>Hello</p>
38
+ <BmProgressRing progress="70" size="50" />
39
+ </BmCard.Body>
30
40
  <BmCard.Footer>Card Footer</BmCard.Footer>
31
41
  </BmCard>
32
- <ProgressBar progress="70" size="40" />
42
+ <BmProgressRing progress="70" size="45" />
43
+ <BmTab state="active">
44
+ <h3>Tabs</h3>
45
+ </BmTab>
46
+ <BmNoteBar closeButton>
47
+ <p>Hello</p>
48
+ </BmNoteBar>
33
49
  {/* </MainWrapper> */}
34
50
  </>
35
51
  );
@@ -13,9 +13,9 @@ const Dropdown = (value, rest) => {
13
13
  }
14
14
  if (!value.expandIcon) {
15
15
  return value.toggle ? (
16
- <BmIcons icon={<KeyboardArrowDown />} {...rest} />
17
- ) : (
18
16
  <BmIcons icon={<KeyboardArrowUp />} {...rest} />
17
+ ) : (
18
+ <BmIcons icon={<KeyboardArrowDown />} {...rest} />
19
19
  );
20
20
  }
21
21
  if (value.expandIcon && value.expandIcon !== "none") {
@@ -7,31 +7,27 @@ const BmCard = styled.div`
7
7
  background: ${BmPrimaryWhite};
8
8
  border: 0.071rem solid ${BmGrey400};
9
9
  border-radius: 0.25rem;
10
+ > * {
11
+ display: flex;
12
+ flex-direction: row;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ margin-bottom: 0.5rem;
16
+ }
17
+
10
18
  `;
11
19
 
12
20
  BmCard.Header = styled.div`
13
- display: flex;
14
- flex-direction: row;
15
- justify-content: space-between;
16
- padding: 1rem 1rem 0rem 1rem;
21
+ padding: 0.5rem 0.5rem 0rem 0.5rem;
17
22
  `;
18
23
 
19
24
  BmCard.Body = styled.div`
20
- display: flex;
21
- flex-direction: row;
22
- justify-content: space-between;
23
- margin-top: 0.5rem;
24
- margin-bottom: 1rem;
25
- padding: 0rem 1rem;
25
+ padding: 0rem 0.5rem;
26
26
  `;
27
27
 
28
28
  BmCard.Footer = styled.div`
29
- display: flex;
30
- flex-direction: row;
31
- justify-content: space-between;
32
29
  border-top: 0.071rem solid ${BmGrey400};
33
- padding: 1rem;
34
- align-items: center;
30
+ padding: 0.5rem 0.5rem 0rem 0.5rem;
35
31
  `;
36
32
 
37
33
  export default BmCard;
@@ -1,17 +1,23 @@
1
- import React from "react";
1
+ import React, { useState } from "react";
2
2
  import Proptypes from "prop-types";
3
- import { Error, Info, Warning } from "@material-ui/icons";
3
+ import { Clear, Error, Info, Warning } from "@material-ui/icons";
4
4
  import styled from "styled-components";
5
5
  import {
6
6
  BmGrey400,
7
7
  BmPrimaryBlue,
8
8
  BmSecondaryRed,
9
9
  BmPrimaryGold,
10
+ BmSecondaryGrey,
10
11
  } from "../colors";
11
12
  import { BmIcons } from "../iconStyles";
12
13
 
13
14
  export const NoteBarWrapper = styled.div`
14
- display: flex;
15
+ display: ${({ closeButton, isOpen }) => {
16
+ if (!closeButton) {
17
+ return "flex";
18
+ }
19
+ return isOpen ? "flex" : "none";
20
+ }};
15
21
  flex-direction: row;
16
22
  align-items: center;
17
23
  padding: 0.5rem 1rem;
@@ -22,9 +28,17 @@ export const NoteBarWrapper = styled.div`
22
28
  }
23
29
  `;
24
30
 
25
- export const BmNoteBar = ({ type, children, color, size, ...rest }) => {
31
+ export const BmNoteBar = ({
32
+ type,
33
+ children,
34
+ color,
35
+ size,
36
+ closeButton,
37
+ ...rest
38
+ }) => {
39
+ const [isOpen, setIsOpen] = useState(true);
26
40
  return (
27
- <NoteBarWrapper {...rest}>
41
+ <NoteBarWrapper closeButton={closeButton} isOpen={isOpen} {...rest}>
28
42
  {type === "info" && (
29
43
  <BmIcons
30
44
  icon={<Info />}
@@ -47,6 +61,15 @@ export const BmNoteBar = ({ type, children, color, size, ...rest }) => {
47
61
  />
48
62
  )}
49
63
  {children}
64
+ {closeButton && (
65
+ <BmIcons
66
+ icon={<Clear />}
67
+ color={color ? color : `${BmSecondaryGrey}`}
68
+ size={size ? size : "small"}
69
+ style={{ marginLeft: "auto" }}
70
+ onClick={() => setIsOpen(false)}
71
+ />
72
+ )}
50
73
  </NoteBarWrapper>
51
74
  );
52
75
  };
@@ -56,4 +79,5 @@ BmNoteBar.propTypes = {
56
79
  color: Proptypes.string,
57
80
  size: Proptypes.string,
58
81
  type: Proptypes.string,
82
+ closeButton: Proptypes.bool,
59
83
  };
@@ -26,6 +26,9 @@ export default {
26
26
  description: "Color of the icon ",
27
27
  defaultValue: { summary: undefined },
28
28
  },
29
+ closeButton: {
30
+ description: "If present will allow to close the notebar, default size of the icon is small",
31
+ },
29
32
  },
30
33
  };
31
34
 
@@ -38,3 +41,12 @@ NoteBar.args = {
38
41
  children: <p>NoteBar</p>,
39
42
  color: undefined,
40
43
  };
44
+
45
+ export const NoteBarWithCloseButton = MainNoteBar.bind({});
46
+ NoteBarWithCloseButton.args = {
47
+ type: "warning",
48
+ size: "large",
49
+ children: <p>NoteBar</p>,
50
+ color: undefined,
51
+ closeButton: true,
52
+ };
@@ -9,11 +9,9 @@ import {
9
9
  BmSecondaryRed,
10
10
  } from "../colors";
11
11
 
12
- const xsmall = 1.143;
13
12
  const small = 1.429;
14
13
  const medium = 1.714;
15
- const large = 1.714;
16
- const xlarge = 2.286;
14
+ const large = 2.286;
17
15
 
18
16
  let center;
19
17
  let radius;
@@ -23,9 +21,6 @@ let initialSize;
23
21
 
24
22
  const measurement = (size) => {
25
23
  let initialSize = size || large * 14;
26
- if (size === "xsmall") {
27
- initialSize = xsmall * 14;
28
- }
29
24
  if (size === "small") {
30
25
  initialSize = small * 14;
31
26
  }
@@ -35,9 +30,6 @@ const measurement = (size) => {
35
30
  if (size === "large") {
36
31
  initialSize = large * 14;
37
32
  }
38
- if (size === "xlarge") {
39
- initialSize = xlarge * 14;
40
- }
41
33
  center = initialSize / 2;
42
34
  radius = initialSize / 2 - strokeWidth / 2;
43
35
  circumference = 2 * Math.PI * radius;
@@ -46,22 +38,18 @@ const measurement = (size) => {
46
38
  const ProgressRingWrapper = styled.svg`
47
39
  display: flex;
48
40
  width: ${({ size }) => {
49
- if (size === "xsmall") return "1.143rem";
50
41
  if (size === "small") return "1.429rem";
51
42
  if (size === "medium") return "1.714rem";
52
- if (size === "large") return "1.714rem";
53
- if (size === "xlarge") return "2.286rem";
54
- if (!size) return "1.714rem";
55
- return size;
43
+ if (size === "large") return "2.286rem";
44
+ if (!size) return "2.286rem";
45
+ return `${size}px`;
56
46
  }};
57
47
  height: ${({ size }) => {
58
- if (size === "xsmall") return "1.143rem";
59
48
  if (size === "small") return "1.429rem";
60
49
  if (size === "medium") return "1.714rem";
61
- if (size === "large") return "1.714rem";
62
- if (size === "xlarge") return "2.286rem";
63
- if (!size) return "1.714rem";
64
- return size;
50
+ if (size === "large") return "2.286rem";
51
+ if (!size) return "2.286rem";
52
+ return `${size}px`;
65
53
  }};
66
54
  `;
67
55
 
@@ -95,14 +83,14 @@ const Text = styled.text`
95
83
  }};
96
84
  text-anchor: middle;
97
85
  fill: black;
98
- position: absolute;
99
86
  `;
100
87
 
101
88
  const BmProgressRing = (props) => {
102
89
  const [offset, setOffset] = useState(0);
103
90
  const circleRef = useRef(null);
104
- const { size, progress, variant } = props;
91
+ const { size, progress, variant, children } = props;
105
92
 
93
+ console.log({ children });
106
94
  const initialMeasure = measurement(size);
107
95
 
108
96
  circumference = initialMeasure.circumference;
@@ -127,6 +115,10 @@ const BmProgressRing = (props) => {
127
115
  r={radius}
128
116
  strokeWidth={strokeWidth}
129
117
  />
118
+
119
+ <Text x={`${center}`} y={`${center}`} size={size}>
120
+ {progress}
121
+ </Text>
130
122
  <ProgressRingCircle2
131
123
  progress={progress}
132
124
  ref={circleRef}
@@ -139,9 +131,6 @@ const BmProgressRing = (props) => {
139
131
  strokeDashoffset={offset}
140
132
  data-testid="progress-bar-bar"
141
133
  />
142
- <Text x={`${center}`} y={`${center}`} size={size}>
143
- {progress}%
144
- </Text>
145
134
  </ProgressRingWrapper>
146
135
  </>
147
136
  );
@@ -7,7 +7,7 @@ export default {
7
7
  title: "components/ProgressRing",
8
8
  argTypes: {
9
9
  size: {
10
- options: ["xsmall", "small", "medium", "large", "xlarge"],
10
+ options: ["small", "medium", "large"],
11
11
  control: { type: "select" },
12
12
  description: "Size of the Progress Ring (Can also be predefined e.g. 50)",
13
13
  defaultValue: { summary: "large" },
@@ -9,15 +9,12 @@ const BmTabWrapper = styled.div`
9
9
  flex-direction: row;
10
10
  justify-content: center;
11
11
  align-items: center;
12
- padding: 0.714rem 1.714rem;
12
+ padding: 1rem;
13
13
  background: ${BmPrimaryWhite};
14
- box-shadow: ${({ state }) => {
15
- if (state === "active") {
14
+ box-shadow: ${({ state, disabled }) => {
15
+ if (state === "active" && !disabled) {
16
16
  return `inset 0px -3px 0px ${BmPrimaryBlue}`;
17
17
  }
18
- if (state === "inactive") {
19
- return `inset 0px -3px 0px ${BmGrey400}`;
20
- }
21
18
  return "none";
22
19
  }};
23
20
  > *:not(:last-child) {
@@ -35,6 +32,15 @@ const BmTabWrapper = styled.div`
35
32
  color: ${color};
36
33
  }
37
34
  `}
35
+
36
+ &:hover {
37
+ box-shadow: ${({ disabled }) => {
38
+ if (!disabled) {
39
+ return `inset 0px -3px 0px ${BmGrey400}`;
40
+ }
41
+ return "none";
42
+ }};
43
+ }
38
44
  `;
39
45
 
40
46
  export const BmTab = ({
@@ -58,7 +64,7 @@ export const BmTab = ({
58
64
  {leadingIcon && (
59
65
  <BmIcons
60
66
  icon={leadingIcon}
61
- size={size || 'large'}
67
+ size={size || "large"}
62
68
  color={disabled ? `${BmGrey400}` : color}
63
69
  />
64
70
  )}
@@ -66,7 +72,7 @@ export const BmTab = ({
66
72
  {trailingIcon && (
67
73
  <BmIcons
68
74
  icon={trailingIcon}
69
- size={size || 'large'}
75
+ size={size || "large"}
70
76
  color={disabled ? `${BmGrey400}` : color}
71
77
  />
72
78
  )}
@@ -81,4 +87,5 @@ BmTab.propTypes = {
81
87
  state: PropTypes.string,
82
88
  color: PropTypes.string,
83
89
  size: PropTypes.string,
84
- };
90
+ disabled: PropTypes.bool,
91
+ };
@@ -12,7 +12,7 @@ export default {
12
12
  description: "Color of the Icons and Text",
13
13
  },
14
14
  state: {
15
- options: ["active", "inactive"],
15
+ options: ["active"],
16
16
  control: { type: "select" },
17
17
  description: "State of the Tabs (optional)",
18
18
  },
@@ -22,16 +22,28 @@ export default {
22
22
  description: "Size of the icons",
23
23
  defaultValue: { summary: "large" },
24
24
  },
25
+ disabled: {
26
+ description:
27
+ "Disabled tab",
28
+ },
25
29
  },
26
30
  };
27
31
 
28
32
  const MainTab = (args) => <BmTab {...args} />;
29
33
 
30
- export const Tabs = MainTab.bind({});
31
- Tabs.args = {
34
+ export const BasicTab = MainTab.bind({});
35
+ BasicTab.args = {
32
36
  children: <h3>Tabs</h3>,
33
37
  leadingIcon: <Favorite />,
34
38
  trailingIcon: <KeyboardArrowDown />,
35
39
  disabled: false,
36
40
  state: 'active',
37
41
  };
42
+
43
+ export const DisabledTab = MainTab.bind({});
44
+ DisabledTab.args = {
45
+ children: <h3>Disabled Tabs</h3>,
46
+ leadingIcon: <Favorite />,
47
+ trailingIcon: <KeyboardArrowDown />,
48
+ disabled: true,
49
+ };