PluginProbe
HubSpot All-In-One Marketing – Forms, Popups, Live Chat / 11.3.56
HubSpot All-In-One Marketing – Forms, Popups, Live Chat v11.3.56
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
leadin / build / elementor.js

elementor.js in HubSpot All-In-One Marketing – Forms, Popups, Live Chat 11.3.56, at build/elementor.js

9,136 lines 377.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /******/ (() => { // webpackBootstrap
2 /******/ var __webpack_modules__ = ({
3
4 /***/ "./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
5 /*!*******************************************************************!*\
6 !*** ./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
7 \*******************************************************************/
8 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
10 "use strict";
11 __webpack_require__.r(__webpack_exports__);
12 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 /* harmony export */ "default": () => (/* binding */ memoize)
14 /* harmony export */ });
15 function memoize(fn) {
16 var cache = Object.create(null);
17 return function (arg) {
18 if (cache[arg] === undefined) cache[arg] = fn(arg);
19 return cache[arg];
20 };
21 }
22
23
24
25
26 /***/ }),
27
28 /***/ "./node_modules/@linaria/react/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
29 /*!***********************************************************************************************************!*\
30 !*** ./node_modules/@linaria/react/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
31 \***********************************************************************************************************/
32 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
33
34 "use strict";
35 __webpack_require__.r(__webpack_exports__);
36 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
37 /* harmony export */ "default": () => (/* binding */ isPropValid)
38 /* harmony export */ });
39 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
40
41
42 // eslint-disable-next-line no-undef
43 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
44
45 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
46 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
47 /* o */
48 && prop.charCodeAt(1) === 110
49 /* n */
50 && prop.charCodeAt(2) < 91;
51 }
52 /* Z+1 */
53 );
54
55
56
57
58 /***/ }),
59
60 /***/ "./scripts/api/wordpressApiClient.ts":
61 /*!*******************************************!*\
62 !*** ./scripts/api/wordpressApiClient.ts ***!
63 \*******************************************/
64 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65
66 "use strict";
67 __webpack_require__.r(__webpack_exports__);
68 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69 /* harmony export */ "disableInternalTracking": () => (/* binding */ disableInternalTracking),
70 /* harmony export */ "fetchDisableInternalTracking": () => (/* binding */ fetchDisableInternalTracking),
71 /* harmony export */ "fetchProxyMappingsEnabled": () => (/* binding */ fetchProxyMappingsEnabled),
72 /* harmony export */ "fetchRefreshToken": () => (/* binding */ fetchRefreshToken),
73 /* harmony export */ "getBusinessUnitId": () => (/* binding */ getBusinessUnitId),
74 /* harmony export */ "healthcheckRestApi": () => (/* binding */ healthcheckRestApi),
75 /* harmony export */ "refreshProxyMappingsCache": () => (/* binding */ refreshProxyMappingsCache),
76 /* harmony export */ "setBusinessUnitId": () => (/* binding */ setBusinessUnitId),
77 /* harmony export */ "skipReview": () => (/* binding */ skipReview),
78 /* harmony export */ "toggleProxyMappingsEnabled": () => (/* binding */ toggleProxyMappingsEnabled),
79 /* harmony export */ "trackConsent": () => (/* binding */ trackConsent),
80 /* harmony export */ "updateHublet": () => (/* binding */ updateHublet)
81 /* harmony export */ });
82 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
83 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
84 /* harmony import */ var _lib_Raven__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Raven */ "./scripts/lib/Raven.ts");
85 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
86 /* harmony import */ var _utils_queryParams__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/queryParams */ "./scripts/utils/queryParams.ts");
87
88
89
90
91 function makeRequest(method, path) {
92 var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
93 var queryParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
94 // eslint-disable-next-line compat/compat
95 var restApiUrl = new URL("".concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.restUrl, "leadin/v1").concat(path));
96 (0,_utils_queryParams__WEBPACK_IMPORTED_MODULE_3__.addQueryObjectToUrl)(restApiUrl, queryParams);
97 return new Promise(function (resolve, reject) {
98 var payload = {
99 url: restApiUrl.toString(),
100 method: method,
101 contentType: 'application/json',
102 beforeSend: function beforeSend(xhr) {
103 return xhr.setRequestHeader('X-WP-Nonce', _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.restNonce);
104 },
105 success: resolve,
106 error: function error(response) {
107 _lib_Raven__WEBPACK_IMPORTED_MODULE_1__["default"].captureMessage("HTTP Request to ".concat(restApiUrl, " failed with error ").concat(response.status, ": ").concat(response.responseText), {
108 fingerprint: ['{{ default }}', path, response.status, response.responseText]
109 });
110 reject(response);
111 }
112 };
113 if (method !== 'get') {
114 payload.data = JSON.stringify(data);
115 }
116 jquery__WEBPACK_IMPORTED_MODULE_0___default().ajax(payload);
117 });
118 }
119 function healthcheckRestApi() {
120 return makeRequest('get', '/healthcheck');
121 }
122 function disableInternalTracking(value) {
123 return makeRequest('put', '/internal-tracking', value ? '1' : '0');
124 }
125 function fetchDisableInternalTracking() {
126 return makeRequest('get', '/internal-tracking').then(function (message) {
127 return {
128 message: message
129 };
130 });
131 }
132 function updateHublet(hublet) {
133 return makeRequest('put', '/hublet', {
134 hublet: hublet
135 });
136 }
137 function skipReview() {
138 return makeRequest('post', '/skip-review');
139 }
140 function trackConsent(canTrack) {
141 return makeRequest('post', '/track-consent', {
142 canTrack: canTrack
143 }).then(function (message) {
144 return {
145 message: message
146 };
147 });
148 }
149 function setBusinessUnitId(businessUnitId) {
150 return makeRequest('put', '/business-unit', {
151 businessUnitId: businessUnitId
152 });
153 }
154 function getBusinessUnitId() {
155 return makeRequest('get', '/business-unit');
156 }
157 function refreshProxyMappingsCache() {
158 return makeRequest('post', '/wp-mappings-cache-reset');
159 }
160 function fetchProxyMappingsEnabled() {
161 return makeRequest('get', '/wp-mappings-proxy-enabled');
162 }
163 function toggleProxyMappingsEnabled(value) {
164 return makeRequest('put', '/wp-mappings-proxy-enabled', value);
165 }
166 var refreshTokenRequest = null;
167 function fetchRefreshToken() {
168 if (!refreshTokenRequest) {
169 refreshTokenRequest = makeRequest('get', '/refresh-token')["catch"](function (err) {
170 refreshTokenRequest = null;
171 throw err;
172 });
173 }
174 return refreshTokenRequest;
175 }
176
177 /***/ }),
178
179 /***/ "./scripts/constants/defaultFormOptions.ts":
180 /*!*************************************************!*\
181 !*** ./scripts/constants/defaultFormOptions.ts ***!
182 \*************************************************/
183 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
184
185 "use strict";
186 __webpack_require__.r(__webpack_exports__);
187 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
188 /* harmony export */ "DEFAULT_OPTIONS": () => (/* binding */ DEFAULT_OPTIONS),
189 /* harmony export */ "isDefaultForm": () => (/* binding */ isDefaultForm)
190 /* harmony export */ });
191 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
192 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
193
194 var BLANK_FORM = 'BLANK';
195 var NEWSLETTER_FORM = 'NEWSLETTER';
196 var CONTACT_US_FORM = 'CONTACT_US';
197 var EVENT_REGISTRATION_FORM = 'EVENT_REGISTRATION';
198 var TALK_TO_AN_EXPERT_FORM = 'TALK_TO_AN_EXPERT';
199 var BOOK_A_MEETING_FORM = 'BOOK_A_MEETING';
200 var GATED_CONTENT_FORM = 'GATED_CONTENT';
201 var DEFAULT_OPTIONS = {
202 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Templates', 'leadin'),
203 options: [{
204 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Blank Form', 'leadin'),
205 value: BLANK_FORM
206 }, {
207 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Newsletter Form', 'leadin'),
208 value: NEWSLETTER_FORM
209 }, {
210 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Contact Us Form', 'leadin'),
211 value: CONTACT_US_FORM
212 }, {
213 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Event Registration Form', 'leadin'),
214 value: EVENT_REGISTRATION_FORM
215 }, {
216 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Talk to an Expert Form', 'leadin'),
217 value: TALK_TO_AN_EXPERT_FORM
218 }, {
219 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Book a Meeting Form', 'leadin'),
220 value: BOOK_A_MEETING_FORM
221 }, {
222 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Gated Content Form', 'leadin'),
223 value: GATED_CONTENT_FORM
224 }]
225 };
226 function isDefaultForm(value) {
227 return value === BLANK_FORM || value === NEWSLETTER_FORM || value === CONTACT_US_FORM || value === EVENT_REGISTRATION_FORM || value === TALK_TO_AN_EXPERT_FORM || value === BOOK_A_MEETING_FORM || value === GATED_CONTENT_FORM;
228 }
229
230 /***/ }),
231
232 /***/ "./scripts/constants/leadinConfig.ts":
233 /*!*******************************************!*\
234 !*** ./scripts/constants/leadinConfig.ts ***!
235 \*******************************************/
236 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
237
238 "use strict";
239 __webpack_require__.r(__webpack_exports__);
240 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
241 /* harmony export */ "accountName": () => (/* binding */ accountName),
242 /* harmony export */ "activationTime": () => (/* binding */ activationTime),
243 /* harmony export */ "adminUrl": () => (/* binding */ adminUrl),
244 /* harmony export */ "connectionStatus": () => (/* binding */ connectionStatus),
245 /* harmony export */ "contentEmbed": () => (/* binding */ contentEmbed),
246 /* harmony export */ "decryptError": () => (/* binding */ decryptError),
247 /* harmony export */ "deviceId": () => (/* binding */ deviceId),
248 /* harmony export */ "didDisconnect": () => (/* binding */ didDisconnect),
249 /* harmony export */ "env": () => (/* binding */ env),
250 /* harmony export */ "formsScript": () => (/* binding */ formsScript),
251 /* harmony export */ "formsScriptPayload": () => (/* binding */ formsScriptPayload),
252 /* harmony export */ "hublet": () => (/* binding */ hublet),
253 /* harmony export */ "hubspotBaseUrl": () => (/* binding */ hubspotBaseUrl),
254 /* harmony export */ "hubspotNonce": () => (/* binding */ hubspotNonce),
255 /* harmony export */ "iframeUrl": () => (/* binding */ iframeUrl),
256 /* harmony export */ "impactLink": () => (/* binding */ impactLink),
257 /* harmony export */ "lastAuthorizeTime": () => (/* binding */ lastAuthorizeTime),
258 /* harmony export */ "lastDeauthorizeTime": () => (/* binding */ lastDeauthorizeTime),
259 /* harmony export */ "lastDisconnectTime": () => (/* binding */ lastDisconnectTime),
260 /* harmony export */ "leadinPluginVersion": () => (/* binding */ leadinPluginVersion),
261 /* harmony export */ "leadinQueryParams": () => (/* binding */ leadinQueryParams),
262 /* harmony export */ "locale": () => (/* binding */ locale),
263 /* harmony export */ "loginUrl": () => (/* binding */ loginUrl),
264 /* harmony export */ "meetingsScript": () => (/* binding */ meetingsScript),
265 /* harmony export */ "phpVersion": () => (/* binding */ phpVersion),
266 /* harmony export */ "pluginPath": () => (/* binding */ pluginPath),
267 /* harmony export */ "plugins": () => (/* binding */ plugins),
268 /* harmony export */ "portalDomain": () => (/* binding */ portalDomain),
269 /* harmony export */ "portalEmail": () => (/* binding */ portalEmail),
270 /* harmony export */ "portalId": () => (/* binding */ portalId),
271 /* harmony export */ "redirectNonce": () => (/* binding */ redirectNonce),
272 /* harmony export */ "refreshToken": () => (/* binding */ refreshToken),
273 /* harmony export */ "requiresContentEmbedScope": () => (/* binding */ requiresContentEmbedScope),
274 /* harmony export */ "restNonce": () => (/* binding */ restNonce),
275 /* harmony export */ "restUrl": () => (/* binding */ restUrl),
276 /* harmony export */ "reviewSkippedDate": () => (/* binding */ reviewSkippedDate),
277 /* harmony export */ "theme": () => (/* binding */ theme),
278 /* harmony export */ "trackConsent": () => (/* binding */ trackConsent),
279 /* harmony export */ "wpVersion": () => (/* binding */ wpVersion)
280 /* harmony export */ });
281 var _window$leadinConfig = window.leadinConfig,
282 accountName = _window$leadinConfig.accountName,
283 adminUrl = _window$leadinConfig.adminUrl,
284 activationTime = _window$leadinConfig.activationTime,
285 connectionStatus = _window$leadinConfig.connectionStatus,
286 deviceId = _window$leadinConfig.deviceId,
287 didDisconnect = _window$leadinConfig.didDisconnect,
288 env = _window$leadinConfig.env,
289 formsScript = _window$leadinConfig.formsScript,
290 meetingsScript = _window$leadinConfig.meetingsScript,
291 formsScriptPayload = _window$leadinConfig.formsScriptPayload,
292 hublet = _window$leadinConfig.hublet,
293 hubspotBaseUrl = _window$leadinConfig.hubspotBaseUrl,
294 hubspotNonce = _window$leadinConfig.hubspotNonce,
295 iframeUrl = _window$leadinConfig.iframeUrl,
296 impactLink = _window$leadinConfig.impactLink,
297 lastAuthorizeTime = _window$leadinConfig.lastAuthorizeTime,
298 lastDeauthorizeTime = _window$leadinConfig.lastDeauthorizeTime,
299 lastDisconnectTime = _window$leadinConfig.lastDisconnectTime,
300 leadinPluginVersion = _window$leadinConfig.leadinPluginVersion,
301 leadinQueryParams = _window$leadinConfig.leadinQueryParams,
302 locale = _window$leadinConfig.locale,
303 loginUrl = _window$leadinConfig.loginUrl,
304 phpVersion = _window$leadinConfig.phpVersion,
305 pluginPath = _window$leadinConfig.pluginPath,
306 plugins = _window$leadinConfig.plugins,
307 portalDomain = _window$leadinConfig.portalDomain,
308 portalEmail = _window$leadinConfig.portalEmail,
309 portalId = _window$leadinConfig.portalId,
310 redirectNonce = _window$leadinConfig.redirectNonce,
311 restNonce = _window$leadinConfig.restNonce,
312 restUrl = _window$leadinConfig.restUrl,
313 refreshToken = _window$leadinConfig.refreshToken,
314 reviewSkippedDate = _window$leadinConfig.reviewSkippedDate,
315 theme = _window$leadinConfig.theme,
316 trackConsent = _window$leadinConfig.trackConsent,
317 wpVersion = _window$leadinConfig.wpVersion,
318 contentEmbed = _window$leadinConfig.contentEmbed,
319 requiresContentEmbedScope = _window$leadinConfig.requiresContentEmbedScope,
320 decryptError = _window$leadinConfig.decryptError;
321
322
323 /***/ }),
324
325 /***/ "./scripts/elementor/Common/ConnectPluginBanner.tsx":
326 /*!**********************************************************!*\
327 !*** ./scripts/elementor/Common/ConnectPluginBanner.tsx ***!
328 \**********************************************************/
329 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
330
331 "use strict";
332 __webpack_require__.r(__webpack_exports__);
333 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
334 /* harmony export */ "default": () => (/* binding */ ConnectPluginBanner)
335 /* harmony export */ });
336 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
337 /* harmony import */ var _ElementorBanner__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
338 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
339 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
340
341
342
343 function ConnectPluginBanner() {
344 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorBanner__WEBPACK_IMPORTED_MODULE_1__["default"], {
345 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
346 dangerouslySetInnerHTML: {
347 __html: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('The HubSpot plugin is not connected right now To use HubSpot tools on your WordPress site, %1$sconnect the plugin now%2$s').replace('%1$s', '<a class="leadin-banner__link" href="admin.php?page=leadin&bannerClick=true">').replace('%2$s', '</a>')
348 }
349 })
350 });
351 }
352
353 /***/ }),
354
355 /***/ "./scripts/elementor/Common/ElementorBanner.tsx":
356 /*!******************************************************!*\
357 !*** ./scripts/elementor/Common/ElementorBanner.tsx ***!
358 \******************************************************/
359 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
360
361 "use strict";
362 __webpack_require__.r(__webpack_exports__);
363 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
364 /* harmony export */ "default": () => (/* binding */ ElementorBanner)
365 /* harmony export */ });
366 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
367
368 function ElementorBanner(_ref) {
369 var _ref$type = _ref.type,
370 type = _ref$type === void 0 ? 'warning' : _ref$type,
371 children = _ref.children;
372 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
373 className: "elementor-control-content",
374 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
375 className: "elementor-control-raw-html elementor-panel-alert elementor-panel-alert-".concat(type),
376 children: children
377 })
378 });
379 }
380
381 /***/ }),
382
383 /***/ "./scripts/elementor/Common/ElementorButton.tsx":
384 /*!******************************************************!*\
385 !*** ./scripts/elementor/Common/ElementorButton.tsx ***!
386 \******************************************************/
387 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
388
389 "use strict";
390 __webpack_require__.r(__webpack_exports__);
391 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
392 /* harmony export */ "default": () => (/* binding */ ElementorButton)
393 /* harmony export */ });
394 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
395 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
396 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); }
397 var _excluded = ["children"];
398 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; }
399 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; }
400 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; }
401 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
402 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); }
403 function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
404 function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
405
406
407 var Container = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('div')({
408 name: "Container",
409 "class": "czoccom",
410 propsAsIs: false
411 });
412 function ElementorButton(_ref) {
413 var children = _ref.children,
414 params = _objectWithoutProperties(_ref, _excluded);
415 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Container, {
416 className: "elementor-button-wrapper",
417 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", _objectSpread(_objectSpread({
418 className: "elementor-button elementor-button-default",
419 type: "button"
420 }, params), {}, {
421 children: children
422 }))
423 });
424 }
425 __webpack_require__(/*! ./ElementorButton.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./ElementorButton.tsx */ "./scripts/elementor/Common/ElementorButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/Common/ElementorButton.tsx");
426
427 /***/ }),
428
429 /***/ "./scripts/elementor/FormWidget/ElementorFormSelect.tsx":
430 /*!**************************************************************!*\
431 !*** ./scripts/elementor/FormWidget/ElementorFormSelect.tsx ***!
432 \**************************************************************/
433 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
434
435 "use strict";
436 __webpack_require__.r(__webpack_exports__);
437 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
438 /* harmony export */ "default": () => (/* binding */ ElementorFormSelectContainer)
439 /* harmony export */ });
440 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
441 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
442 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
443 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
444 /* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
445 /* harmony import */ var _shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
446 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
447 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
448 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
449 /* harmony import */ var _hooks_useForms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./hooks/useForms */ "./scripts/elementor/FormWidget/hooks/useForms.ts");
450 /* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
451 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); }
452 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; }
453 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; }
454 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; }
455 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
456 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); }
457
458
459
460
461
462
463
464
465
466 function ElementorFormSelect(_ref) {
467 var formId = _ref.formId,
468 setAttributes = _ref.setAttributes;
469 var _useForms = (0,_hooks_useForms__WEBPACK_IMPORTED_MODULE_7__["default"])(),
470 hasError = _useForms.hasError,
471 forms = _useForms.forms,
472 loading = _useForms.loading;
473 return loading ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
474 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__["default"], {})
475 }) : hasError ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {
476 type: "danger",
477 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Please refresh your forms or try again in a few minutes', 'leadin')
478 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
479 value: formId,
480 onChange: function onChange(event) {
481 var selectedForm = forms.find(function (form) {
482 return form.value === event.target.value;
483 });
484 if (selectedForm) {
485 setAttributes({
486 portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
487 formId: selectedForm.value,
488 formName: selectedForm.label,
489 embedVersion: selectedForm.embedVersion
490 });
491 }
492 },
493 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
494 value: "",
495 disabled: true,
496 selected: true,
497 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Search for a form', 'leadin')
498 }), forms.map(function (form) {
499 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
500 value: form.value,
501 children: form.label
502 }, form.value);
503 })]
504 });
505 }
506 function ElementorFormSelectWrapper(props) {
507 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.useBackgroundAppContext)();
508 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
509 children: !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
510 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__["default"], {})
511 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelect, _objectSpread({}, props))
512 });
513 }
514 function ElementorFormSelectContainer(props) {
515 var embedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_8__.useGetEmbedder)();
516 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.BackgroudAppContext.Provider, {
517 value: embedder,
518 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelectWrapper, _objectSpread({}, props))
519 });
520 }
521
522 /***/ }),
523
524 /***/ "./scripts/elementor/FormWidget/FormControlController.tsx":
525 /*!****************************************************************!*\
526 !*** ./scripts/elementor/FormWidget/FormControlController.tsx ***!
527 \****************************************************************/
528 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
529
530 "use strict";
531 __webpack_require__.r(__webpack_exports__);
532 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
533 /* harmony export */ "default": () => (/* binding */ FormControlController)
534 /* harmony export */ });
535 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
536 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
537 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
538 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
539 /* harmony import */ var _Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ConnectPluginBanner */ "./scripts/elementor/Common/ConnectPluginBanner.tsx");
540 /* harmony import */ var _ElementorFormSelect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ElementorFormSelect */ "./scripts/elementor/FormWidget/ElementorFormSelect.tsx");
541
542
543
544
545
546 var ConnectionStatus = {
547 Connected: 'Connected',
548 NotConnected: 'NotConnected'
549 };
550 function FormControlController(attributes, setValue) {
551 return function () {
552 var render = function render() {
553 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === ConnectionStatus.Connected) {
554 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorFormSelect__WEBPACK_IMPORTED_MODULE_4__["default"], {
555 formId: attributes.formId,
556 setAttributes: setValue
557 });
558 } else {
559 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {});
560 }
561 };
562 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
563 children: render()
564 });
565 };
566 }
567
568 /***/ }),
569
570 /***/ "./scripts/elementor/FormWidget/FormWidgetController.tsx":
571 /*!***************************************************************!*\
572 !*** ./scripts/elementor/FormWidget/FormWidgetController.tsx ***!
573 \***************************************************************/
574 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
575
576 "use strict";
577 __webpack_require__.r(__webpack_exports__);
578 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
579 /* harmony export */ "default": () => (/* binding */ FormWidgetController)
580 /* harmony export */ });
581 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
582 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
583 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
584 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
585 /* harmony import */ var _shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
586 /* harmony import */ var _shared_Form_FormEdit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/Form/FormEdit */ "./scripts/shared/Form/FormEdit.tsx");
587 /* harmony import */ var _shared_enums_connectionStatus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/enums/connectionStatus */ "./scripts/shared/enums/connectionStatus.ts");
588
589
590
591
592
593
594 function FormWidgetController(attributes, setValue) {
595 return function () {
596 var render = function render() {
597 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === _shared_enums_connectionStatus__WEBPACK_IMPORTED_MODULE_5__["default"].Connected) {
598 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Form_FormEdit__WEBPACK_IMPORTED_MODULE_4__["default"], {
599 attributes: attributes,
600 isSelected: true,
601 setAttributes: setValue,
602 preview: false,
603 origin: "elementor"
604 });
605 } else {
606 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__["default"], {
607 status: 401
608 });
609 }
610 };
611 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
612 children: render()
613 });
614 };
615 }
616
617 /***/ }),
618
619 /***/ "./scripts/elementor/FormWidget/hooks/useForms.ts":
620 /*!********************************************************!*\
621 !*** ./scripts/elementor/FormWidget/hooks/useForms.ts ***!
622 \********************************************************/
623 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
624
625 "use strict";
626 __webpack_require__.r(__webpack_exports__);
627 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
628 /* harmony export */ "default": () => (/* binding */ useForms)
629 /* harmony export */ });
630 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
631 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
632 /* harmony import */ var _shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/enums/loadState */ "./scripts/shared/enums/loadState.ts");
633 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
634 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
635 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
636 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."); }
637 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; } }
638 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; }
639 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
640 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
641
642
643
644
645 function useForms() {
646 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_3__.usePostAsyncBackgroundMessage)();
647 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].NotLoaded),
648 _useState2 = _slicedToArray(_useState, 2),
649 loadState = _useState2[0],
650 setLoadState = _useState2[1];
651 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
652 _useState4 = _slicedToArray(_useState3, 2),
653 hasError = _useState4[0],
654 setError = _useState4[1];
655 var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
656 _useState6 = _slicedToArray(_useState5, 2),
657 forms = _useState6[0],
658 setForms = _useState6[1];
659 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
660 if (loadState === _shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].NotLoaded) {
661 proxy({
662 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_2__.ProxyMessages.FetchForms,
663 payload: {
664 search: ''
665 }
666 }).then(function (data) {
667 setForms(data.map(function (form) {
668 return {
669 label: form.name,
670 value: form.guid,
671 embedVersion: form.embedVersion
672 };
673 }));
674 setLoadState(_shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].Loaded);
675 })["catch"](function (error) {
676 setError(error);
677 setLoadState(_shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].Failed);
678 });
679 }
680 }, [loadState]);
681 return {
682 forms: forms,
683 loading: loadState === _shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].Loading,
684 hasError: hasError
685 };
686 }
687
688 /***/ }),
689
690 /***/ "./scripts/elementor/FormWidget/registerFormWidget.ts":
691 /*!************************************************************!*\
692 !*** ./scripts/elementor/FormWidget/registerFormWidget.ts ***!
693 \************************************************************/
694 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
695
696 "use strict";
697 __webpack_require__.r(__webpack_exports__);
698 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
699 /* harmony export */ "default": () => (/* binding */ registerFormWidget)
700 /* harmony export */ });
701 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom");
702 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);
703 /* harmony import */ var _FormControlController__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormControlController */ "./scripts/elementor/FormWidget/FormControlController.tsx");
704 /* harmony import */ var _FormWidgetController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormWidgetController */ "./scripts/elementor/FormWidget/FormWidgetController.tsx");
705 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); }
706 function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
707 function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
708 function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
709 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; }
710 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
711 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); }
712
713
714
715 var registerFormWidget = /*#__PURE__*/function () {
716 function registerFormWidget(controlContainer, widgetContainer, setValue) {
717 _classCallCheck(this, registerFormWidget);
718 _defineProperty(this, "widgetContainer", void 0);
719 _defineProperty(this, "attributes", void 0);
720 _defineProperty(this, "controlContainer", void 0);
721 _defineProperty(this, "setValue", void 0);
722 var attributes = widgetContainer.dataset.attributes ? JSON.parse(widgetContainer.dataset.attributes) : {};
723 this.widgetContainer = widgetContainer;
724 this.controlContainer = controlContainer;
725 this.setValue = setValue;
726 this.attributes = attributes;
727 }
728 return _createClass(registerFormWidget, [{
729 key: "render",
730 value: function render() {
731 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_FormWidgetController__WEBPACK_IMPORTED_MODULE_2__["default"])(this.attributes, this.setValue)(), this.widgetContainer);
732 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_FormControlController__WEBPACK_IMPORTED_MODULE_1__["default"])(this.attributes, this.setValue)(), this.controlContainer);
733 }
734 }, {
735 key: "done",
736 value: function done() {
737 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.widgetContainer);
738 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.controlContainer);
739 }
740 }]);
741 }();
742
743
744 /***/ }),
745
746 /***/ "./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx":
747 /*!********************************************************************!*\
748 !*** ./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx ***!
749 \********************************************************************/
750 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
751
752 "use strict";
753 __webpack_require__.r(__webpack_exports__);
754 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
755 /* harmony export */ "default": () => (/* binding */ ElementorMeetingsSelectContainer)
756 /* harmony export */ });
757 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
758 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
759 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
760 /* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
761 /* harmony import */ var _shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
762 /* harmony import */ var _ElementorMeetingWarning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ElementorMeetingWarning */ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx");
763 /* harmony import */ var _shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/Meeting/hooks/useMeetings */ "./scripts/shared/Meeting/hooks/useMeetings.ts");
764 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
765 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
766 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
767 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_7__);
768 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
769 /* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
770 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); }
771 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; }
772 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; }
773 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; }
774 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
775 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); }
776 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
777 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."); }
778 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; } }
779 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; }
780 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
781 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
782
783
784
785
786
787
788
789
790
791
792 function ElementorMeetingSelect(_ref) {
793 var url = _ref.url,
794 setAttributes = _ref.setAttributes;
795 var _useMeetings = (0,_shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__["default"])(),
796 meetings = _useMeetings.mappedMeetings,
797 loading = _useMeetings.loading,
798 error = _useMeetings.error,
799 reload = _useMeetings.reload,
800 connectCalendar = _useMeetings.connectCalendar;
801 var selectedMeetingCalendar = (0,_shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__.useSelectedMeetingCalendar)(url);
802 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(url),
803 _useState2 = _slicedToArray(_useState, 2),
804 localUrl = _useState2[0],
805 setLocalUrl = _useState2[1];
806 var handleConnectCalendar = function handleConnectCalendar() {
807 return connectCalendar().then(function () {
808 reload();
809 })["catch"](function (error) {
810 raven_js__WEBPACK_IMPORTED_MODULE_7___default().captureMessage('Unable to connect calendar', {
811 extra: {
812 error: error
813 }
814 });
815 });
816 };
817 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
818 children: loading ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
819 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {})
820 }) : error ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_2__["default"], {
821 type: "danger",
822 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__.__)('Please refresh your meetings or try again in a few minutes', 'leadin')
823 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
824 children: [selectedMeetingCalendar && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorMeetingWarning__WEBPACK_IMPORTED_MODULE_4__["default"], {
825 status: selectedMeetingCalendar,
826 onConnectCalendar: connectCalendar
827 }), meetings.length > 1 && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
828 value: localUrl,
829 onChange: function onChange(event) {
830 var newUrl = event.target.value;
831 setLocalUrl(newUrl);
832 setAttributes({
833 url: newUrl
834 });
835 },
836 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
837 value: "",
838 disabled: true,
839 selected: true,
840 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__.__)('Select a meeting', 'leadin')
841 }), meetings.map(function (item) {
842 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
843 value: item.value,
844 children: item.label
845 }, item.value);
846 })]
847 })]
848 })
849 });
850 }
851 function ElementorMeetingSelectWrapper(props) {
852 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__.useBackgroundAppContext)();
853 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
854 children: !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
855 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {})
856 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelect, _objectSpread({}, props))
857 });
858 }
859 function ElementorMeetingsSelectContainer(props) {
860 var embedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__.useGetEmbedder)();
861 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__.BackgroudAppContext.Provider, {
862 value: embedder,
863 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelectWrapper, _objectSpread({}, props))
864 });
865 }
866
867 /***/ }),
868
869 /***/ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx":
870 /*!*********************************************************************!*\
871 !*** ./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx ***!
872 \*********************************************************************/
873 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
874
875 "use strict";
876 __webpack_require__.r(__webpack_exports__);
877 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
878 /* harmony export */ "default": () => (/* binding */ MeetingWarning)
879 /* harmony export */ });
880 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
881 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
882 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
883 /* harmony import */ var _shared_Meeting_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/Meeting/constants */ "./scripts/shared/Meeting/constants.ts");
884 /* harmony import */ var _Common_ElementorButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ElementorButton */ "./scripts/elementor/Common/ElementorButton.tsx");
885 /* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
886 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
887 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
888 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
889
890
891
892
893
894
895
896 var Container = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_6__.styled)('div')({
897 name: "Container",
898 "class": "c1p032ba",
899 propsAsIs: false
900 });
901 function MeetingWarning(_ref) {
902 var onConnectCalendar = _ref.onConnectCalendar,
903 status = _ref.status;
904 var isMeetingOwner = status === _shared_Meeting_constants__WEBPACK_IMPORTED_MODULE_2__.CURRENT_USER_CALENDAR_MISSING;
905 var titleText = isMeetingOwner ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Your calendar is not connected', 'leadin') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Calendar is not connected', 'leadin');
906 var titleMessage = isMeetingOwner ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Please connect your calendar to activate your scheduling pages', 'leadin') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Make sure that everybody in this meeting has connected their calendar from the Meetings page in HubSpot', 'leadin');
907 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
908 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Container, {
909 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_4__["default"], {
910 type: "warning",
911 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
912 children: titleText
913 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), titleMessage]
914 })
915 }), isMeetingOwner && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorButton__WEBPACK_IMPORTED_MODULE_3__["default"], {
916 id: "meetings-connect-calendar",
917 onClick: onConnectCalendar,
918 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Connect calendar', 'leadin')
919 })]
920 });
921 }
922 __webpack_require__(/*! ./ElementorMeetingWarning.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./ElementorMeetingWarning.tsx */ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx");
923
924 /***/ }),
925
926 /***/ "./scripts/elementor/MeetingWidget/MeetingControlController.tsx":
927 /*!**********************************************************************!*\
928 !*** ./scripts/elementor/MeetingWidget/MeetingControlController.tsx ***!
929 \**********************************************************************/
930 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
931
932 "use strict";
933 __webpack_require__.r(__webpack_exports__);
934 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
935 /* harmony export */ "default": () => (/* binding */ MeetingControlController)
936 /* harmony export */ });
937 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
938 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
939 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
940 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
941 /* harmony import */ var _Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ConnectPluginBanner */ "./scripts/elementor/Common/ConnectPluginBanner.tsx");
942 /* harmony import */ var _ElementorMeetingSelect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ElementorMeetingSelect */ "./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx");
943
944
945
946
947
948 var ConnectionStatus = {
949 Connected: 'Connected',
950 NotConnected: 'NotConnected'
951 };
952 function MeetingControlController(attributes, setValue) {
953 return function () {
954 var render = function render() {
955 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === ConnectionStatus.Connected) {
956 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorMeetingSelect__WEBPACK_IMPORTED_MODULE_4__["default"], {
957 url: attributes.url,
958 setAttributes: setValue
959 });
960 } else {
961 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {});
962 }
963 };
964 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
965 children: render()
966 });
967 };
968 }
969
970 /***/ }),
971
972 /***/ "./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx":
973 /*!*********************************************************************!*\
974 !*** ./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx ***!
975 \*********************************************************************/
976 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
977
978 "use strict";
979 __webpack_require__.r(__webpack_exports__);
980 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
981 /* harmony export */ "default": () => (/* binding */ MeetingWidgetController)
982 /* harmony export */ });
983 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
984 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
985 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
986 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
987 /* harmony import */ var _shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
988 /* harmony import */ var _shared_Meeting_MeetingEdit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/Meeting/MeetingEdit */ "./scripts/shared/Meeting/MeetingEdit.tsx");
989
990
991
992
993
994 var ConnectionStatus = {
995 Connected: 'Connected',
996 NotConnected: 'NotConnected'
997 };
998 function MeetingWidgetController(attributes, setValue) {
999 return function () {
1000 var render = function render() {
1001 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === ConnectionStatus.Connected) {
1002 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Meeting_MeetingEdit__WEBPACK_IMPORTED_MODULE_4__["default"], {
1003 attributes: attributes,
1004 isSelected: true,
1005 setAttributes: setValue,
1006 preview: false,
1007 origin: "elementor"
1008 });
1009 } else {
1010 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__["default"], {
1011 status: 401
1012 });
1013 }
1014 };
1015 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
1016 children: render()
1017 });
1018 };
1019 }
1020
1021 /***/ }),
1022
1023 /***/ "./scripts/elementor/MeetingWidget/registerMeetingWidget.ts":
1024 /*!******************************************************************!*\
1025 !*** ./scripts/elementor/MeetingWidget/registerMeetingWidget.ts ***!
1026 \******************************************************************/
1027 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1028
1029 "use strict";
1030 __webpack_require__.r(__webpack_exports__);
1031 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1032 /* harmony export */ "default": () => (/* binding */ registerMeetingsWidget)
1033 /* harmony export */ });
1034 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom");
1035 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);
1036 /* harmony import */ var _MeetingControlController__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MeetingControlController */ "./scripts/elementor/MeetingWidget/MeetingControlController.tsx");
1037 /* harmony import */ var _MeetingWidgetController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MeetingWidgetController */ "./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx");
1038 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); }
1039 function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
1040 function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
1041 function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
1042 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; }
1043 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
1044 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); }
1045
1046
1047
1048 var registerMeetingsWidget = /*#__PURE__*/function () {
1049 function registerMeetingsWidget(controlContainer, widgetContainer, setValue) {
1050 _classCallCheck(this, registerMeetingsWidget);
1051 _defineProperty(this, "widgetContainer", void 0);
1052 _defineProperty(this, "controlContainer", void 0);
1053 _defineProperty(this, "setValue", void 0);
1054 _defineProperty(this, "attributes", void 0);
1055 var attributes = widgetContainer.dataset.attributes ? JSON.parse(widgetContainer.dataset.attributes) : {};
1056 this.widgetContainer = widgetContainer;
1057 this.controlContainer = controlContainer;
1058 this.setValue = setValue;
1059 this.attributes = attributes;
1060 }
1061 return _createClass(registerMeetingsWidget, [{
1062 key: "render",
1063 value: function render() {
1064 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_MeetingWidgetController__WEBPACK_IMPORTED_MODULE_2__["default"])(this.attributes, this.setValue)(), this.widgetContainer);
1065 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_MeetingControlController__WEBPACK_IMPORTED_MODULE_1__["default"])(this.attributes, this.setValue)(), this.controlContainer);
1066 }
1067 }, {
1068 key: "done",
1069 value: function done() {
1070 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.widgetContainer);
1071 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.controlContainer);
1072 }
1073 }]);
1074 }();
1075
1076
1077 /***/ }),
1078
1079 /***/ "./scripts/elementor/elementorWidget.ts":
1080 /*!**********************************************!*\
1081 !*** ./scripts/elementor/elementorWidget.ts ***!
1082 \**********************************************/
1083 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1084
1085 "use strict";
1086 __webpack_require__.r(__webpack_exports__);
1087 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1088 /* harmony export */ "default": () => (/* binding */ elementorWidget)
1089 /* harmony export */ });
1090 function elementorWidget(elementor, options, callback) {
1091 var done = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};
1092 return elementor.modules.controls.BaseData.extend({
1093 onReady: function onReady() {
1094 var self = this;
1095 var controlContainer = this.ui.contentEditable.prevObject[0].querySelector(options.controlSelector);
1096 var widgetContainer = this.options.element.$el[0].querySelector(options.containerSelector);
1097 if (widgetContainer) {
1098 callback(controlContainer, widgetContainer, function (args) {
1099 return self.setValue(args);
1100 });
1101 } else {
1102 //@ts-expect-error global
1103 window.elementorFrontend.hooks.addAction("frontend/element_ready/".concat(options.widgetName, ".default"), function (element) {
1104 widgetContainer = element[0].querySelector(options.containerSelector);
1105 callback(controlContainer, widgetContainer, function (args) {
1106 return self.setValue(args);
1107 });
1108 });
1109 }
1110 },
1111 saveValue: function saveValue(props) {
1112 this.setValue(props);
1113 },
1114 onBeforeDestroy: function onBeforeDestroy() {
1115 //@ts-expect-error global
1116 window.elementorFrontend.hooks.removeAction("frontend/element_ready/".concat(options.widgetName, ".default"));
1117 done();
1118 }
1119 });
1120 }
1121
1122 /***/ }),
1123
1124 /***/ "./scripts/iframe/integratedMessages/core/CoreMessages.ts":
1125 /*!****************************************************************!*\
1126 !*** ./scripts/iframe/integratedMessages/core/CoreMessages.ts ***!
1127 \****************************************************************/
1128 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1129
1130 "use strict";
1131 __webpack_require__.r(__webpack_exports__);
1132 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1133 /* harmony export */ "CoreMessages": () => (/* binding */ CoreMessages)
1134 /* harmony export */ });
1135 var CoreMessages = {
1136 HandshakeReceive: 'INTEGRATED_APP_EMBEDDER_HANDSHAKE_RECEIVED',
1137 SendRefreshToken: 'INTEGRATED_APP_EMBEDDER_SEND_REFRESH_TOKEN',
1138 ReloadParentFrame: 'INTEGRATED_APP_EMBEDDER_RELOAD_PARENT_FRAME',
1139 RedirectParentFrame: 'INTEGRATED_APP_EMBEDDER_REDIRECT_PARENT_FRAME',
1140 SendLocale: 'INTEGRATED_APP_EMBEDDER_SEND_LOCALE',
1141 SendDeviceId: 'INTEGRATED_APP_EMBEDDER_SEND_DEVICE_ID',
1142 SendIntegratedAppConfig: 'INTEGRATED_APP_EMBEDDER_CONFIG'
1143 };
1144
1145 /***/ }),
1146
1147 /***/ "./scripts/iframe/integratedMessages/forms/FormsMessages.ts":
1148 /*!******************************************************************!*\
1149 !*** ./scripts/iframe/integratedMessages/forms/FormsMessages.ts ***!
1150 \******************************************************************/
1151 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1152
1153 "use strict";
1154 __webpack_require__.r(__webpack_exports__);
1155 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1156 /* harmony export */ "FormMessages": () => (/* binding */ FormMessages)
1157 /* harmony export */ });
1158 var FormMessages = {
1159 CreateFormAppNavigation: 'CREATE_FORM_APP_NAVIGATION'
1160 };
1161
1162 /***/ }),
1163
1164 /***/ "./scripts/iframe/integratedMessages/index.ts":
1165 /*!****************************************************!*\
1166 !*** ./scripts/iframe/integratedMessages/index.ts ***!
1167 \****************************************************/
1168 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1169
1170 "use strict";
1171 __webpack_require__.r(__webpack_exports__);
1172 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1173 /* harmony export */ "CoreMessages": () => (/* reexport safe */ _core_CoreMessages__WEBPACK_IMPORTED_MODULE_0__.CoreMessages),
1174 /* harmony export */ "FormMessages": () => (/* reexport safe */ _forms_FormsMessages__WEBPACK_IMPORTED_MODULE_1__.FormMessages),
1175 /* harmony export */ "LiveChatMessages": () => (/* reexport safe */ _livechat_LiveChatMessages__WEBPACK_IMPORTED_MODULE_2__.LiveChatMessages),
1176 /* harmony export */ "PluginMessages": () => (/* reexport safe */ _plugin_PluginMessages__WEBPACK_IMPORTED_MODULE_3__.PluginMessages),
1177 /* harmony export */ "ProxyMessages": () => (/* reexport safe */ _proxy_ProxyMessages__WEBPACK_IMPORTED_MODULE_4__.ProxyMessages)
1178 /* harmony export */ });
1179 /* harmony import */ var _core_CoreMessages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/CoreMessages */ "./scripts/iframe/integratedMessages/core/CoreMessages.ts");
1180 /* harmony import */ var _forms_FormsMessages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./forms/FormsMessages */ "./scripts/iframe/integratedMessages/forms/FormsMessages.ts");
1181 /* harmony import */ var _livechat_LiveChatMessages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./livechat/LiveChatMessages */ "./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts");
1182 /* harmony import */ var _plugin_PluginMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./plugin/PluginMessages */ "./scripts/iframe/integratedMessages/plugin/PluginMessages.ts");
1183 /* harmony import */ var _proxy_ProxyMessages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./proxy/ProxyMessages */ "./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts");
1184
1185
1186
1187
1188
1189
1190 /***/ }),
1191
1192 /***/ "./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts":
1193 /*!************************************************************************!*\
1194 !*** ./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts ***!
1195 \************************************************************************/
1196 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1197
1198 "use strict";
1199 __webpack_require__.r(__webpack_exports__);
1200 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1201 /* harmony export */ "LiveChatMessages": () => (/* binding */ LiveChatMessages)
1202 /* harmony export */ });
1203 var LiveChatMessages = {
1204 CreateLiveChatAppNavigation: 'CREATE_LIVE_CHAT_APP_NAVIGATION'
1205 };
1206
1207 /***/ }),
1208
1209 /***/ "./scripts/iframe/integratedMessages/plugin/PluginMessages.ts":
1210 /*!********************************************************************!*\
1211 !*** ./scripts/iframe/integratedMessages/plugin/PluginMessages.ts ***!
1212 \********************************************************************/
1213 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1214
1215 "use strict";
1216 __webpack_require__.r(__webpack_exports__);
1217 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1218 /* harmony export */ "PluginMessages": () => (/* binding */ PluginMessages)
1219 /* harmony export */ });
1220 var PluginMessages = {
1221 PluginSettingsNavigation: 'PLUGIN_SETTINGS_NAVIGATION',
1222 PluginLeadinConfig: 'PLUGIN_LEADIN_CONFIG',
1223 TrackConsent: 'INTEGRATED_APP_EMBEDDER_TRACK_CONSENT',
1224 InternalTrackingFetchRequest: 'INTEGRATED_TRACKING_FETCH_REQUEST',
1225 InternalTrackingFetchResponse: 'INTEGRATED_TRACKING_FETCH_RESPONSE',
1226 InternalTrackingFetchError: 'INTEGRATED_TRACKING_FETCH_ERROR',
1227 InternalTrackingChangeRequest: 'INTEGRATED_TRACKING_CHANGE_REQUEST',
1228 InternalTrackingChangeError: 'INTEGRATED_TRACKING_CHANGE_ERROR',
1229 BusinessUnitFetchRequest: 'BUSINESS_UNIT_FETCH_REQUEST',
1230 BusinessUnitFetchResponse: 'BUSINESS_UNIT_FETCH_FETCH_RESPONSE',
1231 BusinessUnitFetchError: 'BUSINESS_UNIT_FETCH_FETCH_ERROR',
1232 BusinessUnitChangeRequest: 'BUSINESS_UNIT_CHANGE_REQUEST',
1233 BusinessUnitChangeError: 'BUSINESS_UNIT_CHANGE_ERROR',
1234 SkipReviewRequest: 'SKIP_REVIEW_REQUEST',
1235 SkipReviewResponse: 'SKIP_REVIEW_RESPONSE',
1236 SkipReviewError: 'SKIP_REVIEW_ERROR',
1237 RemoveParentQueryParam: 'REMOVE_PARENT_QUERY_PARAM',
1238 ContentEmbedInstallRequest: 'CONTENT_EMBED_INSTALL_REQUEST',
1239 ContentEmbedInstallResponse: 'CONTENT_EMBED_INSTALL_RESPONSE',
1240 ContentEmbedInstallError: 'CONTENT_EMBED_INSTALL_ERROR',
1241 ContentEmbedActivationRequest: 'CONTENT_EMBED_ACTIVATION_REQUEST',
1242 ContentEmbedActivationResponse: 'CONTENT_EMBED_ACTIVATION_RESPONSE',
1243 ContentEmbedActivationError: 'CONTENT_EMBED_ACTIVATION_ERROR',
1244 ProxyMappingsEnabledRequest: 'PROXY_MAPPINGS_ENABLED_REQUEST',
1245 ProxyMappingsEnabledResponse: 'PROXY_MAPPINGS_ENABLED_RESPONSE',
1246 ProxyMappingsEnabledError: 'PROXY_MAPPINGS_ENABLED_ERROR',
1247 ProxyMappingsEnabledChangeRequest: 'PROXY_MAPPINGS_ENABLED_CHANGE_REQUEST',
1248 ProxyMappingsEnabledChangeError: 'PROXY_MAPPINGS_ENABLED_CHANGE_ERROR',
1249 RefreshProxyMappingsRequest: 'REFRESH_PROXY_MAPPINGS_REQUEST',
1250 RefreshProxyMappingsResponse: 'REFRESH_PROXY_MAPPINGS_RESPONSE',
1251 RefreshProxyMappingsError: 'REFRESH_PROXY_MAPPINGS_ERROR'
1252 };
1253
1254 /***/ }),
1255
1256 /***/ "./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts":
1257 /*!******************************************************************!*\
1258 !*** ./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts ***!
1259 \******************************************************************/
1260 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1261
1262 "use strict";
1263 __webpack_require__.r(__webpack_exports__);
1264 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1265 /* harmony export */ "ProxyMessages": () => (/* binding */ ProxyMessages)
1266 /* harmony export */ });
1267 var ProxyMessages = {
1268 FetchForms: 'FETCH_FORMS',
1269 FetchForm: 'FETCH_FORM',
1270 CreateFormFromTemplate: 'CREATE_FORM_FROM_TEMPLATE',
1271 GetTemplateAvailability: 'GET_TEMPLATE_AVAILABILITY',
1272 FetchAuth: 'FETCH_AUTH',
1273 FetchMeetingsAndUsers: 'FETCH_MEETINGS_AND_USERS',
1274 FetchContactsCreateSinceActivation: 'FETCH_CONTACTS_CREATED_SINCE_ACTIVATION',
1275 FetchOrCreateMeetingUser: 'FETCH_OR_CREATE_MEETING_USER',
1276 ConnectMeetingsCalendar: 'CONNECT_MEETINGS_CALENDAR',
1277 TrackFormPreviewRender: 'TRACK_FORM_PREVIEW_RENDER',
1278 TrackFormCreatedFromTemplate: 'TRACK_FORM_CREATED_FROM_TEMPLATE',
1279 TrackFormCreationFailed: 'TRACK_FORM_CREATION_FAILED',
1280 TrackMeetingPreviewRender: 'TRACK_MEETING_PREVIEW_RENDER',
1281 TrackSidebarMetaChange: 'TRACK_SIDEBAR_META_CHANGE',
1282 TrackReviewBannerRender: 'TRACK_REVIEW_BANNER_RENDER',
1283 TrackReviewBannerInteraction: 'TRACK_REVIEW_BANNER_INTERACTION',
1284 TrackReviewBannerDismissed: 'TRACK_REVIEW_BANNER_DISMISSED',
1285 TrackPluginDeactivation: 'TRACK_PLUGIN_DEACTIVATION'
1286 };
1287
1288 /***/ }),
1289
1290 /***/ "./scripts/iframe/useBackgroundApp.ts":
1291 /*!********************************************!*\
1292 !*** ./scripts/iframe/useBackgroundApp.ts ***!
1293 \********************************************/
1294 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1295
1296 "use strict";
1297 __webpack_require__.r(__webpack_exports__);
1298 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1299 /* harmony export */ "BackgroudAppContext": () => (/* binding */ BackgroudAppContext),
1300 /* harmony export */ "useBackgroundAppContext": () => (/* binding */ useBackgroundAppContext),
1301 /* harmony export */ "usePostAsyncBackgroundMessage": () => (/* binding */ usePostAsyncBackgroundMessage),
1302 /* harmony export */ "usePostBackgroundMessage": () => (/* binding */ usePostBackgroundMessage)
1303 /* harmony export */ });
1304 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1305 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1306
1307 var BackgroudAppContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
1308 function useBackgroundAppContext() {
1309 return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(BackgroudAppContext);
1310 }
1311 function usePostBackgroundMessage() {
1312 var app = useBackgroundAppContext();
1313 return function (message) {
1314 app.postMessage(message);
1315 };
1316 }
1317 function usePostAsyncBackgroundMessage() {
1318 var app = useBackgroundAppContext();
1319 return function (message) {
1320 return app.postAsyncMessage(message);
1321 };
1322 }
1323
1324 /***/ }),
1325
1326 /***/ "./scripts/lib/Raven.ts":
1327 /*!******************************!*\
1328 !*** ./scripts/lib/Raven.ts ***!
1329 \******************************/
1330 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1331
1332 "use strict";
1333 __webpack_require__.r(__webpack_exports__);
1334 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1335 /* harmony export */ "configureRaven": () => (/* binding */ configureRaven),
1336 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1337 /* harmony export */ });
1338 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
1339 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_0__);
1340 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1341
1342
1343 function configureRaven() {
1344 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.hubspotBaseUrl.indexOf('local') !== -1) {
1345 return;
1346 }
1347 var domain = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.hubspotBaseUrl.replace(/https?:\/\/app/, '');
1348 raven_js__WEBPACK_IMPORTED_MODULE_0___default().config("https://a9f08e536ef66abb0bf90becc905b09e@exceptions".concat(domain, "/v2/1"), {
1349 instrument: {
1350 tryCatch: false
1351 },
1352 shouldSendCallback: function shouldSendCallback(data) {
1353 return !!data && !!data.culprit && /plugins\/leadin\//.test(data.culprit);
1354 },
1355 release: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.leadinPluginVersion
1356 }).install();
1357 raven_js__WEBPACK_IMPORTED_MODULE_0___default().setTagsContext({
1358 v: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.leadinPluginVersion,
1359 php: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.phpVersion,
1360 wordpress: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.wpVersion
1361 });
1362 raven_js__WEBPACK_IMPORTED_MODULE_0___default().setExtraContext({
1363 hub: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.portalId,
1364 plugins: Object.keys(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.plugins).map(function (name) {
1365 return "".concat(name, "#").concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.plugins[name]);
1366 }).join(',')
1367 });
1368 }
1369 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((raven_js__WEBPACK_IMPORTED_MODULE_0___default()));
1370
1371 /***/ }),
1372
1373 /***/ "./scripts/shared/Common/AsyncSelect.tsx":
1374 /*!***********************************************!*\
1375 !*** ./scripts/shared/Common/AsyncSelect.tsx ***!
1376 \***********************************************/
1377 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1378
1379 "use strict";
1380 __webpack_require__.r(__webpack_exports__);
1381 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1382 /* harmony export */ "default": () => (/* binding */ AsyncSelect)
1383 /* harmony export */ });
1384 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1385 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
1386 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1387 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
1388 /* harmony import */ var _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/colors */ "./scripts/shared/UIComponents/colors.ts");
1389 /* harmony import */ var _UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
1390 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../enums/loadState */ "./scripts/shared/enums/loadState.ts");
1391 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
1392 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."); }
1393 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; } }
1394 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; }
1395 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
1396 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
1397
1398
1399
1400
1401
1402
1403 var Container = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1404 name: "Container",
1405 "class": "c1wxx7eu",
1406 propsAsIs: false
1407 });
1408 var _exp2 = /*#__PURE__*/function _exp2() {
1409 return function (props) {
1410 return props.focused ? '0' : '1px';
1411 };
1412 };
1413 var _exp3 = /*#__PURE__*/function _exp3() {
1414 return function (props) {
1415 return props.focused ? "0 0 0 2px ".concat(_UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_MEDIUM) : 'none';
1416 };
1417 };
1418 var ControlContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1419 name: "ControlContainer",
1420 "class": "c1rgwbep",
1421 propsAsIs: false,
1422 vars: {
1423 "c1rgwbep-0": [_exp2()],
1424 "c1rgwbep-1": [_exp3()]
1425 }
1426 });
1427 var ValueContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1428 name: "ValueContainer",
1429 "class": "v1mdmbaj",
1430 propsAsIs: false
1431 });
1432 var Placeholder = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1433 name: "Placeholder",
1434 "class": "p1gwkvxy",
1435 propsAsIs: false
1436 });
1437 var SingleValue = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1438 name: "SingleValue",
1439 "class": "s1bwlafs",
1440 propsAsIs: false
1441 });
1442 var IndicatorContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1443 name: "IndicatorContainer",
1444 "class": "i196z9y5",
1445 propsAsIs: false
1446 });
1447 var DropdownIndicator = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1448 name: "DropdownIndicator",
1449 "class": "d1dfo5ow",
1450 propsAsIs: false
1451 });
1452 var InputContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1453 name: "InputContainer",
1454 "class": "if3lze",
1455 propsAsIs: false
1456 });
1457 var Input = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('input')({
1458 name: "Input",
1459 "class": "i9kxf50",
1460 propsAsIs: false
1461 });
1462 var InputShadow = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1463 name: "InputShadow",
1464 "class": "igjr3uc",
1465 propsAsIs: false
1466 });
1467 var MenuContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1468 name: "MenuContainer",
1469 "class": "mhb9if7",
1470 propsAsIs: false
1471 });
1472 var MenuList = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1473 name: "MenuList",
1474 "class": "mxaof7s",
1475 propsAsIs: false
1476 });
1477 var MenuGroup = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1478 name: "MenuGroup",
1479 "class": "mw50s5v",
1480 propsAsIs: false
1481 });
1482 var MenuGroupHeader = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1483 name: "MenuGroupHeader",
1484 "class": "m11rzvjw",
1485 propsAsIs: false
1486 });
1487 var _exp5 = /*#__PURE__*/function _exp5() {
1488 return function (props) {
1489 return props.selected ? _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_MEDIUM : 'transparent';
1490 };
1491 };
1492 var _exp6 = /*#__PURE__*/function _exp6() {
1493 return function (props) {
1494 return props.selected ? '#fff' : 'inherit';
1495 };
1496 };
1497 var _exp7 = /*#__PURE__*/function _exp7() {
1498 return function (props) {
1499 return props.selected ? _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_MEDIUM : _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_LIGHT;
1500 };
1501 };
1502 var MenuItem = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1503 name: "MenuItem",
1504 "class": "m1jcdsjv",
1505 propsAsIs: false,
1506 vars: {
1507 "m1jcdsjv-0": [_exp5()],
1508 "m1jcdsjv-1": [_exp6()],
1509 "m1jcdsjv-2": [_exp7()]
1510 }
1511 });
1512 function AsyncSelect(_ref) {
1513 var placeholder = _ref.placeholder,
1514 value = _ref.value,
1515 loadOptions = _ref.loadOptions,
1516 onChange = _ref.onChange,
1517 defaultOptions = _ref.defaultOptions;
1518 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1519 var inputShadowEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1520 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
1521 _useState2 = _slicedToArray(_useState, 2),
1522 isFocused = _useState2[0],
1523 setFocus = _useState2[1];
1524 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].NotLoaded),
1525 _useState4 = _slicedToArray(_useState3, 2),
1526 loadState = _useState4[0],
1527 setLoadState = _useState4[1];
1528 var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(''),
1529 _useState6 = _slicedToArray(_useState5, 2),
1530 localValue = _useState6[0],
1531 setLocalValue = _useState6[1];
1532 var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(defaultOptions),
1533 _useState8 = _slicedToArray(_useState7, 2),
1534 options = _useState8[0],
1535 setOptions = _useState8[1];
1536 var inputSize = "".concat(inputShadowEl.current ? inputShadowEl.current.clientWidth + 10 : 2, "px");
1537 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
1538 if (loadOptions && loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].NotLoaded) {
1539 loadOptions('', function (result) {
1540 setOptions(result);
1541 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Idle);
1542 });
1543 }
1544 }, [loadOptions, loadState]);
1545 var _renderItems = function renderItems() {
1546 var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1547 var parentKey = arguments.length > 1 ? arguments[1] : undefined;
1548 return items.map(function (item, index) {
1549 if (item.options) {
1550 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(MenuGroup, {
1551 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuGroupHeader, {
1552 id: "".concat(index, "-heading"),
1553 children: item.label
1554 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
1555 children: _renderItems(item.options, index)
1556 })]
1557 }, "async-select-item-".concat(index));
1558 } else {
1559 var key = "async-select-item-".concat(parentKey !== undefined ? "".concat(parentKey, "-").concat(index) : index);
1560 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuItem, {
1561 id: key,
1562 selected: value && item.value === value.value,
1563 onClick: function onClick() {
1564 onChange(item);
1565 setFocus(false);
1566 },
1567 children: item.label
1568 }, key);
1569 }
1570 });
1571 };
1572 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(Container, {
1573 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(ControlContainer, {
1574 id: "leadin-async-selector",
1575 focused: isFocused,
1576 onClick: function onClick() {
1577 if (isFocused) {
1578 if (inputEl.current) {
1579 inputEl.current.blur();
1580 }
1581 setFocus(false);
1582 setLocalValue('');
1583 } else {
1584 if (inputEl.current) {
1585 inputEl.current.focus();
1586 }
1587 setFocus(true);
1588 }
1589 },
1590 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(ValueContainer, {
1591 children: [localValue === '' && (!value ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Placeholder, {
1592 children: placeholder
1593 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SingleValue, {
1594 children: value.label
1595 })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(InputContainer, {
1596 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Input, {
1597 ref: inputEl,
1598 onFocus: function onFocus() {
1599 setFocus(true);
1600 },
1601 onChange: function onChange(e) {
1602 setLocalValue(e.target.value);
1603 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Loading);
1604 loadOptions && loadOptions(e.target.value, function (result) {
1605 setOptions(result);
1606 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Idle);
1607 });
1608 },
1609 value: localValue,
1610 width: inputSize,
1611 id: "asycn-select-input"
1612 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(InputShadow, {
1613 ref: inputShadowEl,
1614 children: localValue
1615 })]
1616 })]
1617 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(IndicatorContainer, {
1618 children: [loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Loading && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(DropdownIndicator, {})]
1619 })]
1620 }), isFocused && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuContainer, {
1621 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuList, {
1622 children: _renderItems(options)
1623 })
1624 })]
1625 });
1626 }
1627 __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");
1628
1629 /***/ }),
1630
1631 /***/ "./scripts/shared/Common/ErrorHandler.tsx":
1632 /*!************************************************!*\
1633 !*** ./scripts/shared/Common/ErrorHandler.tsx ***!
1634 \************************************************/
1635 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1636
1637 "use strict";
1638 __webpack_require__.r(__webpack_exports__);
1639 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1640 /* harmony export */ "default": () => (/* binding */ ErrorHandler)
1641 /* harmony export */ });
1642 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1643 /* harmony import */ var _UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UIComponents/UIButton */ "./scripts/shared/UIComponents/UIButton.ts");
1644 /* harmony import */ var _UIComponents_UIContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIContainer */ "./scripts/shared/UIComponents/UIContainer.ts");
1645 /* harmony import */ var _HubspotWrapper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
1646 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1647 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1648 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
1649
1650
1651
1652
1653
1654
1655
1656 function redirectToPlugin() {
1657 window.location.href = "".concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__.adminUrl, "admin.php?page=leadin&leadin_expired=").concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__.redirectNonce);
1658 }
1659 function ErrorHandler(_ref) {
1660 var status = _ref.status,
1661 resetErrorState = _ref.resetErrorState,
1662 _ref$errorInfo = _ref.errorInfo,
1663 errorInfo = _ref$errorInfo === void 0 ? {
1664 header: '',
1665 message: '',
1666 action: ''
1667 } : _ref$errorInfo;
1668 var isUnauthorized = status === 401 || status === 403;
1669 var errorHeader = isUnauthorized ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)("Your plugin isn't authorized", 'leadin') : errorInfo.header;
1670 var errorMessage = isUnauthorized ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Reauthorize your plugin to access your free HubSpot tools', 'leadin') : errorInfo.message;
1671 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HubspotWrapper__WEBPACK_IMPORTED_MODULE_3__["default"], {
1672 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__.pluginPath,
1673 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_UIComponents_UIContainer__WEBPACK_IMPORTED_MODULE_2__["default"], {
1674 textAlign: "center",
1675 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h4", {
1676 children: errorHeader
1677 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
1678 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
1679 children: errorMessage
1680 })
1681 }), isUnauthorized ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_1__["default"], {
1682 "data-test-id": "authorize-button",
1683 onClick: redirectToPlugin,
1684 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Go to plugin', 'leadin')
1685 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_1__["default"], {
1686 "data-test-id": "retry-button",
1687 onClick: resetErrorState,
1688 children: errorInfo.action
1689 })]
1690 })
1691 });
1692 }
1693
1694 /***/ }),
1695
1696 /***/ "./scripts/shared/Common/HubspotWrapper.ts":
1697 /*!*************************************************!*\
1698 !*** ./scripts/shared/Common/HubspotWrapper.ts ***!
1699 \*************************************************/
1700 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1701
1702 "use strict";
1703 __webpack_require__.r(__webpack_exports__);
1704 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1705 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1706 /* harmony export */ });
1707 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
1708
1709 var _exp = /*#__PURE__*/function _exp() {
1710 return function (props) {
1711 return "url(".concat(props.pluginPath, "/public/assets/images/hubspot.svg)");
1712 };
1713 };
1714 var _exp2 = /*#__PURE__*/function _exp2() {
1715 return function (props) {
1716 return props.padding || '90px 20% 25px';
1717 };
1718 };
1719 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
1720 name: "HubspotWrapper0",
1721 "class": "h1q5v5ee",
1722 propsAsIs: false,
1723 vars: {
1724 "h1q5v5ee-0": [_exp()],
1725 "h1q5v5ee-1": [_exp2()]
1726 }
1727 }));
1728 __webpack_require__(/*! ./HubspotWrapper.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./HubspotWrapper.ts */ "./scripts/shared/Common/HubspotWrapper.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/HubspotWrapper.ts");
1729
1730 /***/ }),
1731
1732 /***/ "./scripts/shared/Common/LoadingBlock.tsx":
1733 /*!************************************************!*\
1734 !*** ./scripts/shared/Common/LoadingBlock.tsx ***!
1735 \************************************************/
1736 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1737
1738 "use strict";
1739 __webpack_require__.r(__webpack_exports__);
1740 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1741 /* harmony export */ "default": () => (/* binding */ LoadingBlock)
1742 /* harmony export */ });
1743 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1744 /* harmony import */ var _HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
1745 /* harmony import */ var _UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
1746 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1747
1748
1749
1750
1751 function LoadingBlock() {
1752 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__["default"], {
1753 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.pluginPath,
1754 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_2__["default"], {
1755 size: 50
1756 })
1757 });
1758 }
1759
1760 /***/ }),
1761
1762 /***/ "./scripts/shared/Common/PreviewDisabled.tsx":
1763 /*!***************************************************!*\
1764 !*** ./scripts/shared/Common/PreviewDisabled.tsx ***!
1765 \***************************************************/
1766 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1767
1768 "use strict";
1769 __webpack_require__.r(__webpack_exports__);
1770 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1771 /* harmony export */ "default": () => (/* binding */ PreviewDisabled)
1772 /* harmony export */ });
1773 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1774 /* harmony import */ var _UIComponents_UIContainer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UIComponents/UIContainer */ "./scripts/shared/UIComponents/UIContainer.ts");
1775 /* harmony import */ var _HubspotWrapper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
1776 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1777 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1778 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
1779
1780
1781
1782
1783
1784 function PreviewDisabled() {
1785 var errorHeader = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Preview Unavailable', 'leadin');
1786 var errorMessage = "".concat((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('This block cannot be previewed within the Full Site Editor', 'leadin'), " ").concat((0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Switch to the Block Editor to view the content', 'leadin'));
1787 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HubspotWrapper__WEBPACK_IMPORTED_MODULE_2__["default"], {
1788 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.pluginPath,
1789 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_UIComponents_UIContainer__WEBPACK_IMPORTED_MODULE_1__["default"], {
1790 textAlign: "center",
1791 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h4", {
1792 children: errorHeader
1793 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
1794 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
1795 children: errorMessage
1796 })
1797 })]
1798 })
1799 });
1800 }
1801
1802 /***/ }),
1803
1804 /***/ "./scripts/shared/Form/FormEdit.tsx":
1805 /*!******************************************!*\
1806 !*** ./scripts/shared/Form/FormEdit.tsx ***!
1807 \******************************************/
1808 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1809
1810 "use strict";
1811 __webpack_require__.r(__webpack_exports__);
1812 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1813 /* harmony export */ "default": () => (/* binding */ FormEditContainer)
1814 /* harmony export */ });
1815 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1816 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
1817 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1818 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1819 /* harmony import */ var _UIComponents_UISpacer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UIComponents/UISpacer */ "./scripts/shared/UIComponents/UISpacer.ts");
1820 /* harmony import */ var _PreviewForm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PreviewForm */ "./scripts/shared/Form/PreviewForm.tsx");
1821 /* harmony import */ var _FormSelect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FormSelect */ "./scripts/shared/Form/FormSelect.tsx");
1822 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
1823 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
1824 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
1825 /* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
1826 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); }
1827 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; }
1828 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; }
1829 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; }
1830 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
1831 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); }
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842 function FormEdit(_ref) {
1843 var attributes = _ref.attributes,
1844 isSelected = _ref.isSelected,
1845 setAttributes = _ref.setAttributes,
1846 _ref$preview = _ref.preview,
1847 preview = _ref$preview === void 0 ? true : _ref$preview,
1848 _ref$origin = _ref.origin,
1849 origin = _ref$origin === void 0 ? 'gutenberg' : _ref$origin,
1850 fullSiteEditor = _ref.fullSiteEditor;
1851 var formId = attributes.formId,
1852 formName = attributes.formName,
1853 embedVersion = attributes.embedVersion;
1854 var formSelected = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId && formId;
1855 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.useBackgroundAppContext)();
1856 var monitorFormPreviewRender = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.usePostBackgroundMessage)();
1857 var handleChange = function handleChange(selectedForm) {
1858 setAttributes({
1859 portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
1860 formId: selectedForm.value,
1861 formName: selectedForm.label,
1862 embedVersion: selectedForm.embedVersion
1863 });
1864 };
1865 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
1866 monitorFormPreviewRender({
1867 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__.ProxyMessages.TrackFormPreviewRender,
1868 payload: {
1869 origin: origin
1870 }
1871 });
1872 }, [origin]);
1873 return !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_8__["default"], {}) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
1874 children: [(isSelected || !formSelected) && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FormSelect__WEBPACK_IMPORTED_MODULE_5__["default"], {
1875 formId: formId,
1876 formName: formName,
1877 handleChange: handleChange,
1878 origin: origin,
1879 embedVersion: embedVersion
1880 }), formSelected && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
1881 children: [isSelected && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UISpacer__WEBPACK_IMPORTED_MODULE_3__["default"], {}), preview && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PreviewForm__WEBPACK_IMPORTED_MODULE_4__["default"], {
1882 portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
1883 formId: formId,
1884 fullSiteEditor: fullSiteEditor,
1885 embedVersion: embedVersion
1886 })]
1887 })]
1888 });
1889 }
1890 function FormEditContainer(props) {
1891 var embedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_9__.useGetEmbedder)();
1892 if (embedder === null) {
1893 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_8__["default"], {});
1894 }
1895 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.BackgroudAppContext.Provider, {
1896 value: embedder,
1897 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(FormEdit, _objectSpread({}, props))
1898 });
1899 }
1900
1901 /***/ }),
1902
1903 /***/ "./scripts/shared/Form/FormSelect.tsx":
1904 /*!********************************************!*\
1905 !*** ./scripts/shared/Form/FormSelect.tsx ***!
1906 \********************************************/
1907 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1908
1909 "use strict";
1910 __webpack_require__.r(__webpack_exports__);
1911 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1912 /* harmony export */ "default": () => (/* binding */ FormSelect)
1913 /* harmony export */ });
1914 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1915 /* harmony import */ var _FormSelector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormSelector */ "./scripts/shared/Form/FormSelector.tsx");
1916 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
1917 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1918 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1919 /* harmony import */ var _hooks_useForms__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useForms */ "./scripts/shared/Form/hooks/useForms.ts");
1920 /* harmony import */ var _hooks_useCreateFormFromTemplate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useCreateFormFromTemplate */ "./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts");
1921 /* harmony import */ var _constants_defaultFormOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../constants/defaultFormOptions */ "./scripts/constants/defaultFormOptions.ts");
1922 /* harmony import */ var _Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
1923
1924
1925
1926
1927
1928
1929
1930
1931 function FormSelect(_ref) {
1932 var formId = _ref.formId,
1933 formName = _ref.formName,
1934 handleChange = _ref.handleChange,
1935 _ref$origin = _ref.origin,
1936 origin = _ref$origin === void 0 ? 'gutenberg' : _ref$origin,
1937 embedVersion = _ref.embedVersion;
1938 var _useForms = (0,_hooks_useForms__WEBPACK_IMPORTED_MODULE_4__["default"])(),
1939 search = _useForms.search,
1940 formApiError = _useForms.formApiError,
1941 reset = _useForms.reset;
1942 var _useCreateFormFromTem = (0,_hooks_useCreateFormFromTemplate__WEBPACK_IMPORTED_MODULE_5__["default"])(origin),
1943 createFormByTemplate = _useCreateFormFromTem.createFormByTemplate,
1944 createReset = _useCreateFormFromTem.reset,
1945 isCreating = _useCreateFormFromTem.isCreating,
1946 hasError = _useCreateFormFromTem.hasError,
1947 createApiError = _useCreateFormFromTem.formApiError;
1948 var value = formId && formName ? {
1949 label: formName,
1950 value: formId,
1951 embedVersion: embedVersion
1952 } : null;
1953 var handleLocalChange = function handleLocalChange(option) {
1954 if ((0,_constants_defaultFormOptions__WEBPACK_IMPORTED_MODULE_6__.isDefaultForm)(option.value)) {
1955 createFormByTemplate(option.value).then(function (_ref2) {
1956 var guid = _ref2.guid,
1957 name = _ref2.name;
1958 handleChange({
1959 value: guid,
1960 label: name,
1961 embedVersion: 'v4'
1962 });
1963 });
1964 } else {
1965 handleChange(option);
1966 }
1967 };
1968 return isCreating ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_2__["default"], {}) : formApiError || createApiError ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_7__["default"], {
1969 status: formApiError ? formApiError.status : createApiError.status,
1970 resetErrorState: function resetErrorState() {
1971 if (hasError) {
1972 createReset();
1973 } else {
1974 reset();
1975 }
1976 },
1977 errorInfo: {
1978 header: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('There was a problem retrieving your forms', 'leadin'),
1979 message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Please refresh your forms or try again in a few minutes', 'leadin'),
1980 action: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Refresh forms', 'leadin')
1981 }
1982 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FormSelector__WEBPACK_IMPORTED_MODULE_1__["default"], {
1983 loadOptions: search,
1984 onChange: function onChange(option) {
1985 return handleLocalChange(option);
1986 },
1987 value: value
1988 });
1989 }
1990
1991 /***/ }),
1992
1993 /***/ "./scripts/shared/Form/FormSelector.tsx":
1994 /*!**********************************************!*\
1995 !*** ./scripts/shared/Form/FormSelector.tsx ***!
1996 \**********************************************/
1997 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1998
1999 "use strict";
2000 __webpack_require__.r(__webpack_exports__);
2001 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2002 /* harmony export */ "default": () => (/* binding */ FormSelector)
2003 /* harmony export */ });
2004 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2005 /* harmony import */ var _Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Common/HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
2006 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2007 /* harmony import */ var _Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/AsyncSelect */ "./scripts/shared/Common/AsyncSelect.tsx");
2008 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2009 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
2010
2011
2012
2013
2014
2015 function FormSelector(_ref) {
2016 var loadOptions = _ref.loadOptions,
2017 onChange = _ref.onChange,
2018 value = _ref.value;
2019 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__["default"], {
2020 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.pluginPath,
2021 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
2022 "data-test-id": "leadin-form-select",
2023 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
2024 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Select an existing form or create a new one from a template', 'leadin')
2025 })
2026 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_3__["default"], {
2027 placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Search for a form', 'leadin'),
2028 value: value,
2029 loadOptions: loadOptions,
2030 onChange: onChange
2031 })]
2032 });
2033 }
2034
2035 /***/ }),
2036
2037 /***/ "./scripts/shared/Form/PreviewForm.tsx":
2038 /*!*********************************************!*\
2039 !*** ./scripts/shared/Form/PreviewForm.tsx ***!
2040 \*********************************************/
2041 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2042
2043 "use strict";
2044 __webpack_require__.r(__webpack_exports__);
2045 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2046 /* harmony export */ "default": () => (/* binding */ PreviewForm)
2047 /* harmony export */ });
2048 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2049 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2050 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2051 /* harmony import */ var _UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIOverlay */ "./scripts/shared/UIComponents/UIOverlay.ts");
2052 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2053 /* harmony import */ var _Common_PreviewDisabled__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Common/PreviewDisabled */ "./scripts/shared/Common/PreviewDisabled.tsx");
2054 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); }
2055 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; }
2056 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; }
2057 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; }
2058 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
2059 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); }
2060
2061
2062
2063
2064
2065 function PreviewForm(_ref) {
2066 var portalId = _ref.portalId,
2067 formId = _ref.formId,
2068 fullSiteEditor = _ref.fullSiteEditor,
2069 embedVersion = _ref.embedVersion;
2070 var isFormV4 = embedVersion === 'v4';
2071 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
2072 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2073 if (inputEl.current) {
2074 //@ts-expect-error Hubspot global
2075 var hbspt = window.parent.hbspt || window.hbspt;
2076 inputEl.current.innerHTML = '';
2077 var isQa = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.formsScriptPayload.includes('qa');
2078 if (isFormV4) {
2079 var container = document.createElement('div');
2080 container.classList.add('hs-form-frame');
2081 container.dataset.region = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.hublet;
2082 container.dataset.formId = formId;
2083 container.dataset.portalId = portalId.toString();
2084 container.dataset.env = isQa ? 'qa' : '';
2085 inputEl.current.appendChild(container);
2086 } else {
2087 var additionalParams = isQa ? {
2088 env: 'qa'
2089 } : {};
2090 hbspt.forms.create(_objectSpread({
2091 portalId: portalId,
2092 formId: formId,
2093 region: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.hublet,
2094 target: "#".concat(inputEl.current.id)
2095 }, additionalParams));
2096 }
2097 }
2098 }, [formId, portalId, inputEl, isFormV4]);
2099 if (fullSiteEditor) {
2100 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_PreviewDisabled__WEBPACK_IMPORTED_MODULE_4__["default"], {});
2101 }
2102 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__["default"], {
2103 ref: inputEl,
2104 id: "hbspt-previewform-".concat(formId)
2105 });
2106 }
2107
2108 /***/ }),
2109
2110 /***/ "./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts":
2111 /*!****************************************************************!*\
2112 !*** ./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts ***!
2113 \****************************************************************/
2114 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2115
2116 "use strict";
2117 __webpack_require__.r(__webpack_exports__);
2118 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2119 /* harmony export */ "default": () => (/* binding */ useCreateFormFromTemplate)
2120 /* harmony export */ });
2121 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2122 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2123 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2124 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2125 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2126 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2127 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."); }
2128 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; } }
2129 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; }
2130 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
2131 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2132
2133
2134
2135
2136 function useCreateFormFromTemplate() {
2137 var origin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'gutenberg';
2138 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostAsyncBackgroundMessage)();
2139 var track = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostBackgroundMessage)();
2140 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle),
2141 _useState2 = _slicedToArray(_useState, 2),
2142 loadState = _useState2[0],
2143 setLoadState = _useState2[1];
2144 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2145 _useState4 = _slicedToArray(_useState3, 2),
2146 formApiError = _useState4[0],
2147 setFormApiError = _useState4[1];
2148 var createFormByTemplate = function createFormByTemplate(type) {
2149 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading);
2150 track({
2151 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.TrackFormCreatedFromTemplate,
2152 payload: {
2153 type: type,
2154 origin: origin
2155 }
2156 });
2157 return proxy({
2158 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.CreateFormFromTemplate,
2159 payload: {
2160 type: type,
2161 embedVersion: 'v4'
2162 }
2163 }).then(function (form) {
2164 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle);
2165 return form;
2166 })["catch"](function (err) {
2167 setFormApiError(err);
2168 track({
2169 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.TrackFormCreationFailed,
2170 payload: {
2171 origin: origin
2172 }
2173 });
2174 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed);
2175 });
2176 };
2177 return {
2178 isCreating: loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading,
2179 hasError: loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed,
2180 formApiError: formApiError,
2181 createFormByTemplate: createFormByTemplate,
2182 reset: function reset() {
2183 return setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle);
2184 }
2185 };
2186 }
2187
2188 /***/ }),
2189
2190 /***/ "./scripts/shared/Form/hooks/useForms.ts":
2191 /*!***********************************************!*\
2192 !*** ./scripts/shared/Form/hooks/useForms.ts ***!
2193 \***********************************************/
2194 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2195
2196 "use strict";
2197 __webpack_require__.r(__webpack_exports__);
2198 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2199 /* harmony export */ "default": () => (/* binding */ useForms)
2200 /* harmony export */ });
2201 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2202 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2203 /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js");
2204 /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__);
2205 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2206 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2207 /* harmony import */ var _useGetTemplateAvailability__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useGetTemplateAvailability */ "./scripts/shared/Form/hooks/useGetTemplateAvailability.ts");
2208 function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2209 function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
2210 function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
2211 function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
2212 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2213 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."); }
2214 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; } }
2215 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; }
2216 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
2217 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2218
2219
2220
2221
2222
2223 function useForms() {
2224 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_2__.usePostAsyncBackgroundMessage)();
2225 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2226 _useState2 = _slicedToArray(_useState, 2),
2227 formApiError = _useState2[0],
2228 setFormApiError = _useState2[1];
2229 var _useGetTemplateAvaila = (0,_useGetTemplateAvailability__WEBPACK_IMPORTED_MODULE_4__["default"])(),
2230 availabilityPromise = _useGetTemplateAvaila.availabilityPromise;
2231 var search = lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default()(function (search, callback) {
2232 return Promise.all([availabilityPromise, proxy({
2233 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.FetchForms,
2234 payload: {
2235 search: search
2236 }
2237 })]).then(function (_ref) {
2238 var _ref2 = _slicedToArray(_ref, 2),
2239 templateAvailabilityResponse = _ref2[0],
2240 forms = _ref2[1];
2241 var TEMPLATE_OPTIONS = (0,_useGetTemplateAvailability__WEBPACK_IMPORTED_MODULE_4__.getTemplateOptions)(templateAvailabilityResponse.templateAvailability);
2242 callback([].concat(_toConsumableArray(forms.map(function (form) {
2243 return {
2244 label: form.name,
2245 value: form.guid,
2246 embedVersion: form.embedVersion
2247 };
2248 })), [TEMPLATE_OPTIONS]));
2249 })["catch"](function (error) {
2250 setFormApiError(error);
2251 });
2252 }, 300, {
2253 trailing: true
2254 });
2255 return {
2256 search: search,
2257 formApiError: formApiError,
2258 reset: function reset() {
2259 return setFormApiError(null);
2260 }
2261 };
2262 }
2263
2264 /***/ }),
2265
2266 /***/ "./scripts/shared/Form/hooks/useGetTemplateAvailability.ts":
2267 /*!*****************************************************************!*\
2268 !*** ./scripts/shared/Form/hooks/useGetTemplateAvailability.ts ***!
2269 \*****************************************************************/
2270 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2271
2272 "use strict";
2273 __webpack_require__.r(__webpack_exports__);
2274 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2275 /* harmony export */ "default": () => (/* binding */ useGetTemplateAvailability),
2276 /* harmony export */ "getTemplateOptions": () => (/* binding */ getTemplateOptions),
2277 /* harmony export */ "isDefaultForm": () => (/* binding */ isDefaultForm)
2278 /* harmony export */ });
2279 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2280 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2281 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2282 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
2283 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2284 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2285 /* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../types */ "./scripts/shared/types.ts");
2286 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2287 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."); }
2288 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; } }
2289 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; }
2290 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
2291 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2292
2293
2294
2295
2296
2297 function useGetTemplateAvailability() {
2298 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_2__.usePostAsyncBackgroundMessage)();
2299 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2300 _useState2 = _slicedToArray(_useState, 2),
2301 templateAvailability = _useState2[0],
2302 setTemplateAvailability = _useState2[1];
2303 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(function () {
2304 return new Promise(function (resolve) {
2305 proxy({
2306 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.GetTemplateAvailability,
2307 payload: {}
2308 }).then(function (data) {
2309 setTemplateAvailability(data.templateAvailability);
2310 resolve(data);
2311 });
2312 });
2313 }),
2314 _useState4 = _slicedToArray(_useState3, 1),
2315 availabilityPromise = _useState4[0];
2316 return {
2317 templateAvailability: templateAvailability,
2318 availabilityPromise: availabilityPromise
2319 };
2320 }
2321 var getTemplateOptions = function getTemplateOptions(templateAvailability) {
2322 if (!templateAvailability) {
2323 return {};
2324 }
2325 return {
2326 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Templates', 'leadin'),
2327 options: Object.keys(templateAvailability).filter(function (templateId) {
2328 var hubspotFormTemplateAvailability = templateAvailability[templateId];
2329 return (hubspotFormTemplateAvailability.canCreateWithMissingScopes || !hubspotFormTemplateAvailability.missingScopes.length) && !Object.values(_types__WEBPACK_IMPORTED_MODULE_4__.ExcludedTemplateAvailabilityKeys).includes(templateId);
2330 }).map(function (templateId) {
2331 return {
2332 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)(_types__WEBPACK_IMPORTED_MODULE_4__.TemplateLabels[templateId], 'leadin'),
2333 value: _types__WEBPACK_IMPORTED_MODULE_4__.TemplateValues[templateId]
2334 };
2335 })
2336 };
2337 };
2338 function isDefaultForm(value) {
2339 return Object.values(_types__WEBPACK_IMPORTED_MODULE_4__.TemplateValues).includes(value);
2340 }
2341
2342 /***/ }),
2343
2344 /***/ "./scripts/shared/Meeting/MeetingController.tsx":
2345 /*!******************************************************!*\
2346 !*** ./scripts/shared/Meeting/MeetingController.tsx ***!
2347 \******************************************************/
2348 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2349
2350 "use strict";
2351 __webpack_require__.r(__webpack_exports__);
2352 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2353 /* harmony export */ "default": () => (/* binding */ MeetingController)
2354 /* harmony export */ });
2355 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2356 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2357 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2358 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
2359 /* harmony import */ var _MeetingSelector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MeetingSelector */ "./scripts/shared/Meeting/MeetingSelector.tsx");
2360 /* harmony import */ var _MeetingWarning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./MeetingWarning */ "./scripts/shared/Meeting/MeetingWarning.tsx");
2361 /* harmony import */ var _hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useMeetings */ "./scripts/shared/Meeting/hooks/useMeetings.ts");
2362 /* harmony import */ var _Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Common/HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
2363 /* harmony import */ var _Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
2364 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2365 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2366 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__);
2367 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
2368 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_10__);
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380 function MeetingController(_ref) {
2381 var handleChange = _ref.handleChange,
2382 url = _ref.url;
2383 var _useMeetings = (0,_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__["default"])(),
2384 meetings = _useMeetings.mappedMeetings,
2385 loading = _useMeetings.loading,
2386 error = _useMeetings.error,
2387 reload = _useMeetings.reload,
2388 connectCalendar = _useMeetings.connectCalendar;
2389 var selectedMeetingOption = (0,_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__.useSelectedMeeting)(url);
2390 var selectedMeetingCalendar = (0,_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__.useSelectedMeetingCalendar)(url);
2391 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2392 if (!url && meetings.length > 0) {
2393 handleChange(meetings[0].value);
2394 }
2395 }, [meetings, url, handleChange]);
2396 var handleLocalChange = function handleLocalChange(option) {
2397 handleChange(option.value);
2398 };
2399 var handleConnectCalendar = function handleConnectCalendar() {
2400 return connectCalendar().then(function () {
2401 reload();
2402 })["catch"](function (error) {
2403 raven_js__WEBPACK_IMPORTED_MODULE_10___default().captureMessage('Unable to connect calendar', {
2404 extra: {
2405 error: error
2406 }
2407 });
2408 });
2409 };
2410 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2411 children: loading ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_2__["default"], {}) : error ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_7__["default"], {
2412 status: error && error.status || error,
2413 resetErrorState: function resetErrorState() {
2414 return reload();
2415 },
2416 errorInfo: {
2417 header: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('There was a problem retrieving your meetings', 'leadin'),
2418 message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Please refresh your meetings or try again in a few minutes', 'leadin'),
2419 action: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Refresh meetings', 'leadin')
2420 }
2421 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_6__["default"], {
2422 padding: "90px 32px 24px",
2423 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_8__.pluginPath,
2424 children: [selectedMeetingCalendar && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MeetingWarning__WEBPACK_IMPORTED_MODULE_4__["default"], {
2425 status: selectedMeetingCalendar,
2426 onConnectCalendar: handleConnectCalendar
2427 }), meetings.length > 1 && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MeetingSelector__WEBPACK_IMPORTED_MODULE_3__["default"], {
2428 onChange: handleLocalChange,
2429 options: meetings,
2430 value: selectedMeetingOption
2431 })]
2432 })
2433 });
2434 }
2435
2436 /***/ }),
2437
2438 /***/ "./scripts/shared/Meeting/MeetingEdit.tsx":
2439 /*!************************************************!*\
2440 !*** ./scripts/shared/Meeting/MeetingEdit.tsx ***!
2441 \************************************************/
2442 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2443
2444 "use strict";
2445 __webpack_require__.r(__webpack_exports__);
2446 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2447 /* harmony export */ "default": () => (/* binding */ MeetingsEditContainer)
2448 /* harmony export */ });
2449 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2450 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2451 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2452 /* harmony import */ var _MeetingController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MeetingController */ "./scripts/shared/Meeting/MeetingController.tsx");
2453 /* harmony import */ var _PreviewMeeting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PreviewMeeting */ "./scripts/shared/Meeting/PreviewMeeting.tsx");
2454 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2455 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2456 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
2457 /* harmony import */ var _utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/useGetEmbedder */ "./scripts/utils/useGetEmbedder.ts");
2458 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); }
2459 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; }
2460 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; }
2461 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; }
2462 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
2463 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); }
2464
2465
2466
2467
2468
2469
2470
2471
2472 function MeetingEdit(_ref) {
2473 var url = _ref.attributes.url,
2474 isSelected = _ref.isSelected,
2475 setAttributes = _ref.setAttributes,
2476 _ref$preview = _ref.preview,
2477 preview = _ref$preview === void 0 ? true : _ref$preview,
2478 _ref$origin = _ref.origin,
2479 origin = _ref$origin === void 0 ? 'gutenberg' : _ref$origin,
2480 fullSiteEditor = _ref.fullSiteEditor;
2481 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.useBackgroundAppContext)();
2482 var monitorFormPreviewRender = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.usePostBackgroundMessage)();
2483 var handleChange = function handleChange(newUrl) {
2484 setAttributes({
2485 url: newUrl
2486 });
2487 };
2488 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2489 monitorFormPreviewRender({
2490 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_5__.ProxyMessages.TrackMeetingPreviewRender,
2491 payload: {
2492 origin: origin
2493 }
2494 });
2495 }, [origin]);
2496 return !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_6__["default"], {}) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2497 children: [(isSelected || !url) && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MeetingController__WEBPACK_IMPORTED_MODULE_2__["default"], {
2498 url: url,
2499 handleChange: handleChange
2500 }), preview && url && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PreviewMeeting__WEBPACK_IMPORTED_MODULE_3__["default"], {
2501 url: url,
2502 fullSiteEditor: fullSiteEditor
2503 })]
2504 });
2505 }
2506 function MeetingsEditContainer(props) {
2507 var embedder = (0,_utils_useGetEmbedder__WEBPACK_IMPORTED_MODULE_7__.useGetEmbedder)();
2508 if (embedder === null) {
2509 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_6__["default"], {});
2510 }
2511 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.BackgroudAppContext.Provider, {
2512 value: embedder,
2513 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MeetingEdit, _objectSpread({}, props))
2514 });
2515 }
2516
2517 /***/ }),
2518
2519 /***/ "./scripts/shared/Meeting/MeetingSelector.tsx":
2520 /*!****************************************************!*\
2521 !*** ./scripts/shared/Meeting/MeetingSelector.tsx ***!
2522 \****************************************************/
2523 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2524
2525 "use strict";
2526 __webpack_require__.r(__webpack_exports__);
2527 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2528 /* harmony export */ "default": () => (/* binding */ MeetingSelector)
2529 /* harmony export */ });
2530 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2531 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2532 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2533 /* harmony import */ var _Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/AsyncSelect */ "./scripts/shared/Common/AsyncSelect.tsx");
2534 /* harmony import */ var _UIComponents_UISpacer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UIComponents/UISpacer */ "./scripts/shared/UIComponents/UISpacer.ts");
2535 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2536 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
2537
2538
2539
2540
2541
2542 function MeetingSelector(_ref) {
2543 var options = _ref.options,
2544 onChange = _ref.onChange,
2545 value = _ref.value;
2546 var optionsWrapper = [{
2547 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Meeting name', 'leadin'),
2548 options: options
2549 }];
2550 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2551 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UISpacer__WEBPACK_IMPORTED_MODULE_3__["default"], {}), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
2552 "data-test-id": "leadin-meeting-select",
2553 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
2554 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Select a meeting scheduling page', 'leadin')
2555 })
2556 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_2__["default"], {
2557 defaultOptions: optionsWrapper,
2558 onChange: onChange,
2559 placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Select a meeting', 'leadin'),
2560 value: value
2561 })]
2562 });
2563 }
2564
2565 /***/ }),
2566
2567 /***/ "./scripts/shared/Meeting/MeetingWarning.tsx":
2568 /*!***************************************************!*\
2569 !*** ./scripts/shared/Meeting/MeetingWarning.tsx ***!
2570 \***************************************************/
2571 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2572
2573 "use strict";
2574 __webpack_require__.r(__webpack_exports__);
2575 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2576 /* harmony export */ "default": () => (/* binding */ MeetingWarning)
2577 /* harmony export */ });
2578 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2579 /* harmony import */ var _UIComponents_UIAlert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UIComponents/UIAlert */ "./scripts/shared/UIComponents/UIAlert.tsx");
2580 /* harmony import */ var _UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIButton */ "./scripts/shared/UIComponents/UIButton.ts");
2581 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./scripts/shared/Meeting/constants.ts");
2582 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2583 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
2584
2585
2586
2587
2588
2589 function MeetingWarning(_ref) {
2590 var status = _ref.status,
2591 onConnectCalendar = _ref.onConnectCalendar;
2592 var isMeetingOwner = status === _constants__WEBPACK_IMPORTED_MODULE_3__.CURRENT_USER_CALENDAR_MISSING;
2593 var titleText = isMeetingOwner ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Your calendar is not connected', 'leadin') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Calendar is not connected', 'leadin');
2594 var titleMessage = isMeetingOwner ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Please connect your calendar to activate your scheduling pages', 'leadin') : (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Make sure that everybody in this meeting has connected their calendar from the Meetings page in HubSpot', 'leadin');
2595 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIAlert__WEBPACK_IMPORTED_MODULE_1__["default"], {
2596 titleText: titleText,
2597 titleMessage: titleMessage,
2598 children: isMeetingOwner && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_2__["default"], {
2599 use: "tertiary",
2600 id: "meetings-connect-calendar",
2601 onClick: onConnectCalendar,
2602 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Connect calendar', 'leadin')
2603 })
2604 });
2605 }
2606
2607 /***/ }),
2608
2609 /***/ "./scripts/shared/Meeting/PreviewMeeting.tsx":
2610 /*!***************************************************!*\
2611 !*** ./scripts/shared/Meeting/PreviewMeeting.tsx ***!
2612 \***************************************************/
2613 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2614
2615 "use strict";
2616 __webpack_require__.r(__webpack_exports__);
2617 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2618 /* harmony export */ "default": () => (/* binding */ PreviewForm)
2619 /* harmony export */ });
2620 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2621 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2622 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2623 /* harmony import */ var _UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIOverlay */ "./scripts/shared/UIComponents/UIOverlay.ts");
2624 /* harmony import */ var _Common_PreviewDisabled__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/PreviewDisabled */ "./scripts/shared/Common/PreviewDisabled.tsx");
2625
2626
2627
2628
2629 function PreviewForm(_ref) {
2630 var url = _ref.url,
2631 fullSiteEditor = _ref.fullSiteEditor;
2632 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
2633 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2634 if (inputEl.current) {
2635 //@ts-expect-error Hubspot global
2636 var hbspt = window.parent.hbspt || window.hbspt;
2637 hbspt.meetings.create('.meetings-iframe-container');
2638 }
2639 }, [url, inputEl]);
2640 if (fullSiteEditor) {
2641 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_PreviewDisabled__WEBPACK_IMPORTED_MODULE_3__["default"], {});
2642 }
2643 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2644 children: url && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__["default"], {
2645 ref: inputEl,
2646 className: "meetings-iframe-container",
2647 "data-src": "".concat(url, "?embed=true")
2648 })
2649 });
2650 }
2651
2652 /***/ }),
2653
2654 /***/ "./scripts/shared/Meeting/constants.ts":
2655 /*!*********************************************!*\
2656 !*** ./scripts/shared/Meeting/constants.ts ***!
2657 \*********************************************/
2658 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2659
2660 "use strict";
2661 __webpack_require__.r(__webpack_exports__);
2662 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2663 /* harmony export */ "CURRENT_USER_CALENDAR_MISSING": () => (/* binding */ CURRENT_USER_CALENDAR_MISSING),
2664 /* harmony export */ "OTHER_USER_CALENDAR_MISSING": () => (/* binding */ OTHER_USER_CALENDAR_MISSING)
2665 /* harmony export */ });
2666 var OTHER_USER_CALENDAR_MISSING = 'OTHER_USER_CALENDAR_MISSING';
2667 var CURRENT_USER_CALENDAR_MISSING = 'CURRENT_USER_CALENDAR_MISSING';
2668
2669 /***/ }),
2670
2671 /***/ "./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts":
2672 /*!*************************************************************!*\
2673 !*** ./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts ***!
2674 \*************************************************************/
2675 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2676
2677 "use strict";
2678 __webpack_require__.r(__webpack_exports__);
2679 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2680 /* harmony export */ "default": () => (/* binding */ useCurrentUserFetch)
2681 /* harmony export */ });
2682 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2683 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2684 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2685 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2686 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2687 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2688 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."); }
2689 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; } }
2690 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; }
2691 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
2692 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2693
2694
2695
2696
2697 var user = null;
2698 function useCurrentUserFetch() {
2699 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostAsyncBackgroundMessage)();
2700 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded),
2701 _useState2 = _slicedToArray(_useState, 2),
2702 loadState = _useState2[0],
2703 setLoadState = _useState2[1];
2704 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2705 _useState4 = _slicedToArray(_useState3, 2),
2706 error = _useState4[0],
2707 setError = _useState4[1];
2708 var createUser = function createUser() {
2709 if (!user) {
2710 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded);
2711 }
2712 };
2713 var reload = function reload() {
2714 user = null;
2715 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded);
2716 setError(null);
2717 };
2718 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
2719 if (loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded && !user) {
2720 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading);
2721 proxy({
2722 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.FetchOrCreateMeetingUser
2723 }).then(function (data) {
2724 user = data;
2725 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle);
2726 })["catch"](function (err) {
2727 setError(err);
2728 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed);
2729 });
2730 }
2731 }, [loadState]);
2732 return {
2733 user: user,
2734 loadUserState: loadState,
2735 error: error,
2736 createUser: createUser,
2737 reload: reload
2738 };
2739 }
2740
2741 /***/ }),
2742
2743 /***/ "./scripts/shared/Meeting/hooks/useMeetings.ts":
2744 /*!*****************************************************!*\
2745 !*** ./scripts/shared/Meeting/hooks/useMeetings.ts ***!
2746 \*****************************************************/
2747 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2748
2749 "use strict";
2750 __webpack_require__.r(__webpack_exports__);
2751 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2752 /* harmony export */ "default": () => (/* binding */ useMeetings),
2753 /* harmony export */ "useSelectedMeeting": () => (/* binding */ useSelectedMeeting),
2754 /* harmony export */ "useSelectedMeetingCalendar": () => (/* binding */ useSelectedMeetingCalendar)
2755 /* harmony export */ });
2756 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2757 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2758 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2759 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
2760 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./scripts/shared/Meeting/constants.ts");
2761 /* harmony import */ var _useMeetingsFetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useMeetingsFetch */ "./scripts/shared/Meeting/hooks/useMeetingsFetch.ts");
2762 /* harmony import */ var _useCurrentUserFetch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useCurrentUserFetch */ "./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts");
2763 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2764 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2765 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2766 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); }
2767 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; }
2768 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; }
2769 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; }
2770 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
2771 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); }
2772 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2773 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."); }
2774 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; } }
2775 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; }
2776 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
2777 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2778
2779
2780
2781
2782
2783
2784
2785
2786 function getDefaultMeetingName(meeting, currentUser, meetingUsers) {
2787 var _meeting$meetingsUser = _slicedToArray(meeting.meetingsUserIds, 1),
2788 meetingOwnerId = _meeting$meetingsUser[0];
2789 var result = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Default', 'leadin');
2790 if (currentUser && meetingOwnerId !== currentUser.id && meetingUsers[meetingOwnerId]) {
2791 var user = meetingUsers[meetingOwnerId];
2792 result += " (".concat(user.userProfile.fullName, ")");
2793 }
2794 return result;
2795 }
2796 function hasCalendarObject(user) {
2797 return user && user.meetingsUserBlob && user.meetingsUserBlob.calendarSettings && user.meetingsUserBlob.calendarSettings.email;
2798 }
2799 function useMeetings() {
2800 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.usePostAsyncBackgroundMessage)();
2801 var _useMeetingsFetch = (0,_useMeetingsFetch__WEBPACK_IMPORTED_MODULE_3__["default"])(),
2802 meetings = _useMeetingsFetch.meetings,
2803 meetingUsers = _useMeetingsFetch.meetingUsers,
2804 meetingsError = _useMeetingsFetch.error,
2805 loadMeetingsState = _useMeetingsFetch.loadMeetingsState,
2806 reloadMeetings = _useMeetingsFetch.reload;
2807 var _useCurrentUserFetch = (0,_useCurrentUserFetch__WEBPACK_IMPORTED_MODULE_4__["default"])(),
2808 currentUser = _useCurrentUserFetch.user,
2809 userError = _useCurrentUserFetch.error,
2810 loadUserState = _useCurrentUserFetch.loadUserState,
2811 reloadUser = _useCurrentUserFetch.reload;
2812 var reload = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
2813 reloadUser();
2814 reloadMeetings();
2815 }, [reloadUser, reloadMeetings]);
2816 var connectCalendar = function connectCalendar() {
2817 return proxy({
2818 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__.ProxyMessages.ConnectMeetingsCalendar
2819 });
2820 };
2821 return {
2822 mappedMeetings: meetings.map(function (meet) {
2823 return {
2824 label: meet.name || getDefaultMeetingName(meet, currentUser, meetingUsers),
2825 value: meet.link
2826 };
2827 }),
2828 meetings: meetings,
2829 meetingUsers: meetingUsers,
2830 currentUser: currentUser,
2831 error: meetingsError || userError,
2832 loading: loadMeetingsState == _enums_loadState__WEBPACK_IMPORTED_MODULE_5__["default"].Loading || loadUserState === _enums_loadState__WEBPACK_IMPORTED_MODULE_5__["default"].Loading,
2833 reload: reload,
2834 connectCalendar: connectCalendar
2835 };
2836 }
2837 function useSelectedMeeting(url) {
2838 var _useMeetings = useMeetings(),
2839 meetings = _useMeetings.mappedMeetings;
2840 var option = meetings.find(function (_ref) {
2841 var value = _ref.value;
2842 return value === url;
2843 });
2844 return option;
2845 }
2846 function useSelectedMeetingCalendar(url) {
2847 var _useMeetings2 = useMeetings(),
2848 meetings = _useMeetings2.meetings,
2849 meetingUsers = _useMeetings2.meetingUsers,
2850 currentUser = _useMeetings2.currentUser;
2851 var meeting = meetings.find(function (meet) {
2852 return meet.link === url;
2853 });
2854 var mappedMeetingUsersId = meetingUsers.reduce(function (p, c) {
2855 return _objectSpread(_objectSpread({}, p), {}, _defineProperty({}, c.id, c));
2856 }, {});
2857 if (!meeting) {
2858 return null;
2859 } else {
2860 var meetingsUserIds = meeting.meetingsUserIds;
2861 if (currentUser && meetingsUserIds.includes(currentUser.id) && !hasCalendarObject(currentUser)) {
2862 return _constants__WEBPACK_IMPORTED_MODULE_2__.CURRENT_USER_CALENDAR_MISSING;
2863 } else if (meetingsUserIds.map(function (id) {
2864 return mappedMeetingUsersId[id];
2865 }).some(function (user) {
2866 return !hasCalendarObject(user);
2867 })) {
2868 return _constants__WEBPACK_IMPORTED_MODULE_2__.OTHER_USER_CALENDAR_MISSING;
2869 } else {
2870 return null;
2871 }
2872 }
2873 }
2874
2875 /***/ }),
2876
2877 /***/ "./scripts/shared/Meeting/hooks/useMeetingsFetch.ts":
2878 /*!**********************************************************!*\
2879 !*** ./scripts/shared/Meeting/hooks/useMeetingsFetch.ts ***!
2880 \**********************************************************/
2881 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2882
2883 "use strict";
2884 __webpack_require__.r(__webpack_exports__);
2885 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2886 /* harmony export */ "default": () => (/* binding */ useMeetingsFetch)
2887 /* harmony export */ });
2888 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2889 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2890 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2891 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2892 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2893 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2894 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."); }
2895 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; } }
2896 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; }
2897 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
2898 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
2899
2900
2901
2902
2903 var meetings = [];
2904 var meetingUsers = [];
2905 function useMeetingsFetch() {
2906 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostAsyncBackgroundMessage)();
2907 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded),
2908 _useState2 = _slicedToArray(_useState, 2),
2909 loadState = _useState2[0],
2910 setLoadState = _useState2[1];
2911 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2912 _useState4 = _slicedToArray(_useState3, 2),
2913 error = _useState4[0],
2914 setError = _useState4[1];
2915 var reload = function reload() {
2916 meetings = [];
2917 setError(null);
2918 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded);
2919 };
2920 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
2921 if (loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded && meetings.length === 0) {
2922 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading);
2923 proxy({
2924 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.FetchMeetingsAndUsers
2925 }).then(function (data) {
2926 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loaded);
2927 meetings = data && data.meetingLinks;
2928 meetingUsers = data && data.meetingUsers;
2929 })["catch"](function (e) {
2930 setError(e);
2931 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed);
2932 });
2933 }
2934 }, [loadState]);
2935 return {
2936 meetings: meetings,
2937 meetingUsers: meetingUsers,
2938 loadMeetingsState: loadState,
2939 error: error,
2940 reload: reload
2941 };
2942 }
2943
2944 /***/ }),
2945
2946 /***/ "./scripts/shared/UIComponents/UIAlert.tsx":
2947 /*!*************************************************!*\
2948 !*** ./scripts/shared/UIComponents/UIAlert.tsx ***!
2949 \*************************************************/
2950 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2951
2952 "use strict";
2953 __webpack_require__.r(__webpack_exports__);
2954 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2955 /* harmony export */ "default": () => (/* binding */ UIAlert)
2956 /* harmony export */ });
2957 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2958 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
2959
2960
2961 var AlertContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('div')({
2962 name: "AlertContainer",
2963 "class": "a1h8m4fo",
2964 propsAsIs: false
2965 });
2966 var Title = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('p')({
2967 name: "Title",
2968 "class": "tyndzxk",
2969 propsAsIs: false
2970 });
2971 var Message = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('p')({
2972 name: "Message",
2973 "class": "m1m9sbk4",
2974 propsAsIs: false
2975 });
2976 var MessageContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('div')({
2977 name: "MessageContainer",
2978 "class": "mg5o421",
2979 propsAsIs: false
2980 });
2981 function UIAlert(_ref) {
2982 var titleText = _ref.titleText,
2983 titleMessage = _ref.titleMessage,
2984 children = _ref.children;
2985 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(AlertContainer, {
2986 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(MessageContainer, {
2987 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Title, {
2988 children: titleText
2989 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Message, {
2990 children: titleMessage
2991 })]
2992 }), children]
2993 });
2994 }
2995 __webpack_require__(/*! ./UIAlert.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./UIAlert.tsx */ "./scripts/shared/UIComponents/UIAlert.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIAlert.tsx");
2996
2997 /***/ }),
2998
2999 /***/ "./scripts/shared/UIComponents/UIButton.ts":
3000 /*!*************************************************!*\
3001 !*** ./scripts/shared/UIComponents/UIButton.ts ***!
3002 \*************************************************/
3003 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3004
3005 "use strict";
3006 __webpack_require__.r(__webpack_exports__);
3007 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3008 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3009 /* harmony export */ });
3010 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3011 /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "./scripts/shared/UIComponents/colors.ts");
3012
3013
3014 var _exp2 = /*#__PURE__*/function _exp2() {
3015 return function (props) {
3016 return props.use === 'tertiary' ? _colors__WEBPACK_IMPORTED_MODULE_0__.HEFFALUMP : _colors__WEBPACK_IMPORTED_MODULE_0__.LORAX;
3017 };
3018 };
3019 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('button')({
3020 name: "UIButton0",
3021 "class": "ug152ch",
3022 propsAsIs: false,
3023 vars: {
3024 "ug152ch-0": [_exp2()]
3025 }
3026 }));
3027 __webpack_require__(/*! ./UIButton.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./UIButton.ts */ "./scripts/shared/UIComponents/UIButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIButton.ts");
3028
3029 /***/ }),
3030
3031 /***/ "./scripts/shared/UIComponents/UIContainer.ts":
3032 /*!****************************************************!*\
3033 !*** ./scripts/shared/UIComponents/UIContainer.ts ***!
3034 \****************************************************/
3035 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3036
3037 "use strict";
3038 __webpack_require__.r(__webpack_exports__);
3039 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3040 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3041 /* harmony export */ });
3042 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3043
3044 var _exp = /*#__PURE__*/function _exp() {
3045 return function (props) {
3046 return props.textAlign ? props.textAlign : 'inherit';
3047 };
3048 };
3049 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
3050 name: "UIContainer0",
3051 "class": "ua13n1c",
3052 propsAsIs: false,
3053 vars: {
3054 "ua13n1c-0": [_exp()]
3055 }
3056 }));
3057 __webpack_require__(/*! ./UIContainer.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./UIContainer.ts */ "./scripts/shared/UIComponents/UIContainer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIContainer.ts");
3058
3059 /***/ }),
3060
3061 /***/ "./scripts/shared/UIComponents/UIOverlay.ts":
3062 /*!**************************************************!*\
3063 !*** ./scripts/shared/UIComponents/UIOverlay.ts ***!
3064 \**************************************************/
3065 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3066
3067 "use strict";
3068 __webpack_require__.r(__webpack_exports__);
3069 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3070 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3071 /* harmony export */ });
3072 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3073
3074 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
3075 name: "UIOverlay0",
3076 "class": "u1q7a48k",
3077 propsAsIs: false
3078 }));
3079 __webpack_require__(/*! ./UIOverlay.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./UIOverlay.ts */ "./scripts/shared/UIComponents/UIOverlay.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIOverlay.ts");
3080
3081 /***/ }),
3082
3083 /***/ "./scripts/shared/UIComponents/UISpacer.ts":
3084 /*!*************************************************!*\
3085 !*** ./scripts/shared/UIComponents/UISpacer.ts ***!
3086 \*************************************************/
3087 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3088
3089 "use strict";
3090 __webpack_require__.r(__webpack_exports__);
3091 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3092 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3093 /* harmony export */ });
3094 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3095
3096 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
3097 name: "UISpacer0",
3098 "class": "u3qxofx",
3099 propsAsIs: false
3100 }));
3101 __webpack_require__(/*! ./UISpacer.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./UISpacer.ts */ "./scripts/shared/UIComponents/UISpacer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpacer.ts");
3102
3103 /***/ }),
3104
3105 /***/ "./scripts/shared/UIComponents/UISpinner.tsx":
3106 /*!***************************************************!*\
3107 !*** ./scripts/shared/UIComponents/UISpinner.tsx ***!
3108 \***************************************************/
3109 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3110
3111 "use strict";
3112 __webpack_require__.r(__webpack_exports__);
3113 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3114 /* harmony export */ "default": () => (/* binding */ UISpinner)
3115 /* harmony export */ });
3116 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
3117 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3118 /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ "./scripts/shared/UIComponents/colors.ts");
3119
3120
3121
3122 var SpinnerOuter = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('div')({
3123 name: "SpinnerOuter",
3124 "class": "sxa9zrc",
3125 propsAsIs: false
3126 });
3127 var SpinnerInner = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('div')({
3128 name: "SpinnerInner",
3129 "class": "s14430wa",
3130 propsAsIs: false
3131 });
3132 var _exp = /*#__PURE__*/function _exp() {
3133 return function (props) {
3134 return props.color;
3135 };
3136 };
3137 var Circle = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('circle')({
3138 name: "Circle",
3139 "class": "ct87ghk",
3140 propsAsIs: true,
3141 vars: {
3142 "ct87ghk-0": [_exp()]
3143 }
3144 });
3145 var _exp2 = /*#__PURE__*/function _exp2() {
3146 return function (props) {
3147 return props.color;
3148 };
3149 };
3150 var AnimatedCircle = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('circle')({
3151 name: "AnimatedCircle",
3152 "class": "avili0h",
3153 propsAsIs: true,
3154 vars: {
3155 "avili0h-0": [_exp2()]
3156 }
3157 });
3158 function UISpinner(_ref) {
3159 var _ref$size = _ref.size,
3160 size = _ref$size === void 0 ? 20 : _ref$size;
3161 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SpinnerOuter, {
3162 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SpinnerInner, {
3163 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg", {
3164 height: size,
3165 width: size,
3166 viewBox: "0 0 50 50",
3167 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Circle, {
3168 color: _colors__WEBPACK_IMPORTED_MODULE_1__.CALYPSO_MEDIUM,
3169 cx: "25",
3170 cy: "25",
3171 r: "22.5"
3172 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(AnimatedCircle, {
3173 color: _colors__WEBPACK_IMPORTED_MODULE_1__.CALYPSO,
3174 cx: "25",
3175 cy: "25",
3176 r: "22.5"
3177 })]
3178 })
3179 })
3180 });
3181 }
3182 __webpack_require__(/*! ./UISpinner.linaria.css!=!../../../node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./UISpinner.tsx */ "./scripts/shared/UIComponents/UISpinner.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpinner.tsx");
3183
3184 /***/ }),
3185
3186 /***/ "./scripts/shared/UIComponents/colors.ts":
3187 /*!***********************************************!*\
3188 !*** ./scripts/shared/UIComponents/colors.ts ***!
3189 \***********************************************/
3190 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3191
3192 "use strict";
3193 __webpack_require__.r(__webpack_exports__);
3194 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3195 /* harmony export */ "CALYPSO": () => (/* binding */ CALYPSO),
3196 /* harmony export */ "CALYPSO_LIGHT": () => (/* binding */ CALYPSO_LIGHT),
3197 /* harmony export */ "CALYPSO_MEDIUM": () => (/* binding */ CALYPSO_MEDIUM),
3198 /* harmony export */ "HEFFALUMP": () => (/* binding */ HEFFALUMP),
3199 /* harmony export */ "LORAX": () => (/* binding */ LORAX),
3200 /* harmony export */ "MARIGOLD_LIGHT": () => (/* binding */ MARIGOLD_LIGHT),
3201 /* harmony export */ "MARIGOLD_MEDIUM": () => (/* binding */ MARIGOLD_MEDIUM),
3202 /* harmony export */ "OBSIDIAN": () => (/* binding */ OBSIDIAN),
3203 /* harmony export */ "OLAF": () => (/* binding */ OLAF)
3204 /* harmony export */ });
3205 var CALYPSO = '#00a4bd';
3206 var CALYPSO_MEDIUM = '#7fd1de';
3207 var CALYPSO_LIGHT = '#e5f5f8';
3208 var LORAX = '#ff7a59';
3209 var OLAF = '#ffffff';
3210 var HEFFALUMP = '#425b76';
3211 var MARIGOLD_LIGHT = '#fef8f0';
3212 var MARIGOLD_MEDIUM = '#fae0b5';
3213 var OBSIDIAN = '#33475b';
3214
3215 /***/ }),
3216
3217 /***/ "./scripts/shared/enums/connectionStatus.ts":
3218 /*!**************************************************!*\
3219 !*** ./scripts/shared/enums/connectionStatus.ts ***!
3220 \**************************************************/
3221 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3222
3223 "use strict";
3224 __webpack_require__.r(__webpack_exports__);
3225 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3226 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3227 /* harmony export */ });
3228 var ConnectionStatus = {
3229 Connected: 'Connected',
3230 NotConnected: 'NotConnected'
3231 };
3232 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ConnectionStatus);
3233
3234 /***/ }),
3235
3236 /***/ "./scripts/shared/enums/loadState.ts":
3237 /*!*******************************************!*\
3238 !*** ./scripts/shared/enums/loadState.ts ***!
3239 \*******************************************/
3240 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3241
3242 "use strict";
3243 __webpack_require__.r(__webpack_exports__);
3244 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3245 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3246 /* harmony export */ });
3247 var LoadState = {
3248 NotLoaded: 'NotLoaded',
3249 Loading: 'Loading',
3250 Loaded: 'Loaded',
3251 Idle: 'Idle',
3252 Failed: 'Failed'
3253 };
3254 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadState);
3255
3256 /***/ }),
3257
3258 /***/ "./scripts/shared/types.ts":
3259 /*!*********************************!*\
3260 !*** ./scripts/shared/types.ts ***!
3261 \*********************************/
3262 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3263
3264 "use strict";
3265 __webpack_require__.r(__webpack_exports__);
3266 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3267 /* harmony export */ "ExcludedTemplateAvailabilityKeys": () => (/* binding */ ExcludedTemplateAvailabilityKeys),
3268 /* harmony export */ "HubSpotFormTemplateAvailabilityKeys": () => (/* binding */ HubSpotFormTemplateAvailabilityKeys),
3269 /* harmony export */ "TemplateLabels": () => (/* binding */ TemplateLabels),
3270 /* harmony export */ "TemplateValues": () => (/* binding */ TemplateValues)
3271 /* harmony export */ });
3272 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); }
3273 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; }
3274 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
3275 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); }
3276 var HubSpotFormTemplateAvailabilityKeys;
3277 (function (HubSpotFormTemplateAvailabilityKeys) {
3278 HubSpotFormTemplateAvailabilityKeys["AI_GENERATED"] = "ai-generated";
3279 HubSpotFormTemplateAvailabilityKeys["BLANK"] = "blank";
3280 HubSpotFormTemplateAvailabilityKeys["NEWSLETTER"] = "newsletter";
3281 HubSpotFormTemplateAvailabilityKeys["CONTACT_US"] = "contact-us";
3282 HubSpotFormTemplateAvailabilityKeys["EVENT_REGISTRATION"] = "event-registration";
3283 HubSpotFormTemplateAvailabilityKeys["TALK_TO_AN_EXPERT"] = "talk-to-an-expert";
3284 HubSpotFormTemplateAvailabilityKeys["BOOK_A_MEETING"] = "book-a-meeting";
3285 HubSpotFormTemplateAvailabilityKeys["GATED_CONTENT"] = "gated-content";
3286 HubSpotFormTemplateAvailabilityKeys["SUPPORT"] = "support";
3287 })(HubSpotFormTemplateAvailabilityKeys || (HubSpotFormTemplateAvailabilityKeys = {}));
3288 var ExcludedTemplateAvailabilityKeys;
3289 (function (ExcludedTemplateAvailabilityKeys) {
3290 ExcludedTemplateAvailabilityKeys["SUPPORT"] = "support";
3291 ExcludedTemplateAvailabilityKeys["AI_GENERATED"] = "ai-generated";
3292 })(ExcludedTemplateAvailabilityKeys || (ExcludedTemplateAvailabilityKeys = {}));
3293 var TemplateLabels = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, HubSpotFormTemplateAvailabilityKeys.BLANK, 'Blank Form'), HubSpotFormTemplateAvailabilityKeys.NEWSLETTER, 'Newsletter Form'), HubSpotFormTemplateAvailabilityKeys.CONTACT_US, 'Contact Us Form'), HubSpotFormTemplateAvailabilityKeys.EVENT_REGISTRATION, 'Event Registration Form'), HubSpotFormTemplateAvailabilityKeys.TALK_TO_AN_EXPERT, 'Talk to an Expert Form'), HubSpotFormTemplateAvailabilityKeys.BOOK_A_MEETING, 'Book a Meeting Form'), HubSpotFormTemplateAvailabilityKeys.GATED_CONTENT, 'Gated Content Form');
3294 var TemplateValues = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, HubSpotFormTemplateAvailabilityKeys.BLANK, 'BLANK'), HubSpotFormTemplateAvailabilityKeys.NEWSLETTER, 'NEWSLETTER'), HubSpotFormTemplateAvailabilityKeys.CONTACT_US, 'CONTACT_US'), HubSpotFormTemplateAvailabilityKeys.EVENT_REGISTRATION, 'EVENT_REGISTRATION'), HubSpotFormTemplateAvailabilityKeys.TALK_TO_AN_EXPERT, 'TALK_TO_AN_EXPERT'), HubSpotFormTemplateAvailabilityKeys.BOOK_A_MEETING, 'BOOK_A_MEETING'), HubSpotFormTemplateAvailabilityKeys.GATED_CONTENT, 'GATED_CONTENT');
3295
3296 /***/ }),
3297
3298 /***/ "./scripts/utils/appUtils.ts":
3299 /*!***********************************!*\
3300 !*** ./scripts/utils/appUtils.ts ***!
3301 \***********************************/
3302 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3303
3304 "use strict";
3305 __webpack_require__.r(__webpack_exports__);
3306 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3307 /* harmony export */ "initApp": () => (/* binding */ initApp),
3308 /* harmony export */ "initAppOnReady": () => (/* binding */ initAppOnReady)
3309 /* harmony export */ });
3310 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
3311 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
3312 /* harmony import */ var _lib_Raven__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Raven */ "./scripts/lib/Raven.ts");
3313
3314
3315 function initApp(initFn) {
3316 (0,_lib_Raven__WEBPACK_IMPORTED_MODULE_1__.configureRaven)();
3317 _lib_Raven__WEBPACK_IMPORTED_MODULE_1__["default"].context(initFn);
3318 }
3319 function initAppOnReady(initFn) {
3320 function main() {
3321 jquery__WEBPACK_IMPORTED_MODULE_0___default()(initFn);
3322 }
3323 initApp(main);
3324 }
3325
3326 /***/ }),
3327
3328 /***/ "./scripts/utils/backgroundAppUtils.ts":
3329 /*!*********************************************!*\
3330 !*** ./scripts/utils/backgroundAppUtils.ts ***!
3331 \*********************************************/
3332 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3333
3334 "use strict";
3335 __webpack_require__.r(__webpack_exports__);
3336 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3337 /* harmony export */ "getOrCreateBackgroundApp": () => (/* binding */ getOrCreateBackgroundApp),
3338 /* harmony export */ "initBackgroundApp": () => (/* binding */ initBackgroundApp)
3339 /* harmony export */ });
3340 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
3341 /* harmony import */ var _appUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./appUtils */ "./scripts/utils/appUtils.ts");
3342
3343
3344 function initBackgroundApp(initFn) {
3345 function main() {
3346 if (Array.isArray(initFn)) {
3347 initFn.forEach(function (callback) {
3348 return callback();
3349 });
3350 } else {
3351 initFn();
3352 }
3353 }
3354 (0,_appUtils__WEBPACK_IMPORTED_MODULE_1__.initApp)(main);
3355 }
3356 var getLeadinConfig = function getLeadinConfig() {
3357 return {
3358 leadinPluginVersion: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.leadinPluginVersion
3359 };
3360 };
3361 var getOrCreateBackgroundApp = function getOrCreateBackgroundApp() {
3362 var refreshToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
3363 if (window.LeadinBackgroundApp) {
3364 return window.LeadinBackgroundApp;
3365 }
3366 var _window = window,
3367 IntegratedAppEmbedder = _window.IntegratedAppEmbedder,
3368 IntegratedAppOptions = _window.IntegratedAppOptions;
3369 var options = new IntegratedAppOptions().setLocale(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.locale).setDeviceId(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.deviceId).setLeadinConfig(getLeadinConfig()).setRefreshToken(refreshToken.trim());
3370 var embedder = new IntegratedAppEmbedder('integrated-plugin-proxy', _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.portalId, _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.hubspotBaseUrl, function () {}).setOptions(options);
3371 embedder.attachTo(document.body, false);
3372 embedder.postStartAppMessage(); // lets the app know all all data has been passed to it
3373 window.LeadinBackgroundApp = embedder;
3374 return window.LeadinBackgroundApp;
3375 };
3376
3377 /***/ }),
3378
3379 /***/ "./scripts/utils/isRefreshTokenAvailable.ts":
3380 /*!**************************************************!*\
3381 !*** ./scripts/utils/isRefreshTokenAvailable.ts ***!
3382 \**************************************************/
3383 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3384
3385 "use strict";
3386 __webpack_require__.r(__webpack_exports__);
3387 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3388 /* harmony export */ "isRefreshTokenAvailable": () => (/* binding */ isRefreshTokenAvailable)
3389 /* harmony export */ });
3390 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
3391
3392 function isRefreshTokenAvailable() {
3393 return _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.connectionStatus === 'Connected';
3394 }
3395
3396 /***/ }),
3397
3398 /***/ "./scripts/utils/queryParams.ts":
3399 /*!**************************************!*\
3400 !*** ./scripts/utils/queryParams.ts ***!
3401 \**************************************/
3402 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3403
3404 "use strict";
3405 __webpack_require__.r(__webpack_exports__);
3406 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3407 /* harmony export */ "addQueryObjectToUrl": () => (/* binding */ addQueryObjectToUrl),
3408 /* harmony export */ "removeQueryParamFromLocation": () => (/* binding */ removeQueryParamFromLocation)
3409 /* harmony export */ });
3410 function addQueryObjectToUrl(urlObject, queryParams) {
3411 Object.keys(queryParams).forEach(function (key) {
3412 urlObject.searchParams.append(key, queryParams[key]);
3413 });
3414 }
3415 function removeQueryParamFromLocation(key) {
3416 var location = new URL(window.location.href);
3417 location.searchParams["delete"](key);
3418 window.history.replaceState(null, '', location.href);
3419 }
3420
3421 /***/ }),
3422
3423 /***/ "./scripts/utils/useGetEmbedder.ts":
3424 /*!*****************************************!*\
3425 !*** ./scripts/utils/useGetEmbedder.ts ***!
3426 \*****************************************/
3427 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3428
3429 "use strict";
3430 __webpack_require__.r(__webpack_exports__);
3431 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3432 /* harmony export */ "useGetEmbedder": () => (/* binding */ useGetEmbedder)
3433 /* harmony export */ });
3434 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
3435 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
3436 /* harmony import */ var _api_wordpressApiClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../api/wordpressApiClient */ "./scripts/api/wordpressApiClient.ts");
3437 /* harmony import */ var _backgroundAppUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
3438 /* harmony import */ var _isRefreshTokenAvailable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./isRefreshTokenAvailable */ "./scripts/utils/isRefreshTokenAvailable.ts");
3439 function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3440 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."); }
3441 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; } }
3442 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; }
3443 function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
3444 function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
3445
3446
3447
3448
3449 function useGetEmbedder() {
3450 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
3451 _useState2 = _slicedToArray(_useState, 2),
3452 embedder = _useState2[0],
3453 setEmbedder = _useState2[1];
3454 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
3455 if ((0,_isRefreshTokenAvailable__WEBPACK_IMPORTED_MODULE_3__.isRefreshTokenAvailable)()) {
3456 (0,_api_wordpressApiClient__WEBPACK_IMPORTED_MODULE_1__.fetchRefreshToken)().then(function (_ref) {
3457 var refreshToken = _ref.refreshToken;
3458 setEmbedder((0,_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_2__.getOrCreateBackgroundApp)(refreshToken));
3459 });
3460 }
3461 }, []);
3462 return embedder;
3463 }
3464
3465 /***/ }),
3466
3467 /***/ "./node_modules/lodash/_Symbol.js":
3468 /*!****************************************!*\
3469 !*** ./node_modules/lodash/_Symbol.js ***!
3470 \****************************************/
3471 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3472
3473 var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
3474
3475 /** Built-in value references. */
3476 var Symbol = root.Symbol;
3477
3478 module.exports = Symbol;
3479
3480
3481 /***/ }),
3482
3483 /***/ "./node_modules/lodash/_baseGetTag.js":
3484 /*!********************************************!*\
3485 !*** ./node_modules/lodash/_baseGetTag.js ***!
3486 \********************************************/
3487 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3488
3489 var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
3490 getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"),
3491 objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js");
3492
3493 /** `Object#toString` result references. */
3494 var nullTag = '[object Null]',
3495 undefinedTag = '[object Undefined]';
3496
3497 /** Built-in value references. */
3498 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
3499
3500 /**
3501 * The base implementation of `getTag` without fallbacks for buggy environments.
3502 *
3503 * @private
3504 * @param {*} value The value to query.
3505 * @returns {string} Returns the `toStringTag`.
3506 */
3507 function baseGetTag(value) {
3508 if (value == null) {
3509 return value === undefined ? undefinedTag : nullTag;
3510 }
3511 return (symToStringTag && symToStringTag in Object(value))
3512 ? getRawTag(value)
3513 : objectToString(value);
3514 }
3515
3516 module.exports = baseGetTag;
3517
3518
3519 /***/ }),
3520
3521 /***/ "./node_modules/lodash/_baseTrim.js":
3522 /*!******************************************!*\
3523 !*** ./node_modules/lodash/_baseTrim.js ***!
3524 \******************************************/
3525 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3526
3527 var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "./node_modules/lodash/_trimmedEndIndex.js");
3528
3529 /** Used to match leading whitespace. */
3530 var reTrimStart = /^\s+/;
3531
3532 /**
3533 * The base implementation of `_.trim`.
3534 *
3535 * @private
3536 * @param {string} string The string to trim.
3537 * @returns {string} Returns the trimmed string.
3538 */
3539 function baseTrim(string) {
3540 return string
3541 ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
3542 : string;
3543 }
3544
3545 module.exports = baseTrim;
3546
3547
3548 /***/ }),
3549
3550 /***/ "./node_modules/lodash/_freeGlobal.js":
3551 /*!********************************************!*\
3552 !*** ./node_modules/lodash/_freeGlobal.js ***!
3553 \********************************************/
3554 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3555
3556 /** Detect free variable `global` from Node.js. */
3557 var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
3558
3559 module.exports = freeGlobal;
3560
3561
3562 /***/ }),
3563
3564 /***/ "./node_modules/lodash/_getRawTag.js":
3565 /*!*******************************************!*\
3566 !*** ./node_modules/lodash/_getRawTag.js ***!
3567 \*******************************************/
3568 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3569
3570 var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js");
3571
3572 /** Used for built-in method references. */
3573 var objectProto = Object.prototype;
3574
3575 /** Used to check objects for own properties. */
3576 var hasOwnProperty = objectProto.hasOwnProperty;
3577
3578 /**
3579 * Used to resolve the
3580 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
3581 * of values.
3582 */
3583 var nativeObjectToString = objectProto.toString;
3584
3585 /** Built-in value references. */
3586 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
3587
3588 /**
3589 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
3590 *
3591 * @private
3592 * @param {*} value The value to query.
3593 * @returns {string} Returns the raw `toStringTag`.
3594 */
3595 function getRawTag(value) {
3596 var isOwn = hasOwnProperty.call(value, symToStringTag),
3597 tag = value[symToStringTag];
3598
3599 try {
3600 value[symToStringTag] = undefined;
3601 var unmasked = true;
3602 } catch (e) {}
3603
3604 var result = nativeObjectToString.call(value);
3605 if (unmasked) {
3606 if (isOwn) {
3607 value[symToStringTag] = tag;
3608 } else {
3609 delete value[symToStringTag];
3610 }
3611 }
3612 return result;
3613 }
3614
3615 module.exports = getRawTag;
3616
3617
3618 /***/ }),
3619
3620 /***/ "./node_modules/lodash/_objectToString.js":
3621 /*!************************************************!*\
3622 !*** ./node_modules/lodash/_objectToString.js ***!
3623 \************************************************/
3624 /***/ ((module) => {
3625
3626 /** Used for built-in method references. */
3627 var objectProto = Object.prototype;
3628
3629 /**
3630 * Used to resolve the
3631 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
3632 * of values.
3633 */
3634 var nativeObjectToString = objectProto.toString;
3635
3636 /**
3637 * Converts `value` to a string using `Object.prototype.toString`.
3638 *
3639 * @private
3640 * @param {*} value The value to convert.
3641 * @returns {string} Returns the converted string.
3642 */
3643 function objectToString(value) {
3644 return nativeObjectToString.call(value);
3645 }
3646
3647 module.exports = objectToString;
3648
3649
3650 /***/ }),
3651
3652 /***/ "./node_modules/lodash/_root.js":
3653 /*!**************************************!*\
3654 !*** ./node_modules/lodash/_root.js ***!
3655 \**************************************/
3656 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3657
3658 var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js");
3659
3660 /** Detect free variable `self`. */
3661 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
3662
3663 /** Used as a reference to the global object. */
3664 var root = freeGlobal || freeSelf || Function('return this')();
3665
3666 module.exports = root;
3667
3668
3669 /***/ }),
3670
3671 /***/ "./node_modules/lodash/_trimmedEndIndex.js":
3672 /*!*************************************************!*\
3673 !*** ./node_modules/lodash/_trimmedEndIndex.js ***!
3674 \*************************************************/
3675 /***/ ((module) => {
3676
3677 /** Used to match a single whitespace character. */
3678 var reWhitespace = /\s/;
3679
3680 /**
3681 * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
3682 * character of `string`.
3683 *
3684 * @private
3685 * @param {string} string The string to inspect.
3686 * @returns {number} Returns the index of the last non-whitespace character.
3687 */
3688 function trimmedEndIndex(string) {
3689 var index = string.length;
3690
3691 while (index-- && reWhitespace.test(string.charAt(index))) {}
3692 return index;
3693 }
3694
3695 module.exports = trimmedEndIndex;
3696
3697
3698 /***/ }),
3699
3700 /***/ "./node_modules/lodash/debounce.js":
3701 /*!*****************************************!*\
3702 !*** ./node_modules/lodash/debounce.js ***!
3703 \*****************************************/
3704 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3705
3706 var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
3707 now = __webpack_require__(/*! ./now */ "./node_modules/lodash/now.js"),
3708 toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js");
3709
3710 /** Error message constants. */
3711 var FUNC_ERROR_TEXT = 'Expected a function';
3712
3713 /* Built-in method references for those with the same name as other `lodash` methods. */
3714 var nativeMax = Math.max,
3715 nativeMin = Math.min;
3716
3717 /**
3718 * Creates a debounced function that delays invoking `func` until after `wait`
3719 * milliseconds have elapsed since the last time the debounced function was
3720 * invoked. The debounced function comes with a `cancel` method to cancel
3721 * delayed `func` invocations and a `flush` method to immediately invoke them.
3722 * Provide `options` to indicate whether `func` should be invoked on the
3723 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
3724 * with the last arguments provided to the debounced function. Subsequent
3725 * calls to the debounced function return the result of the last `func`
3726 * invocation.
3727 *
3728 * **Note:** If `leading` and `trailing` options are `true`, `func` is
3729 * invoked on the trailing edge of the timeout only if the debounced function
3730 * is invoked more than once during the `wait` timeout.
3731 *
3732 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
3733 * until to the next tick, similar to `setTimeout` with a timeout of `0`.
3734 *
3735 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
3736 * for details over the differences between `_.debounce` and `_.throttle`.
3737 *
3738 * @static
3739 * @memberOf _
3740 * @since 0.1.0
3741 * @category Function
3742 * @param {Function} func The function to debounce.
3743 * @param {number} [wait=0] The number of milliseconds to delay.
3744 * @param {Object} [options={}] The options object.
3745 * @param {boolean} [options.leading=false]
3746 * Specify invoking on the leading edge of the timeout.
3747 * @param {number} [options.maxWait]
3748 * The maximum time `func` is allowed to be delayed before it's invoked.
3749 * @param {boolean} [options.trailing=true]
3750 * Specify invoking on the trailing edge of the timeout.
3751 * @returns {Function} Returns the new debounced function.
3752 * @example
3753 *
3754 * // Avoid costly calculations while the window size is in flux.
3755 * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
3756 *
3757 * // Invoke `sendMail` when clicked, debouncing subsequent calls.
3758 * jQuery(element).on('click', _.debounce(sendMail, 300, {
3759 * 'leading': true,
3760 * 'trailing': false
3761 * }));
3762 *
3763 * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
3764 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
3765 * var source = new EventSource('/stream');
3766 * jQuery(source).on('message', debounced);
3767 *
3768 * // Cancel the trailing debounced invocation.
3769 * jQuery(window).on('popstate', debounced.cancel);
3770 */
3771 function debounce(func, wait, options) {
3772 var lastArgs,
3773 lastThis,
3774 maxWait,
3775 result,
3776 timerId,
3777 lastCallTime,
3778 lastInvokeTime = 0,
3779 leading = false,
3780 maxing = false,
3781 trailing = true;
3782
3783 if (typeof func != 'function') {
3784 throw new TypeError(FUNC_ERROR_TEXT);
3785 }
3786 wait = toNumber(wait) || 0;
3787 if (isObject(options)) {
3788 leading = !!options.leading;
3789 maxing = 'maxWait' in options;
3790 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
3791 trailing = 'trailing' in options ? !!options.trailing : trailing;
3792 }
3793
3794 function invokeFunc(time) {
3795 var args = lastArgs,
3796 thisArg = lastThis;
3797
3798 lastArgs = lastThis = undefined;
3799 lastInvokeTime = time;
3800 result = func.apply(thisArg, args);
3801 return result;
3802 }
3803
3804 function leadingEdge(time) {
3805 // Reset any `maxWait` timer.
3806 lastInvokeTime = time;
3807 // Start the timer for the trailing edge.
3808 timerId = setTimeout(timerExpired, wait);
3809 // Invoke the leading edge.
3810 return leading ? invokeFunc(time) : result;
3811 }
3812
3813 function remainingWait(time) {
3814 var timeSinceLastCall = time - lastCallTime,
3815 timeSinceLastInvoke = time - lastInvokeTime,
3816 timeWaiting = wait - timeSinceLastCall;
3817
3818 return maxing
3819 ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
3820 : timeWaiting;
3821 }
3822
3823 function shouldInvoke(time) {
3824 var timeSinceLastCall = time - lastCallTime,
3825 timeSinceLastInvoke = time - lastInvokeTime;
3826
3827 // Either this is the first call, activity has stopped and we're at the
3828 // trailing edge, the system time has gone backwards and we're treating
3829 // it as the trailing edge, or we've hit the `maxWait` limit.
3830 return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
3831 (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
3832 }
3833
3834 function timerExpired() {
3835 var time = now();
3836 if (shouldInvoke(time)) {
3837 return trailingEdge(time);
3838 }
3839 // Restart the timer.
3840 timerId = setTimeout(timerExpired, remainingWait(time));
3841 }
3842
3843 function trailingEdge(time) {
3844 timerId = undefined;
3845
3846 // Only invoke if we have `lastArgs` which means `func` has been
3847 // debounced at least once.
3848 if (trailing && lastArgs) {
3849 return invokeFunc(time);
3850 }
3851 lastArgs = lastThis = undefined;
3852 return result;
3853 }
3854
3855 function cancel() {
3856 if (timerId !== undefined) {
3857 clearTimeout(timerId);
3858 }
3859 lastInvokeTime = 0;
3860 lastArgs = lastCallTime = lastThis = timerId = undefined;
3861 }
3862
3863 function flush() {
3864 return timerId === undefined ? result : trailingEdge(now());
3865 }
3866
3867 function debounced() {
3868 var time = now(),
3869 isInvoking = shouldInvoke(time);
3870
3871 lastArgs = arguments;
3872 lastThis = this;
3873 lastCallTime = time;
3874
3875 if (isInvoking) {
3876 if (timerId === undefined) {
3877 return leadingEdge(lastCallTime);
3878 }
3879 if (maxing) {
3880 // Handle invocations in a tight loop.
3881 clearTimeout(timerId);
3882 timerId = setTimeout(timerExpired, wait);
3883 return invokeFunc(lastCallTime);
3884 }
3885 }
3886 if (timerId === undefined) {
3887 timerId = setTimeout(timerExpired, wait);
3888 }
3889 return result;
3890 }
3891 debounced.cancel = cancel;
3892 debounced.flush = flush;
3893 return debounced;
3894 }
3895
3896 module.exports = debounce;
3897
3898
3899 /***/ }),
3900
3901 /***/ "./node_modules/lodash/isObject.js":
3902 /*!*****************************************!*\
3903 !*** ./node_modules/lodash/isObject.js ***!
3904 \*****************************************/
3905 /***/ ((module) => {
3906
3907 /**
3908 * Checks if `value` is the
3909 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
3910 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
3911 *
3912 * @static
3913 * @memberOf _
3914 * @since 0.1.0
3915 * @category Lang
3916 * @param {*} value The value to check.
3917 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
3918 * @example
3919 *
3920 * _.isObject({});
3921 * // => true
3922 *
3923 * _.isObject([1, 2, 3]);
3924 * // => true
3925 *
3926 * _.isObject(_.noop);
3927 * // => true
3928 *
3929 * _.isObject(null);
3930 * // => false
3931 */
3932 function isObject(value) {
3933 var type = typeof value;
3934 return value != null && (type == 'object' || type == 'function');
3935 }
3936
3937 module.exports = isObject;
3938
3939
3940 /***/ }),
3941
3942 /***/ "./node_modules/lodash/isObjectLike.js":
3943 /*!*********************************************!*\
3944 !*** ./node_modules/lodash/isObjectLike.js ***!
3945 \*********************************************/
3946 /***/ ((module) => {
3947
3948 /**
3949 * Checks if `value` is object-like. A value is object-like if it's not `null`
3950 * and has a `typeof` result of "object".
3951 *
3952 * @static
3953 * @memberOf _
3954 * @since 4.0.0
3955 * @category Lang
3956 * @param {*} value The value to check.
3957 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
3958 * @example
3959 *
3960 * _.isObjectLike({});
3961 * // => true
3962 *
3963 * _.isObjectLike([1, 2, 3]);
3964 * // => true
3965 *
3966 * _.isObjectLike(_.noop);
3967 * // => false
3968 *
3969 * _.isObjectLike(null);
3970 * // => false
3971 */
3972 function isObjectLike(value) {
3973 return value != null && typeof value == 'object';
3974 }
3975
3976 module.exports = isObjectLike;
3977
3978
3979 /***/ }),
3980
3981 /***/ "./node_modules/lodash/isSymbol.js":
3982 /*!*****************************************!*\
3983 !*** ./node_modules/lodash/isSymbol.js ***!
3984 \*****************************************/
3985 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3986
3987 var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
3988 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
3989
3990 /** `Object#toString` result references. */
3991 var symbolTag = '[object Symbol]';
3992
3993 /**
3994 * Checks if `value` is classified as a `Symbol` primitive or object.
3995 *
3996 * @static
3997 * @memberOf _
3998 * @since 4.0.0
3999 * @category Lang
4000 * @param {*} value The value to check.
4001 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
4002 * @example
4003 *
4004 * _.isSymbol(Symbol.iterator);
4005 * // => true
4006 *
4007 * _.isSymbol('abc');
4008 * // => false
4009 */
4010 function isSymbol(value) {
4011 return typeof value == 'symbol' ||
4012 (isObjectLike(value) && baseGetTag(value) == symbolTag);
4013 }
4014
4015 module.exports = isSymbol;
4016
4017
4018 /***/ }),
4019
4020 /***/ "./node_modules/lodash/now.js":
4021 /*!************************************!*\
4022 !*** ./node_modules/lodash/now.js ***!
4023 \************************************/
4024 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4025
4026 var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
4027
4028 /**
4029 * Gets the timestamp of the number of milliseconds that have elapsed since
4030 * the Unix epoch (1 January 1970 00:00:00 UTC).
4031 *
4032 * @static
4033 * @memberOf _
4034 * @since 2.4.0
4035 * @category Date
4036 * @returns {number} Returns the timestamp.
4037 * @example
4038 *
4039 * _.defer(function(stamp) {
4040 * console.log(_.now() - stamp);
4041 * }, _.now());
4042 * // => Logs the number of milliseconds it took for the deferred invocation.
4043 */
4044 var now = function() {
4045 return root.Date.now();
4046 };
4047
4048 module.exports = now;
4049
4050
4051 /***/ }),
4052
4053 /***/ "./node_modules/lodash/toNumber.js":
4054 /*!*****************************************!*\
4055 !*** ./node_modules/lodash/toNumber.js ***!
4056 \*****************************************/
4057 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4058
4059 var baseTrim = __webpack_require__(/*! ./_baseTrim */ "./node_modules/lodash/_baseTrim.js"),
4060 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
4061 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js");
4062
4063 /** Used as references for various `Number` constants. */
4064 var NAN = 0 / 0;
4065
4066 /** Used to detect bad signed hexadecimal string values. */
4067 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
4068
4069 /** Used to detect binary string values. */
4070 var reIsBinary = /^0b[01]+$/i;
4071
4072 /** Used to detect octal string values. */
4073 var reIsOctal = /^0o[0-7]+$/i;
4074
4075 /** Built-in method references without a dependency on `root`. */
4076 var freeParseInt = parseInt;
4077
4078 /**
4079 * Converts `value` to a number.
4080 *
4081 * @static
4082 * @memberOf _
4083 * @since 4.0.0
4084 * @category Lang
4085 * @param {*} value The value to process.
4086 * @returns {number} Returns the number.
4087 * @example
4088 *
4089 * _.toNumber(3.2);
4090 * // => 3.2
4091 *
4092 * _.toNumber(Number.MIN_VALUE);
4093 * // => 5e-324
4094 *
4095 * _.toNumber(Infinity);
4096 * // => Infinity
4097 *
4098 * _.toNumber('3.2');
4099 * // => 3.2
4100 */
4101 function toNumber(value) {
4102 if (typeof value == 'number') {
4103 return value;
4104 }
4105 if (isSymbol(value)) {
4106 return NAN;
4107 }
4108 if (isObject(value)) {
4109 var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
4110 value = isObject(other) ? (other + '') : other;
4111 }
4112 if (typeof value != 'string') {
4113 return value === 0 ? value : +value;
4114 }
4115 value = baseTrim(value);
4116 var isBinary = reIsBinary.test(value);
4117 return (isBinary || reIsOctal.test(value))
4118 ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
4119 : (reIsBadHex.test(value) ? NAN : +value);
4120 }
4121
4122 module.exports = toNumber;
4123
4124
4125 /***/ }),
4126
4127 /***/ "./scripts/elementor/Common/ElementorButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/Common/ElementorButton.tsx":
4128 /*!*********************************************************************************************************************************************************************************************!*\
4129 !*** ./scripts/elementor/Common/ElementorButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/Common/ElementorButton.tsx ***!
4130 \*********************************************************************************************************************************************************************************************/
4131 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4132
4133 "use strict";
4134 __webpack_require__.r(__webpack_exports__);
4135 // extracted by mini-css-extract-plugin
4136
4137
4138 /***/ }),
4139
4140 /***/ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx":
4141 /*!***************************************************************************************************************************************************************************************************************************!*\
4142 !*** ./scripts/elementor/MeetingWidget/ElementorMeetingWarning.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx ***!
4143 \***************************************************************************************************************************************************************************************************************************/
4144 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4145
4146 "use strict";
4147 __webpack_require__.r(__webpack_exports__);
4148 // extracted by mini-css-extract-plugin
4149
4150
4151 /***/ }),
4152
4153 /***/ "./scripts/shared/Common/AsyncSelect.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/AsyncSelect.tsx":
4154 /*!*******************************************************************************************************************************************************************************!*\
4155 !*** ./scripts/shared/Common/AsyncSelect.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/AsyncSelect.tsx ***!
4156 \*******************************************************************************************************************************************************************************/
4157 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4158
4159 "use strict";
4160 __webpack_require__.r(__webpack_exports__);
4161 // extracted by mini-css-extract-plugin
4162
4163
4164 /***/ }),
4165
4166 /***/ "./scripts/shared/Common/HubspotWrapper.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/HubspotWrapper.ts":
4167 /*!************************************************************************************************************************************************************************************!*\
4168 !*** ./scripts/shared/Common/HubspotWrapper.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/HubspotWrapper.ts ***!
4169 \************************************************************************************************************************************************************************************/
4170 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4171
4172 "use strict";
4173 __webpack_require__.r(__webpack_exports__);
4174 // extracted by mini-css-extract-plugin
4175
4176
4177 /***/ }),
4178
4179 /***/ "./scripts/shared/UIComponents/UIAlert.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIAlert.tsx":
4180 /*!***********************************************************************************************************************************************************************************!*\
4181 !*** ./scripts/shared/UIComponents/UIAlert.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIAlert.tsx ***!
4182 \***********************************************************************************************************************************************************************************/
4183 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4184
4185 "use strict";
4186 __webpack_require__.r(__webpack_exports__);
4187 // extracted by mini-css-extract-plugin
4188
4189
4190 /***/ }),
4191
4192 /***/ "./scripts/shared/UIComponents/UIButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIButton.ts":
4193 /*!************************************************************************************************************************************************************************************!*\
4194 !*** ./scripts/shared/UIComponents/UIButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIButton.ts ***!
4195 \************************************************************************************************************************************************************************************/
4196 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4197
4198 "use strict";
4199 __webpack_require__.r(__webpack_exports__);
4200 // extracted by mini-css-extract-plugin
4201
4202
4203 /***/ }),
4204
4205 /***/ "./scripts/shared/UIComponents/UIContainer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIContainer.ts":
4206 /*!******************************************************************************************************************************************************************************************!*\
4207 !*** ./scripts/shared/UIComponents/UIContainer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIContainer.ts ***!
4208 \******************************************************************************************************************************************************************************************/
4209 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4210
4211 "use strict";
4212 __webpack_require__.r(__webpack_exports__);
4213 // extracted by mini-css-extract-plugin
4214
4215
4216 /***/ }),
4217
4218 /***/ "./scripts/shared/UIComponents/UIOverlay.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIOverlay.ts":
4219 /*!**************************************************************************************************************************************************************************************!*\
4220 !*** ./scripts/shared/UIComponents/UIOverlay.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIOverlay.ts ***!
4221 \**************************************************************************************************************************************************************************************/
4222 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4223
4224 "use strict";
4225 __webpack_require__.r(__webpack_exports__);
4226 // extracted by mini-css-extract-plugin
4227
4228
4229 /***/ }),
4230
4231 /***/ "./scripts/shared/UIComponents/UISpacer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpacer.ts":
4232 /*!************************************************************************************************************************************************************************************!*\
4233 !*** ./scripts/shared/UIComponents/UISpacer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpacer.ts ***!
4234 \************************************************************************************************************************************************************************************/
4235 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4236
4237 "use strict";
4238 __webpack_require__.r(__webpack_exports__);
4239 // extracted by mini-css-extract-plugin
4240
4241
4242 /***/ }),
4243
4244 /***/ "./scripts/shared/UIComponents/UISpinner.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpinner.tsx":
4245 /*!***************************************************************************************************************************************************************************************!*\
4246 !*** ./scripts/shared/UIComponents/UISpinner.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpinner.tsx ***!
4247 \***************************************************************************************************************************************************************************************/
4248 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4249
4250 "use strict";
4251 __webpack_require__.r(__webpack_exports__);
4252 // extracted by mini-css-extract-plugin
4253
4254
4255 /***/ }),
4256
4257 /***/ "./node_modules/raven-js/src/configError.js":
4258 /*!**************************************************!*\
4259 !*** ./node_modules/raven-js/src/configError.js ***!
4260 \**************************************************/
4261 /***/ ((module) => {
4262
4263 function RavenConfigError(message) {
4264 this.name = 'RavenConfigError';
4265 this.message = message;
4266 }
4267 RavenConfigError.prototype = new Error();
4268 RavenConfigError.prototype.constructor = RavenConfigError;
4269
4270 module.exports = RavenConfigError;
4271
4272
4273 /***/ }),
4274
4275 /***/ "./node_modules/raven-js/src/console.js":
4276 /*!**********************************************!*\
4277 !*** ./node_modules/raven-js/src/console.js ***!
4278 \**********************************************/
4279 /***/ ((module) => {
4280
4281 var wrapMethod = function(console, level, callback) {
4282 var originalConsoleLevel = console[level];
4283 var originalConsole = console;
4284
4285 if (!(level in console)) {
4286 return;
4287 }
4288
4289 var sentryLevel = level === 'warn' ? 'warning' : level;
4290
4291 console[level] = function() {
4292 var args = [].slice.call(arguments);
4293
4294 var msg = '' + args.join(' ');
4295 var data = {level: sentryLevel, logger: 'console', extra: {arguments: args}};
4296
4297 if (level === 'assert') {
4298 if (args[0] === false) {
4299 // Default browsers message
4300 msg = 'Assertion failed: ' + (args.slice(1).join(' ') || 'console.assert');
4301 data.extra.arguments = args.slice(1);
4302 callback && callback(msg, data);
4303 }
4304 } else {
4305 callback && callback(msg, data);
4306 }
4307
4308 // this fails for some browsers. :(
4309 if (originalConsoleLevel) {
4310 // IE9 doesn't allow calling apply on console functions directly
4311 // See: https://stackoverflow.com/questions/5472938/does-ie9-support-console-log-and-is-it-a-real-function#answer-5473193
4312 Function.prototype.apply.call(originalConsoleLevel, originalConsole, args);
4313 }
4314 };
4315 };
4316
4317 module.exports = {
4318 wrapMethod: wrapMethod
4319 };
4320
4321
4322 /***/ }),
4323
4324 /***/ "./node_modules/raven-js/src/raven.js":
4325 /*!********************************************!*\
4326 !*** ./node_modules/raven-js/src/raven.js ***!
4327 \********************************************/
4328 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4329
4330 /*global XDomainRequest:false */
4331
4332 var TraceKit = __webpack_require__(/*! ../vendor/TraceKit/tracekit */ "./node_modules/raven-js/vendor/TraceKit/tracekit.js");
4333 var stringify = __webpack_require__(/*! ../vendor/json-stringify-safe/stringify */ "./node_modules/raven-js/vendor/json-stringify-safe/stringify.js");
4334 var RavenConfigError = __webpack_require__(/*! ./configError */ "./node_modules/raven-js/src/configError.js");
4335
4336 var utils = __webpack_require__(/*! ./utils */ "./node_modules/raven-js/src/utils.js");
4337 var isError = utils.isError;
4338 var isObject = utils.isObject;
4339 var isObject = utils.isObject;
4340 var isErrorEvent = utils.isErrorEvent;
4341 var isUndefined = utils.isUndefined;
4342 var isFunction = utils.isFunction;
4343 var isString = utils.isString;
4344 var isEmptyObject = utils.isEmptyObject;
4345 var each = utils.each;
4346 var objectMerge = utils.objectMerge;
4347 var truncate = utils.truncate;
4348 var objectFrozen = utils.objectFrozen;
4349 var hasKey = utils.hasKey;
4350 var joinRegExp = utils.joinRegExp;
4351 var urlencode = utils.urlencode;
4352 var uuid4 = utils.uuid4;
4353 var htmlTreeAsString = utils.htmlTreeAsString;
4354 var isSameException = utils.isSameException;
4355 var isSameStacktrace = utils.isSameStacktrace;
4356 var parseUrl = utils.parseUrl;
4357 var fill = utils.fill;
4358
4359 var wrapConsoleMethod = (__webpack_require__(/*! ./console */ "./node_modules/raven-js/src/console.js").wrapMethod);
4360
4361 var dsnKeys = 'source protocol user pass host port path'.split(' '),
4362 dsnPattern = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;
4363
4364 function now() {
4365 return +new Date();
4366 }
4367
4368 // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)
4369 var _window =
4370 typeof window !== 'undefined'
4371 ? window
4372 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
4373 var _document = _window.document;
4374 var _navigator = _window.navigator;
4375
4376 function keepOriginalCallback(original, callback) {
4377 return isFunction(callback)
4378 ? function(data) {
4379 return callback(data, original);
4380 }
4381 : callback;
4382 }
4383
4384 // First, check for JSON support
4385 // If there is no JSON, we no-op the core features of Raven
4386 // since JSON is required to encode the payload
4387 function Raven() {
4388 this._hasJSON = !!(typeof JSON === 'object' && JSON.stringify);
4389 // Raven can run in contexts where there's no document (react-native)
4390 this._hasDocument = !isUndefined(_document);
4391 this._hasNavigator = !isUndefined(_navigator);
4392 this._lastCapturedException = null;
4393 this._lastData = null;
4394 this._lastEventId = null;
4395 this._globalServer = null;
4396 this._globalKey = null;
4397 this._globalProject = null;
4398 this._globalContext = {};
4399 this._globalOptions = {
4400 logger: 'javascript',
4401 ignoreErrors: [],
4402 ignoreUrls: [],
4403 whitelistUrls: [],
4404 includePaths: [],
4405 collectWindowErrors: true,
4406 maxMessageLength: 0,
4407
4408 // By default, truncates URL values to 250 chars
4409 maxUrlLength: 250,
4410 stackTraceLimit: 50,
4411 autoBreadcrumbs: true,
4412 instrument: true,
4413 sampleRate: 1
4414 };
4415 this._ignoreOnError = 0;
4416 this._isRavenInstalled = false;
4417 this._originalErrorStackTraceLimit = Error.stackTraceLimit;
4418 // capture references to window.console *and* all its methods first
4419 // before the console plugin has a chance to monkey patch
4420 this._originalConsole = _window.console || {};
4421 this._originalConsoleMethods = {};
4422 this._plugins = [];
4423 this._startTime = now();
4424 this._wrappedBuiltIns = [];
4425 this._breadcrumbs = [];
4426 this._lastCapturedEvent = null;
4427 this._keypressTimeout;
4428 this._location = _window.location;
4429 this._lastHref = this._location && this._location.href;
4430 this._resetBackoff();
4431
4432 // eslint-disable-next-line guard-for-in
4433 for (var method in this._originalConsole) {
4434 this._originalConsoleMethods[method] = this._originalConsole[method];
4435 }
4436 }
4437
4438 /*
4439 * The core Raven singleton
4440 *
4441 * @this {Raven}
4442 */
4443
4444 Raven.prototype = {
4445 // Hardcode version string so that raven source can be loaded directly via
4446 // webpack (using a build step causes webpack #1617). Grunt verifies that
4447 // this value matches package.json during build.
4448 // See: https://github.com/getsentry/raven-js/issues/465
4449 VERSION: '3.19.1',
4450
4451 debug: false,
4452
4453 TraceKit: TraceKit, // alias to TraceKit
4454
4455 /*
4456 * Configure Raven with a DSN and extra options
4457 *
4458 * @param {string} dsn The public Sentry DSN
4459 * @param {object} options Set of global options [optional]
4460 * @return {Raven}
4461 */
4462 config: function(dsn, options) {
4463 var self = this;
4464
4465 if (self._globalServer) {
4466 this._logDebug('error', 'Error: Raven has already been configured');
4467 return self;
4468 }
4469 if (!dsn) return self;
4470
4471 var globalOptions = self._globalOptions;
4472
4473 // merge in options
4474 if (options) {
4475 each(options, function(key, value) {
4476 // tags and extra are special and need to be put into context
4477 if (key === 'tags' || key === 'extra' || key === 'user') {
4478 self._globalContext[key] = value;
4479 } else {
4480 globalOptions[key] = value;
4481 }
4482 });
4483 }
4484
4485 self.setDSN(dsn);
4486
4487 // "Script error." is hard coded into browsers for errors that it can't read.
4488 // this is the result of a script being pulled in from an external domain and CORS.
4489 globalOptions.ignoreErrors.push(/^Script error\.?$/);
4490 globalOptions.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/);
4491
4492 // join regexp rules into one big rule
4493 globalOptions.ignoreErrors = joinRegExp(globalOptions.ignoreErrors);
4494 globalOptions.ignoreUrls = globalOptions.ignoreUrls.length
4495 ? joinRegExp(globalOptions.ignoreUrls)
4496 : false;
4497 globalOptions.whitelistUrls = globalOptions.whitelistUrls.length
4498 ? joinRegExp(globalOptions.whitelistUrls)
4499 : false;
4500 globalOptions.includePaths = joinRegExp(globalOptions.includePaths);
4501 globalOptions.maxBreadcrumbs = Math.max(
4502 0,
4503 Math.min(globalOptions.maxBreadcrumbs || 100, 100)
4504 ); // default and hard limit is 100
4505
4506 var autoBreadcrumbDefaults = {
4507 xhr: true,
4508 console: true,
4509 dom: true,
4510 location: true
4511 };
4512
4513 var autoBreadcrumbs = globalOptions.autoBreadcrumbs;
4514 if ({}.toString.call(autoBreadcrumbs) === '[object Object]') {
4515 autoBreadcrumbs = objectMerge(autoBreadcrumbDefaults, autoBreadcrumbs);
4516 } else if (autoBreadcrumbs !== false) {
4517 autoBreadcrumbs = autoBreadcrumbDefaults;
4518 }
4519 globalOptions.autoBreadcrumbs = autoBreadcrumbs;
4520
4521 var instrumentDefaults = {
4522 tryCatch: true
4523 };
4524
4525 var instrument = globalOptions.instrument;
4526 if ({}.toString.call(instrument) === '[object Object]') {
4527 instrument = objectMerge(instrumentDefaults, instrument);
4528 } else if (instrument !== false) {
4529 instrument = instrumentDefaults;
4530 }
4531 globalOptions.instrument = instrument;
4532
4533 TraceKit.collectWindowErrors = !!globalOptions.collectWindowErrors;
4534
4535 // return for chaining
4536 return self;
4537 },
4538
4539 /*
4540 * Installs a global window.onerror error handler
4541 * to capture and report uncaught exceptions.
4542 * At this point, install() is required to be called due
4543 * to the way TraceKit is set up.
4544 *
4545 * @return {Raven}
4546 */
4547 install: function() {
4548 var self = this;
4549 if (self.isSetup() && !self._isRavenInstalled) {
4550 TraceKit.report.subscribe(function() {
4551 self._handleOnErrorStackInfo.apply(self, arguments);
4552 });
4553 if (self._globalOptions.instrument && self._globalOptions.instrument.tryCatch) {
4554 self._instrumentTryCatch();
4555 }
4556
4557 if (self._globalOptions.autoBreadcrumbs) self._instrumentBreadcrumbs();
4558
4559 // Install all of the plugins
4560 self._drainPlugins();
4561
4562 self._isRavenInstalled = true;
4563 }
4564
4565 Error.stackTraceLimit = self._globalOptions.stackTraceLimit;
4566 return this;
4567 },
4568
4569 /*
4570 * Set the DSN (can be called multiple time unlike config)
4571 *
4572 * @param {string} dsn The public Sentry DSN
4573 */
4574 setDSN: function(dsn) {
4575 var self = this,
4576 uri = self._parseDSN(dsn),
4577 lastSlash = uri.path.lastIndexOf('/'),
4578 path = uri.path.substr(1, lastSlash);
4579
4580 self._dsn = dsn;
4581 self._globalKey = uri.user;
4582 self._globalSecret = uri.pass && uri.pass.substr(1);
4583 self._globalProject = uri.path.substr(lastSlash + 1);
4584
4585 self._globalServer = self._getGlobalServer(uri);
4586
4587 self._globalEndpoint =
4588 self._globalServer + '/' + path + 'api/' + self._globalProject + '/store/';
4589
4590 // Reset backoff state since we may be pointing at a
4591 // new project/server
4592 this._resetBackoff();
4593 },
4594
4595 /*
4596 * Wrap code within a context so Raven can capture errors
4597 * reliably across domains that is executed immediately.
4598 *
4599 * @param {object} options A specific set of options for this context [optional]
4600 * @param {function} func The callback to be immediately executed within the context
4601 * @param {array} args An array of arguments to be called with the callback [optional]
4602 */
4603 context: function(options, func, args) {
4604 if (isFunction(options)) {
4605 args = func || [];
4606 func = options;
4607 options = undefined;
4608 }
4609
4610 return this.wrap(options, func).apply(this, args);
4611 },
4612
4613 /*
4614 * Wrap code within a context and returns back a new function to be executed
4615 *
4616 * @param {object} options A specific set of options for this context [optional]
4617 * @param {function} func The function to be wrapped in a new context
4618 * @param {function} func A function to call before the try/catch wrapper [optional, private]
4619 * @return {function} The newly wrapped functions with a context
4620 */
4621 wrap: function(options, func, _before) {
4622 var self = this;
4623 // 1 argument has been passed, and it's not a function
4624 // so just return it
4625 if (isUndefined(func) && !isFunction(options)) {
4626 return options;
4627 }
4628
4629 // options is optional
4630 if (isFunction(options)) {
4631 func = options;
4632 options = undefined;
4633 }
4634
4635 // At this point, we've passed along 2 arguments, and the second one
4636 // is not a function either, so we'll just return the second argument.
4637 if (!isFunction(func)) {
4638 return func;
4639 }
4640
4641 // We don't wanna wrap it twice!
4642 try {
4643 if (func.__raven__) {
4644 return func;
4645 }
4646
4647 // If this has already been wrapped in the past, return that
4648 if (func.__raven_wrapper__) {
4649 return func.__raven_wrapper__;
4650 }
4651 } catch (e) {
4652 // Just accessing custom props in some Selenium environments
4653 // can cause a "Permission denied" exception (see raven-js#495).
4654 // Bail on wrapping and return the function as-is (defers to window.onerror).
4655 return func;
4656 }
4657
4658 function wrapped() {
4659 var args = [],
4660 i = arguments.length,
4661 deep = !options || (options && options.deep !== false);
4662
4663 if (_before && isFunction(_before)) {
4664 _before.apply(this, arguments);
4665 }
4666
4667 // Recursively wrap all of a function's arguments that are
4668 // functions themselves.
4669 while (i--) args[i] = deep ? self.wrap(options, arguments[i]) : arguments[i];
4670
4671 try {
4672 // Attempt to invoke user-land function
4673 // NOTE: If you are a Sentry user, and you are seeing this stack frame, it
4674 // means Raven caught an error invoking your application code. This is
4675 // expected behavior and NOT indicative of a bug with Raven.js.
4676 return func.apply(this, args);
4677 } catch (e) {
4678 self._ignoreNextOnError();
4679 self.captureException(e, options);
4680 throw e;
4681 }
4682 }
4683
4684 // copy over properties of the old function
4685 for (var property in func) {
4686 if (hasKey(func, property)) {
4687 wrapped[property] = func[property];
4688 }
4689 }
4690 wrapped.prototype = func.prototype;
4691
4692 func.__raven_wrapper__ = wrapped;
4693 // Signal that this function has been wrapped already
4694 // for both debugging and to prevent it to being wrapped twice
4695 wrapped.__raven__ = true;
4696 wrapped.__inner__ = func;
4697
4698 return wrapped;
4699 },
4700
4701 /*
4702 * Uninstalls the global error handler.
4703 *
4704 * @return {Raven}
4705 */
4706 uninstall: function() {
4707 TraceKit.report.uninstall();
4708
4709 this._restoreBuiltIns();
4710
4711 Error.stackTraceLimit = this._originalErrorStackTraceLimit;
4712 this._isRavenInstalled = false;
4713
4714 return this;
4715 },
4716
4717 /*
4718 * Manually capture an exception and send it over to Sentry
4719 *
4720 * @param {error} ex An exception to be logged
4721 * @param {object} options A specific set of options for this error [optional]
4722 * @return {Raven}
4723 */
4724 captureException: function(ex, options) {
4725 // Cases for sending ex as a message, rather than an exception
4726 var isNotError = !isError(ex);
4727 var isNotErrorEvent = !isErrorEvent(ex);
4728 var isErrorEventWithoutError = isErrorEvent(ex) && !ex.error;
4729
4730 if ((isNotError && isNotErrorEvent) || isErrorEventWithoutError) {
4731 return this.captureMessage(
4732 ex,
4733 objectMerge(
4734 {
4735 trimHeadFrames: 1,
4736 stacktrace: true // if we fall back to captureMessage, default to attempting a new trace
4737 },
4738 options
4739 )
4740 );
4741 }
4742
4743 // Get actual Error from ErrorEvent
4744 if (isErrorEvent(ex)) ex = ex.error;
4745
4746 // Store the raw exception object for potential debugging and introspection
4747 this._lastCapturedException = ex;
4748
4749 // TraceKit.report will re-raise any exception passed to it,
4750 // which means you have to wrap it in try/catch. Instead, we
4751 // can wrap it here and only re-raise if TraceKit.report
4752 // raises an exception different from the one we asked to
4753 // report on.
4754 try {
4755 var stack = TraceKit.computeStackTrace(ex);
4756 this._handleStackInfo(stack, options);
4757 } catch (ex1) {
4758 if (ex !== ex1) {
4759 throw ex1;
4760 }
4761 }
4762
4763 return this;
4764 },
4765
4766 /*
4767 * Manually send a message to Sentry
4768 *
4769 * @param {string} msg A plain message to be captured in Sentry
4770 * @param {object} options A specific set of options for this message [optional]
4771 * @return {Raven}
4772 */
4773 captureMessage: function(msg, options) {
4774 // config() automagically converts ignoreErrors from a list to a RegExp so we need to test for an
4775 // early call; we'll error on the side of logging anything called before configuration since it's
4776 // probably something you should see:
4777 if (
4778 !!this._globalOptions.ignoreErrors.test &&
4779 this._globalOptions.ignoreErrors.test(msg)
4780 ) {
4781 return;
4782 }
4783
4784 options = options || {};
4785
4786 var data = objectMerge(
4787 {
4788 message: msg + '' // Make sure it's actually a string
4789 },
4790 options
4791 );
4792
4793 var ex;
4794 // Generate a "synthetic" stack trace from this point.
4795 // NOTE: If you are a Sentry user, and you are seeing this stack frame, it is NOT indicative
4796 // of a bug with Raven.js. Sentry generates synthetic traces either by configuration,
4797 // or if it catches a thrown object without a "stack" property.
4798 try {
4799 throw new Error(msg);
4800 } catch (ex1) {
4801 ex = ex1;
4802 }
4803
4804 // null exception name so `Error` isn't prefixed to msg
4805 ex.name = null;
4806 var stack = TraceKit.computeStackTrace(ex);
4807
4808 // stack[0] is `throw new Error(msg)` call itself, we are interested in the frame that was just before that, stack[1]
4809 var initialCall = stack.stack[1];
4810
4811 var fileurl = (initialCall && initialCall.url) || '';
4812
4813 if (
4814 !!this._globalOptions.ignoreUrls.test &&
4815 this._globalOptions.ignoreUrls.test(fileurl)
4816 ) {
4817 return;
4818 }
4819
4820 if (
4821 !!this._globalOptions.whitelistUrls.test &&
4822 !this._globalOptions.whitelistUrls.test(fileurl)
4823 ) {
4824 return;
4825 }
4826
4827 if (this._globalOptions.stacktrace || (options && options.stacktrace)) {
4828 options = objectMerge(
4829 {
4830 // fingerprint on msg, not stack trace (legacy behavior, could be
4831 // revisited)
4832 fingerprint: msg,
4833 // since we know this is a synthetic trace, the top N-most frames
4834 // MUST be from Raven.js, so mark them as in_app later by setting
4835 // trimHeadFrames
4836 trimHeadFrames: (options.trimHeadFrames || 0) + 1
4837 },
4838 options
4839 );
4840
4841 var frames = this._prepareFrames(stack, options);
4842 data.stacktrace = {
4843 // Sentry expects frames oldest to newest
4844 frames: frames.reverse()
4845 };
4846 }
4847
4848 // Fire away!
4849 this._send(data);
4850
4851 return this;
4852 },
4853
4854 captureBreadcrumb: function(obj) {
4855 var crumb = objectMerge(
4856 {
4857 timestamp: now() / 1000
4858 },
4859 obj
4860 );
4861
4862 if (isFunction(this._globalOptions.breadcrumbCallback)) {
4863 var result = this._globalOptions.breadcrumbCallback(crumb);
4864
4865 if (isObject(result) && !isEmptyObject(result)) {
4866 crumb = result;
4867 } else if (result === false) {
4868 return this;
4869 }
4870 }
4871
4872 this._breadcrumbs.push(crumb);
4873 if (this._breadcrumbs.length > this._globalOptions.maxBreadcrumbs) {
4874 this._breadcrumbs.shift();
4875 }
4876 return this;
4877 },
4878
4879 addPlugin: function(plugin /*arg1, arg2, ... argN*/) {
4880 var pluginArgs = [].slice.call(arguments, 1);
4881
4882 this._plugins.push([plugin, pluginArgs]);
4883 if (this._isRavenInstalled) {
4884 this._drainPlugins();
4885 }
4886
4887 return this;
4888 },
4889
4890 /*
4891 * Set/clear a user to be sent along with the payload.
4892 *
4893 * @param {object} user An object representing user data [optional]
4894 * @return {Raven}
4895 */
4896 setUserContext: function(user) {
4897 // Intentionally do not merge here since that's an unexpected behavior.
4898 this._globalContext.user = user;
4899
4900 return this;
4901 },
4902
4903 /*
4904 * Merge extra attributes to be sent along with the payload.
4905 *
4906 * @param {object} extra An object representing extra data [optional]
4907 * @return {Raven}
4908 */
4909 setExtraContext: function(extra) {
4910 this._mergeContext('extra', extra);
4911
4912 return this;
4913 },
4914
4915 /*
4916 * Merge tags to be sent along with the payload.
4917 *
4918 * @param {object} tags An object representing tags [optional]
4919 * @return {Raven}
4920 */
4921 setTagsContext: function(tags) {
4922 this._mergeContext('tags', tags);
4923
4924 return this;
4925 },
4926
4927 /*
4928 * Clear all of the context.
4929 *
4930 * @return {Raven}
4931 */
4932 clearContext: function() {
4933 this._globalContext = {};
4934
4935 return this;
4936 },
4937
4938 /*
4939 * Get a copy of the current context. This cannot be mutated.
4940 *
4941 * @return {object} copy of context
4942 */
4943 getContext: function() {
4944 // lol javascript
4945 return JSON.parse(stringify(this._globalContext));
4946 },
4947
4948 /*
4949 * Set environment of application
4950 *
4951 * @param {string} environment Typically something like 'production'.
4952 * @return {Raven}
4953 */
4954 setEnvironment: function(environment) {
4955 this._globalOptions.environment = environment;
4956
4957 return this;
4958 },
4959
4960 /*
4961 * Set release version of application
4962 *
4963 * @param {string} release Typically something like a git SHA to identify version
4964 * @return {Raven}
4965 */
4966 setRelease: function(release) {
4967 this._globalOptions.release = release;
4968
4969 return this;
4970 },
4971
4972 /*
4973 * Set the dataCallback option
4974 *
4975 * @param {function} callback The callback to run which allows the
4976 * data blob to be mutated before sending
4977 * @return {Raven}
4978 */
4979 setDataCallback: function(callback) {
4980 var original = this._globalOptions.dataCallback;
4981 this._globalOptions.dataCallback = keepOriginalCallback(original, callback);
4982 return this;
4983 },
4984
4985 /*
4986 * Set the breadcrumbCallback option
4987 *
4988 * @param {function} callback The callback to run which allows filtering
4989 * or mutating breadcrumbs
4990 * @return {Raven}
4991 */
4992 setBreadcrumbCallback: function(callback) {
4993 var original = this._globalOptions.breadcrumbCallback;
4994 this._globalOptions.breadcrumbCallback = keepOriginalCallback(original, callback);
4995 return this;
4996 },
4997
4998 /*
4999 * Set the shouldSendCallback option
5000 *
5001 * @param {function} callback The callback to run which allows
5002 * introspecting the blob before sending
5003 * @return {Raven}
5004 */
5005 setShouldSendCallback: function(callback) {
5006 var original = this._globalOptions.shouldSendCallback;
5007 this._globalOptions.shouldSendCallback = keepOriginalCallback(original, callback);
5008 return this;
5009 },
5010
5011 /**
5012 * Override the default HTTP transport mechanism that transmits data
5013 * to the Sentry server.
5014 *
5015 * @param {function} transport Function invoked instead of the default
5016 * `makeRequest` handler.
5017 *
5018 * @return {Raven}
5019 */
5020 setTransport: function(transport) {
5021 this._globalOptions.transport = transport;
5022
5023 return this;
5024 },
5025
5026 /*
5027 * Get the latest raw exception that was captured by Raven.
5028 *
5029 * @return {error}
5030 */
5031 lastException: function() {
5032 return this._lastCapturedException;
5033 },
5034
5035 /*
5036 * Get the last event id
5037 *
5038 * @return {string}
5039 */
5040 lastEventId: function() {
5041 return this._lastEventId;
5042 },
5043
5044 /*
5045 * Determine if Raven is setup and ready to go.
5046 *
5047 * @return {boolean}
5048 */
5049 isSetup: function() {
5050 if (!this._hasJSON) return false; // needs JSON support
5051 if (!this._globalServer) {
5052 if (!this.ravenNotConfiguredError) {
5053 this.ravenNotConfiguredError = true;
5054 this._logDebug('error', 'Error: Raven has not been configured.');
5055 }
5056 return false;
5057 }
5058 return true;
5059 },
5060
5061 afterLoad: function() {
5062 // TODO: remove window dependence?
5063
5064 // Attempt to initialize Raven on load
5065 var RavenConfig = _window.RavenConfig;
5066 if (RavenConfig) {
5067 this.config(RavenConfig.dsn, RavenConfig.config).install();
5068 }
5069 },
5070
5071 showReportDialog: function(options) {
5072 if (
5073 !_document // doesn't work without a document (React native)
5074 )
5075 return;
5076
5077 options = options || {};
5078
5079 var lastEventId = options.eventId || this.lastEventId();
5080 if (!lastEventId) {
5081 throw new RavenConfigError('Missing eventId');
5082 }
5083
5084 var dsn = options.dsn || this._dsn;
5085 if (!dsn) {
5086 throw new RavenConfigError('Missing DSN');
5087 }
5088
5089 var encode = encodeURIComponent;
5090 var qs = '';
5091 qs += '?eventId=' + encode(lastEventId);
5092 qs += '&dsn=' + encode(dsn);
5093
5094 var user = options.user || this._globalContext.user;
5095 if (user) {
5096 if (user.name) qs += '&name=' + encode(user.name);
5097 if (user.email) qs += '&email=' + encode(user.email);
5098 }
5099
5100 var globalServer = this._getGlobalServer(this._parseDSN(dsn));
5101
5102 var script = _document.createElement('script');
5103 script.async = true;
5104 script.src = globalServer + '/api/embed/error-page/' + qs;
5105 (_document.head || _document.body).appendChild(script);
5106 },
5107
5108 /**** Private functions ****/
5109 _ignoreNextOnError: function() {
5110 var self = this;
5111 this._ignoreOnError += 1;
5112 setTimeout(function() {
5113 // onerror should trigger before setTimeout
5114 self._ignoreOnError -= 1;
5115 });
5116 },
5117
5118 _triggerEvent: function(eventType, options) {
5119 // NOTE: `event` is a native browser thing, so let's avoid conflicting wiht it
5120 var evt, key;
5121
5122 if (!this._hasDocument) return;
5123
5124 options = options || {};
5125
5126 eventType = 'raven' + eventType.substr(0, 1).toUpperCase() + eventType.substr(1);
5127
5128 if (_document.createEvent) {
5129 evt = _document.createEvent('HTMLEvents');
5130 evt.initEvent(eventType, true, true);
5131 } else {
5132 evt = _document.createEventObject();
5133 evt.eventType = eventType;
5134 }
5135
5136 for (key in options)
5137 if (hasKey(options, key)) {
5138 evt[key] = options[key];
5139 }
5140
5141 if (_document.createEvent) {
5142 // IE9 if standards
5143 _document.dispatchEvent(evt);
5144 } else {
5145 // IE8 regardless of Quirks or Standards
5146 // IE9 if quirks
5147 try {
5148 _document.fireEvent('on' + evt.eventType.toLowerCase(), evt);
5149 } catch (e) {
5150 // Do nothing
5151 }
5152 }
5153 },
5154
5155 /**
5156 * Wraps addEventListener to capture UI breadcrumbs
5157 * @param evtName the event name (e.g. "click")
5158 * @returns {Function}
5159 * @private
5160 */
5161 _breadcrumbEventHandler: function(evtName) {
5162 var self = this;
5163 return function(evt) {
5164 // reset keypress timeout; e.g. triggering a 'click' after
5165 // a 'keypress' will reset the keypress debounce so that a new
5166 // set of keypresses can be recorded
5167 self._keypressTimeout = null;
5168
5169 // It's possible this handler might trigger multiple times for the same
5170 // event (e.g. event propagation through node ancestors). Ignore if we've
5171 // already captured the event.
5172 if (self._lastCapturedEvent === evt) return;
5173
5174 self._lastCapturedEvent = evt;
5175
5176 // try/catch both:
5177 // - accessing evt.target (see getsentry/raven-js#838, #768)
5178 // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly
5179 // can throw an exception in some circumstances.
5180 var target;
5181 try {
5182 target = htmlTreeAsString(evt.target);
5183 } catch (e) {
5184 target = '<unknown>';
5185 }
5186
5187 self.captureBreadcrumb({
5188 category: 'ui.' + evtName, // e.g. ui.click, ui.input
5189 message: target
5190 });
5191 };
5192 },
5193
5194 /**
5195 * Wraps addEventListener to capture keypress UI events
5196 * @returns {Function}
5197 * @private
5198 */
5199 _keypressEventHandler: function() {
5200 var self = this,
5201 debounceDuration = 1000; // milliseconds
5202
5203 // TODO: if somehow user switches keypress target before
5204 // debounce timeout is triggered, we will only capture
5205 // a single breadcrumb from the FIRST target (acceptable?)
5206 return function(evt) {
5207 var target;
5208 try {
5209 target = evt.target;
5210 } catch (e) {
5211 // just accessing event properties can throw an exception in some rare circumstances
5212 // see: https://github.com/getsentry/raven-js/issues/838
5213 return;
5214 }
5215 var tagName = target && target.tagName;
5216
5217 // only consider keypress events on actual input elements
5218 // this will disregard keypresses targeting body (e.g. tabbing
5219 // through elements, hotkeys, etc)
5220 if (
5221 !tagName ||
5222 (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)
5223 )
5224 return;
5225
5226 // record first keypress in a series, but ignore subsequent
5227 // keypresses until debounce clears
5228 var timeout = self._keypressTimeout;
5229 if (!timeout) {
5230 self._breadcrumbEventHandler('input')(evt);
5231 }
5232 clearTimeout(timeout);
5233 self._keypressTimeout = setTimeout(function() {
5234 self._keypressTimeout = null;
5235 }, debounceDuration);
5236 };
5237 },
5238
5239 /**
5240 * Captures a breadcrumb of type "navigation", normalizing input URLs
5241 * @param to the originating URL
5242 * @param from the target URL
5243 * @private
5244 */
5245 _captureUrlChange: function(from, to) {
5246 var parsedLoc = parseUrl(this._location.href);
5247 var parsedTo = parseUrl(to);
5248 var parsedFrom = parseUrl(from);
5249
5250 // because onpopstate only tells you the "new" (to) value of location.href, and
5251 // not the previous (from) value, we need to track the value of the current URL
5252 // state ourselves
5253 this._lastHref = to;
5254
5255 // Use only the path component of the URL if the URL matches the current
5256 // document (almost all the time when using pushState)
5257 if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host)
5258 to = parsedTo.relative;
5259 if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host)
5260 from = parsedFrom.relative;
5261
5262 this.captureBreadcrumb({
5263 category: 'navigation',
5264 data: {
5265 to: to,
5266 from: from
5267 }
5268 });
5269 },
5270
5271 /**
5272 * Wrap timer functions and event targets to catch errors and provide
5273 * better metadata.
5274 */
5275 _instrumentTryCatch: function() {
5276 var self = this;
5277
5278 var wrappedBuiltIns = self._wrappedBuiltIns;
5279
5280 function wrapTimeFn(orig) {
5281 return function(fn, t) {
5282 // preserve arity
5283 // Make a copy of the arguments to prevent deoptimization
5284 // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
5285 var args = new Array(arguments.length);
5286 for (var i = 0; i < args.length; ++i) {
5287 args[i] = arguments[i];
5288 }
5289 var originalCallback = args[0];
5290 if (isFunction(originalCallback)) {
5291 args[0] = self.wrap(originalCallback);
5292 }
5293
5294 // IE < 9 doesn't support .call/.apply on setInterval/setTimeout, but it
5295 // also supports only two arguments and doesn't care what this is, so we
5296 // can just call the original function directly.
5297 if (orig.apply) {
5298 return orig.apply(this, args);
5299 } else {
5300 return orig(args[0], args[1]);
5301 }
5302 };
5303 }
5304
5305 var autoBreadcrumbs = this._globalOptions.autoBreadcrumbs;
5306
5307 function wrapEventTarget(global) {
5308 var proto = _window[global] && _window[global].prototype;
5309 if (proto && proto.hasOwnProperty && proto.hasOwnProperty('addEventListener')) {
5310 fill(
5311 proto,
5312 'addEventListener',
5313 function(orig) {
5314 return function(evtName, fn, capture, secure) {
5315 // preserve arity
5316 try {
5317 if (fn && fn.handleEvent) {
5318 fn.handleEvent = self.wrap(fn.handleEvent);
5319 }
5320 } catch (err) {
5321 // can sometimes get 'Permission denied to access property "handle Event'
5322 }
5323
5324 // More breadcrumb DOM capture ... done here and not in `_instrumentBreadcrumbs`
5325 // so that we don't have more than one wrapper function
5326 var before, clickHandler, keypressHandler;
5327
5328 if (
5329 autoBreadcrumbs &&
5330 autoBreadcrumbs.dom &&
5331 (global === 'EventTarget' || global === 'Node')
5332 ) {
5333 // NOTE: generating multiple handlers per addEventListener invocation, should
5334 // revisit and verify we can just use one (almost certainly)
5335 clickHandler = self._breadcrumbEventHandler('click');
5336 keypressHandler = self._keypressEventHandler();
5337 before = function(evt) {
5338 // need to intercept every DOM event in `before` argument, in case that
5339 // same wrapped method is re-used for different events (e.g. mousemove THEN click)
5340 // see #724
5341 if (!evt) return;
5342
5343 var eventType;
5344 try {
5345 eventType = evt.type;
5346 } catch (e) {
5347 // just accessing event properties can throw an exception in some rare circumstances
5348 // see: https://github.com/getsentry/raven-js/issues/838
5349 return;
5350 }
5351 if (eventType === 'click') return clickHandler(evt);
5352 else if (eventType === 'keypress') return keypressHandler(evt);
5353 };
5354 }
5355 return orig.call(
5356 this,
5357 evtName,
5358 self.wrap(fn, undefined, before),
5359 capture,
5360 secure
5361 );
5362 };
5363 },
5364 wrappedBuiltIns
5365 );
5366 fill(
5367 proto,
5368 'removeEventListener',
5369 function(orig) {
5370 return function(evt, fn, capture, secure) {
5371 try {
5372 fn = fn && (fn.__raven_wrapper__ ? fn.__raven_wrapper__ : fn);
5373 } catch (e) {
5374 // ignore, accessing __raven_wrapper__ will throw in some Selenium environments
5375 }
5376 return orig.call(this, evt, fn, capture, secure);
5377 };
5378 },
5379 wrappedBuiltIns
5380 );
5381 }
5382 }
5383
5384 fill(_window, 'setTimeout', wrapTimeFn, wrappedBuiltIns);
5385 fill(_window, 'setInterval', wrapTimeFn, wrappedBuiltIns);
5386 if (_window.requestAnimationFrame) {
5387 fill(
5388 _window,
5389 'requestAnimationFrame',
5390 function(orig) {
5391 return function(cb) {
5392 return orig(self.wrap(cb));
5393 };
5394 },
5395 wrappedBuiltIns
5396 );
5397 }
5398
5399 // event targets borrowed from bugsnag-js:
5400 // https://github.com/bugsnag/bugsnag-js/blob/master/src/bugsnag.js#L666
5401 var eventTargets = [
5402 'EventTarget',
5403 'Window',
5404 'Node',
5405 'ApplicationCache',
5406 'AudioTrackList',
5407 'ChannelMergerNode',
5408 'CryptoOperation',
5409 'EventSource',
5410 'FileReader',
5411 'HTMLUnknownElement',
5412 'IDBDatabase',
5413 'IDBRequest',
5414 'IDBTransaction',
5415 'KeyOperation',
5416 'MediaController',
5417 'MessagePort',
5418 'ModalWindow',
5419 'Notification',
5420 'SVGElementInstance',
5421 'Screen',
5422 'TextTrack',
5423 'TextTrackCue',
5424 'TextTrackList',
5425 'WebSocket',
5426 'WebSocketWorker',
5427 'Worker',
5428 'XMLHttpRequest',
5429 'XMLHttpRequestEventTarget',
5430 'XMLHttpRequestUpload'
5431 ];
5432 for (var i = 0; i < eventTargets.length; i++) {
5433 wrapEventTarget(eventTargets[i]);
5434 }
5435 },
5436
5437 /**
5438 * Instrument browser built-ins w/ breadcrumb capturing
5439 * - XMLHttpRequests
5440 * - DOM interactions (click/typing)
5441 * - window.location changes
5442 * - console
5443 *
5444 * Can be disabled or individually configured via the `autoBreadcrumbs` config option
5445 */
5446 _instrumentBreadcrumbs: function() {
5447 var self = this;
5448 var autoBreadcrumbs = this._globalOptions.autoBreadcrumbs;
5449
5450 var wrappedBuiltIns = self._wrappedBuiltIns;
5451
5452 function wrapProp(prop, xhr) {
5453 if (prop in xhr && isFunction(xhr[prop])) {
5454 fill(xhr, prop, function(orig) {
5455 return self.wrap(orig);
5456 }); // intentionally don't track filled methods on XHR instances
5457 }
5458 }
5459
5460 if (autoBreadcrumbs.xhr && 'XMLHttpRequest' in _window) {
5461 var xhrproto = XMLHttpRequest.prototype;
5462 fill(
5463 xhrproto,
5464 'open',
5465 function(origOpen) {
5466 return function(method, url) {
5467 // preserve arity
5468
5469 // if Sentry key appears in URL, don't capture
5470 if (isString(url) && url.indexOf(self._globalKey) === -1) {
5471 this.__raven_xhr = {
5472 method: method,
5473 url: url,
5474 status_code: null
5475 };
5476 }
5477
5478 return origOpen.apply(this, arguments);
5479 };
5480 },
5481 wrappedBuiltIns
5482 );
5483
5484 fill(
5485 xhrproto,
5486 'send',
5487 function(origSend) {
5488 return function(data) {
5489 // preserve arity
5490 var xhr = this;
5491
5492 function onreadystatechangeHandler() {
5493 if (xhr.__raven_xhr && xhr.readyState === 4) {
5494 try {
5495 // touching statusCode in some platforms throws
5496 // an exception
5497 xhr.__raven_xhr.status_code = xhr.status;
5498 } catch (e) {
5499 /* do nothing */
5500 }
5501
5502 self.captureBreadcrumb({
5503 type: 'http',
5504 category: 'xhr',
5505 data: xhr.__raven_xhr
5506 });
5507 }
5508 }
5509
5510 var props = ['onload', 'onerror', 'onprogress'];
5511 for (var j = 0; j < props.length; j++) {
5512 wrapProp(props[j], xhr);
5513 }
5514
5515 if ('onreadystatechange' in xhr && isFunction(xhr.onreadystatechange)) {
5516 fill(
5517 xhr,
5518 'onreadystatechange',
5519 function(orig) {
5520 return self.wrap(orig, undefined, onreadystatechangeHandler);
5521 } /* intentionally don't track this instrumentation */
5522 );
5523 } else {
5524 // if onreadystatechange wasn't actually set by the page on this xhr, we
5525 // are free to set our own and capture the breadcrumb
5526 xhr.onreadystatechange = onreadystatechangeHandler;
5527 }
5528
5529 return origSend.apply(this, arguments);
5530 };
5531 },
5532 wrappedBuiltIns
5533 );
5534 }
5535
5536 if (autoBreadcrumbs.xhr && 'fetch' in _window) {
5537 fill(
5538 _window,
5539 'fetch',
5540 function(origFetch) {
5541 return function(fn, t) {
5542 // preserve arity
5543 // Make a copy of the arguments to prevent deoptimization
5544 // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
5545 var args = new Array(arguments.length);
5546 for (var i = 0; i < args.length; ++i) {
5547 args[i] = arguments[i];
5548 }
5549
5550 var fetchInput = args[0];
5551 var method = 'GET';
5552 var url;
5553
5554 if (typeof fetchInput === 'string') {
5555 url = fetchInput;
5556 } else if ('Request' in _window && fetchInput instanceof _window.Request) {
5557 url = fetchInput.url;
5558 if (fetchInput.method) {
5559 method = fetchInput.method;
5560 }
5561 } else {
5562 url = '' + fetchInput;
5563 }
5564
5565 if (args[1] && args[1].method) {
5566 method = args[1].method;
5567 }
5568
5569 var fetchData = {
5570 method: method,
5571 url: url,
5572 status_code: null
5573 };
5574
5575 self.captureBreadcrumb({
5576 type: 'http',
5577 category: 'fetch',
5578 data: fetchData
5579 });
5580
5581 return origFetch.apply(this, args).then(function(response) {
5582 fetchData.status_code = response.status;
5583
5584 return response;
5585 });
5586 };
5587 },
5588 wrappedBuiltIns
5589 );
5590 }
5591
5592 // Capture breadcrumbs from any click that is unhandled / bubbled up all the way
5593 // to the document. Do this before we instrument addEventListener.
5594 if (autoBreadcrumbs.dom && this._hasDocument) {
5595 if (_document.addEventListener) {
5596 _document.addEventListener('click', self._breadcrumbEventHandler('click'), false);
5597 _document.addEventListener('keypress', self._keypressEventHandler(), false);
5598 } else {
5599 // IE8 Compatibility
5600 _document.attachEvent('onclick', self._breadcrumbEventHandler('click'));
5601 _document.attachEvent('onkeypress', self._keypressEventHandler());
5602 }
5603 }
5604
5605 // record navigation (URL) changes
5606 // NOTE: in Chrome App environment, touching history.pushState, *even inside
5607 // a try/catch block*, will cause Chrome to output an error to console.error
5608 // borrowed from: https://github.com/angular/angular.js/pull/13945/files
5609 var chrome = _window.chrome;
5610 var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;
5611 var hasPushAndReplaceState =
5612 !isChromePackagedApp &&
5613 _window.history &&
5614 history.pushState &&
5615 history.replaceState;
5616 if (autoBreadcrumbs.location && hasPushAndReplaceState) {
5617 // TODO: remove onpopstate handler on uninstall()
5618 var oldOnPopState = _window.onpopstate;
5619 _window.onpopstate = function() {
5620 var currentHref = self._location.href;
5621 self._captureUrlChange(self._lastHref, currentHref);
5622
5623 if (oldOnPopState) {
5624 return oldOnPopState.apply(this, arguments);
5625 }
5626 };
5627
5628 var historyReplacementFunction = function(origHistFunction) {
5629 // note history.pushState.length is 0; intentionally not declaring
5630 // params to preserve 0 arity
5631 return function(/* state, title, url */) {
5632 var url = arguments.length > 2 ? arguments[2] : undefined;
5633
5634 // url argument is optional
5635 if (url) {
5636 // coerce to string (this is what pushState does)
5637 self._captureUrlChange(self._lastHref, url + '');
5638 }
5639
5640 return origHistFunction.apply(this, arguments);
5641 };
5642 };
5643
5644 fill(history, 'pushState', historyReplacementFunction, wrappedBuiltIns);
5645 fill(history, 'replaceState', historyReplacementFunction, wrappedBuiltIns);
5646 }
5647
5648 if (autoBreadcrumbs.console && 'console' in _window && console.log) {
5649 // console
5650 var consoleMethodCallback = function(msg, data) {
5651 self.captureBreadcrumb({
5652 message: msg,
5653 level: data.level,
5654 category: 'console'
5655 });
5656 };
5657
5658 each(['debug', 'info', 'warn', 'error', 'log'], function(_, level) {
5659 wrapConsoleMethod(console, level, consoleMethodCallback);
5660 });
5661 }
5662 },
5663
5664 _restoreBuiltIns: function() {
5665 // restore any wrapped builtins
5666 var builtin;
5667 while (this._wrappedBuiltIns.length) {
5668 builtin = this._wrappedBuiltIns.shift();
5669
5670 var obj = builtin[0],
5671 name = builtin[1],
5672 orig = builtin[2];
5673
5674 obj[name] = orig;
5675 }
5676 },
5677
5678 _drainPlugins: function() {
5679 var self = this;
5680
5681 // FIX ME TODO
5682 each(this._plugins, function(_, plugin) {
5683 var installer = plugin[0];
5684 var args = plugin[1];
5685 installer.apply(self, [self].concat(args));
5686 });
5687 },
5688
5689 _parseDSN: function(str) {
5690 var m = dsnPattern.exec(str),
5691 dsn = {},
5692 i = 7;
5693
5694 try {
5695 while (i--) dsn[dsnKeys[i]] = m[i] || '';
5696 } catch (e) {
5697 throw new RavenConfigError('Invalid DSN: ' + str);
5698 }
5699
5700 if (dsn.pass && !this._globalOptions.allowSecretKey) {
5701 throw new RavenConfigError(
5702 'Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key'
5703 );
5704 }
5705
5706 return dsn;
5707 },
5708
5709 _getGlobalServer: function(uri) {
5710 // assemble the endpoint from the uri pieces
5711 var globalServer = '//' + uri.host + (uri.port ? ':' + uri.port : '');
5712
5713 if (uri.protocol) {
5714 globalServer = uri.protocol + ':' + globalServer;
5715 }
5716 return globalServer;
5717 },
5718
5719 _handleOnErrorStackInfo: function() {
5720 // if we are intentionally ignoring errors via onerror, bail out
5721 if (!this._ignoreOnError) {
5722 this._handleStackInfo.apply(this, arguments);
5723 }
5724 },
5725
5726 _handleStackInfo: function(stackInfo, options) {
5727 var frames = this._prepareFrames(stackInfo, options);
5728
5729 this._triggerEvent('handle', {
5730 stackInfo: stackInfo,
5731 options: options
5732 });
5733
5734 this._processException(
5735 stackInfo.name,
5736 stackInfo.message,
5737 stackInfo.url,
5738 stackInfo.lineno,
5739 frames,
5740 options
5741 );
5742 },
5743
5744 _prepareFrames: function(stackInfo, options) {
5745 var self = this;
5746 var frames = [];
5747 if (stackInfo.stack && stackInfo.stack.length) {
5748 each(stackInfo.stack, function(i, stack) {
5749 var frame = self._normalizeFrame(stack, stackInfo.url);
5750 if (frame) {
5751 frames.push(frame);
5752 }
5753 });
5754
5755 // e.g. frames captured via captureMessage throw
5756 if (options && options.trimHeadFrames) {
5757 for (var j = 0; j < options.trimHeadFrames && j < frames.length; j++) {
5758 frames[j].in_app = false;
5759 }
5760 }
5761 }
5762 frames = frames.slice(0, this._globalOptions.stackTraceLimit);
5763 return frames;
5764 },
5765
5766 _normalizeFrame: function(frame, stackInfoUrl) {
5767 // normalize the frames data
5768 var normalized = {
5769 filename: frame.url,
5770 lineno: frame.line,
5771 colno: frame.column,
5772 function: frame.func || '?'
5773 };
5774
5775 // Case when we don't have any information about the error
5776 // E.g. throwing a string or raw object, instead of an `Error` in Firefox
5777 // Generating synthetic error doesn't add any value here
5778 //
5779 // We should probably somehow let a user know that they should fix their code
5780 if (!frame.url) {
5781 normalized.filename = stackInfoUrl; // fallback to whole stacks url from onerror handler
5782 }
5783
5784 normalized.in_app = !// determine if an exception came from outside of our app
5785 // first we check the global includePaths list.
5786 (
5787 (!!this._globalOptions.includePaths.test &&
5788 !this._globalOptions.includePaths.test(normalized.filename)) ||
5789 // Now we check for fun, if the function name is Raven or TraceKit
5790 /(Raven|TraceKit)\./.test(normalized['function']) ||
5791 // finally, we do a last ditch effort and check for raven.min.js
5792 /raven\.(min\.)?js$/.test(normalized.filename)
5793 );
5794
5795 return normalized;
5796 },
5797
5798 _processException: function(type, message, fileurl, lineno, frames, options) {
5799 var prefixedMessage = (type ? type + ': ' : '') + (message || '');
5800 if (
5801 !!this._globalOptions.ignoreErrors.test &&
5802 (this._globalOptions.ignoreErrors.test(message) ||
5803 this._globalOptions.ignoreErrors.test(prefixedMessage))
5804 ) {
5805 return;
5806 }
5807
5808 var stacktrace;
5809
5810 if (frames && frames.length) {
5811 fileurl = frames[0].filename || fileurl;
5812 // Sentry expects frames oldest to newest
5813 // and JS sends them as newest to oldest
5814 frames.reverse();
5815 stacktrace = {frames: frames};
5816 } else if (fileurl) {
5817 stacktrace = {
5818 frames: [
5819 {
5820 filename: fileurl,
5821 lineno: lineno,
5822 in_app: true
5823 }
5824 ]
5825 };
5826 }
5827
5828 if (
5829 !!this._globalOptions.ignoreUrls.test &&
5830 this._globalOptions.ignoreUrls.test(fileurl)
5831 ) {
5832 return;
5833 }
5834
5835 if (
5836 !!this._globalOptions.whitelistUrls.test &&
5837 !this._globalOptions.whitelistUrls.test(fileurl)
5838 ) {
5839 return;
5840 }
5841
5842 var data = objectMerge(
5843 {
5844 // sentry.interfaces.Exception
5845 exception: {
5846 values: [
5847 {
5848 type: type,
5849 value: message,
5850 stacktrace: stacktrace
5851 }
5852 ]
5853 },
5854 culprit: fileurl
5855 },
5856 options
5857 );
5858
5859 // Fire away!
5860 this._send(data);
5861 },
5862
5863 _trimPacket: function(data) {
5864 // For now, we only want to truncate the two different messages
5865 // but this could/should be expanded to just trim everything
5866 var max = this._globalOptions.maxMessageLength;
5867 if (data.message) {
5868 data.message = truncate(data.message, max);
5869 }
5870 if (data.exception) {
5871 var exception = data.exception.values[0];
5872 exception.value = truncate(exception.value, max);
5873 }
5874
5875 var request = data.request;
5876 if (request) {
5877 if (request.url) {
5878 request.url = truncate(request.url, this._globalOptions.maxUrlLength);
5879 }
5880 if (request.Referer) {
5881 request.Referer = truncate(request.Referer, this._globalOptions.maxUrlLength);
5882 }
5883 }
5884
5885 if (data.breadcrumbs && data.breadcrumbs.values)
5886 this._trimBreadcrumbs(data.breadcrumbs);
5887
5888 return data;
5889 },
5890
5891 /**
5892 * Truncate breadcrumb values (right now just URLs)
5893 */
5894 _trimBreadcrumbs: function(breadcrumbs) {
5895 // known breadcrumb properties with urls
5896 // TODO: also consider arbitrary prop values that start with (https?)?://
5897 var urlProps = ['to', 'from', 'url'],
5898 urlProp,
5899 crumb,
5900 data;
5901
5902 for (var i = 0; i < breadcrumbs.values.length; ++i) {
5903 crumb = breadcrumbs.values[i];
5904 if (
5905 !crumb.hasOwnProperty('data') ||
5906 !isObject(crumb.data) ||
5907 objectFrozen(crumb.data)
5908 )
5909 continue;
5910
5911 data = objectMerge({}, crumb.data);
5912 for (var j = 0; j < urlProps.length; ++j) {
5913 urlProp = urlProps[j];
5914 if (data.hasOwnProperty(urlProp) && data[urlProp]) {
5915 data[urlProp] = truncate(data[urlProp], this._globalOptions.maxUrlLength);
5916 }
5917 }
5918 breadcrumbs.values[i].data = data;
5919 }
5920 },
5921
5922 _getHttpData: function() {
5923 if (!this._hasNavigator && !this._hasDocument) return;
5924 var httpData = {};
5925
5926 if (this._hasNavigator && _navigator.userAgent) {
5927 httpData.headers = {
5928 'User-Agent': navigator.userAgent
5929 };
5930 }
5931
5932 if (this._hasDocument) {
5933 if (_document.location && _document.location.href) {
5934 httpData.url = _document.location.href;
5935 }
5936 if (_document.referrer) {
5937 if (!httpData.headers) httpData.headers = {};
5938 httpData.headers.Referer = _document.referrer;
5939 }
5940 }
5941
5942 return httpData;
5943 },
5944
5945 _resetBackoff: function() {
5946 this._backoffDuration = 0;
5947 this._backoffStart = null;
5948 },
5949
5950 _shouldBackoff: function() {
5951 return this._backoffDuration && now() - this._backoffStart < this._backoffDuration;
5952 },
5953
5954 /**
5955 * Returns true if the in-process data payload matches the signature
5956 * of the previously-sent data
5957 *
5958 * NOTE: This has to be done at this level because TraceKit can generate
5959 * data from window.onerror WITHOUT an exception object (IE8, IE9,
5960 * other old browsers). This can take the form of an "exception"
5961 * data object with a single frame (derived from the onerror args).
5962 */
5963 _isRepeatData: function(current) {
5964 var last = this._lastData;
5965
5966 if (
5967 !last ||
5968 current.message !== last.message || // defined for captureMessage
5969 current.culprit !== last.culprit // defined for captureException/onerror
5970 )
5971 return false;
5972
5973 // Stacktrace interface (i.e. from captureMessage)
5974 if (current.stacktrace || last.stacktrace) {
5975 return isSameStacktrace(current.stacktrace, last.stacktrace);
5976 } else if (current.exception || last.exception) {
5977 // Exception interface (i.e. from captureException/onerror)
5978 return isSameException(current.exception, last.exception);
5979 }
5980
5981 return true;
5982 },
5983
5984 _setBackoffState: function(request) {
5985 // If we are already in a backoff state, don't change anything
5986 if (this._shouldBackoff()) {
5987 return;
5988 }
5989
5990 var status = request.status;
5991
5992 // 400 - project_id doesn't exist or some other fatal
5993 // 401 - invalid/revoked dsn
5994 // 429 - too many requests
5995 if (!(status === 400 || status === 401 || status === 429)) return;
5996
5997 var retry;
5998 try {
5999 // If Retry-After is not in Access-Control-Expose-Headers, most
6000 // browsers will throw an exception trying to access it
6001 retry = request.getResponseHeader('Retry-After');
6002 retry = parseInt(retry, 10) * 1000; // Retry-After is returned in seconds
6003 } catch (e) {
6004 /* eslint no-empty:0 */
6005 }
6006
6007 this._backoffDuration = retry
6008 ? // If Sentry server returned a Retry-After value, use it
6009 retry
6010 : // Otherwise, double the last backoff duration (starts at 1 sec)
6011 this._backoffDuration * 2 || 1000;
6012
6013 this._backoffStart = now();
6014 },
6015
6016 _send: function(data) {
6017 var globalOptions = this._globalOptions;
6018
6019 var baseData = {
6020 project: this._globalProject,
6021 logger: globalOptions.logger,
6022 platform: 'javascript'
6023 },
6024 httpData = this._getHttpData();
6025
6026 if (httpData) {
6027 baseData.request = httpData;
6028 }
6029
6030 // HACK: delete `trimHeadFrames` to prevent from appearing in outbound payload
6031 if (data.trimHeadFrames) delete data.trimHeadFrames;
6032
6033 data = objectMerge(baseData, data);
6034
6035 // Merge in the tags and extra separately since objectMerge doesn't handle a deep merge
6036 data.tags = objectMerge(objectMerge({}, this._globalContext.tags), data.tags);
6037 data.extra = objectMerge(objectMerge({}, this._globalContext.extra), data.extra);
6038
6039 // Send along our own collected metadata with extra
6040 data.extra['session:duration'] = now() - this._startTime;
6041
6042 if (this._breadcrumbs && this._breadcrumbs.length > 0) {
6043 // intentionally make shallow copy so that additions
6044 // to breadcrumbs aren't accidentally sent in this request
6045 data.breadcrumbs = {
6046 values: [].slice.call(this._breadcrumbs, 0)
6047 };
6048 }
6049
6050 // If there are no tags/extra, strip the key from the payload alltogther.
6051 if (isEmptyObject(data.tags)) delete data.tags;
6052
6053 if (this._globalContext.user) {
6054 // sentry.interfaces.User
6055 data.user = this._globalContext.user;
6056 }
6057
6058 // Include the environment if it's defined in globalOptions
6059 if (globalOptions.environment) data.environment = globalOptions.environment;
6060
6061 // Include the release if it's defined in globalOptions
6062 if (globalOptions.release) data.release = globalOptions.release;
6063
6064 // Include server_name if it's defined in globalOptions
6065 if (globalOptions.serverName) data.server_name = globalOptions.serverName;
6066
6067 if (isFunction(globalOptions.dataCallback)) {
6068 data = globalOptions.dataCallback(data) || data;
6069 }
6070
6071 // Why??????????
6072 if (!data || isEmptyObject(data)) {
6073 return;
6074 }
6075
6076 // Check if the request should be filtered or not
6077 if (
6078 isFunction(globalOptions.shouldSendCallback) &&
6079 !globalOptions.shouldSendCallback(data)
6080 ) {
6081 return;
6082 }
6083
6084 // Backoff state: Sentry server previously responded w/ an error (e.g. 429 - too many requests),
6085 // so drop requests until "cool-off" period has elapsed.
6086 if (this._shouldBackoff()) {
6087 this._logDebug('warn', 'Raven dropped error due to backoff: ', data);
6088 return;
6089 }
6090
6091 if (typeof globalOptions.sampleRate === 'number') {
6092 if (Math.random() < globalOptions.sampleRate) {
6093 this._sendProcessedPayload(data);
6094 }
6095 } else {
6096 this._sendProcessedPayload(data);
6097 }
6098 },
6099
6100 _getUuid: function() {
6101 return uuid4();
6102 },
6103
6104 _sendProcessedPayload: function(data, callback) {
6105 var self = this;
6106 var globalOptions = this._globalOptions;
6107
6108 if (!this.isSetup()) return;
6109
6110 // Try and clean up the packet before sending by truncating long values
6111 data = this._trimPacket(data);
6112
6113 // ideally duplicate error testing should occur *before* dataCallback/shouldSendCallback,
6114 // but this would require copying an un-truncated copy of the data packet, which can be
6115 // arbitrarily deep (extra_data) -- could be worthwhile? will revisit
6116 if (!this._globalOptions.allowDuplicates && this._isRepeatData(data)) {
6117 this._logDebug('warn', 'Raven dropped repeat event: ', data);
6118 return;
6119 }
6120
6121 // Send along an event_id if not explicitly passed.
6122 // This event_id can be used to reference the error within Sentry itself.
6123 // Set lastEventId after we know the error should actually be sent
6124 this._lastEventId = data.event_id || (data.event_id = this._getUuid());
6125
6126 // Store outbound payload after trim
6127 this._lastData = data;
6128
6129 this._logDebug('debug', 'Raven about to send:', data);
6130
6131 var auth = {
6132 sentry_version: '7',
6133 sentry_client: 'raven-js/' + this.VERSION,
6134 sentry_key: this._globalKey
6135 };
6136
6137 if (this._globalSecret) {
6138 auth.sentry_secret = this._globalSecret;
6139 }
6140
6141 var exception = data.exception && data.exception.values[0];
6142 this.captureBreadcrumb({
6143 category: 'sentry',
6144 message: exception
6145 ? (exception.type ? exception.type + ': ' : '') + exception.value
6146 : data.message,
6147 event_id: data.event_id,
6148 level: data.level || 'error' // presume error unless specified
6149 });
6150
6151 var url = this._globalEndpoint;
6152 (globalOptions.transport || this._makeRequest).call(this, {
6153 url: url,
6154 auth: auth,
6155 data: data,
6156 options: globalOptions,
6157 onSuccess: function success() {
6158 self._resetBackoff();
6159
6160 self._triggerEvent('success', {
6161 data: data,
6162 src: url
6163 });
6164 callback && callback();
6165 },
6166 onError: function failure(error) {
6167 self._logDebug('error', 'Raven transport failed to send: ', error);
6168
6169 if (error.request) {
6170 self._setBackoffState(error.request);
6171 }
6172
6173 self._triggerEvent('failure', {
6174 data: data,
6175 src: url
6176 });
6177 error = error || new Error('Raven send failed (no additional details provided)');
6178 callback && callback(error);
6179 }
6180 });
6181 },
6182
6183 _makeRequest: function(opts) {
6184 var request = _window.XMLHttpRequest && new _window.XMLHttpRequest();
6185 if (!request) return;
6186
6187 // if browser doesn't support CORS (e.g. IE7), we are out of luck
6188 var hasCORS = 'withCredentials' in request || typeof XDomainRequest !== 'undefined';
6189
6190 if (!hasCORS) return;
6191
6192 var url = opts.url;
6193
6194 if ('withCredentials' in request) {
6195 request.onreadystatechange = function() {
6196 if (request.readyState !== 4) {
6197 return;
6198 } else if (request.status === 200) {
6199 opts.onSuccess && opts.onSuccess();
6200 } else if (opts.onError) {
6201 var err = new Error('Sentry error code: ' + request.status);
6202 err.request = request;
6203 opts.onError(err);
6204 }
6205 };
6206 } else {
6207 request = new XDomainRequest();
6208 // xdomainrequest cannot go http -> https (or vice versa),
6209 // so always use protocol relative
6210 url = url.replace(/^https?:/, '');
6211
6212 // onreadystatechange not supported by XDomainRequest
6213 if (opts.onSuccess) {
6214 request.onload = opts.onSuccess;
6215 }
6216 if (opts.onError) {
6217 request.onerror = function() {
6218 var err = new Error('Sentry error code: XDomainRequest');
6219 err.request = request;
6220 opts.onError(err);
6221 };
6222 }
6223 }
6224
6225 // NOTE: auth is intentionally sent as part of query string (NOT as custom
6226 // HTTP header) so as to avoid preflight CORS requests
6227 request.open('POST', url + '?' + urlencode(opts.auth));
6228 request.send(stringify(opts.data));
6229 },
6230
6231 _logDebug: function(level) {
6232 if (this._originalConsoleMethods[level] && this.debug) {
6233 // In IE<10 console methods do not have their own 'apply' method
6234 Function.prototype.apply.call(
6235 this._originalConsoleMethods[level],
6236 this._originalConsole,
6237 [].slice.call(arguments, 1)
6238 );
6239 }
6240 },
6241
6242 _mergeContext: function(key, context) {
6243 if (isUndefined(context)) {
6244 delete this._globalContext[key];
6245 } else {
6246 this._globalContext[key] = objectMerge(this._globalContext[key] || {}, context);
6247 }
6248 }
6249 };
6250
6251 // Deprecations
6252 Raven.prototype.setUser = Raven.prototype.setUserContext;
6253 Raven.prototype.setReleaseContext = Raven.prototype.setRelease;
6254
6255 module.exports = Raven;
6256
6257
6258 /***/ }),
6259
6260 /***/ "./node_modules/raven-js/src/singleton.js":
6261 /*!************************************************!*\
6262 !*** ./node_modules/raven-js/src/singleton.js ***!
6263 \************************************************/
6264 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6265
6266 /**
6267 * Enforces a single instance of the Raven client, and the
6268 * main entry point for Raven. If you are a consumer of the
6269 * Raven library, you SHOULD load this file (vs raven.js).
6270 **/
6271
6272 var RavenConstructor = __webpack_require__(/*! ./raven */ "./node_modules/raven-js/src/raven.js");
6273
6274 // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)
6275 var _window =
6276 typeof window !== 'undefined'
6277 ? window
6278 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
6279 var _Raven = _window.Raven;
6280
6281 var Raven = new RavenConstructor();
6282
6283 /*
6284 * Allow multiple versions of Raven to be installed.
6285 * Strip Raven from the global context and returns the instance.
6286 *
6287 * @return {Raven}
6288 */
6289 Raven.noConflict = function() {
6290 _window.Raven = _Raven;
6291 return Raven;
6292 };
6293
6294 Raven.afterLoad();
6295
6296 module.exports = Raven;
6297
6298
6299 /***/ }),
6300
6301 /***/ "./node_modules/raven-js/src/utils.js":
6302 /*!********************************************!*\
6303 !*** ./node_modules/raven-js/src/utils.js ***!
6304 \********************************************/
6305 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6306
6307 var _window =
6308 typeof window !== 'undefined'
6309 ? window
6310 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
6311
6312 function isObject(what) {
6313 return typeof what === 'object' && what !== null;
6314 }
6315
6316 // Yanked from https://git.io/vS8DV re-used under CC0
6317 // with some tiny modifications
6318 function isError(value) {
6319 switch ({}.toString.call(value)) {
6320 case '[object Error]':
6321 return true;
6322 case '[object Exception]':
6323 return true;
6324 case '[object DOMException]':
6325 return true;
6326 default:
6327 return value instanceof Error;
6328 }
6329 }
6330
6331 function isErrorEvent(value) {
6332 return supportsErrorEvent() && {}.toString.call(value) === '[object ErrorEvent]';
6333 }
6334
6335 function isUndefined(what) {
6336 return what === void 0;
6337 }
6338
6339 function isFunction(what) {
6340 return typeof what === 'function';
6341 }
6342
6343 function isString(what) {
6344 return Object.prototype.toString.call(what) === '[object String]';
6345 }
6346
6347 function isEmptyObject(what) {
6348 for (var _ in what) return false; // eslint-disable-line guard-for-in, no-unused-vars
6349 return true;
6350 }
6351
6352 function supportsErrorEvent() {
6353 try {
6354 new ErrorEvent(''); // eslint-disable-line no-new
6355 return true;
6356 } catch (e) {
6357 return false;
6358 }
6359 }
6360
6361 function wrappedCallback(callback) {
6362 function dataCallback(data, original) {
6363 var normalizedData = callback(data) || data;
6364 if (original) {
6365 return original(normalizedData) || normalizedData;
6366 }
6367 return normalizedData;
6368 }
6369
6370 return dataCallback;
6371 }
6372
6373 function each(obj, callback) {
6374 var i, j;
6375
6376 if (isUndefined(obj.length)) {
6377 for (i in obj) {
6378 if (hasKey(obj, i)) {
6379 callback.call(null, i, obj[i]);
6380 }
6381 }
6382 } else {
6383 j = obj.length;
6384 if (j) {
6385 for (i = 0; i < j; i++) {
6386 callback.call(null, i, obj[i]);
6387 }
6388 }
6389 }
6390 }
6391
6392 function objectMerge(obj1, obj2) {
6393 if (!obj2) {
6394 return obj1;
6395 }
6396 each(obj2, function(key, value) {
6397 obj1[key] = value;
6398 });
6399 return obj1;
6400 }
6401
6402 /**
6403 * This function is only used for react-native.
6404 * react-native freezes object that have already been sent over the
6405 * js bridge. We need this function in order to check if the object is frozen.
6406 * So it's ok that objectFrozen returns false if Object.isFrozen is not
6407 * supported because it's not relevant for other "platforms". See related issue:
6408 * https://github.com/getsentry/react-native-sentry/issues/57
6409 */
6410 function objectFrozen(obj) {
6411 if (!Object.isFrozen) {
6412 return false;
6413 }
6414 return Object.isFrozen(obj);
6415 }
6416
6417 function truncate(str, max) {
6418 return !max || str.length <= max ? str : str.substr(0, max) + '\u2026';
6419 }
6420
6421 /**
6422 * hasKey, a better form of hasOwnProperty
6423 * Example: hasKey(MainHostObject, property) === true/false
6424 *
6425 * @param {Object} host object to check property
6426 * @param {string} key to check
6427 */
6428 function hasKey(object, key) {
6429 return Object.prototype.hasOwnProperty.call(object, key);
6430 }
6431
6432 function joinRegExp(patterns) {
6433 // Combine an array of regular expressions and strings into one large regexp
6434 // Be mad.
6435 var sources = [],
6436 i = 0,
6437 len = patterns.length,
6438 pattern;
6439
6440 for (; i < len; i++) {
6441 pattern = patterns[i];
6442 if (isString(pattern)) {
6443 // If it's a string, we need to escape it
6444 // Taken from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
6445 sources.push(pattern.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1'));
6446 } else if (pattern && pattern.source) {
6447 // If it's a regexp already, we want to extract the source
6448 sources.push(pattern.source);
6449 }
6450 // Intentionally skip other cases
6451 }
6452 return new RegExp(sources.join('|'), 'i');
6453 }
6454
6455 function urlencode(o) {
6456 var pairs = [];
6457 each(o, function(key, value) {
6458 pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));
6459 });
6460 return pairs.join('&');
6461 }
6462
6463 // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B
6464 // intentionally using regex and not <a/> href parsing trick because React Native and other
6465 // environments where DOM might not be available
6466 function parseUrl(url) {
6467 var match = url.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
6468 if (!match) return {};
6469
6470 // coerce to undefined values to empty string so we don't get 'undefined'
6471 var query = match[6] || '';
6472 var fragment = match[8] || '';
6473 return {
6474 protocol: match[2],
6475 host: match[4],
6476 path: match[5],
6477 relative: match[5] + query + fragment // everything minus origin
6478 };
6479 }
6480 function uuid4() {
6481 var crypto = _window.crypto || _window.msCrypto;
6482
6483 if (!isUndefined(crypto) && crypto.getRandomValues) {
6484 // Use window.crypto API if available
6485 // eslint-disable-next-line no-undef
6486 var arr = new Uint16Array(8);
6487 crypto.getRandomValues(arr);
6488
6489 // set 4 in byte 7
6490 arr[3] = (arr[3] & 0xfff) | 0x4000;
6491 // set 2 most significant bits of byte 9 to '10'
6492 arr[4] = (arr[4] & 0x3fff) | 0x8000;
6493
6494 var pad = function(num) {
6495 var v = num.toString(16);
6496 while (v.length < 4) {
6497 v = '0' + v;
6498 }
6499 return v;
6500 };
6501
6502 return (
6503 pad(arr[0]) +
6504 pad(arr[1]) +
6505 pad(arr[2]) +
6506 pad(arr[3]) +
6507 pad(arr[4]) +
6508 pad(arr[5]) +
6509 pad(arr[6]) +
6510 pad(arr[7])
6511 );
6512 } else {
6513 // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523
6514 return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
6515 var r = (Math.random() * 16) | 0,
6516 v = c === 'x' ? r : (r & 0x3) | 0x8;
6517 return v.toString(16);
6518 });
6519 }
6520 }
6521
6522 /**
6523 * Given a child DOM element, returns a query-selector statement describing that
6524 * and its ancestors
6525 * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]
6526 * @param elem
6527 * @returns {string}
6528 */
6529 function htmlTreeAsString(elem) {
6530 /* eslint no-extra-parens:0*/
6531 var MAX_TRAVERSE_HEIGHT = 5,
6532 MAX_OUTPUT_LEN = 80,
6533 out = [],
6534 height = 0,
6535 len = 0,
6536 separator = ' > ',
6537 sepLength = separator.length,
6538 nextStr;
6539
6540 while (elem && height++ < MAX_TRAVERSE_HEIGHT) {
6541 nextStr = htmlElementAsString(elem);
6542 // bail out if
6543 // - nextStr is the 'html' element
6544 // - the length of the string that would be created exceeds MAX_OUTPUT_LEN
6545 // (ignore this limit if we are on the first iteration)
6546 if (
6547 nextStr === 'html' ||
6548 (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)
6549 ) {
6550 break;
6551 }
6552
6553 out.push(nextStr);
6554
6555 len += nextStr.length;
6556 elem = elem.parentNode;
6557 }
6558
6559 return out.reverse().join(separator);
6560 }
6561
6562 /**
6563 * Returns a simple, query-selector representation of a DOM element
6564 * e.g. [HTMLElement] => input#foo.btn[name=baz]
6565 * @param HTMLElement
6566 * @returns {string}
6567 */
6568 function htmlElementAsString(elem) {
6569 var out = [],
6570 className,
6571 classes,
6572 key,
6573 attr,
6574 i;
6575
6576 if (!elem || !elem.tagName) {
6577 return '';
6578 }
6579
6580 out.push(elem.tagName.toLowerCase());
6581 if (elem.id) {
6582 out.push('#' + elem.id);
6583 }
6584
6585 className = elem.className;
6586 if (className && isString(className)) {
6587 classes = className.split(/\s+/);
6588 for (i = 0; i < classes.length; i++) {
6589 out.push('.' + classes[i]);
6590 }
6591 }
6592 var attrWhitelist = ['type', 'name', 'title', 'alt'];
6593 for (i = 0; i < attrWhitelist.length; i++) {
6594 key = attrWhitelist[i];
6595 attr = elem.getAttribute(key);
6596 if (attr) {
6597 out.push('[' + key + '="' + attr + '"]');
6598 }
6599 }
6600 return out.join('');
6601 }
6602
6603 /**
6604 * Returns true if either a OR b is truthy, but not both
6605 */
6606 function isOnlyOneTruthy(a, b) {
6607 return !!(!!a ^ !!b);
6608 }
6609
6610 /**
6611 * Returns true if the two input exception interfaces have the same content
6612 */
6613 function isSameException(ex1, ex2) {
6614 if (isOnlyOneTruthy(ex1, ex2)) return false;
6615
6616 ex1 = ex1.values[0];
6617 ex2 = ex2.values[0];
6618
6619 if (ex1.type !== ex2.type || ex1.value !== ex2.value) return false;
6620
6621 return isSameStacktrace(ex1.stacktrace, ex2.stacktrace);
6622 }
6623
6624 /**
6625 * Returns true if the two input stack trace interfaces have the same content
6626 */
6627 function isSameStacktrace(stack1, stack2) {
6628 if (isOnlyOneTruthy(stack1, stack2)) return false;
6629
6630 var frames1 = stack1.frames;
6631 var frames2 = stack2.frames;
6632
6633 // Exit early if frame count differs
6634 if (frames1.length !== frames2.length) return false;
6635
6636 // Iterate through every frame; bail out if anything differs
6637 var a, b;
6638 for (var i = 0; i < frames1.length; i++) {
6639 a = frames1[i];
6640 b = frames2[i];
6641 if (
6642 a.filename !== b.filename ||
6643 a.lineno !== b.lineno ||
6644 a.colno !== b.colno ||
6645 a['function'] !== b['function']
6646 )
6647 return false;
6648 }
6649 return true;
6650 }
6651
6652 /**
6653 * Polyfill a method
6654 * @param obj object e.g. `document`
6655 * @param name method name present on object e.g. `addEventListener`
6656 * @param replacement replacement function
6657 * @param track {optional} record instrumentation to an array
6658 */
6659 function fill(obj, name, replacement, track) {
6660 var orig = obj[name];
6661 obj[name] = replacement(orig);
6662 if (track) {
6663 track.push([obj, name, orig]);
6664 }
6665 }
6666
6667 module.exports = {
6668 isObject: isObject,
6669 isError: isError,
6670 isErrorEvent: isErrorEvent,
6671 isUndefined: isUndefined,
6672 isFunction: isFunction,
6673 isString: isString,
6674 isEmptyObject: isEmptyObject,
6675 supportsErrorEvent: supportsErrorEvent,
6676 wrappedCallback: wrappedCallback,
6677 each: each,
6678 objectMerge: objectMerge,
6679 truncate: truncate,
6680 objectFrozen: objectFrozen,
6681 hasKey: hasKey,
6682 joinRegExp: joinRegExp,
6683 urlencode: urlencode,
6684 uuid4: uuid4,
6685 htmlTreeAsString: htmlTreeAsString,
6686 htmlElementAsString: htmlElementAsString,
6687 isSameException: isSameException,
6688 isSameStacktrace: isSameStacktrace,
6689 parseUrl: parseUrl,
6690 fill: fill
6691 };
6692
6693
6694 /***/ }),
6695
6696 /***/ "./node_modules/raven-js/vendor/TraceKit/tracekit.js":
6697 /*!***********************************************************!*\
6698 !*** ./node_modules/raven-js/vendor/TraceKit/tracekit.js ***!
6699 \***********************************************************/
6700 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6701
6702 var utils = __webpack_require__(/*! ../../src/utils */ "./node_modules/raven-js/src/utils.js");
6703
6704 /*
6705 TraceKit - Cross brower stack traces
6706
6707 This was originally forked from github.com/occ/TraceKit, but has since been
6708 largely re-written and is now maintained as part of raven-js. Tests for
6709 this are in test/vendor.
6710
6711 MIT license
6712 */
6713
6714 var TraceKit = {
6715 collectWindowErrors: true,
6716 debug: false
6717 };
6718
6719 // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)
6720 var _window =
6721 typeof window !== 'undefined'
6722 ? window
6723 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
6724
6725 // global reference to slice
6726 var _slice = [].slice;
6727 var UNKNOWN_FUNCTION = '?';
6728
6729 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
6730 var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;
6731
6732 function getLocationHref() {
6733 if (typeof document === 'undefined' || document.location == null) return '';
6734
6735 return document.location.href;
6736 }
6737
6738 /**
6739 * TraceKit.report: cross-browser processing of unhandled exceptions
6740 *
6741 * Syntax:
6742 * TraceKit.report.subscribe(function(stackInfo) { ... })
6743 * TraceKit.report.unsubscribe(function(stackInfo) { ... })
6744 * TraceKit.report(exception)
6745 * try { ...code... } catch(ex) { TraceKit.report(ex); }
6746 *
6747 * Supports:
6748 * - Firefox: full stack trace with line numbers, plus column number
6749 * on top frame; column number is not guaranteed
6750 * - Opera: full stack trace with line and column numbers
6751 * - Chrome: full stack trace with line and column numbers
6752 * - Safari: line and column number for the top frame only; some frames
6753 * may be missing, and column number is not guaranteed
6754 * - IE: line and column number for the top frame only; some frames
6755 * may be missing, and column number is not guaranteed
6756 *
6757 * In theory, TraceKit should work on all of the following versions:
6758 * - IE5.5+ (only 8.0 tested)
6759 * - Firefox 0.9+ (only 3.5+ tested)
6760 * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require
6761 * Exceptions Have Stacktrace to be enabled in opera:config)
6762 * - Safari 3+ (only 4+ tested)
6763 * - Chrome 1+ (only 5+ tested)
6764 * - Konqueror 3.5+ (untested)
6765 *
6766 * Requires TraceKit.computeStackTrace.
6767 *
6768 * Tries to catch all unhandled exceptions and report them to the
6769 * subscribed handlers. Please note that TraceKit.report will rethrow the
6770 * exception. This is REQUIRED in order to get a useful stack trace in IE.
6771 * If the exception does not reach the top of the browser, you will only
6772 * get a stack trace from the point where TraceKit.report was called.
6773 *
6774 * Handlers receive a stackInfo object as described in the
6775 * TraceKit.computeStackTrace docs.
6776 */
6777 TraceKit.report = (function reportModuleWrapper() {
6778 var handlers = [],
6779 lastArgs = null,
6780 lastException = null,
6781 lastExceptionStack = null;
6782
6783 /**
6784 * Add a crash handler.
6785 * @param {Function} handler
6786 */
6787 function subscribe(handler) {
6788 installGlobalHandler();
6789 handlers.push(handler);
6790 }
6791
6792 /**
6793 * Remove a crash handler.
6794 * @param {Function} handler
6795 */
6796 function unsubscribe(handler) {
6797 for (var i = handlers.length - 1; i >= 0; --i) {
6798 if (handlers[i] === handler) {
6799 handlers.splice(i, 1);
6800 }
6801 }
6802 }
6803
6804 /**
6805 * Remove all crash handlers.
6806 */
6807 function unsubscribeAll() {
6808 uninstallGlobalHandler();
6809 handlers = [];
6810 }
6811
6812 /**
6813 * Dispatch stack information to all handlers.
6814 * @param {Object.<string, *>} stack
6815 */
6816 function notifyHandlers(stack, isWindowError) {
6817 var exception = null;
6818 if (isWindowError && !TraceKit.collectWindowErrors) {
6819 return;
6820 }
6821 for (var i in handlers) {
6822 if (handlers.hasOwnProperty(i)) {
6823 try {
6824 handlers[i].apply(null, [stack].concat(_slice.call(arguments, 2)));
6825 } catch (inner) {
6826 exception = inner;
6827 }
6828 }
6829 }
6830
6831 if (exception) {
6832 throw exception;
6833 }
6834 }
6835
6836 var _oldOnerrorHandler, _onErrorHandlerInstalled;
6837
6838 /**
6839 * Ensures all global unhandled exceptions are recorded.
6840 * Supported by Gecko and IE.
6841 * @param {string} message Error message.
6842 * @param {string} url URL of script that generated the exception.
6843 * @param {(number|string)} lineNo The line number at which the error
6844 * occurred.
6845 * @param {?(number|string)} colNo The column number at which the error
6846 * occurred.
6847 * @param {?Error} ex The actual Error object.
6848 */
6849 function traceKitWindowOnError(message, url, lineNo, colNo, ex) {
6850 var stack = null;
6851
6852 if (lastExceptionStack) {
6853 TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(
6854 lastExceptionStack,
6855 url,
6856 lineNo,
6857 message
6858 );
6859 processLastException();
6860 } else if (ex && utils.isError(ex)) {
6861 // non-string `ex` arg; attempt to extract stack trace
6862
6863 // New chrome and blink send along a real error object
6864 // Let's just report that like a normal error.
6865 // See: https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror
6866 stack = TraceKit.computeStackTrace(ex);
6867 notifyHandlers(stack, true);
6868 } else {
6869 var location = {
6870 url: url,
6871 line: lineNo,
6872 column: colNo
6873 };
6874
6875 var name = undefined;
6876 var msg = message; // must be new var or will modify original `arguments`
6877 var groups;
6878 if ({}.toString.call(message) === '[object String]') {
6879 var groups = message.match(ERROR_TYPES_RE);
6880 if (groups) {
6881 name = groups[1];
6882 msg = groups[2];
6883 }
6884 }
6885
6886 location.func = UNKNOWN_FUNCTION;
6887
6888 stack = {
6889 name: name,
6890 message: msg,
6891 url: getLocationHref(),
6892 stack: [location]
6893 };
6894 notifyHandlers(stack, true);
6895 }
6896
6897 if (_oldOnerrorHandler) {
6898 return _oldOnerrorHandler.apply(this, arguments);
6899 }
6900
6901 return false;
6902 }
6903
6904 function installGlobalHandler() {
6905 if (_onErrorHandlerInstalled) {
6906 return;
6907 }
6908 _oldOnerrorHandler = _window.onerror;
6909 _window.onerror = traceKitWindowOnError;
6910 _onErrorHandlerInstalled = true;
6911 }
6912
6913 function uninstallGlobalHandler() {
6914 if (!_onErrorHandlerInstalled) {
6915 return;
6916 }
6917 _window.onerror = _oldOnerrorHandler;
6918 _onErrorHandlerInstalled = false;
6919 _oldOnerrorHandler = undefined;
6920 }
6921
6922 function processLastException() {
6923 var _lastExceptionStack = lastExceptionStack,
6924 _lastArgs = lastArgs;
6925 lastArgs = null;
6926 lastExceptionStack = null;
6927 lastException = null;
6928 notifyHandlers.apply(null, [_lastExceptionStack, false].concat(_lastArgs));
6929 }
6930
6931 /**
6932 * Reports an unhandled Error to TraceKit.
6933 * @param {Error} ex
6934 * @param {?boolean} rethrow If false, do not re-throw the exception.
6935 * Only used for window.onerror to not cause an infinite loop of
6936 * rethrowing.
6937 */
6938 function report(ex, rethrow) {
6939 var args = _slice.call(arguments, 1);
6940 if (lastExceptionStack) {
6941 if (lastException === ex) {
6942 return; // already caught by an inner catch block, ignore
6943 } else {
6944 processLastException();
6945 }
6946 }
6947
6948 var stack = TraceKit.computeStackTrace(ex);
6949 lastExceptionStack = stack;
6950 lastException = ex;
6951 lastArgs = args;
6952
6953 // If the stack trace is incomplete, wait for 2 seconds for
6954 // slow slow IE to see if onerror occurs or not before reporting
6955 // this exception; otherwise, we will end up with an incomplete
6956 // stack trace
6957 setTimeout(function() {
6958 if (lastException === ex) {
6959 processLastException();
6960 }
6961 }, stack.incomplete ? 2000 : 0);
6962
6963 if (rethrow !== false) {
6964 throw ex; // re-throw to propagate to the top level (and cause window.onerror)
6965 }
6966 }
6967
6968 report.subscribe = subscribe;
6969 report.unsubscribe = unsubscribe;
6970 report.uninstall = unsubscribeAll;
6971 return report;
6972 })();
6973
6974 /**
6975 * TraceKit.computeStackTrace: cross-browser stack traces in JavaScript
6976 *
6977 * Syntax:
6978 * s = TraceKit.computeStackTrace(exception) // consider using TraceKit.report instead (see below)
6979 * Returns:
6980 * s.name - exception name
6981 * s.message - exception message
6982 * s.stack[i].url - JavaScript or HTML file URL
6983 * s.stack[i].func - function name, or empty for anonymous functions (if guessing did not work)
6984 * s.stack[i].args - arguments passed to the function, if known
6985 * s.stack[i].line - line number, if known
6986 * s.stack[i].column - column number, if known
6987 *
6988 * Supports:
6989 * - Firefox: full stack trace with line numbers and unreliable column
6990 * number on top frame
6991 * - Opera 10: full stack trace with line and column numbers
6992 * - Opera 9-: full stack trace with line numbers
6993 * - Chrome: full stack trace with line and column numbers
6994 * - Safari: line and column number for the topmost stacktrace element
6995 * only
6996 * - IE: no line numbers whatsoever
6997 *
6998 * Tries to guess names of anonymous functions by looking for assignments
6999 * in the source code. In IE and Safari, we have to guess source file names
7000 * by searching for function bodies inside all page scripts. This will not
7001 * work for scripts that are loaded cross-domain.
7002 * Here be dragons: some function names may be guessed incorrectly, and
7003 * duplicate functions may be mismatched.
7004 *
7005 * TraceKit.computeStackTrace should only be used for tracing purposes.
7006 * Logging of unhandled exceptions should be done with TraceKit.report,
7007 * which builds on top of TraceKit.computeStackTrace and provides better
7008 * IE support by utilizing the window.onerror event to retrieve information
7009 * about the top of the stack.
7010 *
7011 * Note: In IE and Safari, no stack trace is recorded on the Error object,
7012 * so computeStackTrace instead walks its *own* chain of callers.
7013 * This means that:
7014 * * in Safari, some methods may be missing from the stack trace;
7015 * * in IE, the topmost function in the stack trace will always be the
7016 * caller of computeStackTrace.
7017 *
7018 * This is okay for tracing (because you are likely to be calling
7019 * computeStackTrace from the function you want to be the topmost element
7020 * of the stack trace anyway), but not okay for logging unhandled
7021 * exceptions (because your catch block will likely be far away from the
7022 * inner function that actually caused the exception).
7023 *
7024 */
7025 TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
7026 // Contents of Exception in various browsers.
7027 //
7028 // SAFARI:
7029 // ex.message = Can't find variable: qq
7030 // ex.line = 59
7031 // ex.sourceId = 580238192
7032 // ex.sourceURL = http://...
7033 // ex.expressionBeginOffset = 96
7034 // ex.expressionCaretOffset = 98
7035 // ex.expressionEndOffset = 98
7036 // ex.name = ReferenceError
7037 //
7038 // FIREFOX:
7039 // ex.message = qq is not defined
7040 // ex.fileName = http://...
7041 // ex.lineNumber = 59
7042 // ex.columnNumber = 69
7043 // ex.stack = ...stack trace... (see the example below)
7044 // ex.name = ReferenceError
7045 //
7046 // CHROME:
7047 // ex.message = qq is not defined
7048 // ex.name = ReferenceError
7049 // ex.type = not_defined
7050 // ex.arguments = ['aa']
7051 // ex.stack = ...stack trace...
7052 //
7053 // INTERNET EXPLORER:
7054 // ex.message = ...
7055 // ex.name = ReferenceError
7056 //
7057 // OPERA:
7058 // ex.message = ...message... (see the example below)
7059 // ex.name = ReferenceError
7060 // ex.opera#sourceloc = 11 (pretty much useless, duplicates the info in ex.message)
7061 // ex.stacktrace = n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'
7062
7063 /**
7064 * Computes stack trace information from the stack property.
7065 * Chrome and Gecko use this property.
7066 * @param {Error} ex
7067 * @return {?Object.<string, *>} Stack trace information.
7068 */
7069 function computeStackTraceFromStackProp(ex) {
7070 if (typeof ex.stack === 'undefined' || !ex.stack) return;
7071
7072 var chrome = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,
7073 gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,
7074 winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,
7075 // Used to additionally parse URL/line/column from eval frames
7076 geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i,
7077 chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/,
7078 lines = ex.stack.split('\n'),
7079 stack = [],
7080 submatch,
7081 parts,
7082 element,
7083 reference = /^(.*) is undefined$/.exec(ex.message);
7084
7085 for (var i = 0, j = lines.length; i < j; ++i) {
7086 if ((parts = chrome.exec(lines[i]))) {
7087 var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
7088 var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
7089 if (isEval && (submatch = chromeEval.exec(parts[2]))) {
7090 // throw out eval line/column and use top-most line/column number
7091 parts[2] = submatch[1]; // url
7092 parts[3] = submatch[2]; // line
7093 parts[4] = submatch[3]; // column
7094 }
7095 element = {
7096 url: !isNative ? parts[2] : null,
7097 func: parts[1] || UNKNOWN_FUNCTION,
7098 args: isNative ? [parts[2]] : [],
7099 line: parts[3] ? +parts[3] : null,
7100 column: parts[4] ? +parts[4] : null
7101 };
7102 } else if ((parts = winjs.exec(lines[i]))) {
7103 element = {
7104 url: parts[2],
7105 func: parts[1] || UNKNOWN_FUNCTION,
7106 args: [],
7107 line: +parts[3],
7108 column: parts[4] ? +parts[4] : null
7109 };
7110 } else if ((parts = gecko.exec(lines[i]))) {
7111 var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
7112 if (isEval && (submatch = geckoEval.exec(parts[3]))) {
7113 // throw out eval line/column and use top-most line number
7114 parts[3] = submatch[1];
7115 parts[4] = submatch[2];
7116 parts[5] = null; // no column when eval
7117 } else if (i === 0 && !parts[5] && typeof ex.columnNumber !== 'undefined') {
7118 // FireFox uses this awesome columnNumber property for its top frame
7119 // Also note, Firefox's column number is 0-based and everything else expects 1-based,
7120 // so adding 1
7121 // NOTE: this hack doesn't work if top-most frame is eval
7122 stack[0].column = ex.columnNumber + 1;
7123 }
7124 element = {
7125 url: parts[3],
7126 func: parts[1] || UNKNOWN_FUNCTION,
7127 args: parts[2] ? parts[2].split(',') : [],
7128 line: parts[4] ? +parts[4] : null,
7129 column: parts[5] ? +parts[5] : null
7130 };
7131 } else {
7132 continue;
7133 }
7134
7135 if (!element.func && element.line) {
7136 element.func = UNKNOWN_FUNCTION;
7137 }
7138
7139 stack.push(element);
7140 }
7141
7142 if (!stack.length) {
7143 return null;
7144 }
7145
7146 return {
7147 name: ex.name,
7148 message: ex.message,
7149 url: getLocationHref(),
7150 stack: stack
7151 };
7152 }
7153
7154 /**
7155 * Adds information about the first frame to incomplete stack traces.
7156 * Safari and IE require this to get complete data on the first frame.
7157 * @param {Object.<string, *>} stackInfo Stack trace information from
7158 * one of the compute* methods.
7159 * @param {string} url The URL of the script that caused an error.
7160 * @param {(number|string)} lineNo The line number of the script that
7161 * caused an error.
7162 * @param {string=} message The error generated by the browser, which
7163 * hopefully contains the name of the object that caused the error.
7164 * @return {boolean} Whether or not the stack information was
7165 * augmented.
7166 */
7167 function augmentStackTraceWithInitialElement(stackInfo, url, lineNo, message) {
7168 var initial = {
7169 url: url,
7170 line: lineNo
7171 };
7172
7173 if (initial.url && initial.line) {
7174 stackInfo.incomplete = false;
7175
7176 if (!initial.func) {
7177 initial.func = UNKNOWN_FUNCTION;
7178 }
7179
7180 if (stackInfo.stack.length > 0) {
7181 if (stackInfo.stack[0].url === initial.url) {
7182 if (stackInfo.stack[0].line === initial.line) {
7183 return false; // already in stack trace
7184 } else if (
7185 !stackInfo.stack[0].line &&
7186 stackInfo.stack[0].func === initial.func
7187 ) {
7188 stackInfo.stack[0].line = initial.line;
7189 return false;
7190 }
7191 }
7192 }
7193
7194 stackInfo.stack.unshift(initial);
7195 stackInfo.partial = true;
7196 return true;
7197 } else {
7198 stackInfo.incomplete = true;
7199 }
7200
7201 return false;
7202 }
7203
7204 /**
7205 * Computes stack trace information by walking the arguments.caller
7206 * chain at the time the exception occurred. This will cause earlier
7207 * frames to be missed but is the only way to get any stack trace in
7208 * Safari and IE. The top frame is restored by
7209 * {@link augmentStackTraceWithInitialElement}.
7210 * @param {Error} ex
7211 * @return {?Object.<string, *>} Stack trace information.
7212 */
7213 function computeStackTraceByWalkingCallerChain(ex, depth) {
7214 var functionName = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,
7215 stack = [],
7216 funcs = {},
7217 recursion = false,
7218 parts,
7219 item,
7220 source;
7221
7222 for (
7223 var curr = computeStackTraceByWalkingCallerChain.caller;
7224 curr && !recursion;
7225 curr = curr.caller
7226 ) {
7227 if (curr === computeStackTrace || curr === TraceKit.report) {
7228 // console.log('skipping internal function');
7229 continue;
7230 }
7231
7232 item = {
7233 url: null,
7234 func: UNKNOWN_FUNCTION,
7235 line: null,
7236 column: null
7237 };
7238
7239 if (curr.name) {
7240 item.func = curr.name;
7241 } else if ((parts = functionName.exec(curr.toString()))) {
7242 item.func = parts[1];
7243 }
7244
7245 if (typeof item.func === 'undefined') {
7246 try {
7247 item.func = parts.input.substring(0, parts.input.indexOf('{'));
7248 } catch (e) {}
7249 }
7250
7251 if (funcs['' + curr]) {
7252 recursion = true;
7253 } else {
7254 funcs['' + curr] = true;
7255 }
7256
7257 stack.push(item);
7258 }
7259
7260 if (depth) {
7261 // console.log('depth is ' + depth);
7262 // console.log('stack is ' + stack.length);
7263 stack.splice(0, depth);
7264 }
7265
7266 var result = {
7267 name: ex.name,
7268 message: ex.message,
7269 url: getLocationHref(),
7270 stack: stack
7271 };
7272 augmentStackTraceWithInitialElement(
7273 result,
7274 ex.sourceURL || ex.fileName,
7275 ex.line || ex.lineNumber,
7276 ex.message || ex.description
7277 );
7278 return result;
7279 }
7280
7281 /**
7282 * Computes a stack trace for an exception.
7283 * @param {Error} ex
7284 * @param {(string|number)=} depth
7285 */
7286 function computeStackTrace(ex, depth) {
7287 var stack = null;
7288 depth = depth == null ? 0 : +depth;
7289
7290 try {
7291 stack = computeStackTraceFromStackProp(ex);
7292 if (stack) {
7293 return stack;
7294 }
7295 } catch (e) {
7296 if (TraceKit.debug) {
7297 throw e;
7298 }
7299 }
7300
7301 try {
7302 stack = computeStackTraceByWalkingCallerChain(ex, depth + 1);
7303 if (stack) {
7304 return stack;
7305 }
7306 } catch (e) {
7307 if (TraceKit.debug) {
7308 throw e;
7309 }
7310 }
7311 return {
7312 name: ex.name,
7313 message: ex.message,
7314 url: getLocationHref()
7315 };
7316 }
7317
7318 computeStackTrace.augmentStackTraceWithInitialElement = augmentStackTraceWithInitialElement;
7319 computeStackTrace.computeStackTraceFromStackProp = computeStackTraceFromStackProp;
7320
7321 return computeStackTrace;
7322 })();
7323
7324 module.exports = TraceKit;
7325
7326
7327 /***/ }),
7328
7329 /***/ "./node_modules/raven-js/vendor/json-stringify-safe/stringify.js":
7330 /*!***********************************************************************!*\
7331 !*** ./node_modules/raven-js/vendor/json-stringify-safe/stringify.js ***!
7332 \***********************************************************************/
7333 /***/ ((module, exports) => {
7334
7335 /*
7336 json-stringify-safe
7337 Like JSON.stringify, but doesn't throw on circular references.
7338
7339 Originally forked from https://github.com/isaacs/json-stringify-safe
7340 version 5.0.1 on 3/8/2017 and modified to handle Errors serialization
7341 and IE8 compatibility. Tests for this are in test/vendor.
7342
7343 ISC license: https://github.com/isaacs/json-stringify-safe/blob/master/LICENSE
7344 */
7345
7346 exports = module.exports = stringify;
7347 exports.getSerialize = serializer;
7348
7349 function indexOf(haystack, needle) {
7350 for (var i = 0; i < haystack.length; ++i) {
7351 if (haystack[i] === needle) return i;
7352 }
7353 return -1;
7354 }
7355
7356 function stringify(obj, replacer, spaces, cycleReplacer) {
7357 return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces);
7358 }
7359
7360 // https://github.com/ftlabs/js-abbreviate/blob/fa709e5f139e7770a71827b1893f22418097fbda/index.js#L95-L106
7361 function stringifyError(value) {
7362 var err = {
7363 // These properties are implemented as magical getters and don't show up in for in
7364 stack: value.stack,
7365 message: value.message,
7366 name: value.name
7367 };
7368
7369 for (var i in value) {
7370 if (Object.prototype.hasOwnProperty.call(value, i)) {
7371 err[i] = value[i];
7372 }
7373 }
7374
7375 return err;
7376 }
7377
7378 function serializer(replacer, cycleReplacer) {
7379 var stack = [];
7380 var keys = [];
7381
7382 if (cycleReplacer == null) {
7383 cycleReplacer = function(key, value) {
7384 if (stack[0] === value) {
7385 return '[Circular ~]';
7386 }
7387 return '[Circular ~.' + keys.slice(0, indexOf(stack, value)).join('.') + ']';
7388 };
7389 }
7390
7391 return function(key, value) {
7392 if (stack.length > 0) {
7393 var thisPos = indexOf(stack, this);
7394 ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
7395 ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);
7396
7397 if (~indexOf(stack, value)) {
7398 value = cycleReplacer.call(this, key, value);
7399 }
7400 } else {
7401 stack.push(value);
7402 }
7403
7404 return replacer == null
7405 ? value instanceof Error ? stringifyError(value) : value
7406 : replacer.call(this, key, value);
7407 };
7408 }
7409
7410
7411 /***/ }),
7412
7413 /***/ "./node_modules/react/cjs/react-jsx-runtime.development.js":
7414 /*!*****************************************************************!*\
7415 !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***!
7416 \*****************************************************************/
7417 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7418
7419 "use strict";
7420 /**
7421 * @license React
7422 * react-jsx-runtime.development.js
7423 *
7424 * Copyright (c) Facebook, Inc. and its affiliates.
7425 *
7426 * This source code is licensed under the MIT license found in the
7427 * LICENSE file in the root directory of this source tree.
7428 */
7429
7430
7431
7432 if (true) {
7433 (function() {
7434 'use strict';
7435
7436 var React = __webpack_require__(/*! react */ "react");
7437
7438 // ATTENTION
7439 // When adding new symbols to this file,
7440 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
7441 // The Symbol used to tag the ReactElement-like types.
7442 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
7443 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
7444 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
7445 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
7446 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
7447 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
7448 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
7449 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
7450 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
7451 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
7452 var REACT_MEMO_TYPE = Symbol.for('react.memo');
7453 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
7454 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
7455 var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
7456 var FAUX_ITERATOR_SYMBOL = '@@iterator';
7457 function getIteratorFn(maybeIterable) {
7458 if (maybeIterable === null || typeof maybeIterable !== 'object') {
7459 return null;
7460 }
7461
7462 var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
7463
7464 if (typeof maybeIterator === 'function') {
7465 return maybeIterator;
7466 }
7467
7468 return null;
7469 }
7470
7471 var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
7472
7473 function error(format) {
7474 {
7475 {
7476 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
7477 args[_key2 - 1] = arguments[_key2];
7478 }
7479
7480 printWarning('error', format, args);
7481 }
7482 }
7483 }
7484
7485 function printWarning(level, format, args) {
7486 // When changing this logic, you might want to also
7487 // update consoleWithStackDev.www.js as well.
7488 {
7489 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
7490 var stack = ReactDebugCurrentFrame.getStackAddendum();
7491
7492 if (stack !== '') {
7493 format += '%s';
7494 args = args.concat([stack]);
7495 } // eslint-disable-next-line react-internal/safe-string-coercion
7496
7497
7498 var argsWithFormat = args.map(function (item) {
7499 return String(item);
7500 }); // Careful: RN currently depends on this prefix
7501
7502 argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
7503 // breaks IE9: https://github.com/facebook/react/issues/13610
7504 // eslint-disable-next-line react-internal/no-production-logging
7505
7506 Function.prototype.apply.call(console[level], console, argsWithFormat);
7507 }
7508 }
7509
7510 // -----------------------------------------------------------------------------
7511
7512 var enableScopeAPI = false; // Experimental Create Event Handle API.
7513 var enableCacheElement = false;
7514 var enableTransitionTracing = false; // No known bugs, but needs performance testing
7515
7516 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
7517 // stuff. Intended to enable React core members to more easily debug scheduling
7518 // issues in DEV builds.
7519
7520 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
7521
7522 var REACT_MODULE_REFERENCE;
7523
7524 {
7525 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
7526 }
7527
7528 function isValidElementType(type) {
7529 if (typeof type === 'string' || typeof type === 'function') {
7530 return true;
7531 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
7532
7533
7534 if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {
7535 return true;
7536 }
7537
7538 if (typeof type === 'object' && type !== null) {
7539 if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
7540 // types supported by any Flight configuration anywhere since
7541 // we don't know which Flight build this will end up being used
7542 // with.
7543 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
7544 return true;
7545 }
7546 }
7547
7548 return false;
7549 }
7550
7551 function getWrappedName(outerType, innerType, wrapperName) {
7552 var displayName = outerType.displayName;
7553
7554 if (displayName) {
7555 return displayName;
7556 }
7557
7558 var functionName = innerType.displayName || innerType.name || '';
7559 return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName;
7560 } // Keep in sync with react-reconciler/getComponentNameFromFiber
7561
7562
7563 function getContextName(type) {
7564 return type.displayName || 'Context';
7565 } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.
7566
7567
7568 function getComponentNameFromType(type) {
7569 if (type == null) {
7570 // Host root, text node or just invalid type.
7571 return null;
7572 }
7573
7574 {
7575 if (typeof type.tag === 'number') {
7576 error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');
7577 }
7578 }
7579
7580 if (typeof type === 'function') {
7581 return type.displayName || type.name || null;
7582 }
7583
7584 if (typeof type === 'string') {
7585 return type;
7586 }
7587
7588 switch (type) {
7589 case REACT_FRAGMENT_TYPE:
7590 return 'Fragment';
7591
7592 case REACT_PORTAL_TYPE:
7593 return 'Portal';
7594
7595 case REACT_PROFILER_TYPE:
7596 return 'Profiler';
7597
7598 case REACT_STRICT_MODE_TYPE:
7599 return 'StrictMode';
7600
7601 case REACT_SUSPENSE_TYPE:
7602 return 'Suspense';
7603
7604 case REACT_SUSPENSE_LIST_TYPE:
7605 return 'SuspenseList';
7606
7607 }
7608
7609 if (typeof type === 'object') {
7610 switch (type.$$typeof) {
7611 case REACT_CONTEXT_TYPE:
7612 var context = type;
7613 return getContextName(context) + '.Consumer';
7614
7615 case REACT_PROVIDER_TYPE:
7616 var provider = type;
7617 return getContextName(provider._context) + '.Provider';
7618
7619 case REACT_FORWARD_REF_TYPE:
7620 return getWrappedName(type, type.render, 'ForwardRef');
7621
7622 case REACT_MEMO_TYPE:
7623 var outerName = type.displayName || null;
7624
7625 if (outerName !== null) {
7626 return outerName;
7627 }
7628
7629 return getComponentNameFromType(type.type) || 'Memo';
7630
7631 case REACT_LAZY_TYPE:
7632 {
7633 var lazyComponent = type;
7634 var payload = lazyComponent._payload;
7635 var init = lazyComponent._init;
7636
7637 try {
7638 return getComponentNameFromType(init(payload));
7639 } catch (x) {
7640 return null;
7641 }
7642 }
7643
7644 // eslint-disable-next-line no-fallthrough
7645 }
7646 }
7647
7648 return null;
7649 }
7650
7651 var assign = Object.assign;
7652
7653 // Helpers to patch console.logs to avoid logging during side-effect free
7654 // replaying on render function. This currently only patches the object
7655 // lazily which won't cover if the log function was extracted eagerly.
7656 // We could also eagerly patch the method.
7657 var disabledDepth = 0;
7658 var prevLog;
7659 var prevInfo;
7660 var prevWarn;
7661 var prevError;
7662 var prevGroup;
7663 var prevGroupCollapsed;
7664 var prevGroupEnd;
7665
7666 function disabledLog() {}
7667
7668 disabledLog.__reactDisabledLog = true;
7669 function disableLogs() {
7670 {
7671 if (disabledDepth === 0) {
7672 /* eslint-disable react-internal/no-production-logging */
7673 prevLog = console.log;
7674 prevInfo = console.info;
7675 prevWarn = console.warn;
7676 prevError = console.error;
7677 prevGroup = console.group;
7678 prevGroupCollapsed = console.groupCollapsed;
7679 prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099
7680
7681 var props = {
7682 configurable: true,
7683 enumerable: true,
7684 value: disabledLog,
7685 writable: true
7686 }; // $FlowFixMe Flow thinks console is immutable.
7687
7688 Object.defineProperties(console, {
7689 info: props,
7690 log: props,
7691 warn: props,
7692 error: props,
7693 group: props,
7694 groupCollapsed: props,
7695 groupEnd: props
7696 });
7697 /* eslint-enable react-internal/no-production-logging */
7698 }
7699
7700 disabledDepth++;
7701 }
7702 }
7703 function reenableLogs() {
7704 {
7705 disabledDepth--;
7706
7707 if (disabledDepth === 0) {
7708 /* eslint-disable react-internal/no-production-logging */
7709 var props = {
7710 configurable: true,
7711 enumerable: true,
7712 writable: true
7713 }; // $FlowFixMe Flow thinks console is immutable.
7714
7715 Object.defineProperties(console, {
7716 log: assign({}, props, {
7717 value: prevLog
7718 }),
7719 info: assign({}, props, {
7720 value: prevInfo
7721 }),
7722 warn: assign({}, props, {
7723 value: prevWarn
7724 }),
7725 error: assign({}, props, {
7726 value: prevError
7727 }),
7728 group: assign({}, props, {
7729 value: prevGroup
7730 }),
7731 groupCollapsed: assign({}, props, {
7732 value: prevGroupCollapsed
7733 }),
7734 groupEnd: assign({}, props, {
7735 value: prevGroupEnd
7736 })
7737 });
7738 /* eslint-enable react-internal/no-production-logging */
7739 }
7740
7741 if (disabledDepth < 0) {
7742 error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');
7743 }
7744 }
7745 }
7746
7747 var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
7748 var prefix;
7749 function describeBuiltInComponentFrame(name, source, ownerFn) {
7750 {
7751 if (prefix === undefined) {
7752 // Extract the VM specific prefix used by each line.
7753 try {
7754 throw Error();
7755 } catch (x) {
7756 var match = x.stack.trim().match(/\n( *(at )?)/);
7757 prefix = match && match[1] || '';
7758 }
7759 } // We use the prefix to ensure our stacks line up with native stack frames.
7760
7761
7762 return '\n' + prefix + name;
7763 }
7764 }
7765 var reentry = false;
7766 var componentFrameCache;
7767
7768 {
7769 var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;
7770 componentFrameCache = new PossiblyWeakMap();
7771 }
7772
7773 function describeNativeComponentFrame(fn, construct) {
7774 // If something asked for a stack inside a fake render, it should get ignored.
7775 if ( !fn || reentry) {
7776 return '';
7777 }
7778
7779 {
7780 var frame = componentFrameCache.get(fn);
7781
7782 if (frame !== undefined) {
7783 return frame;
7784 }
7785 }
7786
7787 var control;
7788 reentry = true;
7789 var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.
7790
7791 Error.prepareStackTrace = undefined;
7792 var previousDispatcher;
7793
7794 {
7795 previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function
7796 // for warnings.
7797
7798 ReactCurrentDispatcher.current = null;
7799 disableLogs();
7800 }
7801
7802 try {
7803 // This should throw.
7804 if (construct) {
7805 // Something should be setting the props in the constructor.
7806 var Fake = function () {
7807 throw Error();
7808 }; // $FlowFixMe
7809
7810
7811 Object.defineProperty(Fake.prototype, 'props', {
7812 set: function () {
7813 // We use a throwing setter instead of frozen or non-writable props
7814 // because that won't throw in a non-strict mode function.
7815 throw Error();
7816 }
7817 });
7818
7819 if (typeof Reflect === 'object' && Reflect.construct) {
7820 // We construct a different control for this case to include any extra
7821 // frames added by the construct call.
7822 try {
7823 Reflect.construct(Fake, []);
7824 } catch (x) {
7825 control = x;
7826 }
7827
7828 Reflect.construct(fn, [], Fake);
7829 } else {
7830 try {
7831 Fake.call();
7832 } catch (x) {
7833 control = x;
7834 }
7835
7836 fn.call(Fake.prototype);
7837 }
7838 } else {
7839 try {
7840 throw Error();
7841 } catch (x) {
7842 control = x;
7843 }
7844
7845 fn();
7846 }
7847 } catch (sample) {
7848 // This is inlined manually because closure doesn't do it for us.
7849 if (sample && control && typeof sample.stack === 'string') {
7850 // This extracts the first frame from the sample that isn't also in the control.
7851 // Skipping one frame that we assume is the frame that calls the two.
7852 var sampleLines = sample.stack.split('\n');
7853 var controlLines = control.stack.split('\n');
7854 var s = sampleLines.length - 1;
7855 var c = controlLines.length - 1;
7856
7857 while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
7858 // We expect at least one stack frame to be shared.
7859 // Typically this will be the root most one. However, stack frames may be
7860 // cut off due to maximum stack limits. In this case, one maybe cut off
7861 // earlier than the other. We assume that the sample is longer or the same
7862 // and there for cut off earlier. So we should find the root most frame in
7863 // the sample somewhere in the control.
7864 c--;
7865 }
7866
7867 for (; s >= 1 && c >= 0; s--, c--) {
7868 // Next we find the first one that isn't the same which should be the
7869 // frame that called our sample function and the control.
7870 if (sampleLines[s] !== controlLines[c]) {
7871 // In V8, the first line is describing the message but other VMs don't.
7872 // If we're about to return the first line, and the control is also on the same
7873 // line, that's a pretty good indicator that our sample threw at same line as
7874 // the control. I.e. before we entered the sample frame. So we ignore this result.
7875 // This can happen if you passed a class to function component, or non-function.
7876 if (s !== 1 || c !== 1) {
7877 do {
7878 s--;
7879 c--; // We may still have similar intermediate frames from the construct call.
7880 // The next one that isn't the same should be our match though.
7881
7882 if (c < 0 || sampleLines[s] !== controlLines[c]) {
7883 // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier.
7884 var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled "<anonymous>"
7885 // but we have a user-provided "displayName"
7886 // splice it in to make the stack more readable.
7887
7888
7889 if (fn.displayName && _frame.includes('<anonymous>')) {
7890 _frame = _frame.replace('<anonymous>', fn.displayName);
7891 }
7892
7893 {
7894 if (typeof fn === 'function') {
7895 componentFrameCache.set(fn, _frame);
7896 }
7897 } // Return the line we found.
7898
7899
7900 return _frame;
7901 }
7902 } while (s >= 1 && c >= 0);
7903 }
7904
7905 break;
7906 }
7907 }
7908 }
7909 } finally {
7910 reentry = false;
7911
7912 {
7913 ReactCurrentDispatcher.current = previousDispatcher;
7914 reenableLogs();
7915 }
7916
7917 Error.prepareStackTrace = previousPrepareStackTrace;
7918 } // Fallback to just using the name if we couldn't make it throw.
7919
7920
7921 var name = fn ? fn.displayName || fn.name : '';
7922 var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';
7923
7924 {
7925 if (typeof fn === 'function') {
7926 componentFrameCache.set(fn, syntheticFrame);
7927 }
7928 }
7929
7930 return syntheticFrame;
7931 }
7932 function describeFunctionComponentFrame(fn, source, ownerFn) {
7933 {
7934 return describeNativeComponentFrame(fn, false);
7935 }
7936 }
7937
7938 function shouldConstruct(Component) {
7939 var prototype = Component.prototype;
7940 return !!(prototype && prototype.isReactComponent);
7941 }
7942
7943 function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
7944
7945 if (type == null) {
7946 return '';
7947 }
7948
7949 if (typeof type === 'function') {
7950 {
7951 return describeNativeComponentFrame(type, shouldConstruct(type));
7952 }
7953 }
7954
7955 if (typeof type === 'string') {
7956 return describeBuiltInComponentFrame(type);
7957 }
7958
7959 switch (type) {
7960 case REACT_SUSPENSE_TYPE:
7961 return describeBuiltInComponentFrame('Suspense');
7962
7963 case REACT_SUSPENSE_LIST_TYPE:
7964 return describeBuiltInComponentFrame('SuspenseList');
7965 }
7966
7967 if (typeof type === 'object') {
7968 switch (type.$$typeof) {
7969 case REACT_FORWARD_REF_TYPE:
7970 return describeFunctionComponentFrame(type.render);
7971
7972 case REACT_MEMO_TYPE:
7973 // Memo may contain any component type so we recursively resolve it.
7974 return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
7975
7976 case REACT_LAZY_TYPE:
7977 {
7978 var lazyComponent = type;
7979 var payload = lazyComponent._payload;
7980 var init = lazyComponent._init;
7981
7982 try {
7983 // Lazy may contain any component type so we recursively resolve it.
7984 return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
7985 } catch (x) {}
7986 }
7987 }
7988 }
7989
7990 return '';
7991 }
7992
7993 var hasOwnProperty = Object.prototype.hasOwnProperty;
7994
7995 var loggedTypeFailures = {};
7996 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
7997
7998 function setCurrentlyValidatingElement(element) {
7999 {
8000 if (element) {
8001 var owner = element._owner;
8002 var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
8003 ReactDebugCurrentFrame.setExtraStackFrame(stack);
8004 } else {
8005 ReactDebugCurrentFrame.setExtraStackFrame(null);
8006 }
8007 }
8008 }
8009
8010 function checkPropTypes(typeSpecs, values, location, componentName, element) {
8011 {
8012 // $FlowFixMe This is okay but Flow doesn't know it.
8013 var has = Function.call.bind(hasOwnProperty);
8014
8015 for (var typeSpecName in typeSpecs) {
8016 if (has(typeSpecs, typeSpecName)) {
8017 var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to
8018 // fail the render phase where it didn't fail before. So we log it.
8019 // After these have been cleaned up, we'll let them throw.
8020
8021 try {
8022 // This is intentionally an invariant that gets caught. It's the same
8023 // behavior as without this statement except with a better message.
8024 if (typeof typeSpecs[typeSpecName] !== 'function') {
8025 // eslint-disable-next-line react-internal/prod-error-codes
8026 var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');
8027 err.name = 'Invariant Violation';
8028 throw err;
8029 }
8030
8031 error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');
8032 } catch (ex) {
8033 error$1 = ex;
8034 }
8035
8036 if (error$1 && !(error$1 instanceof Error)) {
8037 setCurrentlyValidatingElement(element);
8038
8039 error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);
8040
8041 setCurrentlyValidatingElement(null);
8042 }
8043
8044 if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
8045 // Only monitor this failure once because there tends to be a lot of the
8046 // same error.
8047 loggedTypeFailures[error$1.message] = true;
8048 setCurrentlyValidatingElement(element);
8049
8050 error('Failed %s type: %s', location, error$1.message);
8051
8052 setCurrentlyValidatingElement(null);
8053 }
8054 }
8055 }
8056 }
8057 }
8058
8059 var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare
8060
8061 function isArray(a) {
8062 return isArrayImpl(a);
8063 }
8064
8065 /*
8066 * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol
8067 * and Temporal.* types. See https://github.com/facebook/react/pull/22064.
8068 *
8069 * The functions in this module will throw an easier-to-understand,
8070 * easier-to-debug exception with a clear errors message message explaining the
8071 * problem. (Instead of a confusing exception thrown inside the implementation
8072 * of the `value` object).
8073 */
8074 // $FlowFixMe only called in DEV, so void return is not possible.
8075 function typeName(value) {
8076 {
8077 // toStringTag is needed for namespaced types like Temporal.Instant
8078 var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;
8079 var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';
8080 return type;
8081 }
8082 } // $FlowFixMe only called in DEV, so void return is not possible.
8083
8084
8085 function willCoercionThrow(value) {
8086 {
8087 try {
8088 testStringCoercion(value);
8089 return false;
8090 } catch (e) {
8091 return true;
8092 }
8093 }
8094 }
8095
8096 function testStringCoercion(value) {
8097 // If you ended up here by following an exception call stack, here's what's
8098 // happened: you supplied an object or symbol value to React (as a prop, key,
8099 // DOM attribute, CSS property, string ref, etc.) and when React tried to
8100 // coerce it to a string using `'' + value`, an exception was thrown.
8101 //
8102 // The most common types that will cause this exception are `Symbol` instances
8103 // and Temporal objects like `Temporal.Instant`. But any object that has a
8104 // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this
8105 // exception. (Library authors do this to prevent users from using built-in
8106 // numeric operators like `+` or comparison operators like `>=` because custom
8107 // methods are needed to perform accurate arithmetic or comparison.)
8108 //
8109 // To fix the problem, coerce this object or symbol value to a string before
8110 // passing it to React. The most reliable way is usually `String(value)`.
8111 //
8112 // To find which value is throwing, check the browser or debugger console.
8113 // Before this exception was thrown, there should be `console.error` output
8114 // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the
8115 // problem and how that type was used: key, atrribute, input value prop, etc.
8116 // In most cases, this console output also shows the component and its
8117 // ancestor components where the exception happened.
8118 //
8119 // eslint-disable-next-line react-internal/safe-string-coercion
8120 return '' + value;
8121 }
8122 function checkKeyStringCoercion(value) {
8123 {
8124 if (willCoercionThrow(value)) {
8125 error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));
8126
8127 return testStringCoercion(value); // throw (to help callers find troubleshooting comments)
8128 }
8129 }
8130 }
8131
8132 var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
8133 var RESERVED_PROPS = {
8134 key: true,
8135 ref: true,
8136 __self: true,
8137 __source: true
8138 };
8139 var specialPropKeyWarningShown;
8140 var specialPropRefWarningShown;
8141 var didWarnAboutStringRefs;
8142
8143 {
8144 didWarnAboutStringRefs = {};
8145 }
8146
8147 function hasValidRef(config) {
8148 {
8149 if (hasOwnProperty.call(config, 'ref')) {
8150 var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
8151
8152 if (getter && getter.isReactWarning) {
8153 return false;
8154 }
8155 }
8156 }
8157
8158 return config.ref !== undefined;
8159 }
8160
8161 function hasValidKey(config) {
8162 {
8163 if (hasOwnProperty.call(config, 'key')) {
8164 var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
8165
8166 if (getter && getter.isReactWarning) {
8167 return false;
8168 }
8169 }
8170 }
8171
8172 return config.key !== undefined;
8173 }
8174
8175 function warnIfStringRefCannotBeAutoConverted(config, self) {
8176 {
8177 if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
8178 var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
8179
8180 if (!didWarnAboutStringRefs[componentName]) {
8181 error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);
8182
8183 didWarnAboutStringRefs[componentName] = true;
8184 }
8185 }
8186 }
8187 }
8188
8189 function defineKeyPropWarningGetter(props, displayName) {
8190 {
8191 var warnAboutAccessingKey = function () {
8192 if (!specialPropKeyWarningShown) {
8193 specialPropKeyWarningShown = true;
8194
8195 error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);
8196 }
8197 };
8198
8199 warnAboutAccessingKey.isReactWarning = true;
8200 Object.defineProperty(props, 'key', {
8201 get: warnAboutAccessingKey,
8202 configurable: true
8203 });
8204 }
8205 }
8206
8207 function defineRefPropWarningGetter(props, displayName) {
8208 {
8209 var warnAboutAccessingRef = function () {
8210 if (!specialPropRefWarningShown) {
8211 specialPropRefWarningShown = true;
8212
8213 error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);
8214 }
8215 };
8216
8217 warnAboutAccessingRef.isReactWarning = true;
8218 Object.defineProperty(props, 'ref', {
8219 get: warnAboutAccessingRef,
8220 configurable: true
8221 });
8222 }
8223 }
8224 /**
8225 * Factory method to create a new React element. This no longer adheres to
8226 * the class pattern, so do not use new to call it. Also, instanceof check
8227 * will not work. Instead test $$typeof field against Symbol.for('react.element') to check
8228 * if something is a React Element.
8229 *
8230 * @param {*} type
8231 * @param {*} props
8232 * @param {*} key
8233 * @param {string|object} ref
8234 * @param {*} owner
8235 * @param {*} self A *temporary* helper to detect places where `this` is
8236 * different from the `owner` when React.createElement is called, so that we
8237 * can warn. We want to get rid of owner and replace string `ref`s with arrow
8238 * functions, and as long as `this` and owner are the same, there will be no
8239 * change in behavior.
8240 * @param {*} source An annotation object (added by a transpiler or otherwise)
8241 * indicating filename, line number, and/or other information.
8242 * @internal
8243 */
8244
8245
8246 var ReactElement = function (type, key, ref, self, source, owner, props) {
8247 var element = {
8248 // This tag allows us to uniquely identify this as a React Element
8249 $$typeof: REACT_ELEMENT_TYPE,
8250 // Built-in properties that belong on the element
8251 type: type,
8252 key: key,
8253 ref: ref,
8254 props: props,
8255 // Record the component responsible for creating this element.
8256 _owner: owner
8257 };
8258
8259 {
8260 // The validation flag is currently mutative. We put it on
8261 // an external backing store so that we can freeze the whole object.
8262 // This can be replaced with a WeakMap once they are implemented in
8263 // commonly used development environments.
8264 element._store = {}; // To make comparing ReactElements easier for testing purposes, we make
8265 // the validation flag non-enumerable (where possible, which should
8266 // include every environment we run tests in), so the test framework
8267 // ignores it.
8268
8269 Object.defineProperty(element._store, 'validated', {
8270 configurable: false,
8271 enumerable: false,
8272 writable: true,
8273 value: false
8274 }); // self and source are DEV only properties.
8275
8276 Object.defineProperty(element, '_self', {
8277 configurable: false,
8278 enumerable: false,
8279 writable: false,
8280 value: self
8281 }); // Two elements created in two different places should be considered
8282 // equal for testing purposes and therefore we hide it from enumeration.
8283
8284 Object.defineProperty(element, '_source', {
8285 configurable: false,
8286 enumerable: false,
8287 writable: false,
8288 value: source
8289 });
8290
8291 if (Object.freeze) {
8292 Object.freeze(element.props);
8293 Object.freeze(element);
8294 }
8295 }
8296
8297 return element;
8298 };
8299 /**
8300 * https://github.com/reactjs/rfcs/pull/107
8301 * @param {*} type
8302 * @param {object} props
8303 * @param {string} key
8304 */
8305
8306 function jsxDEV(type, config, maybeKey, source, self) {
8307 {
8308 var propName; // Reserved names are extracted
8309
8310 var props = {};
8311 var key = null;
8312 var ref = null; // Currently, key can be spread in as a prop. This causes a potential
8313 // issue if key is also explicitly declared (ie. <div {...props} key="Hi" />
8314 // or <div key="Hi" {...props} /> ). We want to deprecate key spread,
8315 // but as an intermediary step, we will use jsxDEV for everything except
8316 // <div {...props} key="Hi" />, because we aren't currently able to tell if
8317 // key is explicitly declared to be undefined or not.
8318
8319 if (maybeKey !== undefined) {
8320 {
8321 checkKeyStringCoercion(maybeKey);
8322 }
8323
8324 key = '' + maybeKey;
8325 }
8326
8327 if (hasValidKey(config)) {
8328 {
8329 checkKeyStringCoercion(config.key);
8330 }
8331
8332 key = '' + config.key;
8333 }
8334
8335 if (hasValidRef(config)) {
8336 ref = config.ref;
8337 warnIfStringRefCannotBeAutoConverted(config, self);
8338 } // Remaining properties are added to a new props object
8339
8340
8341 for (propName in config) {
8342 if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
8343 props[propName] = config[propName];
8344 }
8345 } // Resolve default props
8346
8347
8348 if (type && type.defaultProps) {
8349 var defaultProps = type.defaultProps;
8350
8351 for (propName in defaultProps) {
8352 if (props[propName] === undefined) {
8353 props[propName] = defaultProps[propName];
8354 }
8355 }
8356 }
8357
8358 if (key || ref) {
8359 var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
8360
8361 if (key) {
8362 defineKeyPropWarningGetter(props, displayName);
8363 }
8364
8365 if (ref) {
8366 defineRefPropWarningGetter(props, displayName);
8367 }
8368 }
8369
8370 return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
8371 }
8372 }
8373
8374 var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
8375 var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
8376
8377 function setCurrentlyValidatingElement$1(element) {
8378 {
8379 if (element) {
8380 var owner = element._owner;
8381 var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
8382 ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
8383 } else {
8384 ReactDebugCurrentFrame$1.setExtraStackFrame(null);
8385 }
8386 }
8387 }
8388
8389 var propTypesMisspellWarningShown;
8390
8391 {
8392 propTypesMisspellWarningShown = false;
8393 }
8394 /**
8395 * Verifies the object is a ReactElement.
8396 * See https://reactjs.org/docs/react-api.html#isvalidelement
8397 * @param {?object} object
8398 * @return {boolean} True if `object` is a ReactElement.
8399 * @final
8400 */
8401
8402
8403 function isValidElement(object) {
8404 {
8405 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
8406 }
8407 }
8408
8409 function getDeclarationErrorAddendum() {
8410 {
8411 if (ReactCurrentOwner$1.current) {
8412 var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
8413
8414 if (name) {
8415 return '\n\nCheck the render method of `' + name + '`.';
8416 }
8417 }
8418
8419 return '';
8420 }
8421 }
8422
8423 function getSourceInfoErrorAddendum(source) {
8424 {
8425 if (source !== undefined) {
8426 var fileName = source.fileName.replace(/^.*[\\\/]/, '');
8427 var lineNumber = source.lineNumber;
8428 return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
8429 }
8430
8431 return '';
8432 }
8433 }
8434 /**
8435 * Warn if there's no key explicitly set on dynamic arrays of children or
8436 * object keys are not valid. This allows us to keep track of children between
8437 * updates.
8438 */
8439
8440
8441 var ownerHasKeyUseWarning = {};
8442
8443 function getCurrentComponentErrorInfo(parentType) {
8444 {
8445 var info = getDeclarationErrorAddendum();
8446
8447 if (!info) {
8448 var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
8449
8450 if (parentName) {
8451 info = "\n\nCheck the top-level render call using <" + parentName + ">.";
8452 }
8453 }
8454
8455 return info;
8456 }
8457 }
8458 /**
8459 * Warn if the element doesn't have an explicit key assigned to it.
8460 * This element is in an array. The array could grow and shrink or be
8461 * reordered. All children that haven't already been validated are required to
8462 * have a "key" property assigned to it. Error statuses are cached so a warning
8463 * will only be shown once.
8464 *
8465 * @internal
8466 * @param {ReactElement} element Element that requires a key.
8467 * @param {*} parentType element's parent's type.
8468 */
8469
8470
8471 function validateExplicitKey(element, parentType) {
8472 {
8473 if (!element._store || element._store.validated || element.key != null) {
8474 return;
8475 }
8476
8477 element._store.validated = true;
8478 var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
8479
8480 if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
8481 return;
8482 }
8483
8484 ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a
8485 // property, it may be the creator of the child that's responsible for
8486 // assigning it a key.
8487
8488 var childOwner = '';
8489
8490 if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
8491 // Give the component that originally created this child.
8492 childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
8493 }
8494
8495 setCurrentlyValidatingElement$1(element);
8496
8497 error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);
8498
8499 setCurrentlyValidatingElement$1(null);
8500 }
8501 }
8502 /**
8503 * Ensure that every element either is passed in a static location, in an
8504 * array with an explicit keys property defined, or in an object literal
8505 * with valid key property.
8506 *
8507 * @internal
8508 * @param {ReactNode} node Statically passed child of any type.
8509 * @param {*} parentType node's parent's type.
8510 */
8511
8512
8513 function validateChildKeys(node, parentType) {
8514 {
8515 if (typeof node !== 'object') {
8516 return;
8517 }
8518
8519 if (isArray(node)) {
8520 for (var i = 0; i < node.length; i++) {
8521 var child = node[i];
8522
8523 if (isValidElement(child)) {
8524 validateExplicitKey(child, parentType);
8525 }
8526 }
8527 } else if (isValidElement(node)) {
8528 // This element was passed in a valid location.
8529 if (node._store) {
8530 node._store.validated = true;
8531 }
8532 } else if (node) {
8533 var iteratorFn = getIteratorFn(node);
8534
8535 if (typeof iteratorFn === 'function') {
8536 // Entry iterators used to provide implicit keys,
8537 // but now we print a separate warning for them later.
8538 if (iteratorFn !== node.entries) {
8539 var iterator = iteratorFn.call(node);
8540 var step;
8541
8542 while (!(step = iterator.next()).done) {
8543 if (isValidElement(step.value)) {
8544 validateExplicitKey(step.value, parentType);
8545 }
8546 }
8547 }
8548 }
8549 }
8550 }
8551 }
8552 /**
8553 * Given an element, validate that its props follow the propTypes definition,
8554 * provided by the type.
8555 *
8556 * @param {ReactElement} element
8557 */
8558
8559
8560 function validatePropTypes(element) {
8561 {
8562 var type = element.type;
8563
8564 if (type === null || type === undefined || typeof type === 'string') {
8565 return;
8566 }
8567
8568 var propTypes;
8569
8570 if (typeof type === 'function') {
8571 propTypes = type.propTypes;
8572 } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
8573 // Inner props are checked in the reconciler.
8574 type.$$typeof === REACT_MEMO_TYPE)) {
8575 propTypes = type.propTypes;
8576 } else {
8577 return;
8578 }
8579
8580 if (propTypes) {
8581 // Intentionally inside to avoid triggering lazy initializers:
8582 var name = getComponentNameFromType(type);
8583 checkPropTypes(propTypes, element.props, 'prop', name, element);
8584 } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
8585 propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:
8586
8587 var _name = getComponentNameFromType(type);
8588
8589 error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');
8590 }
8591
8592 if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {
8593 error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
8594 }
8595 }
8596 }
8597 /**
8598 * Given a fragment, validate that it can only be provided with fragment props
8599 * @param {ReactElement} fragment
8600 */
8601
8602
8603 function validateFragmentProps(fragment) {
8604 {
8605 var keys = Object.keys(fragment.props);
8606
8607 for (var i = 0; i < keys.length; i++) {
8608 var key = keys[i];
8609
8610 if (key !== 'children' && key !== 'key') {
8611 setCurrentlyValidatingElement$1(fragment);
8612
8613 error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
8614
8615 setCurrentlyValidatingElement$1(null);
8616 break;
8617 }
8618 }
8619
8620 if (fragment.ref !== null) {
8621 setCurrentlyValidatingElement$1(fragment);
8622
8623 error('Invalid attribute `ref` supplied to `React.Fragment`.');
8624
8625 setCurrentlyValidatingElement$1(null);
8626 }
8627 }
8628 }
8629
8630 var didWarnAboutKeySpread = {};
8631 function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
8632 {
8633 var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to
8634 // succeed and there will likely be errors in render.
8635
8636 if (!validType) {
8637 var info = '';
8638
8639 if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
8640 info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports.";
8641 }
8642
8643 var sourceInfo = getSourceInfoErrorAddendum(source);
8644
8645 if (sourceInfo) {
8646 info += sourceInfo;
8647 } else {
8648 info += getDeclarationErrorAddendum();
8649 }
8650
8651 var typeString;
8652
8653 if (type === null) {
8654 typeString = 'null';
8655 } else if (isArray(type)) {
8656 typeString = 'array';
8657 } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
8658 typeString = "<" + (getComponentNameFromType(type.type) || 'Unknown') + " />";
8659 info = ' Did you accidentally export a JSX literal instead of a component?';
8660 } else {
8661 typeString = typeof type;
8662 }
8663
8664 error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);
8665 }
8666
8667 var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.
8668 // TODO: Drop this when these are no longer allowed as the type argument.
8669
8670 if (element == null) {
8671 return element;
8672 } // Skip key warning if the type isn't valid since our key validation logic
8673 // doesn't expect a non-string/function type and can throw confusing errors.
8674 // We don't want exception behavior to differ between dev and prod.
8675 // (Rendering will throw with a helpful message and as soon as the type is
8676 // fixed, the key warnings will appear.)
8677
8678
8679 if (validType) {
8680 var children = props.children;
8681
8682 if (children !== undefined) {
8683 if (isStaticChildren) {
8684 if (isArray(children)) {
8685 for (var i = 0; i < children.length; i++) {
8686 validateChildKeys(children[i], type);
8687 }
8688
8689 if (Object.freeze) {
8690 Object.freeze(children);
8691 }
8692 } else {
8693 error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');
8694 }
8695 } else {
8696 validateChildKeys(children, type);
8697 }
8698 }
8699 }
8700
8701 {
8702 if (hasOwnProperty.call(props, 'key')) {
8703 var componentName = getComponentNameFromType(type);
8704 var keys = Object.keys(props).filter(function (k) {
8705 return k !== 'key';
8706 });
8707 var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';
8708
8709 if (!didWarnAboutKeySpread[componentName + beforeExample]) {
8710 var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';
8711
8712 error('A props object containing a "key" prop is being spread into JSX:\n' + ' let props = %s;\n' + ' <%s {...props} />\n' + 'React keys must be passed directly to JSX without using spread:\n' + ' let props = %s;\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);
8713
8714 didWarnAboutKeySpread[componentName + beforeExample] = true;
8715 }
8716 }
8717 }
8718
8719 if (type === REACT_FRAGMENT_TYPE) {
8720 validateFragmentProps(element);
8721 } else {
8722 validatePropTypes(element);
8723 }
8724
8725 return element;
8726 }
8727 } // These two functions exist to still get child warnings in dev
8728 // even with the prod transform. This means that jsxDEV is purely
8729 // opt-in behavior for better messages but that we won't stop
8730 // giving you warnings if you use production apis.
8731
8732 function jsxWithValidationStatic(type, props, key) {
8733 {
8734 return jsxWithValidation(type, props, key, true);
8735 }
8736 }
8737 function jsxWithValidationDynamic(type, props, key) {
8738 {
8739 return jsxWithValidation(type, props, key, false);
8740 }
8741 }
8742
8743 var jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.
8744 // for now we can ship identical prod functions
8745
8746 var jsxs = jsxWithValidationStatic ;
8747
8748 exports.Fragment = REACT_FRAGMENT_TYPE;
8749 exports.jsx = jsx;
8750 exports.jsxs = jsxs;
8751 })();
8752 }
8753
8754
8755 /***/ }),
8756
8757 /***/ "./node_modules/react/jsx-runtime.js":
8758 /*!*******************************************!*\
8759 !*** ./node_modules/react/jsx-runtime.js ***!
8760 \*******************************************/
8761 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8762
8763 "use strict";
8764
8765
8766 if (false) {} else {
8767 module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "./node_modules/react/cjs/react-jsx-runtime.development.js");
8768 }
8769
8770
8771 /***/ }),
8772
8773 /***/ "react":
8774 /*!************************!*\
8775 !*** external "React" ***!
8776 \************************/
8777 /***/ ((module) => {
8778
8779 "use strict";
8780 module.exports = window["React"];
8781
8782 /***/ }),
8783
8784 /***/ "react-dom":
8785 /*!***************************!*\
8786 !*** external "ReactDOM" ***!
8787 \***************************/
8788 /***/ ((module) => {
8789
8790 "use strict";
8791 module.exports = window["ReactDOM"];
8792
8793 /***/ }),
8794
8795 /***/ "jquery":
8796 /*!*************************!*\
8797 !*** external "jQuery" ***!
8798 \*************************/
8799 /***/ ((module) => {
8800
8801 "use strict";
8802 module.exports = window["jQuery"];
8803
8804 /***/ }),
8805
8806 /***/ "@wordpress/i18n":
8807 /*!******************************!*\
8808 !*** external ["wp","i18n"] ***!
8809 \******************************/
8810 /***/ ((module) => {
8811
8812 "use strict";
8813 module.exports = window["wp"]["i18n"];
8814
8815 /***/ }),
8816
8817 /***/ "./node_modules/@linaria/react/dist/index.mjs":
8818 /*!****************************************************!*\
8819 !*** ./node_modules/@linaria/react/dist/index.mjs ***!
8820 \****************************************************/
8821 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8822
8823 "use strict";
8824 __webpack_require__.r(__webpack_exports__);
8825 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8826 /* harmony export */ "styled": () => (/* binding */ styled_default)
8827 /* harmony export */ });
8828 /* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/is-prop-valid */ "./node_modules/@linaria/react/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js");
8829 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
8830 /* harmony import */ var _linaria_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @linaria/core */ "./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs");
8831 // src/styled.ts
8832
8833
8834
8835 var isCapital = (ch) => ch.toUpperCase() === ch;
8836 var filterKey = (keys) => (key) => keys.indexOf(key) === -1;
8837 var omit = (obj, keys) => {
8838 const res = {};
8839 Object.keys(obj).filter(filterKey(keys)).forEach((key) => {
8840 res[key] = obj[key];
8841 });
8842 return res;
8843 };
8844 function filterProps(asIs, props, omitKeys) {
8845 const filteredProps = omit(props, omitKeys);
8846 if (!asIs) {
8847 const interopValidAttr = typeof _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__["default"] === "function" ? { default: _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__["default"] } : _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__["default"];
8848 Object.keys(filteredProps).forEach((key) => {
8849 if (!interopValidAttr.default(key)) {
8850 delete filteredProps[key];
8851 }
8852 });
8853 }
8854 return filteredProps;
8855 }
8856 var warnIfInvalid = (value, componentName) => {
8857 if (true) {
8858 if (typeof value === "string" || typeof value === "number" && isFinite(value)) {
8859 return;
8860 }
8861 const stringified = typeof value === "object" ? JSON.stringify(value) : String(value);
8862 console.warn(
8863 `An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`
8864 );
8865 }
8866 };
8867 var idx = 0;
8868 function styled(tag) {
8869 var _a;
8870 let mockedClass = "";
8871 if (false) {}
8872 return (options) => {
8873 if (true) {
8874 if (Array.isArray(options)) {
8875 throw new Error(
8876 'Using the "styled" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup'
8877 );
8878 }
8879 }
8880 const render = (props, ref) => {
8881 const { as: component = tag, class: className = mockedClass } = props;
8882 const shouldKeepProps = options.propsAsIs === void 0 ? !(typeof component === "string" && component.indexOf("-") === -1 && !isCapital(component[0])) : options.propsAsIs;
8883 const filteredProps = filterProps(shouldKeepProps, props, [
8884 "as",
8885 "class"
8886 ]);
8887 filteredProps.ref = ref;
8888 filteredProps.className = options.atomic ? (0,_linaria_core__WEBPACK_IMPORTED_MODULE_2__.cx)(options.class, filteredProps.className || className) : (0,_linaria_core__WEBPACK_IMPORTED_MODULE_2__.cx)(filteredProps.className || className, options.class);
8889 const { vars } = options;
8890 if (vars) {
8891 const style = {};
8892 for (const name in vars) {
8893 const variable = vars[name];
8894 const result = variable[0];
8895 const unit = variable[1] || "";
8896 const value = typeof result === "function" ? result(props) : result;
8897 warnIfInvalid(value, options.name);
8898 style[`--${name}`] = `${value}${unit}`;
8899 }
8900 const ownStyle = filteredProps.style || {};
8901 const keys = Object.keys(ownStyle);
8902 if (keys.length > 0) {
8903 keys.forEach((key) => {
8904 style[key] = ownStyle[key];
8905 });
8906 }
8907 filteredProps.style = style;
8908 }
8909 if (tag.__linaria && tag !== component) {
8910 filteredProps.as = component;
8911 return react__WEBPACK_IMPORTED_MODULE_1__.createElement(tag, filteredProps);
8912 }
8913 return react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, filteredProps);
8914 };
8915 const Result = react__WEBPACK_IMPORTED_MODULE_1__.forwardRef ? react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(render) : (props) => {
8916 const rest = omit(props, ["innerRef"]);
8917 return render(rest, props.innerRef);
8918 };
8919 Result.displayName = options.name;
8920 Result.__linaria = {
8921 className: options.class || mockedClass,
8922 extends: tag
8923 };
8924 return Result;
8925 };
8926 }
8927 var styled_default = true ? new Proxy(styled, {
8928 get(o, prop) {
8929 return o(prop);
8930 }
8931 }) : 0;
8932
8933 //# sourceMappingURL=index.mjs.map
8934
8935 /***/ }),
8936
8937 /***/ "./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs":
8938 /*!*******************************************************************************!*\
8939 !*** ./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs ***!
8940 \*******************************************************************************/
8941 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8942
8943 "use strict";
8944 __webpack_require__.r(__webpack_exports__);
8945 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8946 /* harmony export */ "css": () => (/* binding */ css_default),
8947 /* harmony export */ "cx": () => (/* binding */ cx_default)
8948 /* harmony export */ });
8949 // src/css.ts
8950 var idx = 0;
8951 var css = () => {
8952 if (false) {}
8953 throw new Error(
8954 'Using the "css" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly.'
8955 );
8956 };
8957 var css_default = css;
8958
8959 // src/cx.ts
8960 var cx = function cx2() {
8961 const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean);
8962 const atomicClasses = {};
8963 const nonAtomicClasses = [];
8964 presentClassNames.forEach((arg) => {
8965 const individualClassNames = arg ? arg.split(" ") : [];
8966 individualClassNames.forEach((className) => {
8967 if (className.startsWith("atm_")) {
8968 const [, keyHash] = className.split("_");
8969 atomicClasses[keyHash] = className;
8970 } else {
8971 nonAtomicClasses.push(className);
8972 }
8973 });
8974 });
8975 const result = [];
8976 for (const keyHash in atomicClasses) {
8977 if (Object.prototype.hasOwnProperty.call(atomicClasses, keyHash)) {
8978 result.push(atomicClasses[keyHash]);
8979 }
8980 }
8981 result.push(...nonAtomicClasses);
8982 return result.join(" ");
8983 };
8984 var cx_default = cx;
8985
8986 //# sourceMappingURL=index.mjs.map
8987
8988 /***/ })
8989
8990 /******/ });
8991 /************************************************************************/
8992 /******/ // The module cache
8993 /******/ var __webpack_module_cache__ = {};
8994 /******/
8995 /******/ // The require function
8996 /******/ function __webpack_require__(moduleId) {
8997 /******/ // Check if module is in cache
8998 /******/ var cachedModule = __webpack_module_cache__[moduleId];
8999 /******/ if (cachedModule !== undefined) {
9000 /******/ return cachedModule.exports;
9001 /******/ }
9002 /******/ // Create a new module (and put it into the cache)
9003 /******/ var module = __webpack_module_cache__[moduleId] = {
9004 /******/ // no module.id needed
9005 /******/ // no module.loaded needed
9006 /******/ exports: {}
9007 /******/ };
9008 /******/
9009 /******/ // Execute the module function
9010 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
9011 /******/
9012 /******/ // Return the exports of the module
9013 /******/ return module.exports;
9014 /******/ }
9015 /******/
9016 /************************************************************************/
9017 /******/ /* webpack/runtime/compat get default export */
9018 /******/ (() => {
9019 /******/ // getDefaultExport function for compatibility with non-harmony modules
9020 /******/ __webpack_require__.n = (module) => {
9021 /******/ var getter = module && module.__esModule ?
9022 /******/ () => (module['default']) :
9023 /******/ () => (module);
9024 /******/ __webpack_require__.d(getter, { a: getter });
9025 /******/ return getter;
9026 /******/ };
9027 /******/ })();
9028 /******/
9029 /******/ /* webpack/runtime/define property getters */
9030 /******/ (() => {
9031 /******/ // define getter functions for harmony exports
9032 /******/ __webpack_require__.d = (exports, definition) => {
9033 /******/ for(var key in definition) {
9034 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
9035 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
9036 /******/ }
9037 /******/ }
9038 /******/ };
9039 /******/ })();
9040 /******/
9041 /******/ /* webpack/runtime/global */
9042 /******/ (() => {
9043 /******/ __webpack_require__.g = (function() {
9044 /******/ if (typeof globalThis === 'object') return globalThis;
9045 /******/ try {
9046 /******/ return this || new Function('return this')();
9047 /******/ } catch (e) {
9048 /******/ if (typeof window === 'object') return window;
9049 /******/ }
9050 /******/ })();
9051 /******/ })();
9052 /******/
9053 /******/ /* webpack/runtime/hasOwnProperty shorthand */
9054 /******/ (() => {
9055 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
9056 /******/ })();
9057 /******/
9058 /******/ /* webpack/runtime/make namespace object */
9059 /******/ (() => {
9060 /******/ // define __esModule on exports
9061 /******/ __webpack_require__.r = (exports) => {
9062 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
9063 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9064 /******/ }
9065 /******/ Object.defineProperty(exports, '__esModule', { value: true });
9066 /******/ };
9067 /******/ })();
9068 /******/
9069 /************************************************************************/
9070 var __webpack_exports__ = {};
9071 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
9072 (() => {
9073 "use strict";
9074 /*!**************************************!*\
9075 !*** ./scripts/entries/elementor.ts ***!
9076 \**************************************/
9077 __webpack_require__.r(__webpack_exports__);
9078 /* harmony import */ var _elementor_elementorWidget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elementor/elementorWidget */ "./scripts/elementor/elementorWidget.ts");
9079 /* harmony import */ var _elementor_FormWidget_registerFormWidget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elementor/FormWidget/registerFormWidget */ "./scripts/elementor/FormWidget/registerFormWidget.ts");
9080 /* harmony import */ var _utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
9081 /* harmony import */ var _elementor_MeetingWidget_registerMeetingWidget__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elementor/MeetingWidget/registerMeetingWidget */ "./scripts/elementor/MeetingWidget/registerMeetingWidget.ts");
9082
9083
9084
9085
9086 var ELEMENTOR_READY_INTERVAL = 500;
9087 var MAX_POLL_TIMEOUT = 30000;
9088 var registerElementorWidgets = function registerElementorWidgets() {
9089 (0,_utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_2__.initBackgroundApp)(function () {
9090 var FormWidget;
9091 var MeetingsWidget;
9092 var leadinSelectFormItemView = (0,_elementor_elementorWidget__WEBPACK_IMPORTED_MODULE_0__["default"])(
9093 //@ts-expect-error global
9094 window.elementor, {
9095 widgetName: 'hubspot-form',
9096 controlSelector: '.elementor-hbspt-form-selector',
9097 containerSelector: '.hubspot-form-edit-mode'
9098 }, function (controlContainer, widgetContainer, setValue) {
9099 FormWidget = new _elementor_FormWidget_registerFormWidget__WEBPACK_IMPORTED_MODULE_1__["default"](controlContainer, widgetContainer, setValue);
9100 FormWidget.render();
9101 }, function () {
9102 FormWidget.done();
9103 });
9104 var leadinSelectMeetingItemView = (0,_elementor_elementorWidget__WEBPACK_IMPORTED_MODULE_0__["default"])(
9105 //@ts-expect-error global
9106 window.elementor, {
9107 widgetName: 'hubspot-meeting',
9108 controlSelector: '.elementor-hbspt-meeting-selector',
9109 containerSelector: '.hubspot-meeting-edit-mode'
9110 }, function (controlContainer, widgetContainer, setValue) {
9111 MeetingsWidget = new _elementor_MeetingWidget_registerMeetingWidget__WEBPACK_IMPORTED_MODULE_3__["default"](controlContainer, widgetContainer, setValue);
9112 MeetingsWidget.render();
9113 }, function () {
9114 MeetingsWidget.done();
9115 });
9116 //@ts-expect-error global
9117 window.elementor.addControlView('leadinformselect', leadinSelectFormItemView);
9118 //@ts-expect-error global
9119 window.elementor.addControlView('leadinmeetingselect', leadinSelectMeetingItemView);
9120 });
9121 };
9122 var pollForElementorReady = setInterval(function () {
9123 var elementorFrontend = window.elementorFrontend;
9124 if (elementorFrontend) {
9125 registerElementorWidgets();
9126 clearInterval(pollForElementorReady);
9127 }
9128 }, ELEMENTOR_READY_INTERVAL);
9129 setTimeout(function () {
9130 clearInterval(pollForElementorReady);
9131 }, MAX_POLL_TIMEOUT);
9132 })();
9133
9134 /******/ })()
9135 ;
9136 //# sourceMappingURL=elementor.js.map