beem-component 2.1.29 → 2.1.31

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 (76) hide show
  1. package/Dockerfile +1 -1
  2. package/Jenkinsfile +20 -5
  3. package/dist/assets/voiceCallIcon.svg +5 -0
  4. package/dist/components/Alert/Alert.js +83 -0
  5. package/dist/components/Alert/Alert.stories.js +66 -0
  6. package/dist/components/BmCustomCardTitle/CustomCardTitle.js +181 -0
  7. package/dist/components/BmCustomCardTitle/CustomCardTitle.stories.js +92 -0
  8. package/dist/components/BmSelector/BmSelector.js +15 -2
  9. package/dist/components/BmSelector/BmSelector.stories.js +14 -1
  10. package/dist/components/BmTabv2/BmTabv2.js +51 -0
  11. package/dist/components/BmTabv2/BmTabv2.stories.js +73 -0
  12. package/dist/components/Card_v2/Card.js +38 -12
  13. package/dist/components/ChatComponents/ChatBody/chatBody.js +402 -104
  14. package/dist/components/DepartmentCard/DepartmentCard.js +99 -0
  15. package/dist/components/DepartmentCard/DepartmentCard.stories.js +53 -0
  16. package/dist/components/HorizontalCard/HorizontalCard.js +142 -0
  17. package/dist/components/HorizontalCard/HorizontalCard.stories.js +40 -0
  18. package/dist/components/InfoPanel/InfoPanel.js +54 -17
  19. package/dist/components/InfoPanel/InfoPanel.stories.js +56 -4
  20. package/dist/components/Modals/modal.js +26 -10
  21. package/dist/components/Modals/modals.stories.js +13 -6
  22. package/dist/components/ProfileIcon/ProfileIcon.js +5 -0
  23. package/dist/components/ResourceCard/ResourceCard.js +132 -0
  24. package/dist/components/ResourceCard/ResourceCard.stories.js +94 -0
  25. package/dist/components/globalStyles.js +1 -1
  26. package/dist/components/index.js +42 -0
  27. package/dist/components/text.js +11 -10
  28. package/dist/components/typography.js +3 -2
  29. package/package.json +2 -1
  30. package/public/index.html +1 -0
  31. package/src/App.js +804 -1412
  32. package/src/fonts/Inter-Black.woff2 +0 -0
  33. package/src/fonts/Inter-Bold.woff2 +0 -0
  34. package/src/fonts/Inter-ExtraBold.woff2 +0 -0
  35. package/src/fonts/Inter-ExtraLight.woff2 +0 -0
  36. package/src/fonts/Inter-Light.woff2 +0 -0
  37. package/src/fonts/Inter-Medium.woff2 +0 -0
  38. package/src/fonts/Inter-Regular.woff2 +0 -0
  39. package/src/fonts/Inter-SemiBold.woff2 +0 -0
  40. package/src/fonts/Inter-Thin.woff2 +0 -0
  41. package/src/fonts/Inter-VariableFont_opsz,wght.ttf +0 -0
  42. package/src/fonts/InterDisplay-Black.woff2 +0 -0
  43. package/src/fonts/InterDisplay-Bold.woff2 +0 -0
  44. package/src/fonts/InterDisplay-ExtraBold.woff2 +0 -0
  45. package/src/fonts/InterDisplay-ExtraLight.woff2 +0 -0
  46. package/src/fonts/InterDisplay-Light.woff2 +0 -0
  47. package/src/fonts/InterDisplay-Medium.woff2 +0 -0
  48. package/src/fonts/InterDisplay-SemiBold.woff2 +0 -0
  49. package/src/fonts/InterDisplay-Thin.woff2 +0 -0
  50. package/src/fonts.scss +4 -1
  51. package/src/lib/assets/voiceCallIcon.svg +5 -0
  52. package/src/lib/components/Alert/Alert.js +111 -0
  53. package/src/lib/components/Alert/Alert.stories.jsx +66 -0
  54. package/src/lib/components/BmCustomCardTitle/CustomCardTitle.js +162 -0
  55. package/src/lib/components/BmCustomCardTitle/CustomCardTitle.stories.jsx +92 -0
  56. package/src/lib/components/BmSelector/BmSelector.js +14 -1
  57. package/src/lib/components/BmSelector/BmSelector.stories.jsx +10 -0
  58. package/src/lib/components/BmTabv2/BmTabv2.js +109 -0
  59. package/src/lib/components/BmTabv2/BmTabv2.stories.jsx +51 -0
  60. package/src/lib/components/Card_v2/Card.js +46 -13
  61. package/src/lib/components/ChatComponents/ChatBody/chatBody.js +551 -57
  62. package/src/lib/components/DepartmentCard/DepartmentCard.js +130 -0
  63. package/src/lib/components/DepartmentCard/DepartmentCard.stories.jsx +38 -0
  64. package/src/lib/components/HorizontalCard/HorizontalCard.js +276 -0
  65. package/src/lib/components/HorizontalCard/HorizontalCard.stories.jsx +33 -0
  66. package/src/lib/components/InfoPanel/InfoPanel.js +35 -11
  67. package/src/lib/components/InfoPanel/InfoPanel.stories.jsx +42 -2
  68. package/src/lib/components/Modals/modal.js +17 -4
  69. package/src/lib/components/Modals/modals.stories.js +10 -6
  70. package/src/lib/components/ProfileIcon/ProfileIcon.js +4 -0
  71. package/src/lib/components/ResourceCard/ResourceCard.js +213 -0
  72. package/src/lib/components/ResourceCard/ResourceCard.stories.jsx +68 -0
  73. package/src/lib/components/globalStyles.js +2 -1
  74. package/src/lib/components/index.js +13 -0
  75. package/src/lib/components/text.js +17 -11
  76. package/src/lib/components/typography.js +1 -0
@@ -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, /*#__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
+ };
@@ -0,0 +1,142 @@
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 = _interopRequireWildcard(require("styled-components"));
9
+ var _AccessTime = _interopRequireDefault(require("@mui/icons-material/AccessTime"));
10
+ var _AttachMoney = _interopRequireDefault(require("@mui/icons-material/AttachMoney"));
11
+ var _LocationOnOutlined = _interopRequireDefault(require("@mui/icons-material/LocationOnOutlined"));
12
+ var _Link = _interopRequireDefault(require("@mui/icons-material/Link"));
13
+ var _Edit = _interopRequireDefault(require("@mui/icons-material/Edit"));
14
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
15
+ var _Groups2Outlined = _interopRequireDefault(require("@mui/icons-material/Groups2Outlined"));
16
+ var _PeopleAltOutlined = _interopRequireDefault(require("@mui/icons-material/PeopleAltOutlined"));
17
+ var _lodash = require("lodash");
18
+ 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); }
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
+ const RowContainer = _styledComponents.default.div.withConfig({
21
+ displayName: "HorizontalCard__RowContainer"
22
+ })(["position:relative;border:1px solid rgba(0,0,0,0.1);border-radius:8px;padding:16px;transition:all 0.2s;display:flex;justify-content:space-between;align-items:flex-start;cursor:pointer;gap:12px;&:hover{border-color:rgba(0,0,0,0.2);}", " @media (max-width:600px){flex-direction:column;align-items:flex-start;}"], _ref => {
23
+ let {
24
+ isActive
25
+ } = _ref;
26
+ return !isActive && (0, _styledComponents.css)(["opacity:0.7;"]);
27
+ });
28
+ const ColorBar = _styledComponents.default.div.withConfig({
29
+ displayName: "HorizontalCard__ColorBar"
30
+ })(["position:absolute;top:0;left:0;width:4px;height:100%;border-top-left-radius:8px;border-bottom-left-radius:8px;background-color:", ";"], props => props.color || '#ccc');
31
+ const InfoContainer = _styledComponents.default.div.withConfig({
32
+ displayName: "HorizontalCard__InfoContainer"
33
+ })(["flex:1;padding-left:12px;"]);
34
+ const TitleRow = _styledComponents.default.div.withConfig({
35
+ displayName: "HorizontalCard__TitleRow"
36
+ })(["display:flex;align-items:center;gap:8px;flex-wrap:wrap;"]);
37
+ const Name = _styledComponents.default.h3.withConfig({
38
+ displayName: "HorizontalCard__Name"
39
+ })(["margin:0;font-weight:500;"]);
40
+ const Badge = _styledComponents.default.span.withConfig({
41
+ displayName: "HorizontalCard__Badge"
42
+ })(["display:inline-flex;align-items:center;padding:2px 6px;font-size:12px;border-radius:4px;", ""], _ref2 => {
43
+ let {
44
+ variant
45
+ } = _ref2;
46
+ return variant === 'outline' ? (0, _styledComponents.css)(["border:1px solid #d1d5db;color:#4b5563;background-color:rgba(0,0,0,0.04);"]) : (0, _styledComponents.css)(["background-color:#e6f4ea;color:#166534;border:none;"]);
47
+ });
48
+ const Description = _styledComponents.default.p.withConfig({
49
+ displayName: "HorizontalCard__Description"
50
+ })(["margin-top:4px;font-size:0.9rem;color:#6b7280;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;"]);
51
+ const MetaRow = _styledComponents.default.div.withConfig({
52
+ displayName: "HorizontalCard__MetaRow"
53
+ })(["display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;"]);
54
+ const MetaItem = _styledComponents.default.div.withConfig({
55
+ displayName: "HorizontalCard__MetaItem"
56
+ })(["display:flex;align-items:center;font-size:0.875rem;color:#374151;svg{margin-right:4px;width:18px;height:18px;}"]);
57
+ const ActionButtons = _styledComponents.default.div.withConfig({
58
+ displayName: "HorizontalCard__ActionButtons"
59
+ })(["display:flex;align-items:center;gap:4px;opacity:0;transition:opacity 0.2s;", ":hover &{opacity:1;}"], RowContainer);
60
+ const IconButton = _styledComponents.default.button.withConfig({
61
+ displayName: "HorizontalCard__IconButton"
62
+ })(["background:transparent;border:none;padding:4px;cursor:pointer;color:", ";transition:color 0.2s;&:hover{color:#111827;}&.danger:hover{color:#dc2626;}@media (max-width:600px){padding:2px;}"], _ref3 => {
63
+ let {
64
+ iconColor
65
+ } = _ref3;
66
+ return iconColor || '#111827';
67
+ });
68
+ const formatDuration = duration => {
69
+ if (duration > 60) {
70
+ const hours = Math.floor(duration / 60);
71
+ const mins = duration % 60;
72
+ return "".concat(hours, "h ").concat(mins > 0 ? "".concat(mins, "m") : '');
73
+ }
74
+ return "".concat(duration, "m");
75
+ };
76
+ const BmHorizontalCard = _ref4 => {
77
+ let {
78
+ onView,
79
+ onDelete,
80
+ onCopyLink,
81
+ name,
82
+ description,
83
+ price,
84
+ color,
85
+ isActive,
86
+ location,
87
+ paymentRequired,
88
+ selectedResources,
89
+ address,
90
+ duration,
91
+ guest_limit,
92
+ deleteToolTip,
93
+ editToolTip,
94
+ copyToolTip
95
+ } = _ref4;
96
+ return /*#__PURE__*/_react.default.createElement(RowContainer, {
97
+ isActive: isActive
98
+ }, /*#__PURE__*/_react.default.createElement(ColorBar, {
99
+ color: color
100
+ }), /*#__PURE__*/_react.default.createElement(InfoContainer, null, /*#__PURE__*/_react.default.createElement(TitleRow, null, /*#__PURE__*/_react.default.createElement(Name, null, name), !isActive && /*#__PURE__*/_react.default.createElement(Badge, {
101
+ variant: "outline"
102
+ }, "Inactive"), paymentRequired && /*#__PURE__*/_react.default.createElement(Badge, null, /*#__PURE__*/_react.default.createElement(_AttachMoney.default, {
103
+ fontSize: "small"
104
+ }), "Payment Required")), /*#__PURE__*/_react.default.createElement(Description, null, description), /*#__PURE__*/_react.default.createElement(MetaRow, null, duration && /*#__PURE__*/_react.default.createElement(MetaItem, null, /*#__PURE__*/_react.default.createElement(_AccessTime.default, {
105
+ fontSize: "small"
106
+ }), /*#__PURE__*/_react.default.createElement("span", null, formatDuration(duration))), price && /*#__PURE__*/_react.default.createElement(MetaItem, null, /*#__PURE__*/_react.default.createElement(_AttachMoney.default, {
107
+ fontSize: "small"
108
+ }), /*#__PURE__*/_react.default.createElement("span", null, price === 0 ? 'Free' : "".concat(price))), /*#__PURE__*/_react.default.createElement(MetaItem, null, /*#__PURE__*/_react.default.createElement(_LocationOnOutlined.default, {
109
+ fontSize: "small"
110
+ }), /*#__PURE__*/_react.default.createElement("span", null, location, (0, _lodash.lowerCase)(location) === 'physical' && address ? " (".concat(address.split(',')[0], "...)") : '')), guest_limit && /*#__PURE__*/_react.default.createElement(MetaItem, null, /*#__PURE__*/_react.default.createElement(_Groups2Outlined.default, {
111
+ fontSize: "small"
112
+ }), /*#__PURE__*/_react.default.createElement("span", null, "Max ", guest_limit, " attendee", guest_limit > 1 ? 's' : '')), selectedResources && selectedResources.length > 0 && /*#__PURE__*/_react.default.createElement(MetaItem, null, /*#__PURE__*/_react.default.createElement(_PeopleAltOutlined.default, {
113
+ fontSize: "small"
114
+ }), /*#__PURE__*/_react.default.createElement("span", null, selectedResources.length, " resource", selectedResources.length > 1 ? 's' : '')))), /*#__PURE__*/_react.default.createElement(ActionButtons, null, /*#__PURE__*/_react.default.createElement(IconButton, {
115
+ onClick: e => {
116
+ e.stopPropagation();
117
+ onCopyLink();
118
+ },
119
+ title: copyToolTip || ''
120
+ }, /*#__PURE__*/_react.default.createElement(_Link.default, {
121
+ fontSize: "small"
122
+ })), /*#__PURE__*/_react.default.createElement(IconButton, {
123
+ onClick: e => {
124
+ e.stopPropagation();
125
+ onView();
126
+ },
127
+ title: editToolTip || ''
128
+ }, /*#__PURE__*/_react.default.createElement(_Edit.default, {
129
+ fontSize: "small"
130
+ })), /*#__PURE__*/_react.default.createElement(IconButton, {
131
+ iconColor: "#dc2626",
132
+ className: "danger",
133
+ onClick: e => {
134
+ e.stopPropagation();
135
+ onDelete();
136
+ },
137
+ title: deleteToolTip || ''
138
+ }, /*#__PURE__*/_react.default.createElement(_Delete.default, {
139
+ fontSize: "small"
140
+ }))));
141
+ };
142
+ var _default = exports.default = BmHorizontalCard;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Example = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _addonActions = require("@storybook/addon-actions");
9
+ var _HorizontalCard = _interopRequireDefault(require("./HorizontalCard"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ var _default = exports.default = {
12
+ title: 'Components/BmHorizontalCard',
13
+ component: _HorizontalCard.default,
14
+ tags: ['autodocs']
15
+ };
16
+ const sampleResources = [{
17
+ id: 1
18
+ }, {
19
+ id: 2
20
+ }];
21
+ const Example = () => /*#__PURE__*/_react.default.createElement(_HorizontalCard.default, {
22
+ onView: (0, _addonActions.action)('View clicked'),
23
+ onDelete: (0, _addonActions.action)('Delete clicked'),
24
+ onCopyLink: (0, _addonActions.action)('Copy link clicked'),
25
+ name: "Strategy Session",
26
+ description: "Deep dive on your business strategy and next steps.",
27
+ price: 150,
28
+ color: "#10b981",
29
+ isActive: true,
30
+ location: "physical",
31
+ paymentRequired: "true",
32
+ selectedResources: sampleResources,
33
+ address: "456 Innovation Avenue, Tech City",
34
+ duration: 60,
35
+ guest_limit: 10,
36
+ editToolTip: "edit appointment type",
37
+ deleteToolTip: "delete appointment type",
38
+ copyToolTip: "copy appointment type link"
39
+ });
40
+ exports.Example = Example;
@@ -30,7 +30,7 @@ const SectionSummaryContainer = _styledComponents.default.div.withConfig({
30
30
  })(["display:flex;align-items:center;margin-bottom:1rem;@media (min-width:45.7143rem){margin-bottom:1.25rem;}"]);
31
31
  const IconBox = _styledComponents.default.div.withConfig({
32
32
  displayName: "InfoPanel__IconBox"
33
- })(["display:flex;align-items:center;justify-content:center;text-align:center;margin-right:0.5rem;padding:0.5rem;border-radius:714.2143rem;background-color:", ";svg{height:1.2rem;width:1.2rem;color:", ";@media (min-width:45.7143rem){height:1.5rem;width:1.5rem;}}"], _ref => {
33
+ })(["display:flex;align-items:center;justify-content:center;text-align:center;margin-right:0.5rem;padding:0.5rem;border-radius:714.2143rem;background-color:", ";svg{height:1.2rem;width:1.2rem;color:", ";@media (min-width:45.7143rem){height:1.4rem;width:1.4rem;}}"], _ref => {
34
34
  let {
35
35
  iconBackgroundColor,
36
36
  iconColor
@@ -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;
@@ -80,14 +80,35 @@ const RowContainer = _styledComponents.default.div.withConfig({
80
80
  })(["display:flex;justify-content:space-between;font-size:0.875rem;align-items:center;@media (max-width:42.8571rem){font-size:0.8rem;}"]);
81
81
  const Label = _styledComponents.default.span.withConfig({
82
82
  displayName: "InfoPanel__Label"
83
- })(["color:rgba(0,0,0,0.6);@media (max-width:42.8571rem){font-size:0.75rem;}"]);
83
+ })(["color:", ";@media (max-width:42.8571rem){font-size:0.75rem;}"], _ref6 => {
84
+ let {
85
+ labelTextColor
86
+ } = _ref6;
87
+ return hexToRgba(labelTextColor || '#000000', 0.6);
88
+ });
84
89
  const Value = _styledComponents.default.span.withConfig({
85
90
  displayName: "InfoPanel__Value"
86
- })(["font-weight:500;@media (max-width:42.8571rem){font-size:0.75rem;}"]);
91
+ })(["font-weight:500;color:", ";@media (max-width:42.8571rem){font-size:0.75rem;}"], _ref7 => {
92
+ let {
93
+ valueTextColor
94
+ } = _ref7;
95
+ return hexToRgba(valueTextColor || '#000000', 1);
96
+ });
87
97
  const Divider = _styledComponents.default.hr.withConfig({
88
98
  displayName: "InfoPanel__Divider"
89
- })(["border:none;border-top:0.0714rem dashed rgba(51,177,186,0.2);margin:1rem auto;max-width:97%;@media (max-width:42.8571rem){margin:0.75rem auto;max-width:97%;}"]);
90
- const SectionSummary = _ref6 => {
99
+ })(["border:none;border-top:", ";margin:1rem auto;max-width:97%;@media (max-width:42.8571rem){margin:0.75rem auto;max-width:97%;}"], _ref8 => {
100
+ let {
101
+ showDivider,
102
+ dividerColor = '#33b1ba',
103
+ dividerType = 'dashed',
104
+ dividerWitdh = '1px',
105
+ dividerOpacity = '0.2'
106
+ } = _ref8;
107
+ if (showDivider) {
108
+ return "".concat(dividerWitdh, " ").concat(dividerType, " ").concat(hexToRgba(dividerColor, dividerOpacity));
109
+ }
110
+ });
111
+ const SectionSummary = _ref9 => {
91
112
  let {
92
113
  icon: Icon,
93
114
  title,
@@ -95,7 +116,7 @@ const SectionSummary = _ref6 => {
95
116
  textColor,
96
117
  subtitle,
97
118
  iconBackgroundColor
98
- } = _ref6;
119
+ } = _ref9;
99
120
  return /*#__PURE__*/_react.default.createElement(SectionSummaryContainer, null, Icon && /*#__PURE__*/_react.default.createElement(IconBox, {
100
121
  iconColor: iconColor,
101
122
  iconBackgroundColor: iconBackgroundColor
@@ -105,13 +126,13 @@ const SectionSummary = _ref6 => {
105
126
  textColor: textColor
106
127
  }, subtitle)));
107
128
  };
108
- const BmInfoPanel = _ref7 => {
129
+ const BmInfoPanel = _ref0 => {
109
130
  let {
110
131
  children
111
- } = _ref7;
132
+ } = _ref0;
112
133
  return /*#__PURE__*/_react.default.createElement(Panel, null, children);
113
134
  };
114
- const Section = _ref8 => {
135
+ const Section = _ref1 => {
115
136
  let {
116
137
  title,
117
138
  icon: Icon,
@@ -119,21 +140,37 @@ const Section = _ref8 => {
119
140
  showDivider,
120
141
  backgroundColor,
121
142
  iconColor,
122
- iconBackgroundColor
123
- } = _ref8;
124
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showDivider && /*#__PURE__*/_react.default.createElement(Divider, null), /*#__PURE__*/_react.default.createElement(SectionContainer, {
143
+ iconBackgroundColor,
144
+ dividerColor,
145
+ dividerWitdh,
146
+ dividerType,
147
+ dividerOpacity
148
+ } = _ref1;
149
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showDivider && /*#__PURE__*/_react.default.createElement(Divider, {
150
+ dividerColor: dividerColor,
151
+ showDivider: showDivider,
152
+ dividerWitdh: dividerWitdh,
153
+ dividerType: dividerType,
154
+ dividerOpacity: dividerOpacity
155
+ }), /*#__PURE__*/_react.default.createElement(SectionContainer, {
125
156
  backgroundColor: backgroundColor
126
157
  }, Icon && /*#__PURE__*/_react.default.createElement(IconBox, {
127
158
  iconColor: iconColor,
128
159
  iconBackgroundColor: iconBackgroundColor
129
160
  }, /*#__PURE__*/_react.default.createElement(Icon, null)), /*#__PURE__*/_react.default.createElement(SectionTitle, null, title)), /*#__PURE__*/_react.default.createElement(SectionBody, null, children));
130
161
  };
131
- const Row = _ref9 => {
162
+ const Row = _ref10 => {
132
163
  let {
133
164
  label,
134
- value
135
- } = _ref9;
136
- return /*#__PURE__*/_react.default.createElement(RowContainer, null, /*#__PURE__*/_react.default.createElement(Label, null, label, ":"), /*#__PURE__*/_react.default.createElement(Value, null, value));
165
+ value,
166
+ labelTextColor,
167
+ valueTextColor
168
+ } = _ref10;
169
+ return /*#__PURE__*/_react.default.createElement(RowContainer, null, /*#__PURE__*/_react.default.createElement(Label, {
170
+ labelTextColor: labelTextColor
171
+ }, label, ":"), /*#__PURE__*/_react.default.createElement(Value, {
172
+ valueTextColor: valueTextColor
173
+ }, value));
137
174
  };
138
175
  BmInfoPanel.Section = Section;
139
176
  BmInfoPanel.Row = Row;
@@ -48,6 +48,34 @@ var _default = exports.default = {
48
48
  },
49
49
  iconBackgroundColor: {
50
50
  control: 'boolean'
51
+ },
52
+ dividerColor: {
53
+ control: 'color'
54
+ },
55
+ dividerWidth: {
56
+ control: {
57
+ type: 'text'
58
+ },
59
+ defaultValue: '3px'
60
+ },
61
+ dividerOpacity: {
62
+ control: {
63
+ type: 'text'
64
+ },
65
+ defaultValue: '0.2'
66
+ },
67
+ dividerType: {
68
+ control: {
69
+ type: 'select'
70
+ },
71
+ options: ['dashed', 'solid'],
72
+ defaultValue: 'dashed'
73
+ },
74
+ labelTextColor: {
75
+ control: 'color'
76
+ },
77
+ valueTextColor: {
78
+ control: 'color'
51
79
  }
52
80
  }
53
81
  };
@@ -58,7 +86,13 @@ const Template = _ref => {
58
86
  backgroundColor,
59
87
  iconColor,
60
88
  textColor,
61
- iconBackgroundColor
89
+ iconBackgroundColor,
90
+ dividerColor,
91
+ dividerOpacity,
92
+ dividerType,
93
+ dividerWidth,
94
+ labelTextColor,
95
+ valueTextColor
62
96
  } = _ref;
63
97
  if (variant === 'summary') {
64
98
  return /*#__PURE__*/_react.default.createElement(_InfoPanel.default, {
@@ -100,13 +134,19 @@ const Template = _ref => {
100
134
  label: "Date",
101
135
  value: "Monday, June 24, 2025"
102
136
  }), /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Row, {
137
+ labelTextColor: labelTextColor,
138
+ valueTextColor: valueTextColor,
103
139
  label: "Time",
104
140
  value: "09:00 AM"
105
141
  })), /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Section, {
106
142
  title: "Personal Information",
107
143
  icon: _Person.default,
108
144
  showDivider: showDivider,
109
- iconColor: iconColor
145
+ iconColor: iconColor,
146
+ dividerColor: dividerColor,
147
+ dividerType: dividerType,
148
+ dividerOpacity: dividerOpacity,
149
+ dividerWitdh: dividerWidth
110
150
  }, /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Row, {
111
151
  label: "Name",
112
152
  value: "John Doe"
@@ -125,7 +165,13 @@ Default.args = {
125
165
  backgroundColor: '#33B1BA',
126
166
  iconColor: '#33B1BA',
127
167
  textColor: '#000000',
128
- iconBackgroundColor: false
168
+ iconBackgroundColor: false,
169
+ dividerColor: '#33b1ba',
170
+ dividerType: 'dashed',
171
+ dividerWidth: '1px',
172
+ dividerOpacity: '0.2',
173
+ labelTextColor: '#e46a8e',
174
+ valueTextColor: '#235e92'
129
175
  };
130
176
  const ExampleSummary = () => {
131
177
  return /*#__PURE__*/_react.default.createElement(_InfoPanel.default, null, /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Section, {
@@ -162,6 +208,8 @@ const ExampleDetails = () => {
162
208
  label: "Resource",
163
209
  value: formData.resourceName
164
210
  }), /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Row, {
211
+ labelTextColor: "#e46a8e",
212
+ valueTextColor: "#235e92",
165
213
  label: "Duration",
166
214
  value: appointmentDetails.duration
167
215
  }), /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Row, {
@@ -173,7 +221,11 @@ const ExampleDetails = () => {
173
221
  })), /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Section, {
174
222
  title: "Personal Information",
175
223
  icon: _Person.default,
176
- showDivider: true
224
+ showDivider: true,
225
+ dividerColor: "#33b1ba",
226
+ dividerType: "dashed",
227
+ dividerWitdh: "1px",
228
+ dividerOpacity: "0.2"
177
229
  }, /*#__PURE__*/_react.default.createElement(_InfoPanel.default.Row, {
178
230
  label: "Name",
179
231
  value: formData.name
@@ -10,7 +10,7 @@ var _icons = require("@material-ui/icons");
10
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
  var _colors = require("../colors");
12
12
  var _iconStyles = require("../iconStyles");
13
- const _excluded = ["children", "show", "size", "onHide", "centered"],
13
+ const _excluded = ["children", "show", "size", "zIndex", "onHide", "centered"],
14
14
  _excluded2 = ["children", "size", "onHide", "subHeading", "closeButton", "show", "icon", "trailingIcon"];
15
15
  /* eslint-disable no-undef */
16
16
  /* eslint-disable react/display-name */
@@ -25,22 +25,36 @@ const {
25
25
  } = /*#__PURE__*/_react.default.createContext();
26
26
  const Overlay = exports.Overlay = _styledComponents.default.div.withConfig({
27
27
  displayName: "modal__Overlay"
28
- })(["position:fixed;top:0;left:0;z-index:9999;width:100vw;height:100vh;background-color:", ";"], _colors.BmBgGrey45);
28
+ })(["position:fixed;top:0;left:0;z-index:", ";width:100vw;height:100vh;background-color:", ";"], _ref => {
29
+ let {
30
+ zIndex
31
+ } = _ref;
32
+ return zIndex || 20;
33
+ }, _colors.BmBgGrey45);
29
34
  const ModalContent = exports.ModalContent = _styledComponents.default.div.withConfig({
30
35
  displayName: "modal__ModalContent"
31
- })(["display:flex;flex-direction:column;border-radius:0.8571rem;padding:1rem;margin:2rem auto;background:", ";width:auto;max-width:100%;> *:not(:last-child){margin-bottom:0.5rem;}@media (min-width:576px){width:500px;}"], _colors.BmPrimaryWhite);
36
+ })(["display:flex;flex-direction:column;border-radius:0.8571rem;padding:1rem;margin:2rem auto;background:", ";width:auto;max-width:100%;> *:not(:last-child){margin-bottom:0.5rem;}@media (min-width:576px){width:", ";}"], _colors.BmPrimaryWhite, _ref2 => {
37
+ let {
38
+ size
39
+ } = _ref2;
40
+ if (size) {
41
+ return size;
42
+ }
43
+ return '500px';
44
+ });
32
45
  const ModalWrapper = exports.ModalWrapper = _styledComponents.default.div.withConfig({
33
46
  displayName: "modal__ModalWrapper"
34
47
  })(["position:fixed;top:0;left:0;z-index:9999;display:block;width:100%;height:100%;overflow:hidden;outline:0;margin:auto;overflow-x:hidden;overflow-y:auto;"]);
35
- const BmModal = _ref => {
48
+ const BmModal = _ref3 => {
36
49
  let {
37
50
  children,
38
51
  show,
39
52
  size,
53
+ zIndex,
40
54
  onHide,
41
55
  centered
42
- } = _ref,
43
- rest = _objectWithoutProperties(_ref, _excluded);
56
+ } = _ref3,
57
+ rest = _objectWithoutProperties(_ref3, _excluded);
44
58
  const [toggle, setToggle] = (0, _react.useState)(show);
45
59
  (0, _react.useEffect)(() => {
46
60
  setToggle(show);
@@ -54,7 +68,9 @@ const BmModal = _ref => {
54
68
  document.addEventListener('keydown', keyPress);
55
69
  return () => document.removeEventListener('keydown', keyPress);
56
70
  }, [keyPress]);
57
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, toggle && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Overlay, null), /*#__PURE__*/_react.default.createElement(ModalWrapper, {
71
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, toggle && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Overlay, {
72
+ zIndex: zIndex
73
+ }), /*#__PURE__*/_react.default.createElement(ModalWrapper, {
58
74
  showModal: show,
59
75
  centered: centered,
60
76
  onHide: onHide
@@ -79,7 +95,7 @@ const ModalHeaderContent = _styledComponents.default.div.withConfig({
79
95
  const IconContainer = _styledComponents.default.div.withConfig({
80
96
  displayName: "modal__IconContainer"
81
97
  })(["display:flex;padding:0.5714rem;justify-content:center;align-items:center;border-radius:0.7143rem;border:0.0714rem solid var(--Gray-200,#eaecf0);background:var(--Base-White,#fff);box-shadow:0rem 0.0714rem 0.1429rem 0rem rgba(16,24,40,0.05);"]);
82
- BmModal.Header = _ref2 => {
98
+ BmModal.Header = _ref4 => {
83
99
  let {
84
100
  children,
85
101
  size,
@@ -89,8 +105,8 @@ BmModal.Header = _ref2 => {
89
105
  show,
90
106
  icon,
91
107
  trailingIcon
92
- } = _ref2,
93
- rest = _objectWithoutProperties(_ref2, _excluded2);
108
+ } = _ref4,
109
+ rest = _objectWithoutProperties(_ref4, _excluded2);
94
110
  return /*#__PURE__*/_react.default.createElement(Consumer, null, value => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ModalHeader, rest, trailingIcon && /*#__PURE__*/_react.default.createElement(IconContainer, null, trailingIcon), /*#__PURE__*/_react.default.createElement("div", {
95
111
  style: {
96
112
  width: '100%'