oa-componentbook 1.0.1-stage.4 → 1.0.1-stage.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/es.symbol.description.js");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _CustomModal = _interopRequireDefault(require("../../components/oa-component-modal/CustomModal"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function Modal(props) {
12
+ const {
13
+ modal
14
+ } = props !== null && props !== void 0 ? props : {};
15
+ const {
16
+ title,
17
+ description,
18
+ buttonConfig
19
+ } = modal !== null && modal !== void 0 ? modal : {};
20
+ if (!(modal !== null && modal !== void 0 && modal.showModal)) return null;
21
+ return /*#__PURE__*/_react.default.createElement(_CustomModal.default, {
22
+ buttonConfig: buttonConfig,
23
+ onCancel: modal === null || modal === void 0 ? void 0 : modal.onCancel,
24
+ title: title,
25
+ open: true
26
+ }, description);
27
+ }
28
+ var _default = exports.default = Modal;
@@ -0,0 +1,22 @@
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 _Header = _interopRequireDefault(require("./Header"));
9
+ var _Loader = _interopRequireDefault(require("./Loader"));
10
+ var _InProgressScreen = _interopRequireDefault(require("./InProgressScreen"));
11
+ var _SuccessScreen = _interopRequireDefault(require("./SuccessScreen"));
12
+ var _Modal = _interopRequireDefault(require("./Modal"));
13
+ var _Section = _interopRequireDefault(require("./Section"));
14
+ var _CancelScreen = _interopRequireDefault(require("./CancelScreen"));
15
+ var _style = require("./style");
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ function PaymentAndConsent(props) {
18
+ return /*#__PURE__*/_react.default.createElement(_style.StylePaymentAndConsent, null, /*#__PURE__*/_react.default.createElement("div", {
19
+ className: "service-request-page"
20
+ }, /*#__PURE__*/_react.default.createElement(_Loader.default, props), /*#__PURE__*/_react.default.createElement(_Header.default, props), /*#__PURE__*/_react.default.createElement(_InProgressScreen.default, props), /*#__PURE__*/_react.default.createElement(_CancelScreen.default, props), /*#__PURE__*/_react.default.createElement(_Section.default, props), /*#__PURE__*/_react.default.createElement(_Modal.default, props), /*#__PURE__*/_react.default.createElement(_SuccessScreen.default, props)));
21
+ }
22
+ var _default = exports.default = PaymentAndConsent;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/es.symbol.description.js");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _CustomButton = _interopRequireDefault(require("../../components/oa-component-button/CustomButton"));
10
+ var _CustomCheckBox = _interopRequireDefault(require("../../components/oa-component-checkbox/CustomCheckBox"));
11
+ var _CustomTag = _interopRequireDefault(require("../../components/oa-component-tag/CustomTag"));
12
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
13
+ var _TncList = _interopRequireDefault(require("./TncList"));
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function PaymentCard(props) {
16
+ const {
17
+ paymentCard
18
+ } = props !== null && props !== void 0 ? props : {};
19
+ const {
20
+ title = '',
21
+ description = '',
22
+ image = {},
23
+ checkBox,
24
+ tag = {},
25
+ action1,
26
+ action3
27
+ } = paymentCard;
28
+ const {
29
+ type,
30
+ label
31
+ } = tag !== null && tag !== void 0 ? tag : {};
32
+ const {
33
+ src,
34
+ alt
35
+ } = image !== null && image !== void 0 ? image : {};
36
+ if (!(paymentCard !== null && paymentCard !== void 0 && paymentCard.showPaymentCard)) return null;
37
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
38
+ className: "cromaCardHeader"
39
+ }, src && /*#__PURE__*/_react.default.createElement("div", {
40
+ className: "iconBox"
41
+ }, /*#__PURE__*/_react.default.createElement("img", {
42
+ src: src,
43
+ alt: alt
44
+ })), /*#__PURE__*/_react.default.createElement("div", {
45
+ className: "textAreaSecBox"
46
+ }, title && /*#__PURE__*/_react.default.createElement(_Typography.default, {
47
+ color: "primary-content",
48
+ className: "type-t2-700"
49
+ }, title), label && /*#__PURE__*/_react.default.createElement("div", {
50
+ className: "margin-top-8 margin-bottom-8"
51
+ }, /*#__PURE__*/_react.default.createElement(_CustomTag.default, {
52
+ label: label,
53
+ type: type
54
+ })), description && /*#__PURE__*/_react.default.createElement("div", {
55
+ className: "margin-bottom-8"
56
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
57
+ color: "secondary-content",
58
+ className: "type-b2-400"
59
+ }, description)), action1 && /*#__PURE__*/_react.default.createElement("div", {
60
+ className: "margin-bottom-16"
61
+ }, /*#__PURE__*/_react.default.createElement(_CustomButton.default, {
62
+ "data-test": "button",
63
+ label: action1 === null || action1 === void 0 ? void 0 : action1.label,
64
+ onClick: action1 === null || action1 === void 0 ? void 0 : action1.onClick,
65
+ type: "text-only"
66
+ })))), /*#__PURE__*/_react.default.createElement("div", {
67
+ className: "grayBoxSec"
68
+ }, /*#__PURE__*/_react.default.createElement(_TncList.default, props), /*#__PURE__*/_react.default.createElement("div", {
69
+ className: "checkBoxSec"
70
+ }, checkBox && /*#__PURE__*/_react.default.createElement(_CustomCheckBox.default, {
71
+ label: /*#__PURE__*/_react.default.createElement("p", null, checkBox === null || checkBox === void 0 ? void 0 : checkBox.label),
72
+ onChange: checkBox === null || checkBox === void 0 ? void 0 : checkBox.onChange,
73
+ size: "large"
74
+ })), /*#__PURE__*/_react.default.createElement("div", {
75
+ className: "margin-top-32 makePayment"
76
+ }, (action3 === null || action3 === void 0 ? void 0 : action3.label) && /*#__PURE__*/_react.default.createElement(_CustomButton.default, {
77
+ "data-test": "button",
78
+ disabled: action3 === null || action3 === void 0 ? void 0 : action3.isDisabled,
79
+ label: action3 === null || action3 === void 0 ? void 0 : action3.label,
80
+ onClick: action3 === null || action3 === void 0 ? void 0 : action3.onClick
81
+ }))));
82
+ }
83
+ var _default = exports.default = PaymentCard;
@@ -0,0 +1,34 @@
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 _TimeLineCard = _interopRequireDefault(require("./TimeLineCard"));
9
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function Section(props) {
12
+ const {
13
+ section
14
+ } = props !== null && props !== void 0 ? props : {};
15
+ if (!(section !== null && section !== void 0 && section.showSection)) return null;
16
+ const {
17
+ title,
18
+ subTitle
19
+ } = section !== null && section !== void 0 ? section : {};
20
+ return /*#__PURE__*/_react.default.createElement("div", {
21
+ className: "cromaOuterContainer"
22
+ }, title && /*#__PURE__*/_react.default.createElement("div", {
23
+ className: "margin-top-24"
24
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
25
+ color: "primary-content",
26
+ className: "type-h2-500"
27
+ }, title)), subTitle && /*#__PURE__*/_react.default.createElement("div", {
28
+ className: "margin-top-4 margin-bottom-16"
29
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
30
+ color: "secondary-content",
31
+ className: "type-b1-400"
32
+ }, subTitle)), /*#__PURE__*/_react.default.createElement(_TimeLineCard.default, props));
33
+ }
34
+ var _default = exports.default = Section;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ require("core-js/modules/es.symbol.description.js");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function SuccessScreen(props) {
12
+ const {
13
+ successScreen
14
+ } = props !== null && props !== void 0 ? props : {};
15
+ const {
16
+ image,
17
+ title,
18
+ description,
19
+ subDescription
20
+ } = successScreen !== null && successScreen !== void 0 ? successScreen : {};
21
+ const {
22
+ src,
23
+ alt
24
+ } = image !== null && image !== void 0 ? image : {};
25
+ if (!(successScreen !== null && successScreen !== void 0 && successScreen.showSuccessScreen)) return null;
26
+ return /*#__PURE__*/_react.default.createElement("div", {
27
+ className: "icRepairBox"
28
+ }, src && /*#__PURE__*/_react.default.createElement("img", {
29
+ src: src,
30
+ alt: alt
31
+ }), title && /*#__PURE__*/_react.default.createElement("div", {
32
+ className: "margin-top-16 margin-bottom-16"
33
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
34
+ color: "primary-content",
35
+ className: "type-t1-500"
36
+ }, title)), description && /*#__PURE__*/_react.default.createElement("div", {
37
+ className: "margin-bottom-16"
38
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
39
+ color: "primary-content",
40
+ className: "type-b2-400"
41
+ }, description)), subDescription && /*#__PURE__*/_react.default.createElement(_Typography.default, {
42
+ color: "primary-content",
43
+ className: "type-b2-400"
44
+ }, subDescription));
45
+ }
46
+ var _default = exports.default = SuccessScreen;
@@ -0,0 +1,28 @@
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 _PaymentCard = _interopRequireDefault(require("./PaymentCard"));
9
+ var _DetailsCard = _interopRequireDefault(require("./DetailsCard"));
10
+ var _ConsentCard = _interopRequireDefault(require("./ConsentCard"));
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ function TimelineCard(props) {
13
+ const {
14
+ detailsCard,
15
+ paymentCard,
16
+ consentCard
17
+ } = props !== null && props !== void 0 ? props : {};
18
+ return /*#__PURE__*/_react.default.createElement("div", {
19
+ className: "cromaContainer"
20
+ }, /*#__PURE__*/_react.default.createElement("div", {
21
+ className: "cromaInnerContainer"
22
+ }, (detailsCard === null || detailsCard === void 0 ? void 0 : detailsCard.showDetailsCard) && /*#__PURE__*/_react.default.createElement(_DetailsCard.default, props), (paymentCard === null || paymentCard === void 0 ? void 0 : paymentCard.showPaymentCard) && /*#__PURE__*/_react.default.createElement("div", {
23
+ className: "cromaCard"
24
+ }, /*#__PURE__*/_react.default.createElement(_PaymentCard.default, props)), (consentCard === null || consentCard === void 0 ? void 0 : consentCard.showConsentCard) && /*#__PURE__*/_react.default.createElement("div", {
25
+ className: "cromaCard"
26
+ }, /*#__PURE__*/_react.default.createElement(_ConsentCard.default, props))));
27
+ }
28
+ var _default = exports.default = TimelineCard;
@@ -0,0 +1,32 @@
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 _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
9
+ var _utils = require("../../utils");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function TncList(props) {
12
+ const {
13
+ tncList
14
+ } = props !== null && props !== void 0 ? props : {};
15
+ const {
16
+ heading,
17
+ list
18
+ } = tncList !== null && tncList !== void 0 ? tncList : {};
19
+ if (!(tncList !== null && tncList !== void 0 && tncList.showTncList)) return null;
20
+ return /*#__PURE__*/_react.default.createElement("div", null, heading && /*#__PURE__*/_react.default.createElement(_Typography.default, {
21
+ className: "type-b2-400",
22
+ color: "primary-content"
23
+ }, /*#__PURE__*/_react.default.createElement("b", null, heading)), list && /*#__PURE__*/_react.default.createElement("ul", {
24
+ className: "oa-tncList"
25
+ }, list.map(item => /*#__PURE__*/_react.default.createElement("li", {
26
+ key: (0, _utils.getUUID)()
27
+ }, /*#__PURE__*/_react.default.createElement(_Typography.default, {
28
+ className: "type-b2-400",
29
+ color: "primary-content"
30
+ }, item)))));
31
+ }
32
+ var _default = exports.default = TncList;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.StylePaymentAndConsent = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _templateObject;
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
+ var _default = exports.default = {};
12
+ const StylePaymentAndConsent = exports.StylePaymentAndConsent = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .header {\n width: 100%;\n padding: 18px 0;\n background: #fff;\n box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.14);\n }\n .oa-tncList {\n padding: 0;\n list-style: disc;\n margin: 0 0 24px 16px !important;\n }\n .oa-tncList li {\n margin: 16px 0 0 0;\n }\n .container {\n max-width: 1100px;\n margin: 0 auto;\n width: 100%;\n }\n body {\n background: #f1f2f3;\n }\n .cromaOuterContainer {\n max-width: 736px;\n width: 100%;\n margin: 0 auto;\n }\n .cromaContainer {\n border-radius: 12px;\n border: 1px solid #e0e0e0;\n background: #fff;\n width: 100%;\n padding: 56px 96px;\n }\n\n .cromaInnerContainer {\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n .cromaInnerContainer .cromaCard {\n overflow: hidden;\n border-radius: 12px;\n display: flex;\n flex-direction: column;\n width: 100%;\n padding-top: 32px;\n border: 1px solid #e0e0e0;\n background: #fff;\n box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.14);\n }\n .cromaInnerContainer .cromaCard .grayBoxSec {\n border-radius: 12px 12px 0px 0px;\n padding: 16px 16px 24px 16px;\n background: #f6f6f6;\n }\n .cromaInnerContainer .cromaCard .checkBoxSec {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n\n .cromaInnerContainer .cromaCard .checkBoxSec .ant-checkbox + span {\n padding-inline-end: 6px;\n }\n .makePayment {\n width: 100%;\n }\n .makePayment button {\n width: 100%;\n }\n .cromaCardHeader {\n display: flex;\n flex-direction: row;\n gap: 8px;\n padding: 0 16px 0 16px;\n }\n .serviceRequestBoxHeader {\n display: flex;\n flex-direction: row;\n gap: 8px;\n margin: 0 0 0 16px;\n align-items: center;\n }\n .serviceRequestBoxHeader img {\n width: 24px;\n }\n .serviceRequestBoxBody {\n border-left: solid 1px #00875a;\n padding: 0 0 32px 20px;\n margin: 0 0 0 26px;\n }\n .grayBoxList {\n border-radius: 8px;\n padding: 12px;\n margin: 12px 0 0 0;\n background: #f6f6f6;\n }\n .listofDetails {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n }\n .listofDetails li {\n display: flex;\n flex-direction: row;\n margin: 8px 0 0 0;\n padding: 0;\n }\n .listofDetails li p {\n color: #000;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n width: 120px;\n }\n .listofDetails li span {\n color: #71777d;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n width: calc(100% - 120px);\n }\n .hideDetails {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .hideDetails button {\n margin-right: 4px;\n }\n .icRepairBox {\n padding: 0 16px;\n display: flex;\n margin: 130px 0 0 0;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n text-align: center;\n }\n\n .loader-container-dashboard {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(255, 255, 255, 0.5);\n z-index: 1000;\n }\n\n .bar-ddm {\n display: inline-flex;\n color: var(--color-primary);\n font-size: 14px;\n font-style: normal;\n font-weight: 500;\n line-height: 20px;\n align-items: center;\n gap: 4px;\n margin: 4px 0;\n cursor: pointer;\n }\n\n .textAlign {\n display: flex;\n }\n @media screen and (max-width: 600px) {\n .container {\n padding: 0 16px;\n }\n\n .cromaOuterContainer {\n padding: 0 16px;\n }\n .cromaContainer {\n border-radius: 0;\n border: none;\n background: #fff;\n padding: 24px 0;\n }\n .cromaInnerContainer .cromaCard .checkBoxSec {\n flex-direction: column;\n align-items: flex-start;\n }\n .cromaInnerContainer .cromaCard .checkBoxSec button {\n margin: 0 0 0 28px;\n }\n .service-request-page {\n background: #fff;\n min-height: 100vh;\n height: 100%;\n }\n }\n"])));
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.weak-map.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ require("core-js/modules/web.dom-collections.iterator.js");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _FeedbackForm = _interopRequireDefault(require("../../components/oa-component-feedback-form/FeedbackForm"));
11
+ var _FeedbackTooltip = _interopRequireDefault(require("../../components/oa-component-feedback-tooltip/FeedbackTooltip"));
12
+ var _styles = require("./styles");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ /** *********** ✨ Codeium Command ⭐ ************ */
17
+ /**
18
+ * FeedbackWidget renders a feedback form and a tooltip with a button to open the form.
19
+ * The widget uses a useEffect hook to set the initial state of the component based on
20
+ * whether the feedback button has been clicked in the past (stored in localStorage).
21
+ * The component also uses a useCallback hook to memoize the functions used to set the
22
+ * state and to handle the button clicks.
23
+ *
24
+ * @param {Object} props - The properties object.
25
+ * @param {string} props.scriptSrc - The source URL for the script tag.
26
+ * @param {string} props.iframeSrc - The source URL for the iframe.
27
+ * @param {ReactElement} props.WrapperComponent - The component to wrap the FeedbackForm component.
28
+ * @param {Function} props.setOpen - The function to call when the feedback button is clicked.
29
+ * @param {boolean} props.open - The current state of the feedback form.
30
+ *
31
+ * @returns {ReactElement} The FeedbackWidget component.
32
+ */
33
+ /** **** 1deff343-01ad-4bdd-848d-22d1f519f3ff ****** */
34
+
35
+ function FeedbackWidget(props) {
36
+ const {
37
+ scriptSrc,
38
+ iframeSrc,
39
+ WrapperComponent,
40
+ setOpen,
41
+ open,
42
+ onClose
43
+ } = props !== null && props !== void 0 ? props : {};
44
+ const [hasClickedFeedback, setHasClickedFeedback] = (0, _react.useState)(true);
45
+ const [tooltipOpen, setTooltipOpen] = (0, _react.useState)(true);
46
+ (0, _react.useEffect)(() => {
47
+ const feedbackClicked = localStorage.getItem('feedbackButtonClicked');
48
+ if (!feedbackClicked) {
49
+ setHasClickedFeedback(false);
50
+ }
51
+ }, []);
52
+ const onFeedbackButtonClick = (0, _react.useCallback)(() => {
53
+ setTooltipOpen(false);
54
+ setOpen(true);
55
+ localStorage.setItem('feedbackButtonClicked', true);
56
+ setHasClickedFeedback(true);
57
+ }, [setOpen]);
58
+ const onButtonClick = (0, _react.useCallback)(() => {
59
+ setTooltipOpen(false);
60
+ localStorage.setItem('feedbackButtonClicked', true);
61
+ setHasClickedFeedback(true);
62
+ }, [setOpen]);
63
+ return /*#__PURE__*/_react.default.createElement(_styles.OaFeedBackStyle, null, /*#__PURE__*/_react.default.createElement("div", {
64
+ className: !hasClickedFeedback && 'OaMask'
65
+ }), /*#__PURE__*/_react.default.createElement(_FeedbackTooltip.default, {
66
+ setOpen: setOpen,
67
+ hasClickedFeedback: hasClickedFeedback,
68
+ setHasClickedFeedback: setHasClickedFeedback,
69
+ tooltipTitle: "We Value Your Feedback!",
70
+ tooltipDescription: "Please let us know your thoughts.",
71
+ tooltipButtonLabel: "Okay",
72
+ feedbackButtonLabel: "Give Feedback",
73
+ onFeedbackButtonClick: onFeedbackButtonClick,
74
+ onButtonClick: onButtonClick,
75
+ tooltipOpen: tooltipOpen
76
+ }), /*#__PURE__*/_react.default.createElement(WrapperComponent, null, /*#__PURE__*/_react.default.createElement(_FeedbackForm.default, {
77
+ scriptSrc: scriptSrc,
78
+ iframeSrc: iframeSrc,
79
+ open: open,
80
+ onClose: onClose
81
+ })));
82
+ }
83
+ var _default = exports.default = FeedbackWidget;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.OaFeedBackStyle = void 0;
7
+ var _antd = require("antd");
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+ var _templateObject;
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
12
+ var _default = exports.default = {};
13
+ const OaFeedBackStyle = exports.OaFeedBackStyle = _styledComponents.default.aside(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .whiteBg{\n position: fixed;\n top: 50%;\n right: 0;\n transform: translate(0%, -50%) rotate(-90deg);\n cursor: pointer;\n z-index: 999;\n }\n .whiteBg button{\n background: #212121 !important;\n border: 1px solid #212121;\n }\n\n .OaMask{\n width: 100%;\n position: fixed;\n background: rgb(0 0 0 / 70%);\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 9;\n top: 0;\n }\n"])));
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.weak-map.js");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ require("core-js/modules/web.dom-collections.iterator.js");
10
+ require("core-js/modules/es.promise.js");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _antd = require("antd");
14
+ var _icons = require("@ant-design/icons");
15
+ var _reactZoomPanPinch = require("react-zoom-pan-pinch");
16
+ var _FullscreenExitOutlined = _interopRequireDefault(require("@material-ui/icons/FullscreenExitOutlined"));
17
+ var _Fullscreen = _interopRequireDefault(require("@material-ui/icons/Fullscreen"));
18
+ var _CustomButton = _interopRequireDefault(require("../../components/oa-component-button/CustomButton"));
19
+ var _CustomModal = _interopRequireDefault(require("../../components/oa-component-modal/CustomModal"));
20
+ var _styles = require("./styles");
21
+ var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
22
+ var _CustomLoader = _interopRequireDefault(require("../../components/oa-component-loader/CustomLoader"));
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
30
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
31
+ /**
32
+ * ImageCarouselWidget is a component that displays images in a carousel and allows zooming and switching between original and heatmap images.
33
+ * @param {object} props The props passed to the component
34
+ * @param {array} [props.images={}] An object with keys representing image types and values as arrays of images
35
+ * @param {boolean} [props.visible=false] Whether the modal is visible
36
+ * @param {function} [props.onClose] A function that is called when the modal is closed
37
+ * @returns {object} A React component
38
+ */
39
+ function ImageCarouselWidget(_ref) {
40
+ let {
41
+ images = [],
42
+ visible,
43
+ onClose,
44
+ headingSuffixText,
45
+ typeToNamemapping,
46
+ s3DownloadApiUrl
47
+ } = _ref;
48
+ const [currentIndex, setCurrentIndex] = (0, _react.useState)(0);
49
+ const [showHeatmap, setShowHeatmap] = (0, _react.useState)(false);
50
+ const [fullscreen, setFullscreen] = (0, _react.useState)(false);
51
+ const [imageUrls, setImageUrls] = (0, _react.useState)([]);
52
+ const [loading, setLoading] = (0, _react.useState)(false);
53
+
54
+ // Fetch image URL by UUID
55
+ const fetchImageUrl = uuid => fetch("".concat(s3DownloadApiUrl).concat(uuid)).then(response => response.json()).then(data => {
56
+ var _data$data;
57
+ return data === null || data === void 0 || (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.downloadUrl;
58
+ }) // Assuming the API response has `src` key for the image URL
59
+ .catch(error => {
60
+ console.error('Error fetching image URL:', error);
61
+ return ''; // Return an empty string if there's an error
62
+ });
63
+
64
+ // Fetch image URLs for all grouped images
65
+ (0, _react.useEffect)(() => {
66
+ const fetchImages = async () => {
67
+ setLoading(true);
68
+ const urls = await Promise.all(images.map(async img => {
69
+ const originalUrl = await fetchImageUrl(img.originalDocId); // Fetch URL for the original image
70
+ return _objectSpread(_objectSpread({}, img), {}, {
71
+ originalImageUrl: originalUrl,
72
+ // Add the original image URL to the object
73
+ heatmapImageUrl: '' // Set heatmap image URL as empty initially
74
+ });
75
+ }));
76
+ console.log(urls);
77
+ setImageUrls(urls);
78
+ setLoading(false);
79
+ };
80
+ fetchImages();
81
+ }, [images === null || images === void 0 ? void 0 : images.length]);
82
+
83
+ // Enter fullscreen for the whole document
84
+ const enterFullscreen = () => {
85
+ if (document.documentElement.requestFullscreen) {
86
+ document.documentElement.requestFullscreen();
87
+ } else if (document.documentElement.mozRequestFullScreen) {
88
+ // Firefox
89
+ document.documentElement.mozRequestFullScreen();
90
+ } else if (document.documentElement.webkitRequestFullscreen) {
91
+ // Chrome, Safari, Opera
92
+ document.documentElement.webkitRequestFullscreen();
93
+ } else if (document.documentElement.msRequestFullscreen) {
94
+ // IE/Edge
95
+ document.documentElement.msRequestFullscreen();
96
+ }
97
+ setFullscreen(true);
98
+ };
99
+
100
+ // Exit fullscreen
101
+ const exitFullscreen = () => {
102
+ if (document.exitFullscreen) {
103
+ document.exitFullscreen();
104
+ } else if (document.mozCancelFullScreen) {
105
+ // Firefox
106
+ document.mozCancelFullScreen();
107
+ } else if (document.webkitExitFullscreen) {
108
+ // Chrome, Safari and Opera
109
+ document.webkitExitFullscreen();
110
+ } else if (document.msExitFullscreen) {
111
+ // IE/Edge
112
+ document.msExitFullscreen();
113
+ }
114
+ setFullscreen(false);
115
+ };
116
+ const handleFullscreenToggle = () => {
117
+ if (fullscreen) {
118
+ exitFullscreen();
119
+ } else {
120
+ enterFullscreen();
121
+ }
122
+ };
123
+ const handleImageChange = newIndex => {
124
+ setCurrentIndex(newIndex);
125
+ };
126
+ const handleShowHeatmap = async () => {
127
+ const updatedImages = [...imageUrls];
128
+ const currentImage = updatedImages[currentIndex];
129
+ if (!currentImage.heatmapImageUrl) {
130
+ // Only fetch the heatmap image if it's not already fetched
131
+ const heatmapUrl = await fetchImageUrl(currentImage.heatmapDocId);
132
+ updatedImages[currentIndex].heatmapImageUrl = heatmapUrl;
133
+ }
134
+ setImageUrls(updatedImages);
135
+ setShowHeatmap(!showHeatmap);
136
+ };
137
+ const currentImage = imageUrls[currentIndex];
138
+ return /*#__PURE__*/_react.default.createElement(_styles.ImageCarouselWidgetStyle, null, /*#__PURE__*/_react.default.createElement(_CustomModal.default, {
139
+ open: visible,
140
+ onCancel: onClose,
141
+ footer: null,
142
+ className: fullscreen ? 'fullscreen-modal' : ''
143
+ }, /*#__PURE__*/_react.default.createElement(_CustomLoader.default, {
144
+ spinning: loading
145
+ }, !fullscreen && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
146
+ style: {
147
+ textAlign: 'center',
148
+ fontSize: 18,
149
+ fontWeight: 'bold'
150
+ }
151
+ }, typeToNamemapping && typeToNamemapping[currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType] ? typeToNamemapping[currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType] : currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType, ' ', headingSuffixText), /*#__PURE__*/_react.default.createElement("p", {
152
+ style: {
153
+ color: 'red',
154
+ textAlign: 'center'
155
+ }
156
+ }, currentImage === null || currentImage === void 0 ? void 0 : currentImage.rejectReason), /*#__PURE__*/_react.default.createElement(_CustomButton.default, {
157
+ type: "link",
158
+ onClick: handleShowHeatmap,
159
+ style: {
160
+ display: 'block',
161
+ textAlign: 'center',
162
+ marginBottom: 10
163
+ },
164
+ label: showHeatmap ? 'View Original Image' : 'View Heatmap Image'
165
+ }), /*#__PURE__*/_react.default.createElement(_antd.Carousel, {
166
+ afterChange: handleImageChange,
167
+ dots: true,
168
+ infinite: true
169
+ }, imageUrls.map(img => /*#__PURE__*/_react.default.createElement("div", {
170
+ key: img.imageType
171
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
172
+ icon: _Fullscreen.default,
173
+ onClick: handleFullscreenToggle
174
+ }), /*#__PURE__*/_react.default.createElement("img", {
175
+ src: showHeatmap ? img.heatmapImageUrl : img.originalImageUrl,
176
+ alt: img.imageType,
177
+ style: {
178
+ width: '100%',
179
+ maxHeight: '400px',
180
+ objectFit: 'contain'
181
+ }
182
+ })))))), fullscreen && /*#__PURE__*/_react.default.createElement("div", {
183
+ style: {
184
+ textAlign: 'center',
185
+ marginTop: 20
186
+ }
187
+ }, /*#__PURE__*/_react.default.createElement("div", {
188
+ style: {
189
+ fontSize: 18,
190
+ fontWeight: 'bold'
191
+ }
192
+ }, typeToNamemapping && typeToNamemapping[currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType] ? typeToNamemapping[currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType] : currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType, ' ', headingSuffixText), /*#__PURE__*/_react.default.createElement("p", {
193
+ style: {
194
+ color: 'red'
195
+ }
196
+ }, currentImage === null || currentImage === void 0 ? void 0 : currentImage.rejectReason), /*#__PURE__*/_react.default.createElement(_icons.CloseOutlined, {
197
+ style: {
198
+ fontSize: '26px'
199
+ },
200
+ onClick: handleFullscreenToggle
201
+ }), /*#__PURE__*/_react.default.createElement(_reactZoomPanPinch.TransformWrapper, null, /*#__PURE__*/_react.default.createElement(_reactZoomPanPinch.TransformComponent, null, /*#__PURE__*/_react.default.createElement("img", {
202
+ src: showHeatmap ? currentImage === null || currentImage === void 0 ? void 0 : currentImage.heatmapImageUrl : currentImage === null || currentImage === void 0 ? void 0 : currentImage.originalImageUrl,
203
+ alt: currentImage === null || currentImage === void 0 ? void 0 : currentImage.imageType,
204
+ style: {
205
+ width: '100%',
206
+ maxHeight: '500px',
207
+ objectFit: 'contain'
208
+ }
209
+ })))))));
210
+ }
211
+ ImageCarouselWidget.propTypes = {
212
+ images: _propTypes.default.array.isRequired,
213
+ visible: _propTypes.default.bool.isRequired,
214
+ onClose: _propTypes.default.func.isRequired,
215
+ headingSuffixText: _propTypes.default.string,
216
+ typeToNamemapping: _propTypes.default.object,
217
+ s3DownloadApiUrl: _propTypes.default.string
218
+ };
219
+ ImageCarouselWidget.defaultProps = {
220
+ headingSuffixText: 'Damage',
221
+ typeToNamemapping: {},
222
+ s3DownloadApiUrl: ''
223
+ };
224
+ var _default = exports.default = ImageCarouselWidget;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ImageCarouselWidgetStyle = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _templateObject;
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
11
+ var _default = exports.default = {};
12
+ const ImageCarouselWidgetStyle = exports.ImageCarouselWidgetStyle = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n\n"])));