oa-componentbook 0.17.42 → 0.17.44

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.
package/build/index.js CHANGED
@@ -179,10 +179,10 @@ Object.defineProperty(exports, "SpacingScales", {
179
179
  return _SpacingScales.default;
180
180
  }
181
181
  });
182
- Object.defineProperty(exports, "SparePart", {
182
+ Object.defineProperty(exports, "SparePartsWidget", {
183
183
  enumerable: true,
184
184
  get: function get() {
185
- return _SparePart.default;
185
+ return _SparePartsWidget.default;
186
186
  }
187
187
  });
188
188
  Object.defineProperty(exports, "StageTimelineChild", {
@@ -286,9 +286,9 @@ var _UploadDownloadWidget = _interopRequireDefault(require("./widgets/oa-widget-
286
286
  var _NotesWidget = _interopRequireDefault(require("./widgets/oa-widget-notes/NotesWidget"));
287
287
  var _SendPaymentLinkWidget = _interopRequireDefault(require("./widgets/oa-widget-send-payment-link/SendPaymentLinkWidget"));
288
288
  var _StageTimelineWidget = require("./widgets/oa-widget-stage-timeline/StageTimelineWidget");
289
- var _SparePart = _interopRequireDefault(require("./widgets/oa-widget-spare-part/SparePart"));
290
289
  var _ViewPreviousDescriptionWidget = _interopRequireDefault(require("./widgets/oa-widget-view-previous-description/ViewPreviousDescriptionWidget"));
291
290
  var _ViewHistoryWidget = _interopRequireDefault(require("./widgets/oa-widget-view-history/ViewHistoryWidget"));
291
+ var _SparePartsWidget = _interopRequireDefault(require("./widgets/oa-widget-spare-part/SparePartsWidget"));
292
292
  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); }
293
293
  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; }
294
294
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -40,7 +40,8 @@ function NotesWidget(_ref) {
40
40
  }
41
41
  const columns = [{
42
42
  title: 'SERIAL NO.',
43
- dataIndex: 'sr'
43
+ dataIndex: 'sr',
44
+ key: 'sr'
44
45
  }, {
45
46
  title: 'NOTES',
46
47
  dataIndex: 'notes',
@@ -56,13 +57,16 @@ function NotesWidget(_ref) {
56
57
  });
57
58
  }
58
59
  return text;
59
- }
60
+ },
61
+ key: 'notes'
60
62
  }, {
61
63
  title: 'DATE AND TIME',
62
- dataIndex: 'dateTime'
64
+ dataIndex: 'dateTime',
65
+ key: 'dateTime'
63
66
  }, {
64
67
  title: 'USER',
65
- dataIndex: 'user'
68
+ dataIndex: 'user',
69
+ key: 'user'
66
70
  }];
67
71
  return /*#__PURE__*/_react.default.createElement(_styles.StyledAside, null, /*#__PURE__*/_react.default.createElement(_CustomTable.default, {
68
72
  columns: columns,
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/web.dom-collections.iterator.js");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _antd = require("antd");
10
+ var _icons = require("@ant-design/icons");
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _nanoid = require("nanoid");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ // Mapping of how costs are covered
15
+ const costCoveredBy = {
16
+ costToCompany: 'Cost to Company',
17
+ costToCustomer: 'Cost to Customer',
18
+ costToInsurer: 'Cost to Insurer',
19
+ costToOneassist: 'Cost to OneAssist'
20
+ };
21
+
22
+ // Mapping of action icons
23
+ const iconMapping = {
24
+ view: /*#__PURE__*/_react.default.createElement(_icons.EyeOutlined, null),
25
+ edit: /*#__PURE__*/_react.default.createElement(_icons.EditOutlined, null),
26
+ delete: /*#__PURE__*/_react.default.createElement(_icons.DeleteOutlined, null)
27
+ };
28
+
29
+ // Renders the cost with currency formatting
30
+ const renderCost = cost => {
31
+ var _Number;
32
+ return /*#__PURE__*/_react.default.createElement("span", null, (_Number = Number(cost)) === null || _Number === void 0 ? void 0 : _Number.toLocaleString('en-IN', {
33
+ style: 'currency',
34
+ currency: 'INR'
35
+ }));
36
+ };
37
+
38
+ // Renders the coverage status with appropriate class name
39
+ const renderCoverage = (isCovered, className) => /*#__PURE__*/_react.default.createElement("span", {
40
+ className: className
41
+ }, isCovered === 'Y' ? 'Covered' : 'Not Covered');
42
+
43
+ // Renders an action button
44
+ const renderAction = (action, record) => /*#__PURE__*/_react.default.createElement(_antd.Button, {
45
+ key: action.key,
46
+ className: action.className,
47
+ onClick: () => action.successCallback(record),
48
+ icon: iconMapping[action.icon]
49
+ });
50
+ function SparePartsWidget(_ref) {
51
+ let {
52
+ scopeDetails,
53
+ actions,
54
+ showCostBreakdown = true,
55
+ coverageShow = true
56
+ } = _ref;
57
+ const columns = [{
58
+ title: 'Spare Part',
59
+ dataIndex: 'scopeName',
60
+ key: 'scopeName'
61
+ }, {
62
+ title: 'Cost',
63
+ dataIndex: 'cost',
64
+ key: 'cost',
65
+ render: (cost, record) => renderCost(cost)
66
+ }];
67
+ if (coverageShow) {
68
+ columns.push({
69
+ title: 'Coverage',
70
+ dataIndex: 'isCovered',
71
+ key: 'isCovered',
72
+ render: (text, record) => renderCoverage(record.isCovered, record.className)
73
+ });
74
+ }
75
+ // check if there are any actions then create action column
76
+ if (actions && actions.length > 0) {
77
+ columns.push({
78
+ title: 'Action',
79
+ key: 'action',
80
+ render: (text, record) => /*#__PURE__*/_react.default.createElement(_antd.Space, {
81
+ size: "middle"
82
+ }, actions.map(action => renderAction(action, record)))
83
+ });
84
+ }
85
+ if (scopeDetails) {
86
+ const unCoveredScope = scopeDetails.unCoveredScope || [];
87
+ const coveredScope = scopeDetails.coveredScope || [];
88
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, scopeDetails.unCoveredScope.length > 0 && /*#__PURE__*/_react.default.createElement("div", null, "Multiple components need to be repaired which are not covered in this plan "), /*#__PURE__*/_react.default.createElement(_antd.Table, {
89
+ columns: columns,
90
+ dataSource: [...unCoveredScope, ...coveredScope],
91
+ pagination: false
92
+ }), showCostBreakdown && /*#__PURE__*/_react.default.createElement("div", {
93
+ className: "cost-breakdown"
94
+ }, Object.keys(scopeDetails).map((key, index) => {
95
+ if (costCoveredBy[key] && scopeDetails[key] != null && scopeDetails[key] !== undefined) {
96
+ return /*#__PURE__*/_react.default.createElement("div", {
97
+ key: (0, _nanoid.nanoid)(),
98
+ className: "row"
99
+ }, /*#__PURE__*/_react.default.createElement("span", null, costCoveredBy[key]), ' ', /*#__PURE__*/_react.default.createElement("span", null, renderCost(scopeDetails[key])));
100
+ }
101
+ return null; // To satisfy React key warning
102
+ })));
103
+ }
104
+
105
+ return null;
106
+ }
107
+
108
+ // Define prop types for SpareParts component
109
+ SparePartsWidget.propTypes = {
110
+ scopeDetails: _propTypes.default.shape({
111
+ unCoveredScope: _propTypes.default.array,
112
+ coveredScope: _propTypes.default.array
113
+ }),
114
+ actions: _propTypes.default.arrayOf(_propTypes.default.shape({
115
+ key: _propTypes.default.string.isRequired,
116
+ icon: _propTypes.default.string.isRequired,
117
+ successCallback: _propTypes.default.func.isRequired
118
+ })),
119
+ showCostBreakdown: _propTypes.default.bool,
120
+ coverageShow: _propTypes.default.bool
121
+ };
122
+
123
+ // Define default props for SpareParts component
124
+ SparePartsWidget.defaultProps = {
125
+ showCostBreakdown: true,
126
+ coverageShow: true,
127
+ scopeDetails: {
128
+ unCoveredScope: [],
129
+ coveredScope: []
130
+ },
131
+ actions: null
132
+ };
133
+ var _default = SparePartsWidget;
134
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oa-componentbook",
3
- "version": "0.17.42",
3
+ "version": "0.17.44",
4
4
  "private": false,
5
5
  "description": "Reusable components",
6
6
  "main": "build/index.js",
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = GridSystem;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- require("./grid-system.css");
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
11
- var _templateObject, _templateObject2, _templateObject3;
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
14
- function GridSystem(_ref) {
15
- let {
16
- children,
17
- isFluid
18
- } = _ref;
19
- const BasicGrid = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: grid;\n /* \n Small breakpoint: 4 columns.\n */\n grid-template-columns: repeat(4, 1fr);\n gap: 16px;\n\n /* \n Medium breakpoint: 8 columns.\n */\n @media screen and (min-width: 768px) {\n grid-template-columns: repeat(8, 1fr);\n gap: 16px;\n }\n\n /* \n Large breakpoint : 12 columns.\n */\n @media screen and (min-width: 992px) {\n grid-template-columns: repeat(12, 1fr);\n gap: 24px;\n }\n\n /* \n Extra Large breakpoint: 12 columns.\n */\n @media screen and (min-width: 1200px) {\n grid-template-columns: repeat(12, 1fr);\n gap: 24px;\n }\n "])));
20
- let FluidOrFixedGrid;
21
- if (isFluid) {
22
- FluidOrFixedGrid = (0, _styledComponents.default)(BasicGrid)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n "])));
23
- } else {
24
- FluidOrFixedGrid = (0, _styledComponents.default)(BasicGrid)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: 0 16px;\n\n /* \n Medium breakpoint: 8 columns.\n */\n @media screen and (min-width: 768px) {\n margin: 0 32px;\n }\n\n /* \n Large breakpoint : 12 columns.\n */\n @media screen and (min-width: 992px) {\n margin: 0 32px;\n }\n\n /* \n Extra Large breakpoint: 12 columns.\n */\n @media screen and (min-width: 1200px) {\n width: 1128px;\n margin: 0 auto;\n } \n "])));
25
- }
26
- return /*#__PURE__*/_react.default.createElement(FluidOrFixedGrid, null, children);
27
- }
28
- GridSystem.propTypes = {
29
- children: _propTypes.default.node.isRequired,
30
- isFluid: _propTypes.default.bool
31
- };
32
- GridSystem.defaultProps = {
33
- isFluid: false
34
- };
@@ -1,205 +0,0 @@
1
- /*
2
- Small breakpoint.
3
-
4
- On small screens, there are only 4 columns, so an element can take 4 columns at max.
5
- */
6
- .col-s-1 {
7
- /* No start or end defined. Span 1 columns. */
8
- grid-column: span 1 / auto;
9
- }
10
-
11
- .col-s-2 {
12
- /* No start or end defined. Span 2 columns. */
13
- grid-column: span 2 / auto;
14
- }
15
-
16
- .col-s-3 {
17
- /* No start or end defined. Span 3 columns. */
18
- grid-column: span 3 / auto;
19
- }
20
-
21
- .col-s-4 {
22
- /* No start or end defined. Span 4 columns. */
23
- grid-column: span 4 / auto;
24
- }
25
-
26
- /*
27
- Medium breakpoint.
28
-
29
- On medium screens, there are 8 columns, so an element can take 8 columns at max.
30
- */
31
- @media screen and (min-width: 768px) {
32
- .col-m-1 {
33
- /* No start or end defined. Span 1 columns. */
34
- grid-column: span 1 / auto;
35
- }
36
-
37
- .col-m-2 {
38
- /* No start or end defined. Span 2 columns. */
39
- grid-column: span 2 / auto;
40
- }
41
-
42
- .col-m-3 {
43
- /* No start or end defined. Span 3 columns. */
44
- grid-column: span 3 / auto;
45
- }
46
-
47
- .col-m-4 {
48
- /* No start or end defined. Span 4 columns. */
49
- grid-column: span 4 / auto;
50
- }
51
-
52
- .col-m-5 {
53
- /* No start or end defined. Span 5 columns. */
54
- grid-column: span 5 / auto;
55
- }
56
-
57
- .col-m-6 {
58
- /* No start or end defined. Span 6 columns. */
59
- grid-column: span 6 / auto;
60
- }
61
-
62
- .col-m-7 {
63
- /* No start or end defined. Span 7 columns. */
64
- grid-column: span 7 / auto;
65
- }
66
-
67
- .col-m-8 {
68
- /* No start or end defined. Span 8 columns. */
69
- grid-column: span 8 / auto;
70
- }
71
- }
72
-
73
- /*
74
- Large breakpoint.
75
-
76
- On large screens, there are 12 columns, so an element can take 12 columns at max.
77
- */
78
- @media screen and (min-width: 992px) {
79
- .col-l-1 {
80
- /* No start or end defined. Span 1 columns. */
81
- grid-column: span 1 / auto;
82
- }
83
-
84
- .col-l-2 {
85
- /* No start or end defined. Span 2 columns. */
86
- grid-column: span 2 / auto;
87
- }
88
-
89
- .col-l-3 {
90
- /* No start or end defined. Span 3 columns. */
91
- grid-column: span 3 / auto;
92
- }
93
-
94
- .col-l-4 {
95
- /* No start or end defined. Span 4 columns. */
96
- grid-column: span 4 / auto;
97
- }
98
-
99
- .col-l-5 {
100
- /* No start or end defined. Span 5 columns. */
101
- grid-column: span 5 / auto;
102
- }
103
-
104
- .col-l-6 {
105
- /* No start or end defined. Span 6 columns. */
106
- grid-column: span 6 / auto;
107
- }
108
-
109
- .col-l-7 {
110
- /* No start or end defined. Span 7 columns. */
111
- grid-column: span 7 / auto;
112
- }
113
-
114
- .col-l-8 {
115
- /* No start or end defined. Span 8 columns. */
116
- grid-column: span 8 / auto;
117
- }
118
-
119
- .col-l-9 {
120
- /* No start or end defined. Span 9 columns. */
121
- grid-column: span 9 / auto;
122
- }
123
-
124
- .col-l-10 {
125
- /* No start or end defined. Span 10 columns. */
126
- grid-column: span 10 / auto;
127
- }
128
-
129
- .col-l-11 {
130
- /* No start or end defined. Span 11 columns. */
131
- grid-column: span 11 / auto;
132
- }
133
-
134
- .col-l-12 {
135
- /* No start or end defined. Span 12 columns. */
136
- grid-column: span 12 / auto;
137
- }
138
- }
139
-
140
- /*
141
- Extra Large breakpoint.
142
-
143
- On extra large screens, there are 12 columns, so an element can take 12 columns at max.
144
- */
145
- @media screen and (min-width: 1200px) {
146
- .col-xl-1 {
147
- /* No start or end defined. Span 1 columns. */
148
- grid-column: span 1 / auto;
149
- }
150
-
151
- .col-xl-2 {
152
- /* No start or end defined. Span 2 columns. */
153
- grid-column: span 2 / auto;
154
- }
155
-
156
- .col-xl-3 {
157
- /* No start or end defined. Span 3 columns. */
158
- grid-column: span 3 / auto;
159
- }
160
-
161
- .col-xl-4 {
162
- /* No start or end defined. Span 4 columns. */
163
- grid-column: span 4 / auto;
164
- }
165
-
166
- .col-xl-5 {
167
- /* No start or end defined. Span 5 columns. */
168
- grid-column: span 5 / auto;
169
- }
170
-
171
- .col-xl-6 {
172
- /* No start or end defined. Span 6 columns. */
173
- grid-column: span 6 / auto;
174
- }
175
-
176
- .col-xl-7 {
177
- /* No start or end defined. Span 7 columns. */
178
- grid-column: span 7 / auto;
179
- }
180
-
181
- .col-xl-8 {
182
- /* No start or end defined. Span 8 columns. */
183
- grid-column: span 8 / auto;
184
- }
185
-
186
- .col-xl-9 {
187
- /* No start or end defined. Span 9 columns. */
188
- grid-column: span 9 / auto;
189
- }
190
-
191
- .col-xl-10 {
192
- /* No start or end defined. Span 10 columns. */
193
- grid-column: span 10 / auto;
194
- }
195
-
196
- .col-xl-11 {
197
- /* No start or end defined. Span 11 columns. */
198
- grid-column: span 11 / auto;
199
- }
200
-
201
- .col-xl-12 {
202
- /* No start or end defined. Span 12 columns. */
203
- grid-column: span 12 / auto;
204
- }
205
- }
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- require("core-js/modules/es.weak-map.js");
4
- require("core-js/modules/web.dom-collections.iterator.js");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _Typography = _interopRequireWildcard(require("../../components/oa-component-typography/Typography"));
12
- var _styles = require("./styles");
13
- 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); }
14
- 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; }
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- function SparePart(_ref) {
17
- let {
18
- cost,
19
- onDelete,
20
- partId,
21
- partName,
22
- type
23
- } = _ref;
24
- const handleDelete = () => {
25
- // Call to `onDelete` callback received from props.
26
- onDelete(partId);
27
- };
28
- return /*#__PURE__*/_react.default.createElement(_styles.StyledWrapper, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
29
- color: "secondary-content"
30
- }, "".concat(partName, " ").concat(partId !== null ? "(".concat(partId, ")") : '')), /*#__PURE__*/_react.default.createElement(_styles.StatusContainer, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
31
- color: "secondary-content"
32
- }, "\u20B9 ".concat(cost)), type === 'delete' && /*#__PURE__*/_react.default.createElement(_styles.DeleteButton, {
33
- type: "button",
34
- onClick: handleDelete
35
- }, /*#__PURE__*/_react.default.createElement(_styles.DeleteIcon, null))), type !== 'delete' && /*#__PURE__*/_react.default.createElement(_styles.StatusContainer, null, type === 'covered' ? /*#__PURE__*/_react.default.createElement(_styles.CheckIcon, null) : /*#__PURE__*/_react.default.createElement(_styles.CloseIcon, null), /*#__PURE__*/_react.default.createElement(_Typography.default, null, type === 'covered' ? 'Covered by Insurer' : 'Not Covered')));
36
- }
37
- SparePart.propTypes = {
38
- cost: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
39
- onDelete: _propTypes.default.func,
40
- partId: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
41
- partName: _propTypes.default.string.isRequired,
42
- type: _propTypes.default.oneOf(['delete', 'covered', 'not covered'])
43
- };
44
- SparePart.defaultProps = {
45
- partId: null,
46
- onDelete: () => {},
47
- type: 'delete'
48
- };
49
- var _default = SparePart;
50
- exports.default = _default;
package/build/x.css DELETED
File without changes