beem-component 2.1.7 → 2.1.9

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.
Files changed (42) hide show
  1. package/dist/components/BmCustomCardTitle/CustomCardTitle.js +17 -17
  2. package/dist/components/DepartmentCard/DepartmentCard.js +99 -0
  3. package/dist/components/DepartmentCard/DepartmentCard.stories.js +53 -0
  4. package/dist/components/InfoPanel/InfoPanel.js +1 -1
  5. package/dist/components/ResourceCard/ResourceCard.js +132 -0
  6. package/dist/components/ResourceCard/ResourceCard.stories.js +94 -0
  7. package/dist/components/globalStyles.js +1 -1
  8. package/dist/components/index.js +14 -0
  9. package/dist/components/text.js +11 -10
  10. package/dist/components/typography.js +3 -2
  11. package/package.json +1 -1
  12. package/public/index.html +1 -0
  13. package/src/App.js +67 -8
  14. package/src/fonts/Inter-Black.woff2 +0 -0
  15. package/src/fonts/Inter-Bold.woff2 +0 -0
  16. package/src/fonts/Inter-ExtraBold.woff2 +0 -0
  17. package/src/fonts/Inter-ExtraLight.woff2 +0 -0
  18. package/src/fonts/Inter-Light.woff2 +0 -0
  19. package/src/fonts/Inter-Medium.woff2 +0 -0
  20. package/src/fonts/Inter-Regular.woff2 +0 -0
  21. package/src/fonts/Inter-SemiBold.woff2 +0 -0
  22. package/src/fonts/Inter-Thin.woff2 +0 -0
  23. package/src/fonts/Inter-VariableFont_opsz,wght.ttf +0 -0
  24. package/src/fonts/InterDisplay-Black.woff2 +0 -0
  25. package/src/fonts/InterDisplay-Bold.woff2 +0 -0
  26. package/src/fonts/InterDisplay-ExtraBold.woff2 +0 -0
  27. package/src/fonts/InterDisplay-ExtraLight.woff2 +0 -0
  28. package/src/fonts/InterDisplay-Light.woff2 +0 -0
  29. package/src/fonts/InterDisplay-Medium.woff2 +0 -0
  30. package/src/fonts/InterDisplay-SemiBold.woff2 +0 -0
  31. package/src/fonts/InterDisplay-Thin.woff2 +0 -0
  32. package/src/fonts.scss +4 -1
  33. package/src/lib/components/BmCustomCardTitle/CustomCardTitle.js +1 -1
  34. package/src/lib/components/DepartmentCard/DepartmentCard.js +131 -0
  35. package/src/lib/components/DepartmentCard/DepartmentCard.stories.jsx +38 -0
  36. package/src/lib/components/InfoPanel/InfoPanel.js +1 -1
  37. package/src/lib/components/ResourceCard/ResourceCard.js +209 -0
  38. package/src/lib/components/ResourceCard/ResourceCard.stories.jsx +68 -0
  39. package/src/lib/components/globalStyles.js +2 -1
  40. package/src/lib/components/index.js +4 -0
  41. package/src/lib/components/text.js +17 -11
  42. package/src/lib/components/typography.js +1 -0
@@ -55,16 +55,16 @@ const CardContainer = _styledComponents.default.div.withConfig({
55
55
  })(["background-color:", ";padding:1rem;border-radius:0.75rem;@media (min-width:640px){padding:1.5rem;}"], hexToRgba('#ffffff', 0.7));
56
56
  const IconWrapper = _styledComponents.default.div.withConfig({
57
57
  displayName: "CustomCardTitle__IconWrapper"
58
- })(["background-color:", ";border:2px solid ", ";height:", ";width:", ";border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto ", ";@media (min-width:640px){height:", ";width:", ";margin-bottom:", ";}svg{height:", ";width:", ";color:", ";@media (min-width:640px){height:", ";width:", ";}}"], _ref6 => {
58
+ })(["background-color:", ";height:", ";width:", ";border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto ", ";@media (min-width:640px){height:", ";width:", ";margin-bottom:", ";}svg{height:", ";width:", ";color:", ";@media (min-width:640px){height:", ";width:", ";}}"], _ref6 => {
59
59
  let {
60
60
  themeColor
61
61
  } = _ref6;
62
62
  return hexToRgba(themeColor, 0.1);
63
63
  }, _ref7 => {
64
64
  let {
65
- themeColor
65
+ variant
66
66
  } = _ref7;
67
- return themeColor;
67
+ return variant === 'confirmation' ? '3.5rem' : '4rem';
68
68
  }, _ref8 => {
69
69
  let {
70
70
  variant
@@ -74,12 +74,12 @@ const IconWrapper = _styledComponents.default.div.withConfig({
74
74
  let {
75
75
  variant
76
76
  } = _ref9;
77
- return variant === 'confirmation' ? '3.5rem' : '4rem';
77
+ return variant === 'confirmation' ? '0.75rem' : '1rem';
78
78
  }, _ref0 => {
79
79
  let {
80
80
  variant
81
81
  } = _ref0;
82
- return variant === 'confirmation' ? '0.75rem' : '1rem';
82
+ return variant === 'confirmation' ? '4rem' : '5rem';
83
83
  }, _ref1 => {
84
84
  let {
85
85
  variant
@@ -89,12 +89,12 @@ const IconWrapper = _styledComponents.default.div.withConfig({
89
89
  let {
90
90
  variant
91
91
  } = _ref10;
92
- return variant === 'confirmation' ? '4rem' : '5rem';
92
+ return variant === 'confirmation' ? '1rem' : '1.25rem';
93
93
  }, _ref11 => {
94
94
  let {
95
95
  variant
96
96
  } = _ref11;
97
- return variant === 'confirmation' ? '1rem' : '1.25rem';
97
+ return variant === 'confirmation' ? '1.75rem' : '2rem';
98
98
  }, _ref12 => {
99
99
  let {
100
100
  variant
@@ -102,28 +102,28 @@ const IconWrapper = _styledComponents.default.div.withConfig({
102
102
  return variant === 'confirmation' ? '1.75rem' : '2rem';
103
103
  }, _ref13 => {
104
104
  let {
105
- variant
105
+ themeColor
106
106
  } = _ref13;
107
- return variant === 'confirmation' ? '1.75rem' : '2rem';
107
+ return themeColor;
108
108
  }, _ref14 => {
109
109
  let {
110
- themeColor
110
+ variant
111
111
  } = _ref14;
112
- return themeColor;
112
+ return variant === 'confirmation' ? '2rem' : '2.5rem';
113
113
  }, _ref15 => {
114
114
  let {
115
115
  variant
116
116
  } = _ref15;
117
117
  return variant === 'confirmation' ? '2rem' : '2.5rem';
118
- }, _ref16 => {
119
- let {
120
- variant
121
- } = _ref16;
122
- return variant === 'confirmation' ? '2rem' : '2.5rem';
123
118
  });
124
119
  const Title = _styledComponents.default.h2.withConfig({
125
120
  displayName: "CustomCardTitle__Title"
126
- })(["text-align:center;font-size:1.125rem;margin-bottom:", ";@media (min-width:640px){font-size:1.25rem;margin-bottom:", ";}"], _ref17 => {
121
+ })(["text-align:center;font-size:1.125rem;color:", ";margin-bottom:", ";@media (min-width:640px){font-size:1.25rem;margin-bottom:", ";}"], _ref16 => {
122
+ let {
123
+ themeColor
124
+ } = _ref16;
125
+ return themeColor;
126
+ }, _ref17 => {
127
127
  let {
128
128
  variant
129
129
  } = _ref17;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const CardWrapper = _styledComponents.default.div.withConfig({
11
+ displayName: "DepartmentCard__CardWrapper"
12
+ })(["overflow:hidden;border-radius:0.5rem;border:1px solid #e5e7eb;border-top:4px solid ", ";background-color:#ffffff;opacity:", ";transition:opacity 0.3s;"], _ref => {
13
+ let {
14
+ borderTopColor
15
+ } = _ref;
16
+ return borderTopColor || '#cccccc';
17
+ }, _ref2 => {
18
+ let {
19
+ isActive
20
+ } = _ref2;
21
+ return isActive ? 1 : 0.5;
22
+ });
23
+ const Header = _styledComponents.default.div.withConfig({
24
+ displayName: "DepartmentCard__Header"
25
+ })(["padding:1rem 1rem 0.5rem 1rem;"]);
26
+ const TitleRow = _styledComponents.default.div.withConfig({
27
+ displayName: "DepartmentCard__TitleRow"
28
+ })(["display:flex;justify-content:space-between;align-items:flex-start;"]);
29
+ const CardTitle = _styledComponents.default.h3.withConfig({
30
+ displayName: "DepartmentCard__CardTitle"
31
+ })(["font-size:1.125rem;margin:0;"]);
32
+ const CardDescription = _styledComponents.default.p.withConfig({
33
+ displayName: "DepartmentCard__CardDescription"
34
+ })(["font-size:0.875rem;color:#6b7280;margin-top:0.25rem;"]);
35
+ const Content = _styledComponents.default.div.withConfig({
36
+ displayName: "DepartmentCard__Content"
37
+ })(["margin-top:1rem;padding:0 1rem 0.5rem 1rem;display:flex;justify-content:space-between;align-items:center;"]);
38
+ const ResourceText = _styledComponents.default.span.withConfig({
39
+ displayName: "DepartmentCard__ResourceText"
40
+ })(["font-size:0.875rem;color:#6b7280;"]);
41
+ const StatusRow = _styledComponents.default.div.withConfig({
42
+ displayName: "DepartmentCard__StatusRow"
43
+ })(["display:flex;align-items:center;"]);
44
+ const StatusDot = _styledComponents.default.span.withConfig({
45
+ displayName: "DepartmentCard__StatusDot"
46
+ })(["flex-shrink:0;width:0.5rem;height:0.5rem;margin-right:0.5rem;border-radius:9999px;background-color:", ";"], _ref3 => {
47
+ let {
48
+ isActive
49
+ } = _ref3;
50
+ return isActive ? '#22c55e' : '#9ca3af';
51
+ });
52
+ const StatusText = _styledComponents.default.span.withConfig({
53
+ displayName: "DepartmentCard__StatusText"
54
+ })(["font-size:0.75rem;color:#6b7280;"]);
55
+ const IconButtonsContainer = _styledComponents.default.div.withConfig({
56
+ displayName: "DepartmentCard__IconButtonsContainer"
57
+ })(["display:flex;gap:0.25rem;"]);
58
+ const IconButton = _styledComponents.default.button.withConfig({
59
+ displayName: "DepartmentCard__IconButton"
60
+ })(["background:none;border:none;padding:0;height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:", ";&:hover{color:", ";}"], _ref4 => {
61
+ let {
62
+ destructive
63
+ } = _ref4;
64
+ return destructive ? '#ef4444' : 'inherit';
65
+ }, _ref5 => {
66
+ let {
67
+ destructive
68
+ } = _ref5;
69
+ return destructive ? '#ef4444' : '#374151';
70
+ });
71
+ const BmDepartmentCard = _ref6 => {
72
+ let {
73
+ borderTopColor = '#cccccc',
74
+ isActive = true,
75
+ name,
76
+ description,
77
+ resourcesCount,
78
+ onEdit,
79
+ onDelete,
80
+ EditIcon,
81
+ DeleteIcon
82
+ } = _ref6;
83
+ return /*#__PURE__*/_react.default.createElement(CardWrapper, {
84
+ borderTopColor: borderTopColor,
85
+ isActive: isActive
86
+ }, /*#__PURE__*/_react.default.createElement(Header, null, /*#__PURE__*/_react.default.createElement(TitleRow, null, /*#__PURE__*/_react.default.createElement(CardTitle, null, name), /*#__PURE__*/_react.default.createElement(IconButtonsContainer, null, /*#__PURE__*/_react.default.createElement(IconButton, {
87
+ onClick: onEdit
88
+ }, EditIcon && /*#__PURE__*/_react.default.createElement(EditIcon, {
89
+ fontSize: "small"
90
+ })), /*#__PURE__*/_react.default.createElement(IconButton, {
91
+ destructive: true,
92
+ onClick: onDelete
93
+ }, DeleteIcon && /*#__PURE__*/_react.default.createElement(DeleteIcon, {
94
+ fontSize: "small"
95
+ })))), /*#__PURE__*/_react.default.createElement(CardDescription, null, description)), /*#__PURE__*/_react.default.createElement(Content, null, resourcesCount && /*#__PURE__*/_react.default.createElement(ResourceText, null, resourcesCount, " Resources"), /*#__PURE__*/_react.default.createElement(StatusRow, null, /*#__PURE__*/_react.default.createElement(StatusDot, {
96
+ isActive: isActive
97
+ }), /*#__PURE__*/_react.default.createElement(StatusText, null, isActive ? 'Active' : 'Inactive'))));
98
+ };
99
+ var _default = exports.default = BmDepartmentCard;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Inactive = exports.Active = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Edit = _interopRequireDefault(require("@mui/icons-material/Edit"));
9
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
10
+ var _DepartmentCard = _interopRequireDefault(require("./DepartmentCard"));
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
+ var _default = exports.default = {
14
+ title: 'Components/BmDepartmentCard',
15
+ component: _DepartmentCard.default,
16
+ argTypes: {
17
+ borderTopColor: {
18
+ control: 'color'
19
+ },
20
+ isActive: {
21
+ control: 'boolean'
22
+ },
23
+ name: {
24
+ control: 'text'
25
+ },
26
+ description: {
27
+ control: 'text'
28
+ },
29
+ resourcesCount: {
30
+ control: 'number'
31
+ }
32
+ }
33
+ };
34
+ const Template = args => /*#__PURE__*/_react.default.createElement(_DepartmentCard.default, _extends({}, args, {
35
+ EditIcon: _Edit.default,
36
+ DeleteIcon: _Delete.default
37
+ }));
38
+ const Active = exports.Active = Template.bind({});
39
+ Active.args = {
40
+ borderTopColor: '#3b82f6',
41
+ isActive: true,
42
+ name: 'Radiology',
43
+ description: 'Handles imaging and scans for diagnosis',
44
+ resourcesCount: 5
45
+ };
46
+ const Inactive = exports.Inactive = Template.bind({});
47
+ Inactive.args = {
48
+ borderTopColor: '#ef4444',
49
+ isActive: false,
50
+ name: 'Cardiology',
51
+ description: 'Provides heart-related care and surgeries',
52
+ resourcesCount: 3
53
+ };
@@ -63,7 +63,7 @@ const SummarySubtitle = _styledComponents.default.p.withConfig({
63
63
  });
64
64
  const SectionContainer = _styledComponents.default.div.withConfig({
65
65
  displayName: "InfoPanel__SectionContainer"
66
- })(["padding:0.75rem 1rem;display:flex;align-items:center;gap:0.5rem;", " @media (max-width:42.8571rem){padding:0.5rem 0.75rem;gap:0.25rem;}"], _ref5 => {
66
+ })(["padding:0.6rem 1rem;display:flex;align-items:center;gap:0.5rem;", " @media (max-width:42.8571rem){padding:0.5rem 0.75rem;gap:0.25rem;}"], _ref5 => {
67
67
  let {
68
68
  backgroundColor
69
69
  } = _ref5;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /* eslint-disable react/no-array-index-key */
11
+
12
+ const CardWrapper = _styledComponents.default.div.withConfig({
13
+ displayName: "ResourceCard__CardWrapper"
14
+ })(["overflow:hidden;border:1px solid #e5e7eb;border-radius:0.5rem;border-top:4px solid ", ";background-color:#ffffff;opacity:", ";transition:opacity 0.3s;"], _ref => {
15
+ let {
16
+ borderTopColor
17
+ } = _ref;
18
+ return borderTopColor || '#cccccc';
19
+ }, _ref2 => {
20
+ let {
21
+ isActive
22
+ } = _ref2;
23
+ return isActive ? 1 : 0.5;
24
+ });
25
+ const Header = _styledComponents.default.div.withConfig({
26
+ displayName: "ResourceCard__Header"
27
+ })(["padding:1rem 1rem 0.5rem 1rem;"]);
28
+ const TitleRow = _styledComponents.default.div.withConfig({
29
+ displayName: "ResourceCard__TitleRow"
30
+ })(["display:flex;justify-content:space-between;align-items:flex-start;"]);
31
+ const TitleContainer = _styledComponents.default.div.withConfig({
32
+ displayName: "ResourceCard__TitleContainer"
33
+ })(["display:flex;flex-direction:column;"]);
34
+ const CardTitle = _styledComponents.default.h3.withConfig({
35
+ displayName: "ResourceCard__CardTitle"
36
+ })(["font-size:1.125rem;margin:0;"]);
37
+ const BadgeRow = _styledComponents.default.div.withConfig({
38
+ displayName: "ResourceCard__BadgeRow"
39
+ })(["display:flex;gap:0.5rem;margin-top:0.25rem;flex-wrap:wrap;"]);
40
+ const Badge = _styledComponents.default.span.withConfig({
41
+ displayName: "ResourceCard__Badge"
42
+ })(["display:inline-flex;align-items:center;border:1px solid #e5e7eb;border-radius:0.375rem;padding:0.125rem 0.5rem;font-size:0.75rem;background-color:#f9fafb;color:", ";"], _ref3 => {
43
+ let {
44
+ color
45
+ } = _ref3;
46
+ return color || 'inherit';
47
+ });
48
+ const IconsContainer = _styledComponents.default.div.withConfig({
49
+ displayName: "ResourceCard__IconsContainer"
50
+ })(["display:flex;gap:0.25rem;"]);
51
+ const IconButton = _styledComponents.default.button.withConfig({
52
+ displayName: "ResourceCard__IconButton"
53
+ })(["background:none;border:none;padding:0;height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:", ";&:hover{color:", ";}"], _ref4 => {
54
+ let {
55
+ destructive
56
+ } = _ref4;
57
+ return destructive ? '#ef4444' : 'inherit';
58
+ }, _ref5 => {
59
+ let {
60
+ destructive
61
+ } = _ref5;
62
+ return destructive ? '#ef4444' : '#374151';
63
+ });
64
+ const Content = _styledComponents.default.div.withConfig({
65
+ displayName: "ResourceCard__Content"
66
+ })(["padding:0 1rem 0.5rem 1rem;display:flex;flex-direction:column;gap:0.5rem;font-size:0.875rem;"]);
67
+ const InfoRow = _styledComponents.default.div.withConfig({
68
+ displayName: "ResourceCard__InfoRow"
69
+ })(["display:flex;flex-wrap:wrap;gap:0.25rem;"]);
70
+ const Label = _styledComponents.default.span.withConfig({
71
+ displayName: "ResourceCard__Label"
72
+ })(["color:#6b7280;"]);
73
+ const Value = _styledComponents.default.span.withConfig({
74
+ displayName: "ResourceCard__Value"
75
+ })(["color:#374151;"]);
76
+ const Footer = _styledComponents.default.div.withConfig({
77
+ displayName: "ResourceCard__Footer"
78
+ })(["display:flex;justify-content:flex-end;align-items:center;padding:0 1rem 0.75rem 1rem;"]);
79
+ const StatusDot = _styledComponents.default.span.withConfig({
80
+ displayName: "ResourceCard__StatusDot"
81
+ })(["flex-shrink:0;width:0.5rem;height:0.5rem;margin-right:0.5rem;border-radius:9999px;background-color:", ";"], _ref6 => {
82
+ let {
83
+ isActive
84
+ } = _ref6;
85
+ return isActive ? '#22c55e' : '#9ca3af';
86
+ });
87
+ const StatusText = _styledComponents.default.span.withConfig({
88
+ displayName: "ResourceCard__StatusText"
89
+ })(["font-size:0.75rem;color:#6b7280;"]);
90
+ const BmResourceCard = _ref7 => {
91
+ let {
92
+ borderTopColor = '#cccccc',
93
+ isActive = true,
94
+ name,
95
+ type,
96
+ resourceBadges = [],
97
+ departmentName,
98
+ email,
99
+ phone,
100
+ capacity,
101
+ features,
102
+ availability,
103
+ onEdit,
104
+ onDelete,
105
+ EditIcon,
106
+ DeleteIcon
107
+ } = _ref7;
108
+ return /*#__PURE__*/_react.default.createElement(CardWrapper, {
109
+ borderTopColor: borderTopColor,
110
+ isActive: isActive
111
+ }, /*#__PURE__*/_react.default.createElement(Header, null, /*#__PURE__*/_react.default.createElement(TitleRow, null, /*#__PURE__*/_react.default.createElement(TitleContainer, null, /*#__PURE__*/_react.default.createElement(CardTitle, null, name), /*#__PURE__*/_react.default.createElement(BadgeRow, null, /*#__PURE__*/_react.default.createElement(Badge, null, type), resourceBadges.map((badge, index) => /*#__PURE__*/_react.default.createElement(Badge, {
112
+ key: index,
113
+ color: badge.color
114
+ }, badge.icon && /*#__PURE__*/_react.default.createElement(badge.icon, {
115
+ style: {
116
+ fontSize: 14,
117
+ marginRight: 4
118
+ }
119
+ }), badge.label)))), /*#__PURE__*/_react.default.createElement(IconsContainer, null, /*#__PURE__*/_react.default.createElement(IconButton, {
120
+ onClick: onEdit
121
+ }, EditIcon && /*#__PURE__*/_react.default.createElement(EditIcon, {
122
+ fontSize: "small"
123
+ })), /*#__PURE__*/_react.default.createElement(IconButton, {
124
+ destructive: true,
125
+ onClick: onDelete
126
+ }, DeleteIcon && /*#__PURE__*/_react.default.createElement(DeleteIcon, {
127
+ fontSize: "small"
128
+ }))))), /*#__PURE__*/_react.default.createElement(Content, null, departmentName && /*#__PURE__*/_react.default.createElement(InfoRow, null, /*#__PURE__*/_react.default.createElement(Label, null, "Department:"), /*#__PURE__*/_react.default.createElement(Value, null, departmentName)), type === 'staff' && email && /*#__PURE__*/_react.default.createElement(InfoRow, null, /*#__PURE__*/_react.default.createElement(Label, null, "Email:"), /*#__PURE__*/_react.default.createElement(Value, null, email)), type === 'staff' && phone && /*#__PURE__*/_react.default.createElement(InfoRow, null, /*#__PURE__*/_react.default.createElement(Label, null, "Phone:"), /*#__PURE__*/_react.default.createElement(Value, null, phone)), type === 'room' && capacity && /*#__PURE__*/_react.default.createElement(InfoRow, null, /*#__PURE__*/_react.default.createElement(Label, null, "Capacity:"), /*#__PURE__*/_react.default.createElement(Value, null, capacity)), type === 'room' && features && features.length > 0 && /*#__PURE__*/_react.default.createElement(InfoRow, null, /*#__PURE__*/_react.default.createElement(Label, null, "Features:"), /*#__PURE__*/_react.default.createElement(Value, null, features.join(', '))), availability && /*#__PURE__*/_react.default.createElement(InfoRow, null, /*#__PURE__*/_react.default.createElement(Label, null, "Availability:"), /*#__PURE__*/_react.default.createElement(Value, null, availability))), /*#__PURE__*/_react.default.createElement(Footer, null, /*#__PURE__*/_react.default.createElement(StatusDot, {
129
+ isActive: isActive
130
+ }), /*#__PURE__*/_react.default.createElement(StatusText, null, isActive ? 'Active' : 'Inactive')));
131
+ };
132
+ var _default = exports.default = BmResourceCard;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.StaffExample = exports.RoomExample = exports.Default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _Edit = _interopRequireDefault(require("@mui/icons-material/Edit"));
9
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
10
+ var _CalendarToday = _interopRequireDefault(require("@mui/icons-material/CalendarToday"));
11
+ var _ResourceCard = _interopRequireDefault(require("./ResourceCard"));
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
+ var _default = exports.default = {
15
+ title: 'Components/BmResourceCard',
16
+ component: _ResourceCard.default,
17
+ argTypes: {
18
+ borderTopColor: {
19
+ control: 'color'
20
+ },
21
+ isActive: {
22
+ control: 'boolean'
23
+ },
24
+ name: {
25
+ control: 'text'
26
+ },
27
+ type: {
28
+ control: 'text'
29
+ },
30
+ departmentName: {
31
+ control: 'text'
32
+ },
33
+ email: {
34
+ control: 'text'
35
+ },
36
+ phone: {
37
+ control: 'text'
38
+ },
39
+ capacity: {
40
+ control: 'number'
41
+ },
42
+ availability: {
43
+ control: 'text'
44
+ }
45
+ }
46
+ };
47
+ const Template = args => /*#__PURE__*/_react.default.createElement(_ResourceCard.default, _extends({}, args, {
48
+ EditIcon: _Edit.default,
49
+ DeleteIcon: _Delete.default
50
+ }));
51
+ const Default = exports.Default = Template.bind({});
52
+ Default.args = {
53
+ borderTopColor: '#3b82f6',
54
+ isActive: true,
55
+ name: 'Room 101',
56
+ type: 'room',
57
+ resourceBadges: [{
58
+ label: 'Synced',
59
+ icon: _CalendarToday.default,
60
+ color: '#10b981'
61
+ }],
62
+ departmentName: 'Radiology',
63
+ capacity: 12,
64
+ features: ['Projector', 'Whiteboard'],
65
+ availability: 'Weekdays 9am - 5pm'
66
+ };
67
+ const StaffExample = exports.StaffExample = Template.bind({});
68
+ StaffExample.args = {
69
+ borderTopColor: '#10b981',
70
+ isActive: true,
71
+ name: 'Dr. Sarah Johnson',
72
+ type: 'staff',
73
+ resourceBadges: [{
74
+ label: 'Google Synced',
75
+ icon: _CalendarToday.default,
76
+ color: '#3b82f6'
77
+ }],
78
+ departmentName: 'Cardiology',
79
+ email: 'sarah.johnson@hospital.com',
80
+ phone: '+1 555 123 4567',
81
+ availability: 'Mon - Fri, 9am - 3pm'
82
+ };
83
+ const RoomExample = exports.RoomExample = Template.bind({});
84
+ RoomExample.args = {
85
+ borderTopColor: '#f59e0b',
86
+ isActive: false,
87
+ name: 'Conference Room B',
88
+ type: 'room',
89
+ resourceBadges: [],
90
+ departmentName: 'Oncology',
91
+ capacity: 20,
92
+ features: ['Video Conferencing', 'AC', 'Whiteboard'],
93
+ availability: 'Available on demand'
94
+ };
@@ -6,4 +6,4 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.GlobalStyle = void 0;
7
7
  var _styledComponents = require("styled-components");
8
8
  var _text = require("./text");
9
- const GlobalStyle = exports.GlobalStyle = (0, _styledComponents.createGlobalStyle)(["*{font-size:14px;cursor:pointer}h1{", "}h2{", "}h3{", "}h4{", "}h5{", "}h6{", "}p{", "}input{", "}a{", "}"], _text.h1, _text.h2, _text.h3, _text.h4, _text.h5, _text.h6, _text.p, _text.input, _text.a);
9
+ const GlobalStyle = exports.GlobalStyle = (0, _styledComponents.createGlobalStyle)(["*{font-size:14px;cursor:pointer}h1{", "}h2{", "}h3{", "}h4{", "}h5{", "}h6{", "}p{", "}input{", "}a{", "}span{", "}"], _text.h1, _text.h2, _text.h3, _text.h4, _text.h5, _text.h6, _text.p, _text.input, _text.a, _text.span);
@@ -178,6 +178,12 @@ Object.defineProperty(exports, "BmCustomCardTitle", {
178
178
  return _CustomCardTitle.default;
179
179
  }
180
180
  });
181
+ Object.defineProperty(exports, "BmDepartmentCard", {
182
+ enumerable: true,
183
+ get: function () {
184
+ return _DepartmentCard.default;
185
+ }
186
+ });
181
187
  Object.defineProperty(exports, "BmEmojiIcon", {
182
188
  enumerable: true,
183
189
  get: function () {
@@ -310,6 +316,12 @@ Object.defineProperty(exports, "BmQuickReplyIcon", {
310
316
  return _iconStyles.BmQuickReplyIcon;
311
317
  }
312
318
  });
319
+ Object.defineProperty(exports, "BmResourceCard", {
320
+ enumerable: true,
321
+ get: function () {
322
+ return _ResourceCard.default;
323
+ }
324
+ });
313
325
  Object.defineProperty(exports, "BmRouteLink", {
314
326
  enumerable: true,
315
327
  get: function () {
@@ -479,5 +491,7 @@ var _InfoPanel = _interopRequireDefault(require("./InfoPanel/InfoPanel"));
479
491
  var _BmSelector = _interopRequireDefault(require("./BmSelector/BmSelector"));
480
492
  var _CustomCardTitle = _interopRequireDefault(require("./BmCustomCardTitle/CustomCardTitle"));
481
493
  var _Alert = _interopRequireDefault(require("./Alert/Alert"));
494
+ var _DepartmentCard = _interopRequireDefault(require("./DepartmentCard/DepartmentCard"));
495
+ var _ResourceCard = _interopRequireDefault(require("./ResourceCard/ResourceCard"));
482
496
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
483
497
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -3,27 +3,28 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.p = exports.input = exports.h6 = exports.h5 = exports.h4 = exports.h3 = exports.h2 = exports.h1 = exports.a = void 0;
6
+ exports.span = exports.p = exports.input = exports.h6 = exports.h5 = exports.h4 = exports.h3 = exports.h2 = exports.h1 = exports.a = void 0;
7
7
  var _typography = require("./typography");
8
8
  // 32px
9
- const h1 = exports.h1 = "font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 2.286rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
9
+ const h1 = exports.h1 = "font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 2.286rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
10
10
 
11
11
  // 24px
12
- const h2 = exports.h2 = "font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1.714rem;\nletter-spacing: -0.02em;\nmargin: 0rem;");
12
+ const h2 = exports.h2 = "font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1.714rem;\nletter-spacing: -0.02em;\nmargin: 0rem;");
13
13
 
14
14
  // 18px
15
- const h3 = exports.h3 = "font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1.286rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
15
+ const h3 = exports.h3 = "font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1.286rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
16
16
 
17
17
  // 16px
18
- const h4 = exports.h4 = " font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1.143rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
18
+ const h4 = exports.h4 = " font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1.143rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
19
19
 
20
20
  // 14px
21
- const h5 = exports.h5 = " font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
21
+ const h5 = exports.h5 = " font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
22
22
 
23
23
  // 12px
24
- const h6 = exports.h6 = " font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: .857rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
24
+ const h6 = exports.h6 = " font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: 500;\nfont-size: .857rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
25
25
 
26
26
  // 14px
27
- const p = exports.p = "font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
28
- const input = exports.input = " font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
29
- const a = exports.a = "font-family: ".concat(_typography.OpenSans, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
27
+ const p = exports.p = "font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
28
+ const input = exports.input = " font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
29
+ const a = exports.a = "font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
30
+ const span = exports.span = "font-family: ".concat(_typography.Inter, ";\nfont-style: normal;\nfont-weight: normal;\nfont-size: 1rem;\nletter-spacing: -0.02rem;\nmargin: 0rem;");
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.QuoteMark = exports.PullQuote = exports.PoppinsMedium = exports.Poppins = exports.P = exports.OpenSans = exports.Hero = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Captions = void 0;
6
+ exports.QuoteMark = exports.PullQuote = exports.PoppinsMedium = exports.Poppins = exports.P = exports.OpenSans = exports.Inter = exports.Hero = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Captions = void 0;
7
7
  const H1 = exports.H1 = '2.286rem';
8
8
  const H2 = exports.H2 = '1.714rem';
9
9
  const H3 = exports.H3 = '1.286rem';
@@ -17,4 +17,5 @@ const Captions = exports.Captions = '0.714rem';
17
17
  const Hero = exports.Hero = '1rem';
18
18
  const PoppinsMedium = exports.PoppinsMedium = 'PoppinsMedium';
19
19
  const Poppins = exports.Poppins = 'Poppins';
20
- const OpenSans = exports.OpenSans = 'OpenSans';
20
+ const OpenSans = exports.OpenSans = 'OpenSans';
21
+ const Inter = exports.Inter = 'Inter';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beem-component",
3
- "version": "2.1.7",
3
+ "version": "2.1.9",
4
4
  "private": false,
5
5
  "main": "dist/components/index.js",
6
6
  "scripts": {
package/public/index.html CHANGED
@@ -4,6 +4,7 @@
4
4
  <head>
5
5
  <meta charset="utf-8" />
6
6
  <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
7
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400..700&display=swap" rel="stylesheet">
7
8
  <meta name="viewport" content="width=device-width, initial-scale=1" />
8
9
  <meta name="theme-color" content="#000000" />
9
10
  <meta name="description" content="Web site created using create-react-app" />