PluginProbe
HubSpot All-In-One Marketing – Forms, Popups, Live Chat / 11.3.75
HubSpot All-In-One Marketing – Forms, Popups, Live Chat v11.3.75
11.3.75 11.3.73 11.3.71 11.3.70 11.3.69 11.3.64 11.3.65 11.3.62 11.3.61 11.3.56 11.3.58 11.0.31 11.0.52 11.0.54 11.0.56 11.0.58 11.0.7 11.1.10 11.1.11 11.1.13 11.1.14 11.1.15 11.1.2 11.1.20 11.1.21 All 73 releases
← All changes | build/elementor.js +279 -103 11.3.64 → 11.3.75 View file →
@@ -460,18 +460,15 @@
460 460 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
461 461 /* harmony export */ "default": () => (/* binding */ ElementorFormSelectContainer)
462 462 /* harmony export */ });
463 463 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
464 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
465 -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
466 -/* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
467 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
468 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
469 -/* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
470 -/* harmony import */ var _shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
471 -/* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
472 -/* harmony import */ var _hooks_useForms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./hooks/useForms */ "./scripts/elementor/FormWidget/hooks/useForms.ts");
473 -/* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
464 +/* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
465 +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
466 +/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
467 +/* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
468 +/* harmony import */ var _shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
469 +/* harmony import */ var _hooks_useForms__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useForms */ "./scripts/elementor/FormWidget/hooks/useForms.ts");
470 +/* harmony import */ var _shared_Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../shared/Common/EmbedderContainer */ "./scripts/shared/Common/EmbedderContainer.tsx");
474 471 function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
475 472 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; }
476 473 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; }
477 474 function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -483,22 +480,20 @@
483 480
484 481
485 482
486 483
487 -
488 -
489 484 function ElementorFormSelect(_ref) {
490 485 var formId = _ref.formId,
491 486 setAttributes = _ref.setAttributes;
492 - var _useForms = (0,_hooks_useForms__WEBPACK_IMPORTED_MODULE_7__["default"])(),
487 + var _useForms = (0,_hooks_useForms__WEBPACK_IMPORTED_MODULE_5__["default"])(),
493 488 hasError = _useForms.hasError,
494 489 forms = _useForms.forms,
495 490 loading = _useForms.loading;
496 491 return loading ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
497 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_5__["default"], {})
498 - }) : hasError ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_4__["default"], {
492 + children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__["default"], {})
493 + }) : hasError ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {
499 494 type: "danger",
500 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Please refresh your forms or try again in a few minutes', 'leadin')
495 + children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Please refresh your forms or try again in a few minutes', 'leadin')
501 496 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
502 497 value: formId,
503 498 onChange: function onChange(event) {
504 499 var selectedForm = forms.find(function (form) {
@@ -505,9 +500,9 @@
505 500 return form.value === event.target.value;
506 501 });
507 502 if (selectedForm) {
508 503 setAttributes({
509 - portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
504 + portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.portalId,
510 505 formId: selectedForm.value,
511 506 formName: selectedForm.label,
512 507 embedVersion: selectedForm.embedVersion
513 508 });
@@ -516,9 +511,9 @@
516 511 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
517 512 value: "",
518 513 disabled: true,
519 514 selected: true,
520 - children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Search for a form', 'leadin')
515 + children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Search for a form', 'leadin')
521 516 }), forms.map(function (form) {
522 517 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
523 518 value: form.value,
524 519 children: form.label
@@ -525,32 +520,11 @@
525 520 }, form.value);
526 521 })]
527 522 });
528 523 }
529 -function ElementorFormSelectWrapper(props) {
530 - var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.useBackgroundAppContext)();
531 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
532 - children: !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
533 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_5__["default"], {})
534 - }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelect, _objectSpread({}, props))
535 - });
536 -}
537 524 function ElementorFormSelectContainer(props) {
538 - var _useGetEmbedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_8__.useGetEmbedder)(),
539 - embedder = _useGetEmbedder.embedder,
540 - errorElement = _useGetEmbedder.errorElement,
541 - isLoading = _useGetEmbedder.isLoading;
542 - if (errorElement) {
543 - return errorElement;
544 - }
545 - if (isLoading) {
546 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
547 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_5__["default"], {})
548 - });
549 - }
550 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.BackgroudAppContext.Provider, {
551 - value: embedder,
552 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelectWrapper, _objectSpread({}, props))
525 + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_6__["default"], {
526 + children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelect, _objectSpread({}, props))
553 527 });
554 528 }
555 529
556 530 /***/ }),
@@ -798,10 +772,9 @@
798 772 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
799 773 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
800 774 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
801 775 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_7__);
802 -/* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
803 -/* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
776 +/* harmony import */ var _shared_Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../shared/Common/EmbedderContainer */ "./scripts/shared/Common/EmbedderContainer.tsx");
804 777 function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
805 778 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; }
806 779 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; }
807 780 function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -821,9 +794,8 @@
821 794
822 795
823 796
824 797
825 -
826 798 function ElementorMeetingSelect(_ref) {
827 799 var url = _ref.url,
828 800 setAttributes = _ref.setAttributes;
829 801 var _useMeetings = (0,_shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__["default"])(),
@@ -881,32 +853,11 @@
881 853 })]
882 854 })
883 855 });
884 856 }
885 -function ElementorMeetingSelectWrapper(props) {
886 - var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__.useBackgroundAppContext)();
887 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
888 - children: !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
889 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {})
890 - }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelect, _objectSpread({}, props))
891 - });
892 -}
893 857 function ElementorMeetingsSelectContainer(props) {
894 - var _useGetEmbedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__.useGetEmbedder)(),
895 - embedder = _useGetEmbedder.embedder,
896 - errorElement = _useGetEmbedder.errorElement,
897 - isLoading = _useGetEmbedder.isLoading;
898 - if (errorElement) {
899 - return errorElement;
900 - }
901 - if (isLoading) {
902 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
903 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {})
904 - });
905 - }
906 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__.BackgroudAppContext.Provider, {
907 - value: embedder,
908 - children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelectWrapper, _objectSpread({}, props))
858 + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_8__["default"], {
859 + children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelect, _objectSpread({}, props))
909 860 });
910 861 }
911 862
912 863 /***/ }),
@@ -1672,8 +1623,47 @@
1672 1623 __webpack_require__(/*! ./AsyncSelect.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./AsyncSelect.tsx */ "./scripts/shared/Common/AsyncSelect.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/AsyncSelect.tsx");
1673 1624
1674 1625 /***/ }),
1675 1626
1627 +/***/ "./scripts/shared/Common/EmbedderContainer.tsx":
1628 +/*!*****************************************************!*\
1629 + !*** ./scripts/shared/Common/EmbedderContainer.tsx ***!
1630 + \*****************************************************/
1631 +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1632 +
1633 +"use strict";
1634 +__webpack_require__.r(__webpack_exports__);
1635 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1636 +/* harmony export */ "default": () => (/* binding */ EmbedderContainer)
1637 +/* harmony export */ });
1638 +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1639 +/* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
1640 +/* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
1641 +/* harmony import */ var _LoadingBlock__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
1642 +
1643 +
1644 +
1645 +
1646 +function EmbedderContainer(_ref) {
1647 + var children = _ref.children;
1648 + var _useGetEmbedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_2__.useGetEmbedder)(),
1649 + embedder = _useGetEmbedder.embedder,
1650 + errorElement = _useGetEmbedder.errorElement,
1651 + isLoading = _useGetEmbedder.isLoading;
1652 + if (errorElement) {
1653 + return errorElement;
1654 + }
1655 + if (isLoading) {
1656 + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_LoadingBlock__WEBPACK_IMPORTED_MODULE_3__["default"], {});
1657 + }
1658 + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.BackgroudAppContext.Provider, {
1659 + value: embedder,
1660 + children: children
1661 + });
1662 +}
1663 +
1664 +/***/ }),
1665 +
1676 1666 /***/ "./scripts/shared/Common/ErrorHandler.tsx":
1677 1667 /*!************************************************!*\
1678 1668 !*** ./scripts/shared/Common/ErrorHandler.tsx ***!
1679 1669 \************************************************/
@@ -1866,9 +1856,9 @@
1866 1856 /* harmony import */ var _FormSelect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FormSelect */ "./scripts/shared/Form/FormSelect.tsx");
1867 1857 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
1868 1858 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
1869 1859 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
1870 -/* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
1860 +/* harmony import */ var _Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Common/EmbedderContainer */ "./scripts/shared/Common/EmbedderContainer.tsx");
1871 1861 function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
1872 1862 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; }
1873 1863 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; }
1874 1864 function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -1932,20 +1922,9 @@
1932 1922 })]
1933 1923 });
1934 1924 }
1935 1925 function FormEditContainer(props) {
1936 - var _useGetEmbedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__.useGetEmbedder)(),
1937 - embedder = _useGetEmbedder.embedder,
1938 - errorElement = _useGetEmbedder.errorElement,
1939 - isLoading = _useGetEmbedder.isLoading;
1940 - if (errorElement) {
1941 - return errorElement;
1942 - }
1943 - if (isLoading) {
1944 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_8__["default"], {});
1945 - }
1946 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.BackgroudAppContext.Provider, {
1947 - value: embedder,
1926 + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_9__["default"], {
1948 1927 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(FormEdit, _objectSpread({}, props))
1949 1928 });
1950 1929 }
1951 1930
@@ -2126,9 +2105,20 @@
2126 2105 var hbspt = window.parent.hbspt || window.hbspt;
2127 2106 inputEl.current.innerHTML = '';
2128 2107 var isQa = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.formsScriptPayload.includes('qa');
2129 2108 if (isFormV4) {
2130 - var container = document.createElement('div');
2109 + // WP 6.3+ renders the block-editor canvas inside an iframe
2110 + // (iframe[name="editor-canvas"]). The block's DOM lives in that iframe,
2111 + // but our React runs in the top window's JS realm, so the global
2112 + // `document` here is the TOP frame's document, not the iframe's. The v4
2113 + // forms embed script scans its executing context's local `document`
2114 + // (getElementsByClassName('hs-form-frame') + MutationObserver on
2115 + // document.body) and has no programmatic create() API. So both the
2116 + // placeholder and the embed script must live in the IFRAME's document
2117 + // for hydration to happen. Route everything through the placeholder's
2118 + // ownerDocument to target the correct realm.
2119 + var doc = inputEl.current.ownerDocument;
2120 + var container = doc.createElement('div');
2131 2121 container.classList.add('hs-form-frame');
2132 2122 container.dataset.region = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.hublet;
2133 2123 container.dataset.formId = formId;
2134 2124 container.dataset.portalId = portalId.toString();
@@ -2133,8 +2123,25 @@
2133 2123 container.dataset.formId = formId;
2134 2124 container.dataset.portalId = portalId.toString();
2135 2125 container.dataset.env = isQa ? 'qa' : '';
2136 2126 inputEl.current.appendChild(container);
2127 + // Derive the portal-specific embed URL from the v2 script URL: take its
2128 + // host (origin) so we follow whatever host a PHP filter applies to the
2129 + // v2 URL, and append the v4 embed path. Inject it into the iframe's
2130 + // document so it executes in the iframe window and scans the iframe
2131 + // document where the placeholder is. Running post-mount means doc.body
2132 + // exists, so the script's MutationObserver initializes without the
2133 + // "not a Node" crash seen when it's loaded too early in the iframe
2134 + // head. One copy per iframe window is enough — its MutationObserver
2135 + // hydrates any later placeholders too.
2136 + var v4EmbedUrl = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.formsScript ? "".concat(new URL(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.formsScript).origin, "/forms/embed/").concat(portalId, ".js") : '';
2137 + var v4AlreadyPresent = !v4EmbedUrl || !!doc.querySelector("script[src=\"".concat(v4EmbedUrl, "\"]"));
2138 + if (v4EmbedUrl && !v4AlreadyPresent) {
2139 + var embedScript = doc.createElement('script');
2140 + embedScript.src = v4EmbedUrl;
2141 + embedScript.defer = true;
2142 + doc.body.appendChild(embedScript);
2143 + }
2137 2144 } else {
2138 2145 var additionalParams = isQa ? {
2139 2146 env: 'qa'
2140 2147 } : {};
@@ -2504,9 +2511,9 @@
2504 2511 /* harmony import */ var _PreviewMeeting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PreviewMeeting */ "./scripts/shared/Meeting/PreviewMeeting.tsx");
2505 2512 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2506 2513 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2507 2514 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
2508 -/* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
2515 +/* harmony import */ var _Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Common/EmbedderContainer */ "./scripts/shared/Common/EmbedderContainer.tsx");
2509 2516 function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2510 2517 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; }
2511 2518 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; }
2512 2519 function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -2554,20 +2561,9 @@
2554 2561 })]
2555 2562 });
2556 2563 }
2557 2564 function MeetingsEditContainer(props) {
2558 - var _useGetEmbedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_7__.useGetEmbedder)(),
2559 - embedder = _useGetEmbedder.embedder,
2560 - errorElement = _useGetEmbedder.errorElement,
2561 - isLoading = _useGetEmbedder.isLoading;
2562 - if (errorElement) {
2563 - return errorElement;
2564 - }
2565 - if (isLoading) {
2566 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_6__["default"], {});
2567 - }
2568 - return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.BackgroudAppContext.Provider, {
2569 - value: embedder,
2565 + return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_EmbedderContainer__WEBPACK_IMPORTED_MODULE_7__["default"], {
2570 2566 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MeetingEdit, _objectSpread({}, props))
2571 2567 });
2572 2568 }
2573 2569
@@ -2678,23 +2674,62 @@
2678 2674 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2679 2675 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2680 2676 /* harmony import */ var _UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIOverlay */ "./scripts/shared/UIComponents/UIOverlay.ts");
2681 2677 /* harmony import */ var _Common_PreviewDisabled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/PreviewDisabled */ "./scripts/shared/Common/PreviewDisabled.tsx");
2678 +/* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2682 2679
2683 2680
2684 2681
2685 2682
2683 +
2684 +function getHbspt(win) {
2685 + if (!win) {
2686 + return undefined;
2687 + }
2688 + return win.hbspt;
2689 +}
2686 2690 function PreviewForm(_ref) {
2687 2691 var url = _ref.url,
2688 2692 fullSiteEditor = _ref.fullSiteEditor;
2689 2693 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
2690 2694 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2691 - if (inputEl.current) {
2692 - //@ts-expect-error Hubspot global
2693 - var hbspt = window.parent.hbspt || window.hbspt;
2694 - hbspt.meetings.create('.meetings-iframe-container');
2695 + var el = inputEl.current;
2696 + if (!el) {
2697 + return;
2695 2698 }
2696 - }, [url, inputEl]);
2699 + // WP 6.3+ renders the block-editor canvas inside an iframe
2700 + // (iframe[name="editor-canvas"]). The `.meetings-iframe-container` lives in
2701 + // that iframe's document, but `hbspt.meetings.create(selector)` resolves the
2702 + // selector against the document of the realm `hbspt` belongs to. The
2703 + // top-frame hbspt therefore scans the top document and never finds the
2704 + // container, so the preview stays blank. Run the embed in the container's
2705 + // own realm: reuse that realm's hbspt if it is already present, otherwise
2706 + // inject MeetingsEmbedCode into that document and create once it loads.
2707 + // (Mirrors the v4 form block fix.)
2708 + var doc = el.ownerDocument;
2709 + var win = doc.defaultView;
2710 + var create = function create() {
2711 + var hbspt = getHbspt(win) || getHbspt(window.parent) || getHbspt(window);
2712 + if (hbspt && hbspt.meetings) {
2713 + hbspt.meetings.create('.meetings-iframe-container');
2714 + }
2715 + };
2716 + var realmHbspt = getHbspt(win);
2717 + if (realmHbspt && realmHbspt.meetings) {
2718 + create();
2719 + return;
2720 + }
2721 + var existing = doc.querySelector("script[src=\"".concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__.meetingsScript, "\"]"));
2722 + if (existing) {
2723 + existing.addEventListener('load', create);
2724 + return;
2725 + }
2726 + var script = doc.createElement('script');
2727 + script.src = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__.meetingsScript;
2728 + script.defer = true;
2729 + script.addEventListener('load', create);
2730 + doc.body.appendChild(script);
2731 + }, [url]);
2697 2732 if (fullSiteEditor) {
2698 2733 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_PreviewDisabled__WEBPACK_IMPORTED_MODULE_3__["default"], {});
2699 2734 }
2700 2735 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
@@ -3396,11 +3431,13 @@
3396 3431 /* harmony export */ });
3397 3432 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
3398 3433 /* harmony import */ var _appUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./appUtils */ "./scripts/utils/appUtils.ts");
3399 3434 /* harmony import */ var _api_wordpressApiClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api/wordpressApiClient */ "./scripts/api/wordpressApiClient.ts");
3435 +/* harmony import */ var _embedderReady__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embedderReady */ "./scripts/utils/embedderReady.ts");
3400 3436
3401 3437
3402 3438
3439 +
3403 3440 function initBackgroundApp(initFn) {
3404 3441 function main() {
3405 3442 if (Array.isArray(initFn)) {
3406 3443 initFn.forEach(function (callback) {
@@ -3422,8 +3459,11 @@
3422 3459 var expiresIn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
3423 3460 if (window.LeadinBackgroundApp) {
3424 3461 return window.LeadinBackgroundApp;
3425 3462 }
3463 + if (!(0,_embedderReady__WEBPACK_IMPORTED_MODULE_3__.isEmbedderReady)()) {
3464 + return null;
3465 + }
3426 3466 var _window = window,
3427 3467 IntegratedAppEmbedder = _window.IntegratedAppEmbedder,
3428 3468 IntegratedAppOptions = _window.IntegratedAppOptions;
3429 3469 var options = new IntegratedAppOptions().setLocale(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.locale).setDeviceId(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.deviceId).setLeadinConfig(getLeadinConfig()).setAccessToken(accessToken, expiresIn);
@@ -3436,8 +3476,114 @@
3436 3476 };
3437 3477
3438 3478 /***/ }),
3439 3479
3480 +/***/ "./scripts/utils/embedderReady.ts":
3481 +/*!****************************************!*\
3482 + !*** ./scripts/utils/embedderReady.ts ***!
3483 + \****************************************/
3484 +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3485 +
3486 +"use strict";
3487 +__webpack_require__.r(__webpack_exports__);
3488 +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
3489 +/* harmony export */ "isEmbedderReady": () => (/* binding */ isEmbedderReady),
3490 +/* harmony export */ "reportEmbedderUnavailable": () => (/* binding */ reportEmbedderUnavailable),
3491 +/* harmony export */ "whenEmbedderReady": () => (/* binding */ whenEmbedderReady)
3492 +/* harmony export */ });
3493 +/* harmony import */ var _lib_Raven__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../lib/Raven */ "./scripts/lib/Raven.ts");
3494 +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; }
3495 +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; }
3496 +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3497 +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
3498 +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3499 +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3500 +
3501 +var POLL_INTERVAL_MS = 250;
3502 +var DEFAULT_TIMEOUT_MS = 15000;
3503 +var EMBEDDER_SCRIPT_SELECTOR = 'script[src*="/integrated-app-embedder/"]';
3504 +function isEmbedderReady() {
3505 + var _window = window,
3506 + IntegratedAppEmbedder = _window.IntegratedAppEmbedder,
3507 + IntegratedAppOptions = _window.IntegratedAppOptions;
3508 + return !!IntegratedAppEmbedder && typeof IntegratedAppOptions === 'function';
3509 +}
3510 +function getEmbedderDiagnostics() {
3511 + var scriptTag = document.querySelector(EMBEDDER_SCRIPT_SELECTOR);
3512 + return {
3513 + hasScriptTag: !!scriptTag,
3514 + scriptSrc: scriptTag ? scriptTag.src : null,
3515 + readyState: document.readyState,
3516 + hasEmbedder: !!window.IntegratedAppEmbedder,
3517 + typeofOptions: _typeof(window.IntegratedAppOptions)
3518 + };
3519 +}
3520 +/**
3521 + * The embedder script is a cross-origin script from js.hubspot.com, and nothing
3522 + * makes the widgets wait for it: they read its globals off `window` the moment a
3523 + * control renders. On sites where an asset pipeline defers it, or where the
3524 + * editor is simply slow, the widget can lose that race and fail permanently even
3525 + * though the script arrives seconds later.
3526 + *
3527 + * Resolves true as soon as the globals appear, or false once the wait is up.
3528 + */
3529 +function whenEmbedderReady() {
3530 + var timeoutMs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_TIMEOUT_MS;
3531 + var intervalId;
3532 + var cancel = function cancel() {
3533 + if (intervalId !== undefined) {
3534 + window.clearInterval(intervalId);
3535 + intervalId = undefined;
3536 + }
3537 + };
3538 + var promise = new Promise(function (resolve) {
3539 + if (isEmbedderReady()) {
3540 + console.info('HubSpot plugin - embedder ready immediately');
3541 + resolve(true);
3542 + return;
3543 + }
3544 + var startedAt = Date.now();
3545 + console.info("HubSpot plugin - waiting up to ".concat(timeoutMs, "ms for embedder script"), getEmbedderDiagnostics());
3546 + intervalId = window.setInterval(function () {
3547 + var waitedMs = Date.now() - startedAt;
3548 + if (isEmbedderReady()) {
3549 + cancel();
3550 + console.info("HubSpot plugin - embedder ready after ".concat(waitedMs, "ms"));
3551 + resolve(true);
3552 + } else if (waitedMs >= timeoutMs) {
3553 + cancel();
3554 + resolve(false);
3555 + }
3556 + }, POLL_INTERVAL_MS);
3557 + });
3558 + return {
3559 + promise: promise,
3560 + cancel: cancel
3561 + };
3562 +}
3563 +/**
3564 + * Reports a give-up so these failures stop being invisible. Until now the widget
3565 + * rendered its error box without telling anyone, so the only signal we had for
3566 + * this whole class of problem came from unrelated admin pages.
3567 + *
3568 + * Uses captureException rather than captureMessage on purpose: Raven is
3569 + * configured with a shouldSendCallback that drops any event whose culprit does
3570 + * not match plugins/leadin/, and captureMessage does not attach a stack trace,
3571 + * so it has no culprit to match on.
3572 + */
3573 +function reportEmbedderUnavailable(waitedMs) {
3574 + var diagnostics = getEmbedderDiagnostics();
3575 + console.error("HubSpot plugin - embedder unavailable after ".concat(waitedMs, "ms"), diagnostics);
3576 + _lib_Raven__WEBPACK_IMPORTED_MODULE_0__["default"].captureException(new Error('Leadin embedder unavailable'), {
3577 + fingerprint: ['EMBEDDER_UNAVAILABLE'],
3578 + extra: _objectSpread({
3579 + waitedMs: waitedMs
3580 + }, diagnostics)
3581 + });
3582 +}
3583 +
3584 +/***/ }),
3585 +
3440 3586 /***/ "./scripts/utils/isRefreshTokenAvailable.ts":
3441 3587 /*!**************************************************!*\
3442 3588 !*** ./scripts/utils/isRefreshTokenAvailable.ts ***!
3443 3589 \**************************************************/
@@ -3498,9 +3644,10 @@
3498 3644 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
3499 3645 /* harmony import */ var _api_wordpressApiClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../api/wordpressApiClient */ "./scripts/api/wordpressApiClient.ts");
3500 3646 /* harmony import */ var _backgroundAppUtils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
3501 3647 /* harmony import */ var _isRefreshTokenAvailable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./isRefreshTokenAvailable */ "./scripts/utils/isRefreshTokenAvailable.ts");
3502 -/* harmony import */ var _shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
3648 +/* harmony import */ var _embedderReady__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./embedderReady */ "./scripts/utils/embedderReady.ts");
3649 +/* harmony import */ var _shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../shared/Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
3503 3650 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3504 3651 function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3505 3652 function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
3506 3653 function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -3512,8 +3659,9 @@
3512 3659
3513 3660
3514 3661
3515 3662
3663 +
3516 3664 function useGetEmbedder() {
3517 3665 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
3518 3666 _useState2 = _slicedToArray(_useState, 2),
3519 3667 embedder = _useState2[0],
@@ -3521,15 +3669,36 @@
3521 3669 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
3522 3670 _useState4 = _slicedToArray(_useState3, 2),
3523 3671 errorStatus = _useState4[0],
3524 3672 setErrorStatus = _useState4[1];
3673 + var cancelWaitRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
3674 + var mountedRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(true);
3525 3675 var loadEmbedder = function loadEmbedder() {
3526 3676 (0,_api_wordpressApiClient__WEBPACK_IMPORTED_MODULE_2__.fetchAccessToken)().then(function (_ref) {
3527 3677 var accessToken = _ref.accessToken,
3528 3678 expiresIn = _ref.expiresIn;
3529 - setEmbedder((0,_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_3__.getOrCreateBackgroundApp)(accessToken, expiresIn));
3679 + if (!mountedRef.current) return;
3680 + var startedAt = Date.now();
3681 + var _whenEmbedderReady = (0,_embedderReady__WEBPACK_IMPORTED_MODULE_5__.whenEmbedderReady)(),
3682 + promise = _whenEmbedderReady.promise,
3683 + cancel = _whenEmbedderReady.cancel;
3684 + cancelWaitRef.current = cancel;
3685 + return promise.then(function (isReady) {
3686 + cancelWaitRef.current = null;
3687 + if (!mountedRef.current) return;
3688 + var app = isReady ? (0,_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_3__.getOrCreateBackgroundApp)(accessToken, expiresIn) : null;
3689 + if (app) {
3690 + console.info('HubSpot plugin - embedder ready, rendering widget');
3691 + setEmbedder(app);
3692 + } else {
3693 + (0,_embedderReady__WEBPACK_IMPORTED_MODULE_5__.reportEmbedderUnavailable)(Date.now() - startedAt);
3694 + setErrorStatus(500);
3695 + }
3696 + });
3530 3697 })["catch"](function (err) {
3531 - return setErrorStatus(err && err.status || 500);
3698 + if (!mountedRef.current) return;
3699 + console.error('HubSpot plugin - access token request failed', err && err.status || 'no status');
3700 + setErrorStatus(err && err.status || 500);
3532 3701 });
3533 3702 };
3534 3703 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
3535 3704 if ((0,_isRefreshTokenAvailable__WEBPACK_IMPORTED_MODULE_4__.isRefreshTokenAvailable)()) {
@@ -3534,10 +3703,17 @@
3534 3703 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
3535 3704 if ((0,_isRefreshTokenAvailable__WEBPACK_IMPORTED_MODULE_4__.isRefreshTokenAvailable)()) {
3536 3705 loadEmbedder();
3537 3706 }
3707 + return function () {
3708 + mountedRef.current = false;
3709 + if (cancelWaitRef.current) {
3710 + cancelWaitRef.current();
3711 + cancelWaitRef.current = null;
3712 + }
3713 + };
3538 3714 }, []);
3539 - var errorElement = errorStatus !== null ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_5__["default"], {
3715 + var errorElement = errorStatus !== null ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_6__["default"], {
3540 3716 status: errorStatus,
3541 3717 resetErrorState: function resetErrorState() {
3542 3718 setErrorStatus(null);
3543 3719 loadEmbedder();