PluginProbe
HubSpot All-In-One Marketing – Forms, Popups, Live Chat / 11.0.56
HubSpot All-In-One Marketing – Forms, Popups, Live Chat v11.0.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.0.56, at build/elementor.js

8,968 lines 352.7 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": () => (__WEBPACK_DEFAULT_EXPORT__)
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 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (memoize);
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": () => (__WEBPACK_DEFAULT_EXPORT__)
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 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|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
43
44 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
45 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
46 /* o */
47 && prop.charCodeAt(1) === 110
48 /* n */
49 && prop.charCodeAt(2) < 91;
50 }
51 /* Z+1 */
52 );
53
54 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (isPropValid);
55
56
57 /***/ }),
58
59 /***/ "./scripts/constants/defaultFormOptions.ts":
60 /*!*************************************************!*\
61 !*** ./scripts/constants/defaultFormOptions.ts ***!
62 \*************************************************/
63 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
64
65 "use strict";
66 __webpack_require__.r(__webpack_exports__);
67 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
68 /* harmony export */ "DEFAULT_OPTIONS": () => (/* binding */ DEFAULT_OPTIONS),
69 /* harmony export */ "isDefaultForm": () => (/* binding */ isDefaultForm)
70 /* harmony export */ });
71 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
72 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
73
74 var REGISTRATION_FORM = 'REGISTRATION_FORM';
75 var CONTACT_US_FORM = 'CONTACT_US_FORM';
76 var NEWSLETTER_FORM = 'NEWSLETTER_FORM';
77 var SUPPORT_FORM = 'SUPPORT_FORM';
78 var EVENT_FORM = 'EVENT_FORM';
79 var DEFAULT_OPTIONS = {
80 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Templates', 'leadin'),
81 options: [{
82 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Registration Form', 'leadin'),
83 value: REGISTRATION_FORM
84 }, {
85 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Contact us Form', 'leadin'),
86 value: CONTACT_US_FORM
87 }, {
88 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Newsletter sign-up Form', 'leadin'),
89 value: NEWSLETTER_FORM
90 }, {
91 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Support Form', 'leadin'),
92 value: SUPPORT_FORM
93 }, {
94 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Event Registration Form', 'leadin'),
95 value: EVENT_FORM
96 }]
97 };
98 function isDefaultForm(value) {
99 return value === REGISTRATION_FORM || value === CONTACT_US_FORM || value === NEWSLETTER_FORM || value === SUPPORT_FORM || value === EVENT_FORM;
100 }
101
102 /***/ }),
103
104 /***/ "./scripts/constants/leadinConfig.ts":
105 /*!*******************************************!*\
106 !*** ./scripts/constants/leadinConfig.ts ***!
107 \*******************************************/
108 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
109
110 "use strict";
111 __webpack_require__.r(__webpack_exports__);
112 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
113 /* harmony export */ "accountName": () => (/* binding */ accountName),
114 /* harmony export */ "activationTime": () => (/* binding */ activationTime),
115 /* harmony export */ "adminUrl": () => (/* binding */ adminUrl),
116 /* harmony export */ "connectionStatus": () => (/* binding */ connectionStatus),
117 /* harmony export */ "contentEmbed": () => (/* binding */ contentEmbed),
118 /* harmony export */ "deviceId": () => (/* binding */ deviceId),
119 /* harmony export */ "didDisconnect": () => (/* binding */ didDisconnect),
120 /* harmony export */ "env": () => (/* binding */ env),
121 /* harmony export */ "formsScript": () => (/* binding */ formsScript),
122 /* harmony export */ "formsScriptPayload": () => (/* binding */ formsScriptPayload),
123 /* harmony export */ "hublet": () => (/* binding */ hublet),
124 /* harmony export */ "hubspotBaseUrl": () => (/* binding */ hubspotBaseUrl),
125 /* harmony export */ "hubspotNonce": () => (/* binding */ hubspotNonce),
126 /* harmony export */ "iframeUrl": () => (/* binding */ iframeUrl),
127 /* harmony export */ "impactLink": () => (/* binding */ impactLink),
128 /* harmony export */ "leadinPluginVersion": () => (/* binding */ leadinPluginVersion),
129 /* harmony export */ "leadinQueryParams": () => (/* binding */ leadinQueryParams),
130 /* harmony export */ "locale": () => (/* binding */ locale),
131 /* harmony export */ "loginUrl": () => (/* binding */ loginUrl),
132 /* harmony export */ "meetingsScript": () => (/* binding */ meetingsScript),
133 /* harmony export */ "phpVersion": () => (/* binding */ phpVersion),
134 /* harmony export */ "pluginPath": () => (/* binding */ pluginPath),
135 /* harmony export */ "plugins": () => (/* binding */ plugins),
136 /* harmony export */ "portalDomain": () => (/* binding */ portalDomain),
137 /* harmony export */ "portalEmail": () => (/* binding */ portalEmail),
138 /* harmony export */ "portalId": () => (/* binding */ portalId),
139 /* harmony export */ "redirectNonce": () => (/* binding */ redirectNonce),
140 /* harmony export */ "refreshToken": () => (/* binding */ refreshToken),
141 /* harmony export */ "requiresContentEmbedScope": () => (/* binding */ requiresContentEmbedScope),
142 /* harmony export */ "restNonce": () => (/* binding */ restNonce),
143 /* harmony export */ "restUrl": () => (/* binding */ restUrl),
144 /* harmony export */ "reviewSkippedDate": () => (/* binding */ reviewSkippedDate),
145 /* harmony export */ "theme": () => (/* binding */ theme),
146 /* harmony export */ "trackConsent": () => (/* binding */ trackConsent),
147 /* harmony export */ "wpVersion": () => (/* binding */ wpVersion)
148 /* harmony export */ });
149 var _window$leadinConfig = window.leadinConfig,
150 accountName = _window$leadinConfig.accountName,
151 adminUrl = _window$leadinConfig.adminUrl,
152 activationTime = _window$leadinConfig.activationTime,
153 connectionStatus = _window$leadinConfig.connectionStatus,
154 deviceId = _window$leadinConfig.deviceId,
155 didDisconnect = _window$leadinConfig.didDisconnect,
156 env = _window$leadinConfig.env,
157 formsScript = _window$leadinConfig.formsScript,
158 meetingsScript = _window$leadinConfig.meetingsScript,
159 formsScriptPayload = _window$leadinConfig.formsScriptPayload,
160 hublet = _window$leadinConfig.hublet,
161 hubspotBaseUrl = _window$leadinConfig.hubspotBaseUrl,
162 hubspotNonce = _window$leadinConfig.hubspotNonce,
163 iframeUrl = _window$leadinConfig.iframeUrl,
164 impactLink = _window$leadinConfig.impactLink,
165 leadinPluginVersion = _window$leadinConfig.leadinPluginVersion,
166 leadinQueryParams = _window$leadinConfig.leadinQueryParams,
167 locale = _window$leadinConfig.locale,
168 loginUrl = _window$leadinConfig.loginUrl,
169 phpVersion = _window$leadinConfig.phpVersion,
170 pluginPath = _window$leadinConfig.pluginPath,
171 plugins = _window$leadinConfig.plugins,
172 portalDomain = _window$leadinConfig.portalDomain,
173 portalEmail = _window$leadinConfig.portalEmail,
174 portalId = _window$leadinConfig.portalId,
175 redirectNonce = _window$leadinConfig.redirectNonce,
176 restNonce = _window$leadinConfig.restNonce,
177 restUrl = _window$leadinConfig.restUrl,
178 refreshToken = _window$leadinConfig.refreshToken,
179 reviewSkippedDate = _window$leadinConfig.reviewSkippedDate,
180 theme = _window$leadinConfig.theme,
181 trackConsent = _window$leadinConfig.trackConsent,
182 wpVersion = _window$leadinConfig.wpVersion,
183 contentEmbed = _window$leadinConfig.contentEmbed,
184 requiresContentEmbedScope = _window$leadinConfig.requiresContentEmbedScope;
185
186
187 /***/ }),
188
189 /***/ "./scripts/elementor/Common/ConnectPluginBanner.tsx":
190 /*!**********************************************************!*\
191 !*** ./scripts/elementor/Common/ConnectPluginBanner.tsx ***!
192 \**********************************************************/
193 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
194
195 "use strict";
196 __webpack_require__.r(__webpack_exports__);
197 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
198 /* harmony export */ "default": () => (/* binding */ ConnectPluginBanner)
199 /* harmony export */ });
200 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
201 /* harmony import */ var _ElementorBanner__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
202 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
203 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
204
205
206
207 function ConnectPluginBanner() {
208 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorBanner__WEBPACK_IMPORTED_MODULE_1__["default"], {
209 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
210 dangerouslySetInnerHTML: {
211 __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>')
212 }
213 })
214 });
215 }
216
217 /***/ }),
218
219 /***/ "./scripts/elementor/Common/ElementorBanner.tsx":
220 /*!******************************************************!*\
221 !*** ./scripts/elementor/Common/ElementorBanner.tsx ***!
222 \******************************************************/
223 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
224
225 "use strict";
226 __webpack_require__.r(__webpack_exports__);
227 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
228 /* harmony export */ "default": () => (/* binding */ ElementorBanner)
229 /* harmony export */ });
230 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
231
232 function ElementorBanner(_ref) {
233 var _ref$type = _ref.type,
234 type = _ref$type === void 0 ? 'warning' : _ref$type,
235 children = _ref.children;
236 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
237 className: "elementor-control-content",
238 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
239 className: "elementor-control-raw-html elementor-panel-alert elementor-panel-alert-".concat(type),
240 children: children
241 })
242 });
243 }
244
245 /***/ }),
246
247 /***/ "./scripts/elementor/Common/ElementorButton.tsx":
248 /*!******************************************************!*\
249 !*** ./scripts/elementor/Common/ElementorButton.tsx ***!
250 \******************************************************/
251 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
252
253 "use strict";
254 __webpack_require__.r(__webpack_exports__);
255 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
256 /* harmony export */ "default": () => (/* binding */ ElementorButton)
257 /* harmony export */ });
258 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
259 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
260 var _excluded = ["children"];
261
262 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
263
264 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
265
266 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
267
268 function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
269
270 function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
271
272
273
274 var Container = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('div')({
275 name: "Container",
276 "class": "czoccom",
277 propsAsIs: false
278 });
279 function ElementorButton(_ref) {
280 var children = _ref.children,
281 params = _objectWithoutProperties(_ref, _excluded);
282
283 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Container, {
284 className: "elementor-button-wrapper",
285 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", _objectSpread(_objectSpread({
286 className: "elementor-button elementor-button-default",
287 type: "button"
288 }, params), {}, {
289 children: children
290 }))
291 });
292 }
293
294 __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");
295
296 /***/ }),
297
298 /***/ "./scripts/elementor/FormWidget/ElementorFormSelect.tsx":
299 /*!**************************************************************!*\
300 !*** ./scripts/elementor/FormWidget/ElementorFormSelect.tsx ***!
301 \**************************************************************/
302 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
303
304 "use strict";
305 __webpack_require__.r(__webpack_exports__);
306 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
307 /* harmony export */ "default": () => (/* binding */ ElementorFormSelectContainer)
308 /* harmony export */ });
309 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
310 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
311 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
312 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
313 /* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
314 /* harmony import */ var _shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
315 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
316 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
317 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
318 /* harmony import */ var _hooks_useForms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./hooks/useForms */ "./scripts/elementor/FormWidget/hooks/useForms.ts");
319 /* harmony import */ var _utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
320 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
321
322 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
323
324 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
325
326
327
328
329
330
331
332
333
334
335
336 function ElementorFormSelect(_ref) {
337 var formId = _ref.formId,
338 setAttributes = _ref.setAttributes;
339
340 var _useForms = (0,_hooks_useForms__WEBPACK_IMPORTED_MODULE_7__["default"])(),
341 hasError = _useForms.hasError,
342 forms = _useForms.forms,
343 loading = _useForms.loading;
344
345 return loading ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
346 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__["default"], {})
347 }) : hasError ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {
348 type: "danger",
349 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Please refresh your forms or try again in a few minutes', 'leadin')
350 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
351 value: formId,
352 onChange: function onChange(event) {
353 var selectedForm = forms.find(function (form) {
354 return form.value === event.target.value;
355 });
356
357 if (selectedForm) {
358 setAttributes({
359 portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
360 formId: selectedForm.value,
361 formName: selectedForm.label
362 });
363 }
364 },
365 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
366 value: "",
367 disabled: true,
368 selected: true,
369 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Search for a form', 'leadin')
370 }), forms.map(function (form) {
371 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
372 value: form.value,
373 children: form.label
374 }, form.value);
375 })]
376 });
377 }
378
379 function ElementorFormSelectWrapper(props) {
380 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.useBackgroundAppContext)();
381 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
382 children: !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
383 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_4__["default"], {})
384 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelect, _objectSpread({}, props))
385 });
386 }
387
388 function ElementorFormSelectContainer(props) {
389 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.BackgroudAppContext.Provider, {
390 value: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.refreshToken && (0,_utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_8__.getOrCreateBackgroundApp)(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.refreshToken),
391 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorFormSelectWrapper, _objectSpread({}, props))
392 });
393 }
394
395 /***/ }),
396
397 /***/ "./scripts/elementor/FormWidget/FormControlController.tsx":
398 /*!****************************************************************!*\
399 !*** ./scripts/elementor/FormWidget/FormControlController.tsx ***!
400 \****************************************************************/
401 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
402
403 "use strict";
404 __webpack_require__.r(__webpack_exports__);
405 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
406 /* harmony export */ "default": () => (/* binding */ FormControlController)
407 /* harmony export */ });
408 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
409 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
410 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
411 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
412 /* harmony import */ var _Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ConnectPluginBanner */ "./scripts/elementor/Common/ConnectPluginBanner.tsx");
413 /* harmony import */ var _ElementorFormSelect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ElementorFormSelect */ "./scripts/elementor/FormWidget/ElementorFormSelect.tsx");
414
415
416
417
418
419 var ConnectionStatus = {
420 Connected: 'Connected',
421 NotConnected: 'NotConnected'
422 };
423 function FormControlController(attributes, setValue) {
424 return function () {
425 var render = function render() {
426 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === ConnectionStatus.Connected) {
427 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorFormSelect__WEBPACK_IMPORTED_MODULE_4__["default"], {
428 formId: attributes.formId,
429 setAttributes: setValue
430 });
431 } else {
432 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {});
433 }
434 };
435
436 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
437 children: render()
438 });
439 };
440 }
441
442 /***/ }),
443
444 /***/ "./scripts/elementor/FormWidget/FormWidgetController.tsx":
445 /*!***************************************************************!*\
446 !*** ./scripts/elementor/FormWidget/FormWidgetController.tsx ***!
447 \***************************************************************/
448 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
449
450 "use strict";
451 __webpack_require__.r(__webpack_exports__);
452 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
453 /* harmony export */ "default": () => (/* binding */ FormWidgetController)
454 /* harmony export */ });
455 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
456 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
457 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
458 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
459 /* harmony import */ var _shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
460 /* harmony import */ var _shared_Form_FormEdit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/Form/FormEdit */ "./scripts/shared/Form/FormEdit.tsx");
461 /* harmony import */ var _shared_enums_connectionStatus__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/enums/connectionStatus */ "./scripts/shared/enums/connectionStatus.ts");
462
463
464
465
466
467
468 function FormWidgetController(attributes, setValue) {
469 return function () {
470 var render = function render() {
471 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === _shared_enums_connectionStatus__WEBPACK_IMPORTED_MODULE_5__["default"].Connected) {
472 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Form_FormEdit__WEBPACK_IMPORTED_MODULE_4__["default"], {
473 attributes: attributes,
474 isSelected: true,
475 setAttributes: setValue,
476 preview: false,
477 origin: "elementor"
478 });
479 } else {
480 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__["default"], {
481 status: 401
482 });
483 }
484 };
485
486 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
487 children: render()
488 });
489 };
490 }
491
492 /***/ }),
493
494 /***/ "./scripts/elementor/FormWidget/hooks/useForms.ts":
495 /*!********************************************************!*\
496 !*** ./scripts/elementor/FormWidget/hooks/useForms.ts ***!
497 \********************************************************/
498 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
499
500 "use strict";
501 __webpack_require__.r(__webpack_exports__);
502 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
503 /* harmony export */ "default": () => (/* binding */ useForms)
504 /* harmony export */ });
505 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
506 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
507 /* harmony import */ var _shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../shared/enums/loadState */ "./scripts/shared/enums/loadState.ts");
508 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
509 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
510 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
511
512 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."); }
513
514 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
515
516 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
517
518 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
519
520 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
521
522
523
524
525
526 function useForms() {
527 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_3__.usePostAsyncBackgroundMessage)();
528
529 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].NotLoaded),
530 _useState2 = _slicedToArray(_useState, 2),
531 loadState = _useState2[0],
532 setLoadState = _useState2[1];
533
534 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
535 _useState4 = _slicedToArray(_useState3, 2),
536 hasError = _useState4[0],
537 setError = _useState4[1];
538
539 var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
540 _useState6 = _slicedToArray(_useState5, 2),
541 forms = _useState6[0],
542 setForms = _useState6[1];
543
544 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
545 if (loadState === _shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].NotLoaded) {
546 proxy({
547 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_2__.ProxyMessages.FetchForms,
548 payload: {
549 search: ''
550 }
551 }).then(function (data) {
552 setForms(data.map(function (form) {
553 return {
554 label: form.name,
555 value: form.guid
556 };
557 }));
558 setLoadState(_shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].Loaded);
559 })["catch"](function (error) {
560 setError(error);
561 setLoadState(_shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].Failed);
562 });
563 }
564 }, [loadState]);
565 return {
566 forms: forms,
567 loading: loadState === _shared_enums_loadState__WEBPACK_IMPORTED_MODULE_1__["default"].Loading,
568 hasError: hasError
569 };
570 }
571
572 /***/ }),
573
574 /***/ "./scripts/elementor/FormWidget/registerFormWidget.ts":
575 /*!************************************************************!*\
576 !*** ./scripts/elementor/FormWidget/registerFormWidget.ts ***!
577 \************************************************************/
578 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
579
580 "use strict";
581 __webpack_require__.r(__webpack_exports__);
582 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
583 /* harmony export */ "default": () => (/* binding */ registerFormWidget)
584 /* harmony export */ });
585 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom");
586 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);
587 /* harmony import */ var _FormControlController__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormControlController */ "./scripts/elementor/FormWidget/FormControlController.tsx");
588 /* harmony import */ var _FormWidgetController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FormWidgetController */ "./scripts/elementor/FormWidget/FormWidgetController.tsx");
589 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
590
591 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
592
593 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
594
595 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
596
597
598
599
600
601 var registerFormWidget = /*#__PURE__*/function () {
602 function registerFormWidget(controlContainer, widgetContainer, setValue) {
603 _classCallCheck(this, registerFormWidget);
604
605 _defineProperty(this, "widgetContainer", void 0);
606
607 _defineProperty(this, "attributes", void 0);
608
609 _defineProperty(this, "controlContainer", void 0);
610
611 _defineProperty(this, "setValue", void 0);
612
613 var attributes = widgetContainer.dataset.attributes ? JSON.parse(widgetContainer.dataset.attributes) : {};
614 this.widgetContainer = widgetContainer;
615 this.controlContainer = controlContainer;
616 this.setValue = setValue;
617 this.attributes = attributes;
618 }
619
620 _createClass(registerFormWidget, [{
621 key: "render",
622 value: function render() {
623 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_FormWidgetController__WEBPACK_IMPORTED_MODULE_2__["default"])(this.attributes, this.setValue)(), this.widgetContainer);
624 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_FormControlController__WEBPACK_IMPORTED_MODULE_1__["default"])(this.attributes, this.setValue)(), this.controlContainer);
625 }
626 }, {
627 key: "done",
628 value: function done() {
629 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.widgetContainer);
630 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.controlContainer);
631 }
632 }]);
633
634 return registerFormWidget;
635 }();
636
637
638
639 /***/ }),
640
641 /***/ "./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx":
642 /*!********************************************************************!*\
643 !*** ./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx ***!
644 \********************************************************************/
645 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
646
647 "use strict";
648 __webpack_require__.r(__webpack_exports__);
649 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
650 /* harmony export */ "default": () => (/* binding */ ElementorMeetingsSelectContainer)
651 /* harmony export */ });
652 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
653 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
654 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
655 /* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
656 /* harmony import */ var _shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
657 /* harmony import */ var _ElementorMeetingWarning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ElementorMeetingWarning */ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx");
658 /* harmony import */ var _shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../shared/Meeting/hooks/useMeetings */ "./scripts/shared/Meeting/hooks/useMeetings.ts");
659 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
660 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__);
661 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
662 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_7__);
663 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
664 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
665 /* harmony import */ var _utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
666 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
667
668 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
669
670 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
671
672 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
673
674 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."); }
675
676 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
677
678 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
679
680 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
681
682 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
683
684
685
686
687
688
689
690
691
692
693
694
695
696 function ElementorMeetingSelect(_ref) {
697 var url = _ref.url,
698 setAttributes = _ref.setAttributes;
699
700 var _useMeetings = (0,_shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__["default"])(),
701 meetings = _useMeetings.mappedMeetings,
702 loading = _useMeetings.loading,
703 error = _useMeetings.error,
704 reload = _useMeetings.reload,
705 connectCalendar = _useMeetings.connectCalendar;
706
707 var selectedMeetingCalendar = (0,_shared_Meeting_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__.useSelectedMeetingCalendar)(url);
708
709 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(url),
710 _useState2 = _slicedToArray(_useState, 2),
711 localUrl = _useState2[0],
712 setLocalUrl = _useState2[1];
713
714 var handleConnectCalendar = function handleConnectCalendar() {
715 return connectCalendar().then(function () {
716 reload();
717 })["catch"](function (error) {
718 raven_js__WEBPACK_IMPORTED_MODULE_7___default().captureMessage('Unable to connect calendar', {
719 extra: {
720 error: error
721 }
722 });
723 });
724 };
725
726 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
727 children: loading ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
728 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {})
729 }) : error ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_2__["default"], {
730 type: "danger",
731 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__.__)('Please refresh your meetings or try again in a few minutes', 'leadin')
732 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
733 children: [selectedMeetingCalendar && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorMeetingWarning__WEBPACK_IMPORTED_MODULE_4__["default"], {
734 status: selectedMeetingCalendar,
735 onConnectCalendar: connectCalendar
736 }), meetings.length > 1 && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("select", {
737 value: localUrl,
738 onChange: function onChange(event) {
739 var newUrl = event.target.value;
740 setLocalUrl(newUrl);
741 setAttributes({
742 url: newUrl
743 });
744 },
745 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
746 value: "",
747 disabled: true,
748 selected: true,
749 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_6__.__)('Select a meeting', 'leadin')
750 }), meetings.map(function (item) {
751 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("option", {
752 value: item.value,
753 children: item.label
754 }, item.value);
755 })]
756 })]
757 })
758 });
759 }
760
761 function ElementorMeetingSelectWrapper(props) {
762 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__.useBackgroundAppContext)();
763 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
764 children: !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
765 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__["default"], {})
766 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelect, _objectSpread({}, props))
767 });
768 }
769
770 function ElementorMeetingsSelectContainer(props) {
771 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_8__.BackgroudAppContext.Provider, {
772 value: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_9__.refreshToken && (0,_utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_10__.getOrCreateBackgroundApp)(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_9__.refreshToken),
773 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(ElementorMeetingSelectWrapper, _objectSpread({}, props))
774 });
775 }
776
777 /***/ }),
778
779 /***/ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx":
780 /*!*********************************************************************!*\
781 !*** ./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx ***!
782 \*********************************************************************/
783 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
784
785 "use strict";
786 __webpack_require__.r(__webpack_exports__);
787 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
788 /* harmony export */ "default": () => (/* binding */ MeetingWarning)
789 /* harmony export */ });
790 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
791 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
792 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
793 /* harmony import */ var _shared_Meeting_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/Meeting/constants */ "./scripts/shared/Meeting/constants.ts");
794 /* harmony import */ var _Common_ElementorButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ElementorButton */ "./scripts/elementor/Common/ElementorButton.tsx");
795 /* harmony import */ var _Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Common/ElementorBanner */ "./scripts/elementor/Common/ElementorBanner.tsx");
796 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
797 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
798 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
799
800
801
802
803
804
805
806 var Container = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_6__.styled)('div')({
807 name: "Container",
808 "class": "c1p032ba",
809 propsAsIs: false
810 });
811 function MeetingWarning(_ref) {
812 var onConnectCalendar = _ref.onConnectCalendar,
813 status = _ref.status;
814 var isMeetingOwner = status === _shared_Meeting_constants__WEBPACK_IMPORTED_MODULE_2__.CURRENT_USER_CALENDAR_MISSING;
815 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');
816 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');
817 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
818 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Container, {
819 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Common_ElementorBanner__WEBPACK_IMPORTED_MODULE_4__["default"], {
820 type: "warning",
821 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
822 children: titleText
823 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("br", {}), titleMessage]
824 })
825 }), isMeetingOwner && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ElementorButton__WEBPACK_IMPORTED_MODULE_3__["default"], {
826 id: "meetings-connect-calendar",
827 onClick: onConnectCalendar,
828 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Connect calendar', 'leadin')
829 })]
830 });
831 }
832
833 __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");
834
835 /***/ }),
836
837 /***/ "./scripts/elementor/MeetingWidget/MeetingControlController.tsx":
838 /*!**********************************************************************!*\
839 !*** ./scripts/elementor/MeetingWidget/MeetingControlController.tsx ***!
840 \**********************************************************************/
841 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
842
843 "use strict";
844 __webpack_require__.r(__webpack_exports__);
845 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
846 /* harmony export */ "default": () => (/* binding */ MeetingControlController)
847 /* harmony export */ });
848 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
849 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
850 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
851 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
852 /* harmony import */ var _Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/ConnectPluginBanner */ "./scripts/elementor/Common/ConnectPluginBanner.tsx");
853 /* harmony import */ var _ElementorMeetingSelect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ElementorMeetingSelect */ "./scripts/elementor/MeetingWidget/ElementorMeetingSelect.tsx");
854
855
856
857
858
859 var ConnectionStatus = {
860 Connected: 'Connected',
861 NotConnected: 'NotConnected'
862 };
863 function MeetingControlController(attributes, setValue) {
864 return function () {
865 var render = function render() {
866 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === ConnectionStatus.Connected) {
867 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_ElementorMeetingSelect__WEBPACK_IMPORTED_MODULE_4__["default"], {
868 url: attributes.url,
869 setAttributes: setValue
870 });
871 } else {
872 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_ConnectPluginBanner__WEBPACK_IMPORTED_MODULE_3__["default"], {});
873 }
874 };
875
876 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
877 children: render()
878 });
879 };
880 }
881
882 /***/ }),
883
884 /***/ "./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx":
885 /*!*********************************************************************!*\
886 !*** ./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx ***!
887 \*********************************************************************/
888 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
889
890 "use strict";
891 __webpack_require__.r(__webpack_exports__);
892 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
893 /* harmony export */ "default": () => (/* binding */ MeetingWidgetController)
894 /* harmony export */ });
895 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
896 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
897 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
898 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
899 /* harmony import */ var _shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
900 /* harmony import */ var _shared_Meeting_MeetingEdit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../shared/Meeting/MeetingEdit */ "./scripts/shared/Meeting/MeetingEdit.tsx");
901
902
903
904
905
906 var ConnectionStatus = {
907 Connected: 'Connected',
908 NotConnected: 'NotConnected'
909 };
910 function MeetingWidgetController(attributes, setValue) {
911 return function () {
912 var render = function render() {
913 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.connectionStatus === ConnectionStatus.Connected) {
914 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Meeting_MeetingEdit__WEBPACK_IMPORTED_MODULE_4__["default"], {
915 attributes: attributes,
916 isSelected: true,
917 setAttributes: setValue,
918 preview: false,
919 origin: "elementor"
920 });
921 } else {
922 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_shared_Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_3__["default"], {
923 status: 401
924 });
925 }
926 };
927
928 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
929 children: render()
930 });
931 };
932 }
933
934 /***/ }),
935
936 /***/ "./scripts/elementor/MeetingWidget/registerMeetingWidget.ts":
937 /*!******************************************************************!*\
938 !*** ./scripts/elementor/MeetingWidget/registerMeetingWidget.ts ***!
939 \******************************************************************/
940 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
941
942 "use strict";
943 __webpack_require__.r(__webpack_exports__);
944 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
945 /* harmony export */ "default": () => (/* binding */ registerMeetingsWidget)
946 /* harmony export */ });
947 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom");
948 /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__);
949 /* harmony import */ var _MeetingControlController__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MeetingControlController */ "./scripts/elementor/MeetingWidget/MeetingControlController.tsx");
950 /* harmony import */ var _MeetingWidgetController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MeetingWidgetController */ "./scripts/elementor/MeetingWidget/MeetingWidgetController.tsx");
951 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
952
953 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
954
955 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
956
957 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
958
959
960
961
962
963 var registerMeetingsWidget = /*#__PURE__*/function () {
964 function registerMeetingsWidget(controlContainer, widgetContainer, setValue) {
965 _classCallCheck(this, registerMeetingsWidget);
966
967 _defineProperty(this, "widgetContainer", void 0);
968
969 _defineProperty(this, "controlContainer", void 0);
970
971 _defineProperty(this, "setValue", void 0);
972
973 _defineProperty(this, "attributes", void 0);
974
975 var attributes = widgetContainer.dataset.attributes ? JSON.parse(widgetContainer.dataset.attributes) : {};
976 this.widgetContainer = widgetContainer;
977 this.controlContainer = controlContainer;
978 this.setValue = setValue;
979 this.attributes = attributes;
980 }
981
982 _createClass(registerMeetingsWidget, [{
983 key: "render",
984 value: function render() {
985 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_MeetingWidgetController__WEBPACK_IMPORTED_MODULE_2__["default"])(this.attributes, this.setValue)(), this.widgetContainer);
986 react_dom__WEBPACK_IMPORTED_MODULE_0___default().render((0,_MeetingControlController__WEBPACK_IMPORTED_MODULE_1__["default"])(this.attributes, this.setValue)(), this.controlContainer);
987 }
988 }, {
989 key: "done",
990 value: function done() {
991 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.widgetContainer);
992 react_dom__WEBPACK_IMPORTED_MODULE_0___default().unmountComponentAtNode(this.controlContainer);
993 }
994 }]);
995
996 return registerMeetingsWidget;
997 }();
998
999
1000
1001 /***/ }),
1002
1003 /***/ "./scripts/elementor/elementorWidget.ts":
1004 /*!**********************************************!*\
1005 !*** ./scripts/elementor/elementorWidget.ts ***!
1006 \**********************************************/
1007 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1008
1009 "use strict";
1010 __webpack_require__.r(__webpack_exports__);
1011 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1012 /* harmony export */ "default": () => (/* binding */ elementorWidget)
1013 /* harmony export */ });
1014 function elementorWidget(elementor, options, callback) {
1015 var done = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};
1016 return elementor.modules.controls.BaseData.extend({
1017 onReady: function onReady() {
1018 var self = this;
1019 var controlContainer = this.ui.contentEditable.prevObject[0].querySelector(options.controlSelector);
1020 var widgetContainer = this.options.element.$el[0].querySelector(options.containerSelector);
1021
1022 if (widgetContainer) {
1023 callback(controlContainer, widgetContainer, function (args) {
1024 return self.setValue(args);
1025 });
1026 } else {
1027 //@ts-expect-error global
1028 window.elementorFrontend.hooks.addAction("frontend/element_ready/".concat(options.widgetName, ".default"), function (element) {
1029 widgetContainer = element[0].querySelector(options.containerSelector);
1030 callback(controlContainer, widgetContainer, function (args) {
1031 return self.setValue(args);
1032 });
1033 });
1034 }
1035 },
1036 saveValue: function saveValue(props) {
1037 this.setValue(props);
1038 },
1039 onBeforeDestroy: function onBeforeDestroy() {
1040 //@ts-expect-error global
1041 window.elementorFrontend.hooks.removeAction("frontend/element_ready/".concat(options.widgetName, ".default"));
1042 done();
1043 }
1044 });
1045 }
1046
1047 /***/ }),
1048
1049 /***/ "./scripts/iframe/integratedMessages/core/CoreMessages.ts":
1050 /*!****************************************************************!*\
1051 !*** ./scripts/iframe/integratedMessages/core/CoreMessages.ts ***!
1052 \****************************************************************/
1053 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1054
1055 "use strict";
1056 __webpack_require__.r(__webpack_exports__);
1057 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1058 /* harmony export */ "CoreMessages": () => (/* binding */ CoreMessages)
1059 /* harmony export */ });
1060 var CoreMessages = {
1061 HandshakeReceive: 'INTEGRATED_APP_EMBEDDER_HANDSHAKE_RECEIVED',
1062 SendRefreshToken: 'INTEGRATED_APP_EMBEDDER_SEND_REFRESH_TOKEN',
1063 ReloadParentFrame: 'INTEGRATED_APP_EMBEDDER_RELOAD_PARENT_FRAME',
1064 RedirectParentFrame: 'INTEGRATED_APP_EMBEDDER_REDIRECT_PARENT_FRAME',
1065 SendLocale: 'INTEGRATED_APP_EMBEDDER_SEND_LOCALE',
1066 SendDeviceId: 'INTEGRATED_APP_EMBEDDER_SEND_DEVICE_ID'
1067 };
1068
1069 /***/ }),
1070
1071 /***/ "./scripts/iframe/integratedMessages/forms/FormsMessages.ts":
1072 /*!******************************************************************!*\
1073 !*** ./scripts/iframe/integratedMessages/forms/FormsMessages.ts ***!
1074 \******************************************************************/
1075 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1076
1077 "use strict";
1078 __webpack_require__.r(__webpack_exports__);
1079 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1080 /* harmony export */ "FormMessages": () => (/* binding */ FormMessages)
1081 /* harmony export */ });
1082 var FormMessages = {
1083 CreateFormAppNavigation: 'CREATE_FORM_APP_NAVIGATION'
1084 };
1085
1086 /***/ }),
1087
1088 /***/ "./scripts/iframe/integratedMessages/index.ts":
1089 /*!****************************************************!*\
1090 !*** ./scripts/iframe/integratedMessages/index.ts ***!
1091 \****************************************************/
1092 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1093
1094 "use strict";
1095 __webpack_require__.r(__webpack_exports__);
1096 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1097 /* harmony export */ "CoreMessages": () => (/* reexport safe */ _core_CoreMessages__WEBPACK_IMPORTED_MODULE_0__.CoreMessages),
1098 /* harmony export */ "FormMessages": () => (/* reexport safe */ _forms_FormsMessages__WEBPACK_IMPORTED_MODULE_1__.FormMessages),
1099 /* harmony export */ "LiveChatMessages": () => (/* reexport safe */ _livechat_LiveChatMessages__WEBPACK_IMPORTED_MODULE_2__.LiveChatMessages),
1100 /* harmony export */ "PluginMessages": () => (/* reexport safe */ _plugin_PluginMessages__WEBPACK_IMPORTED_MODULE_3__.PluginMessages),
1101 /* harmony export */ "ProxyMessages": () => (/* reexport safe */ _proxy_ProxyMessages__WEBPACK_IMPORTED_MODULE_4__.ProxyMessages)
1102 /* harmony export */ });
1103 /* harmony import */ var _core_CoreMessages__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/CoreMessages */ "./scripts/iframe/integratedMessages/core/CoreMessages.ts");
1104 /* harmony import */ var _forms_FormsMessages__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./forms/FormsMessages */ "./scripts/iframe/integratedMessages/forms/FormsMessages.ts");
1105 /* harmony import */ var _livechat_LiveChatMessages__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./livechat/LiveChatMessages */ "./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts");
1106 /* harmony import */ var _plugin_PluginMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./plugin/PluginMessages */ "./scripts/iframe/integratedMessages/plugin/PluginMessages.ts");
1107 /* harmony import */ var _proxy_ProxyMessages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./proxy/ProxyMessages */ "./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts");
1108
1109
1110
1111
1112
1113
1114 /***/ }),
1115
1116 /***/ "./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts":
1117 /*!************************************************************************!*\
1118 !*** ./scripts/iframe/integratedMessages/livechat/LiveChatMessages.ts ***!
1119 \************************************************************************/
1120 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1121
1122 "use strict";
1123 __webpack_require__.r(__webpack_exports__);
1124 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1125 /* harmony export */ "LiveChatMessages": () => (/* binding */ LiveChatMessages)
1126 /* harmony export */ });
1127 var LiveChatMessages = {
1128 CreateLiveChatAppNavigation: 'CREATE_LIVE_CHAT_APP_NAVIGATION'
1129 };
1130
1131 /***/ }),
1132
1133 /***/ "./scripts/iframe/integratedMessages/plugin/PluginMessages.ts":
1134 /*!********************************************************************!*\
1135 !*** ./scripts/iframe/integratedMessages/plugin/PluginMessages.ts ***!
1136 \********************************************************************/
1137 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1138
1139 "use strict";
1140 __webpack_require__.r(__webpack_exports__);
1141 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1142 /* harmony export */ "PluginMessages": () => (/* binding */ PluginMessages)
1143 /* harmony export */ });
1144 var PluginMessages = {
1145 PluginSettingsNavigation: 'PLUGIN_SETTINGS_NAVIGATION',
1146 PluginLeadinConfig: 'PLUGIN_LEADIN_CONFIG',
1147 TrackConsent: 'INTEGRATED_APP_EMBEDDER_TRACK_CONSENT',
1148 InternalTrackingFetchRequest: 'INTEGRATED_TRACKING_FETCH_REQUEST',
1149 InternalTrackingFetchResponse: 'INTEGRATED_TRACKING_FETCH_RESPONSE',
1150 InternalTrackingFetchError: 'INTEGRATED_TRACKING_FETCH_ERROR',
1151 InternalTrackingChangeRequest: 'INTEGRATED_TRACKING_CHANGE_REQUEST',
1152 InternalTrackingChangeError: 'INTEGRATED_TRACKING_CHANGE_ERROR',
1153 BusinessUnitFetchRequest: 'BUSINESS_UNIT_FETCH_REQUEST',
1154 BusinessUnitFetchResponse: 'BUSINESS_UNIT_FETCH_FETCH_RESPONSE',
1155 BusinessUnitFetchError: 'BUSINESS_UNIT_FETCH_FETCH_ERROR',
1156 BusinessUnitChangeRequest: 'BUSINESS_UNIT_CHANGE_REQUEST',
1157 BusinessUnitChangeError: 'BUSINESS_UNIT_CHANGE_ERROR',
1158 SkipReviewRequest: 'SKIP_REVIEW_REQUEST',
1159 SkipReviewResponse: 'SKIP_REVIEW_RESPONSE',
1160 SkipReviewError: 'SKIP_REVIEW_ERROR',
1161 RemoveParentQueryParam: 'REMOVE_PARENT_QUERY_PARAM',
1162 ContentEmbedInstallRequest: 'CONTENT_EMBED_INSTALL_REQUEST',
1163 ContentEmbedInstallResponse: 'CONTENT_EMBED_INSTALL_RESPONSE',
1164 ContentEmbedInstallError: 'CONTENT_EMBED_INSTALL_ERROR',
1165 ContentEmbedActivationRequest: 'CONTENT_EMBED_ACTIVATION_REQUEST',
1166 ContentEmbedActivationResponse: 'CONTENT_EMBED_ACTIVATION_RESPONSE',
1167 ContentEmbedActivationError: 'CONTENT_EMBED_ACTIVATION_ERROR'
1168 };
1169
1170 /***/ }),
1171
1172 /***/ "./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts":
1173 /*!******************************************************************!*\
1174 !*** ./scripts/iframe/integratedMessages/proxy/ProxyMessages.ts ***!
1175 \******************************************************************/
1176 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1177
1178 "use strict";
1179 __webpack_require__.r(__webpack_exports__);
1180 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1181 /* harmony export */ "ProxyMessages": () => (/* binding */ ProxyMessages)
1182 /* harmony export */ });
1183 var ProxyMessages = {
1184 FetchForms: 'FETCH_FORMS',
1185 FetchForm: 'FETCH_FORM',
1186 CreateFormFromTemplate: 'CREATE_FORM_FROM_TEMPLATE',
1187 FetchAuth: 'FETCH_AUTH',
1188 FetchMeetingsAndUsers: 'FETCH_MEETINGS_AND_USERS',
1189 FetchContactsCreateSinceActivation: 'FETCH_CONTACTS_CREATED_SINCE_ACTIVATION',
1190 FetchOrCreateMeetingUser: 'FETCH_OR_CREATE_MEETING_USER',
1191 ConnectMeetingsCalendar: 'CONNECT_MEETINGS_CALENDAR',
1192 TrackFormPreviewRender: 'TRACK_FORM_PREVIEW_RENDER',
1193 TrackFormCreatedFromTemplate: 'TRACK_FORM_CREATED_FROM_TEMPLATE',
1194 TrackFormCreationFailed: 'TRACK_FORM_CREATION_FAILED',
1195 TrackMeetingPreviewRender: 'TRACK_MEETING_PREVIEW_RENDER',
1196 TrackSidebarMetaChange: 'TRACK_SIDEBAR_META_CHANGE',
1197 TrackReviewBannerRender: 'TRACK_REVIEW_BANNER_RENDER',
1198 TrackReviewBannerInteraction: 'TRACK_REVIEW_BANNER_INTERACTION',
1199 TrackReviewBannerDismissed: 'TRACK_REVIEW_BANNER_DISMISSED',
1200 TrackPluginDeactivation: 'TRACK_PLUGIN_DEACTIVATION'
1201 };
1202
1203 /***/ }),
1204
1205 /***/ "./scripts/iframe/useBackgroundApp.ts":
1206 /*!********************************************!*\
1207 !*** ./scripts/iframe/useBackgroundApp.ts ***!
1208 \********************************************/
1209 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1210
1211 "use strict";
1212 __webpack_require__.r(__webpack_exports__);
1213 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1214 /* harmony export */ "BackgroudAppContext": () => (/* binding */ BackgroudAppContext),
1215 /* harmony export */ "useBackgroundAppContext": () => (/* binding */ useBackgroundAppContext),
1216 /* harmony export */ "usePostAsyncBackgroundMessage": () => (/* binding */ usePostAsyncBackgroundMessage),
1217 /* harmony export */ "usePostBackgroundMessage": () => (/* binding */ usePostBackgroundMessage)
1218 /* harmony export */ });
1219 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1220 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1221
1222 var BackgroudAppContext = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_0__.createContext)(null);
1223 function useBackgroundAppContext() {
1224 return (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(BackgroudAppContext);
1225 }
1226 function usePostBackgroundMessage() {
1227 var app = useBackgroundAppContext();
1228 return function (message) {
1229 app.postMessage(message);
1230 };
1231 }
1232 function usePostAsyncBackgroundMessage() {
1233 var app = useBackgroundAppContext();
1234 return function (message) {
1235 return app.postAsyncMessage(message);
1236 };
1237 }
1238
1239 /***/ }),
1240
1241 /***/ "./scripts/lib/Raven.ts":
1242 /*!******************************!*\
1243 !*** ./scripts/lib/Raven.ts ***!
1244 \******************************/
1245 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1246
1247 "use strict";
1248 __webpack_require__.r(__webpack_exports__);
1249 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1250 /* harmony export */ "configureRaven": () => (/* binding */ configureRaven),
1251 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1252 /* harmony export */ });
1253 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
1254 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_0__);
1255 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1256
1257
1258 function configureRaven() {
1259 if (_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.hubspotBaseUrl.indexOf('app.hubspot.com') === -1) {
1260 return;
1261 }
1262
1263 raven_js__WEBPACK_IMPORTED_MODULE_0___default().config('https://e9b8f382cdd130c0d415cd977d2be56f@exceptions.hubspot.com/1', {
1264 instrument: {
1265 tryCatch: false
1266 },
1267 release: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.leadinPluginVersion
1268 }).install();
1269 raven_js__WEBPACK_IMPORTED_MODULE_0___default().setTagsContext({
1270 v: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.leadinPluginVersion,
1271 php: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.phpVersion,
1272 wordpress: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.wpVersion
1273 });
1274 raven_js__WEBPACK_IMPORTED_MODULE_0___default().setExtraContext({
1275 hub: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.portalId,
1276 plugins: Object.keys(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.plugins).map(function (name) {
1277 return "".concat(name, "#").concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_1__.plugins[name]);
1278 }).join(',')
1279 });
1280 }
1281 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((raven_js__WEBPACK_IMPORTED_MODULE_0___default()));
1282
1283 /***/ }),
1284
1285 /***/ "./scripts/shared/Common/AsyncSelect.tsx":
1286 /*!***********************************************!*\
1287 !*** ./scripts/shared/Common/AsyncSelect.tsx ***!
1288 \***********************************************/
1289 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1290
1291 "use strict";
1292 __webpack_require__.r(__webpack_exports__);
1293 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1294 /* harmony export */ "default": () => (/* binding */ AsyncSelect)
1295 /* harmony export */ });
1296 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1297 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
1298 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1299 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
1300 /* harmony import */ var _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/colors */ "./scripts/shared/UIComponents/colors.ts");
1301 /* harmony import */ var _UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
1302 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../enums/loadState */ "./scripts/shared/enums/loadState.ts");
1303 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1304
1305 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."); }
1306
1307 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1308
1309 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
1310
1311 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
1312
1313 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1314
1315
1316
1317
1318
1319
1320
1321 var Container = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1322 name: "Container",
1323 "class": "c1wxx7eu",
1324 propsAsIs: false
1325 });
1326
1327 var _exp2 = /*#__PURE__*/function _exp2() {
1328 return function (props) {
1329 return props.focused ? '0' : '1px';
1330 };
1331 };
1332
1333 var _exp3 = /*#__PURE__*/function _exp3() {
1334 return function (props) {
1335 return props.focused ? "0 0 0 2px ".concat(_UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_MEDIUM) : 'none';
1336 };
1337 };
1338
1339 var ControlContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1340 name: "ControlContainer",
1341 "class": "c1rgwbep",
1342 propsAsIs: false,
1343 vars: {
1344 "c1rgwbep-0": [_exp2()],
1345 "c1rgwbep-1": [_exp3()]
1346 }
1347 });
1348 var ValueContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1349 name: "ValueContainer",
1350 "class": "v1mdmbaj",
1351 propsAsIs: false
1352 });
1353 var Placeholder = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1354 name: "Placeholder",
1355 "class": "p1gwkvxy",
1356 propsAsIs: false
1357 });
1358 var SingleValue = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1359 name: "SingleValue",
1360 "class": "s1bwlafs",
1361 propsAsIs: false
1362 });
1363 var IndicatorContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1364 name: "IndicatorContainer",
1365 "class": "i196z9y5",
1366 propsAsIs: false
1367 });
1368 var DropdownIndicator = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1369 name: "DropdownIndicator",
1370 "class": "d1dfo5ow",
1371 propsAsIs: false
1372 });
1373 var InputContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1374 name: "InputContainer",
1375 "class": "if3lze",
1376 propsAsIs: false
1377 });
1378 var Input = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('input')({
1379 name: "Input",
1380 "class": "i9kxf50",
1381 propsAsIs: false
1382 });
1383 var InputShadow = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1384 name: "InputShadow",
1385 "class": "igjr3uc",
1386 propsAsIs: false
1387 });
1388 var MenuContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1389 name: "MenuContainer",
1390 "class": "mhb9if7",
1391 propsAsIs: false
1392 });
1393 var MenuList = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1394 name: "MenuList",
1395 "class": "mxaof7s",
1396 propsAsIs: false
1397 });
1398 var MenuGroup = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1399 name: "MenuGroup",
1400 "class": "mw50s5v",
1401 propsAsIs: false
1402 });
1403 var MenuGroupHeader = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1404 name: "MenuGroupHeader",
1405 "class": "m11rzvjw",
1406 propsAsIs: false
1407 });
1408
1409 var _exp5 = /*#__PURE__*/function _exp5() {
1410 return function (props) {
1411 return props.selected ? _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_MEDIUM : 'transparent';
1412 };
1413 };
1414
1415 var _exp6 = /*#__PURE__*/function _exp6() {
1416 return function (props) {
1417 return props.selected ? '#fff' : 'inherit';
1418 };
1419 };
1420
1421 var _exp7 = /*#__PURE__*/function _exp7() {
1422 return function (props) {
1423 return props.selected ? _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_MEDIUM : _UIComponents_colors__WEBPACK_IMPORTED_MODULE_2__.CALYPSO_LIGHT;
1424 };
1425 };
1426
1427 var MenuItem = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_5__.styled)('div')({
1428 name: "MenuItem",
1429 "class": "m1jcdsjv",
1430 propsAsIs: false,
1431 vars: {
1432 "m1jcdsjv-0": [_exp5()],
1433 "m1jcdsjv-1": [_exp6()],
1434 "m1jcdsjv-2": [_exp7()]
1435 }
1436 });
1437 function AsyncSelect(_ref) {
1438 var placeholder = _ref.placeholder,
1439 value = _ref.value,
1440 loadOptions = _ref.loadOptions,
1441 onChange = _ref.onChange,
1442 defaultOptions = _ref.defaultOptions;
1443 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1444 var inputShadowEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1445
1446 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
1447 _useState2 = _slicedToArray(_useState, 2),
1448 isFocused = _useState2[0],
1449 setFocus = _useState2[1];
1450
1451 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].NotLoaded),
1452 _useState4 = _slicedToArray(_useState3, 2),
1453 loadState = _useState4[0],
1454 setLoadState = _useState4[1];
1455
1456 var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(''),
1457 _useState6 = _slicedToArray(_useState5, 2),
1458 localValue = _useState6[0],
1459 setLocalValue = _useState6[1];
1460
1461 var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(defaultOptions),
1462 _useState8 = _slicedToArray(_useState7, 2),
1463 options = _useState8[0],
1464 setOptions = _useState8[1];
1465
1466 var inputSize = "".concat(inputShadowEl.current ? inputShadowEl.current.clientWidth + 10 : 2, "px");
1467 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
1468 if (loadOptions && loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].NotLoaded) {
1469 loadOptions('', function (result) {
1470 setOptions(result);
1471 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Idle);
1472 });
1473 }
1474 }, [loadOptions, loadState]);
1475
1476 var renderItems = function renderItems() {
1477 var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
1478 var parentKey = arguments.length > 1 ? arguments[1] : undefined;
1479 return items.map(function (item, index) {
1480 if (item.options) {
1481 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(MenuGroup, {
1482 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuGroupHeader, {
1483 id: "".concat(index, "-heading"),
1484 children: item.label
1485 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
1486 children: renderItems(item.options, index)
1487 })]
1488 }, "async-select-item-".concat(index));
1489 } else {
1490 var key = "async-select-item-".concat(parentKey !== undefined ? "".concat(parentKey, "-").concat(index) : index);
1491 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuItem, {
1492 id: key,
1493 selected: value && item.value === value.value,
1494 onClick: function onClick() {
1495 onChange(item);
1496 setFocus(false);
1497 },
1498 children: item.label
1499 }, key);
1500 }
1501 });
1502 };
1503
1504 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(Container, {
1505 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(ControlContainer, {
1506 id: "leadin-async-selector",
1507 focused: isFocused,
1508 onClick: function onClick() {
1509 if (isFocused) {
1510 if (inputEl.current) {
1511 inputEl.current.blur();
1512 }
1513
1514 setFocus(false);
1515 setLocalValue('');
1516 } else {
1517 if (inputEl.current) {
1518 inputEl.current.focus();
1519 }
1520
1521 setFocus(true);
1522 }
1523 },
1524 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(ValueContainer, {
1525 children: [localValue === '' && (!value ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Placeholder, {
1526 children: placeholder
1527 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SingleValue, {
1528 children: value.label
1529 })), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(InputContainer, {
1530 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Input, {
1531 ref: inputEl,
1532 onFocus: function onFocus() {
1533 setFocus(true);
1534 },
1535 onChange: function onChange(e) {
1536 setLocalValue(e.target.value);
1537 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Loading);
1538 loadOptions && loadOptions(e.target.value, function (result) {
1539 setOptions(result);
1540 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_4__["default"].Idle);
1541 });
1542 },
1543 value: localValue,
1544 width: inputSize,
1545 id: "asycn-select-input"
1546 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(InputShadow, {
1547 ref: inputShadowEl,
1548 children: localValue
1549 })]
1550 })]
1551 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(IndicatorContainer, {
1552 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, {})]
1553 })]
1554 }), isFocused && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuContainer, {
1555 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MenuList, {
1556 children: renderItems(options)
1557 })
1558 })]
1559 });
1560 }
1561
1562 __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");
1563
1564 /***/ }),
1565
1566 /***/ "./scripts/shared/Common/ErrorHandler.tsx":
1567 /*!************************************************!*\
1568 !*** ./scripts/shared/Common/ErrorHandler.tsx ***!
1569 \************************************************/
1570 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1571
1572 "use strict";
1573 __webpack_require__.r(__webpack_exports__);
1574 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1575 /* harmony export */ "default": () => (/* binding */ ErrorHandler)
1576 /* harmony export */ });
1577 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1578 /* harmony import */ var _UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UIComponents/UIButton */ "./scripts/shared/UIComponents/UIButton.ts");
1579 /* harmony import */ var _UIComponents_UIContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIContainer */ "./scripts/shared/UIComponents/UIContainer.ts");
1580 /* harmony import */ var _HubspotWrapper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
1581 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1582 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1583 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__);
1584
1585
1586
1587
1588
1589
1590
1591
1592 function redirectToPlugin() {
1593 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);
1594 }
1595
1596 function ErrorHandler(_ref) {
1597 var status = _ref.status,
1598 resetErrorState = _ref.resetErrorState,
1599 _ref$errorInfo = _ref.errorInfo,
1600 errorInfo = _ref$errorInfo === void 0 ? {
1601 header: '',
1602 message: '',
1603 action: ''
1604 } : _ref$errorInfo;
1605 var isUnauthorized = status === 401 || status === 403;
1606 var errorHeader = isUnauthorized ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)("Your plugin isn't authorized", 'leadin') : errorInfo.header;
1607 var errorMessage = isUnauthorized ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Reauthorize your plugin to access your free HubSpot tools', 'leadin') : errorInfo.message;
1608 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HubspotWrapper__WEBPACK_IMPORTED_MODULE_3__["default"], {
1609 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_4__.pluginPath,
1610 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_UIComponents_UIContainer__WEBPACK_IMPORTED_MODULE_2__["default"], {
1611 textAlign: "center",
1612 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h4", {
1613 children: errorHeader
1614 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
1615 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
1616 children: errorMessage
1617 })
1618 }), isUnauthorized ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_1__["default"], {
1619 "data-test-id": "authorize-button",
1620 onClick: redirectToPlugin,
1621 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_5__.__)('Go to plugin', 'leadin')
1622 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_1__["default"], {
1623 "data-test-id": "retry-button",
1624 onClick: resetErrorState,
1625 children: errorInfo.action
1626 })]
1627 })
1628 });
1629 }
1630
1631 /***/ }),
1632
1633 /***/ "./scripts/shared/Common/HubspotWrapper.ts":
1634 /*!*************************************************!*\
1635 !*** ./scripts/shared/Common/HubspotWrapper.ts ***!
1636 \*************************************************/
1637 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1638
1639 "use strict";
1640 __webpack_require__.r(__webpack_exports__);
1641 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1642 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
1643 /* harmony export */ });
1644 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
1645
1646
1647 var _exp = /*#__PURE__*/function _exp() {
1648 return function (props) {
1649 return "url(".concat(props.pluginPath, "/public/assets/images/hubspot.svg)");
1650 };
1651 };
1652
1653 var _exp2 = /*#__PURE__*/function _exp2() {
1654 return function (props) {
1655 return props.padding || '90px 20% 25px';
1656 };
1657 };
1658
1659 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
1660 name: "HubspotWrapper0",
1661 "class": "h1q5v5ee",
1662 propsAsIs: false,
1663 vars: {
1664 "h1q5v5ee-0": [_exp()],
1665 "h1q5v5ee-1": [_exp2()]
1666 }
1667 }));
1668
1669 __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");
1670
1671 /***/ }),
1672
1673 /***/ "./scripts/shared/Common/LoadingBlock.tsx":
1674 /*!************************************************!*\
1675 !*** ./scripts/shared/Common/LoadingBlock.tsx ***!
1676 \************************************************/
1677 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1678
1679 "use strict";
1680 __webpack_require__.r(__webpack_exports__);
1681 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1682 /* harmony export */ "default": () => (/* binding */ LoadingBlock)
1683 /* harmony export */ });
1684 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1685 /* harmony import */ var _HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
1686 /* harmony import */ var _UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UISpinner */ "./scripts/shared/UIComponents/UISpinner.tsx");
1687 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1688
1689
1690
1691
1692 function LoadingBlock() {
1693 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__["default"], {
1694 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.pluginPath,
1695 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UISpinner__WEBPACK_IMPORTED_MODULE_2__["default"], {
1696 size: 50
1697 })
1698 });
1699 }
1700
1701 /***/ }),
1702
1703 /***/ "./scripts/shared/Form/FormEdit.tsx":
1704 /*!******************************************!*\
1705 !*** ./scripts/shared/Form/FormEdit.tsx ***!
1706 \******************************************/
1707 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1708
1709 "use strict";
1710 __webpack_require__.r(__webpack_exports__);
1711 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1712 /* harmony export */ "default": () => (/* binding */ FormEditContainer)
1713 /* harmony export */ });
1714 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1715 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
1716 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1717 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1718 /* harmony import */ var _UIComponents_UISpacer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UIComponents/UISpacer */ "./scripts/shared/UIComponents/UISpacer.ts");
1719 /* harmony import */ var _PreviewForm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PreviewForm */ "./scripts/shared/Form/PreviewForm.tsx");
1720 /* harmony import */ var _FormSelect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./FormSelect */ "./scripts/shared/Form/FormSelect.tsx");
1721 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
1722 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
1723 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
1724 /* harmony import */ var _utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
1725 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1726
1727 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1728
1729 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742 function FormEdit(_ref) {
1743 var attributes = _ref.attributes,
1744 isSelected = _ref.isSelected,
1745 setAttributes = _ref.setAttributes,
1746 _ref$preview = _ref.preview,
1747 preview = _ref$preview === void 0 ? true : _ref$preview,
1748 _ref$origin = _ref.origin,
1749 origin = _ref$origin === void 0 ? 'gutenberg' : _ref$origin;
1750 var formId = attributes.formId,
1751 formName = attributes.formName;
1752 var formSelected = _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId && formId;
1753 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.useBackgroundAppContext)();
1754 var monitorFormPreviewRender = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.usePostBackgroundMessage)();
1755
1756 var handleChange = function handleChange(selectedForm) {
1757 setAttributes({
1758 portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
1759 formId: selectedForm.value,
1760 formName: selectedForm.label
1761 });
1762 };
1763
1764 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
1765 monitorFormPreviewRender({
1766 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__.ProxyMessages.TrackFormPreviewRender,
1767 payload: {
1768 origin: origin
1769 }
1770 });
1771 }, [origin]);
1772 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, {
1773 children: [(isSelected || !formSelected) && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FormSelect__WEBPACK_IMPORTED_MODULE_5__["default"], {
1774 formId: formId,
1775 formName: formName,
1776 handleChange: handleChange,
1777 origin: origin
1778 }), formSelected && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
1779 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"], {
1780 portalId: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.portalId,
1781 formId: formId
1782 })]
1783 })]
1784 });
1785 }
1786
1787 function FormEditContainer(props) {
1788 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.BackgroudAppContext.Provider, {
1789 value: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.refreshToken && (0,_utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_9__.getOrCreateBackgroundApp)(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.refreshToken),
1790 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(FormEdit, _objectSpread({}, props))
1791 });
1792 }
1793
1794 /***/ }),
1795
1796 /***/ "./scripts/shared/Form/FormSelect.tsx":
1797 /*!********************************************!*\
1798 !*** ./scripts/shared/Form/FormSelect.tsx ***!
1799 \********************************************/
1800 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1801
1802 "use strict";
1803 __webpack_require__.r(__webpack_exports__);
1804 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1805 /* harmony export */ "default": () => (/* binding */ FormSelect)
1806 /* harmony export */ });
1807 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1808 /* harmony import */ var _FormSelector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FormSelector */ "./scripts/shared/Form/FormSelector.tsx");
1809 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
1810 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1811 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__);
1812 /* harmony import */ var _hooks_useForms__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useForms */ "./scripts/shared/Form/hooks/useForms.ts");
1813 /* harmony import */ var _hooks_useCreateFormFromTemplate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useCreateFormFromTemplate */ "./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts");
1814 /* harmony import */ var _constants_defaultFormOptions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../constants/defaultFormOptions */ "./scripts/constants/defaultFormOptions.ts");
1815 /* harmony import */ var _Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
1816
1817
1818
1819
1820
1821
1822
1823
1824 function FormSelect(_ref) {
1825 var formId = _ref.formId,
1826 formName = _ref.formName,
1827 handleChange = _ref.handleChange,
1828 _ref$origin = _ref.origin,
1829 origin = _ref$origin === void 0 ? 'gutenberg' : _ref$origin;
1830
1831 var _useForms = (0,_hooks_useForms__WEBPACK_IMPORTED_MODULE_4__["default"])(),
1832 search = _useForms.search,
1833 formApiError = _useForms.formApiError,
1834 reset = _useForms.reset;
1835
1836 var _useCreateFormFromTem = (0,_hooks_useCreateFormFromTemplate__WEBPACK_IMPORTED_MODULE_5__["default"])(origin),
1837 createFormByTemplate = _useCreateFormFromTem.createFormByTemplate,
1838 createReset = _useCreateFormFromTem.reset,
1839 isCreating = _useCreateFormFromTem.isCreating,
1840 hasError = _useCreateFormFromTem.hasError,
1841 createApiError = _useCreateFormFromTem.formApiError;
1842
1843 var value = formId && formName ? {
1844 label: formName,
1845 value: formId
1846 } : null;
1847
1848 var handleLocalChange = function handleLocalChange(option) {
1849 if ((0,_constants_defaultFormOptions__WEBPACK_IMPORTED_MODULE_6__.isDefaultForm)(option.value)) {
1850 createFormByTemplate(option.value).then(function (_ref2) {
1851 var guid = _ref2.guid,
1852 name = _ref2.name;
1853 handleChange({
1854 value: guid,
1855 label: name
1856 });
1857 });
1858 } else {
1859 handleChange(option);
1860 }
1861 };
1862
1863 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"], {
1864 status: formApiError ? formApiError.status : createApiError.status,
1865 resetErrorState: function resetErrorState() {
1866 if (hasError) {
1867 createReset();
1868 } else {
1869 reset();
1870 }
1871 },
1872 errorInfo: {
1873 header: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('There was a problem retrieving your forms', 'leadin'),
1874 message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Please refresh your forms or try again in a few minutes', 'leadin'),
1875 action: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_3__.__)('Refresh forms', 'leadin')
1876 }
1877 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_FormSelector__WEBPACK_IMPORTED_MODULE_1__["default"], {
1878 loadOptions: search,
1879 onChange: function onChange(option) {
1880 return handleLocalChange(option);
1881 },
1882 value: value
1883 });
1884 }
1885
1886 /***/ }),
1887
1888 /***/ "./scripts/shared/Form/FormSelector.tsx":
1889 /*!**********************************************!*\
1890 !*** ./scripts/shared/Form/FormSelector.tsx ***!
1891 \**********************************************/
1892 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1893
1894 "use strict";
1895 __webpack_require__.r(__webpack_exports__);
1896 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1897 /* harmony export */ "default": () => (/* binding */ FormSelector)
1898 /* harmony export */ });
1899 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1900 /* harmony import */ var _Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Common/HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
1901 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1902 /* harmony import */ var _Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Common/AsyncSelect */ "./scripts/shared/Common/AsyncSelect.tsx");
1903 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1904 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
1905
1906
1907
1908
1909
1910 function FormSelector(_ref) {
1911 var loadOptions = _ref.loadOptions,
1912 onChange = _ref.onChange,
1913 value = _ref.value;
1914 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_1__["default"], {
1915 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.pluginPath,
1916 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
1917 "data-test-id": "leadin-form-select",
1918 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
1919 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Select an existing form or create a new one from a template', 'leadin')
1920 })
1921 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_3__["default"], {
1922 placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Search for a form', 'leadin'),
1923 value: value,
1924 loadOptions: loadOptions,
1925 onChange: onChange
1926 })]
1927 });
1928 }
1929
1930 /***/ }),
1931
1932 /***/ "./scripts/shared/Form/PreviewForm.tsx":
1933 /*!*********************************************!*\
1934 !*** ./scripts/shared/Form/PreviewForm.tsx ***!
1935 \*********************************************/
1936 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1937
1938 "use strict";
1939 __webpack_require__.r(__webpack_exports__);
1940 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1941 /* harmony export */ "default": () => (/* binding */ PreviewForm)
1942 /* harmony export */ });
1943 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
1944 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
1945 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1946 /* harmony import */ var _UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIOverlay */ "./scripts/shared/UIComponents/UIOverlay.ts");
1947 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
1948 /* harmony import */ var _hooks_useFormsScript__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useFormsScript */ "./scripts/shared/Form/hooks/useFormsScript.ts");
1949
1950
1951
1952
1953
1954 function PreviewForm(_ref) {
1955 var portalId = _ref.portalId,
1956 formId = _ref.formId;
1957 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
1958 var ready = (0,_hooks_useFormsScript__WEBPACK_IMPORTED_MODULE_4__["default"])();
1959 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
1960 if (!ready) {
1961 return;
1962 }
1963
1964 if (inputEl.current) {
1965 inputEl.current.innerHTML = '';
1966 var embedScript = document.createElement('script');
1967 embedScript.innerHTML = "hbspt.forms.create({ portalId: '".concat(portalId, "', formId: '").concat(formId, "', region: '").concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.hublet, "', ").concat(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_3__.formsScriptPayload, " });");
1968 inputEl.current.appendChild(embedScript);
1969 }
1970 }, [formId, portalId, ready, inputEl]);
1971 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__["default"], {
1972 ref: inputEl
1973 });
1974 }
1975
1976 /***/ }),
1977
1978 /***/ "./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts":
1979 /*!****************************************************************!*\
1980 !*** ./scripts/shared/Form/hooks/useCreateFormFromTemplate.ts ***!
1981 \****************************************************************/
1982 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1983
1984 "use strict";
1985 __webpack_require__.r(__webpack_exports__);
1986 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1987 /* harmony export */ "default": () => (/* binding */ useCreateFormFromTemplate)
1988 /* harmony export */ });
1989 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
1990 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
1991 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
1992 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
1993 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
1994 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
1995
1996 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."); }
1997
1998 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
1999
2000 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2001
2002 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2003
2004 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2005
2006
2007
2008
2009
2010 function useCreateFormFromTemplate() {
2011 var origin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'gutenberg';
2012 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostAsyncBackgroundMessage)();
2013 var track = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostBackgroundMessage)();
2014
2015 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle),
2016 _useState2 = _slicedToArray(_useState, 2),
2017 loadState = _useState2[0],
2018 setLoadState = _useState2[1];
2019
2020 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2021 _useState4 = _slicedToArray(_useState3, 2),
2022 formApiError = _useState4[0],
2023 setFormApiError = _useState4[1];
2024
2025 var createFormByTemplate = function createFormByTemplate(type) {
2026 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading);
2027 track({
2028 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.TrackFormCreatedFromTemplate,
2029 payload: {
2030 type: type,
2031 origin: origin
2032 }
2033 });
2034 return proxy({
2035 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.CreateFormFromTemplate,
2036 payload: type
2037 }).then(function (form) {
2038 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle);
2039 return form;
2040 })["catch"](function (err) {
2041 setFormApiError(err);
2042 track({
2043 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.TrackFormCreationFailed,
2044 payload: {
2045 origin: origin
2046 }
2047 });
2048 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed);
2049 });
2050 };
2051
2052 return {
2053 isCreating: loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading,
2054 hasError: loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed,
2055 formApiError: formApiError,
2056 createFormByTemplate: createFormByTemplate,
2057 reset: function reset() {
2058 return setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle);
2059 }
2060 };
2061 }
2062
2063 /***/ }),
2064
2065 /***/ "./scripts/shared/Form/hooks/useForms.ts":
2066 /*!***********************************************!*\
2067 !*** ./scripts/shared/Form/hooks/useForms.ts ***!
2068 \***********************************************/
2069 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2070
2071 "use strict";
2072 __webpack_require__.r(__webpack_exports__);
2073 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2074 /* harmony export */ "default": () => (/* binding */ useForms)
2075 /* harmony export */ });
2076 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2077 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2078 /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js");
2079 /* harmony import */ var lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_debounce__WEBPACK_IMPORTED_MODULE_1__);
2080 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2081 /* harmony import */ var _constants_defaultFormOptions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../constants/defaultFormOptions */ "./scripts/constants/defaultFormOptions.ts");
2082 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2083 function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2084
2085 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."); }
2086
2087 function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
2088
2089 function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
2090
2091 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2092
2093 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."); }
2094
2095 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2096
2097 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2098
2099 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2100
2101 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2102
2103
2104
2105
2106
2107
2108 function useForms() {
2109 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_2__.usePostAsyncBackgroundMessage)();
2110
2111 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2112 _useState2 = _slicedToArray(_useState, 2),
2113 formApiError = _useState2[0],
2114 setFormApiError = _useState2[1];
2115
2116 var search = lodash_debounce__WEBPACK_IMPORTED_MODULE_1___default()(function (search, callback) {
2117 return proxy({
2118 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_4__.ProxyMessages.FetchForms,
2119 payload: {
2120 search: search
2121 }
2122 }).then(function (forms) {
2123 callback([].concat(_toConsumableArray(forms.map(function (form) {
2124 return {
2125 label: form.name,
2126 value: form.guid
2127 };
2128 })), [_constants_defaultFormOptions__WEBPACK_IMPORTED_MODULE_3__.DEFAULT_OPTIONS]));
2129 })["catch"](function (error) {
2130 setFormApiError(error);
2131 });
2132 }, 300, {
2133 trailing: true
2134 });
2135 return {
2136 search: search,
2137 formApiError: formApiError,
2138 reset: function reset() {
2139 return setFormApiError(null);
2140 }
2141 };
2142 }
2143
2144 /***/ }),
2145
2146 /***/ "./scripts/shared/Form/hooks/useFormsScript.ts":
2147 /*!*****************************************************!*\
2148 !*** ./scripts/shared/Form/hooks/useFormsScript.ts ***!
2149 \*****************************************************/
2150 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2151
2152 "use strict";
2153 __webpack_require__.r(__webpack_exports__);
2154 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2155 /* harmony export */ "default": () => (/* binding */ useFormScript)
2156 /* harmony export */ });
2157 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
2158 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
2159 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2160 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2161 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2162 /* harmony import */ var _lib_Raven__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/Raven */ "./scripts/lib/Raven.ts");
2163 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2164
2165 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."); }
2166
2167 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2168
2169 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2170
2171 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2172
2173 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2174
2175
2176
2177
2178
2179 var promise;
2180
2181 function loadFormsScript() {
2182 if (!promise) {
2183 promise = new Promise(function (resolve, reject) {
2184 return jquery__WEBPACK_IMPORTED_MODULE_0___default().getScript(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.formsScript).done(resolve).fail(reject);
2185 });
2186 }
2187
2188 return promise;
2189 }
2190
2191 function useFormScript() {
2192 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
2193 _useState2 = _slicedToArray(_useState, 2),
2194 ready = _useState2[0],
2195 setReady = _useState2[1];
2196
2197 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2198 loadFormsScript().then(function () {
2199 return setReady(true);
2200 })["catch"](function (error) {
2201 return _lib_Raven__WEBPACK_IMPORTED_MODULE_3__["default"].captureException(error);
2202 });
2203 }, []);
2204 return ready;
2205 }
2206
2207 /***/ }),
2208
2209 /***/ "./scripts/shared/Meeting/MeetingController.tsx":
2210 /*!******************************************************!*\
2211 !*** ./scripts/shared/Meeting/MeetingController.tsx ***!
2212 \******************************************************/
2213 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2214
2215 "use strict";
2216 __webpack_require__.r(__webpack_exports__);
2217 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2218 /* harmony export */ "default": () => (/* binding */ MeetingController)
2219 /* harmony export */ });
2220 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2221 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2222 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2223 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
2224 /* harmony import */ var _MeetingSelector__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MeetingSelector */ "./scripts/shared/Meeting/MeetingSelector.tsx");
2225 /* harmony import */ var _MeetingWarning__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./MeetingWarning */ "./scripts/shared/Meeting/MeetingWarning.tsx");
2226 /* harmony import */ var _hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useMeetings */ "./scripts/shared/Meeting/hooks/useMeetings.ts");
2227 /* harmony import */ var _Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Common/HubspotWrapper */ "./scripts/shared/Common/HubspotWrapper.ts");
2228 /* harmony import */ var _Common_ErrorHandler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Common/ErrorHandler */ "./scripts/shared/Common/ErrorHandler.tsx");
2229 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2230 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2231 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__);
2232 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! raven-js */ "./node_modules/raven-js/src/singleton.js");
2233 /* harmony import */ var raven_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(raven_js__WEBPACK_IMPORTED_MODULE_10__);
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245 function MeetingController(_ref) {
2246 var handleChange = _ref.handleChange,
2247 url = _ref.url;
2248
2249 var _useMeetings = (0,_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__["default"])(),
2250 meetings = _useMeetings.mappedMeetings,
2251 loading = _useMeetings.loading,
2252 error = _useMeetings.error,
2253 reload = _useMeetings.reload,
2254 connectCalendar = _useMeetings.connectCalendar;
2255
2256 var selectedMeetingOption = (0,_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__.useSelectedMeeting)(url);
2257 var selectedMeetingCalendar = (0,_hooks_useMeetings__WEBPACK_IMPORTED_MODULE_5__.useSelectedMeetingCalendar)(url);
2258 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2259 if (!url && meetings.length > 0) {
2260 handleChange(meetings[0].value);
2261 }
2262 }, [meetings, url, handleChange]);
2263
2264 var handleLocalChange = function handleLocalChange(option) {
2265 handleChange(option.value);
2266 };
2267
2268 var handleConnectCalendar = function handleConnectCalendar() {
2269 return connectCalendar().then(function () {
2270 reload();
2271 })["catch"](function (error) {
2272 raven_js__WEBPACK_IMPORTED_MODULE_10___default().captureMessage('Unable to connect calendar', {
2273 extra: {
2274 error: error
2275 }
2276 });
2277 });
2278 };
2279
2280 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2281 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"], {
2282 status: error && error.status || error,
2283 resetErrorState: function resetErrorState() {
2284 return reload();
2285 },
2286 errorInfo: {
2287 header: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('There was a problem retrieving your meetings', 'leadin'),
2288 message: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Please refresh your meetings or try again in a few minutes', 'leadin'),
2289 action: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_9__.__)('Refresh meetings', 'leadin')
2290 }
2291 }) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_Common_HubspotWrapper__WEBPACK_IMPORTED_MODULE_6__["default"], {
2292 padding: "90px 32px 24px",
2293 pluginPath: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_8__.pluginPath,
2294 children: [selectedMeetingCalendar && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MeetingWarning__WEBPACK_IMPORTED_MODULE_4__["default"], {
2295 status: selectedMeetingCalendar,
2296 onConnectCalendar: handleConnectCalendar
2297 }), meetings.length > 1 && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MeetingSelector__WEBPACK_IMPORTED_MODULE_3__["default"], {
2298 onChange: handleLocalChange,
2299 options: meetings,
2300 value: selectedMeetingOption
2301 })]
2302 })
2303 });
2304 }
2305
2306 /***/ }),
2307
2308 /***/ "./scripts/shared/Meeting/MeetingEdit.tsx":
2309 /*!************************************************!*\
2310 !*** ./scripts/shared/Meeting/MeetingEdit.tsx ***!
2311 \************************************************/
2312 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2313
2314 "use strict";
2315 __webpack_require__.r(__webpack_exports__);
2316 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2317 /* harmony export */ "default": () => (/* binding */ MeetingsEditContainer)
2318 /* harmony export */ });
2319 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2320 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2321 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2322 /* harmony import */ var _MeetingController__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MeetingController */ "./scripts/shared/Meeting/MeetingController.tsx");
2323 /* harmony import */ var _PreviewMeeting__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PreviewMeeting */ "./scripts/shared/Meeting/PreviewMeeting.tsx");
2324 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2325 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2326 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2327 /* harmony import */ var _Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Common/LoadingBlock */ "./scripts/shared/Common/LoadingBlock.tsx");
2328 /* harmony import */ var _utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
2329 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2330
2331 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2332
2333 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345 function MeetingEdit(_ref) {
2346 var url = _ref.attributes.url,
2347 isSelected = _ref.isSelected,
2348 setAttributes = _ref.setAttributes,
2349 _ref$preview = _ref.preview,
2350 preview = _ref$preview === void 0 ? true : _ref$preview,
2351 _ref$origin = _ref.origin,
2352 origin = _ref$origin === void 0 ? 'gutenberg' : _ref$origin;
2353 var isBackgroundAppReady = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.useBackgroundAppContext)();
2354 var monitorFormPreviewRender = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.usePostBackgroundMessage)();
2355
2356 var handleChange = function handleChange(newUrl) {
2357 setAttributes({
2358 url: newUrl
2359 });
2360 };
2361
2362 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2363 monitorFormPreviewRender({
2364 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_6__.ProxyMessages.TrackMeetingPreviewRender,
2365 payload: {
2366 origin: origin
2367 }
2368 });
2369 }, [origin]);
2370 return !isBackgroundAppReady ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_LoadingBlock__WEBPACK_IMPORTED_MODULE_7__["default"], {}) : (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2371 children: [(isSelected || !url) && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_MeetingController__WEBPACK_IMPORTED_MODULE_2__["default"], {
2372 url: url,
2373 handleChange: handleChange
2374 }), preview && url && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_PreviewMeeting__WEBPACK_IMPORTED_MODULE_3__["default"], {
2375 url: url
2376 })]
2377 });
2378 }
2379
2380 function MeetingsEditContainer(props) {
2381 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_4__.BackgroudAppContext.Provider, {
2382 value: _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_5__.refreshToken && (0,_utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_8__.getOrCreateBackgroundApp)(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_5__.refreshToken),
2383 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(MeetingEdit, _objectSpread({}, props))
2384 });
2385 }
2386
2387 /***/ }),
2388
2389 /***/ "./scripts/shared/Meeting/MeetingSelector.tsx":
2390 /*!****************************************************!*\
2391 !*** ./scripts/shared/Meeting/MeetingSelector.tsx ***!
2392 \****************************************************/
2393 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2394
2395 "use strict";
2396 __webpack_require__.r(__webpack_exports__);
2397 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2398 /* harmony export */ "default": () => (/* binding */ MeetingSelector)
2399 /* harmony export */ });
2400 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2401 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2402 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2403 /* harmony import */ var _Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Common/AsyncSelect */ "./scripts/shared/Common/AsyncSelect.tsx");
2404 /* harmony import */ var _UIComponents_UISpacer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../UIComponents/UISpacer */ "./scripts/shared/UIComponents/UISpacer.ts");
2405 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2406 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
2407
2408
2409
2410
2411
2412 function MeetingSelector(_ref) {
2413 var options = _ref.options,
2414 onChange = _ref.onChange,
2415 value = _ref.value;
2416 var optionsWrapper = [{
2417 label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Meeting name', 'leadin'),
2418 options: options
2419 }];
2420 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2421 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", {
2422 "data-test-id": "leadin-meeting-select",
2423 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("b", {
2424 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Select a meeting scheduling page', 'leadin')
2425 })
2426 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_Common_AsyncSelect__WEBPACK_IMPORTED_MODULE_2__["default"], {
2427 defaultOptions: optionsWrapper,
2428 onChange: onChange,
2429 placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Select a meeting', 'leadin'),
2430 value: value
2431 })]
2432 });
2433 }
2434
2435 /***/ }),
2436
2437 /***/ "./scripts/shared/Meeting/MeetingWarning.tsx":
2438 /*!***************************************************!*\
2439 !*** ./scripts/shared/Meeting/MeetingWarning.tsx ***!
2440 \***************************************************/
2441 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2442
2443 "use strict";
2444 __webpack_require__.r(__webpack_exports__);
2445 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2446 /* harmony export */ "default": () => (/* binding */ MeetingWarning)
2447 /* harmony export */ });
2448 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2449 /* harmony import */ var _UIComponents_UIAlert__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../UIComponents/UIAlert */ "./scripts/shared/UIComponents/UIAlert.tsx");
2450 /* harmony import */ var _UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIButton */ "./scripts/shared/UIComponents/UIButton.ts");
2451 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./scripts/shared/Meeting/constants.ts");
2452 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2453 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
2454
2455
2456
2457
2458
2459 function MeetingWarning(_ref) {
2460 var status = _ref.status,
2461 onConnectCalendar = _ref.onConnectCalendar;
2462 var isMeetingOwner = status === _constants__WEBPACK_IMPORTED_MODULE_3__.CURRENT_USER_CALENDAR_MISSING;
2463 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');
2464 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');
2465 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIAlert__WEBPACK_IMPORTED_MODULE_1__["default"], {
2466 titleText: titleText,
2467 titleMessage: titleMessage,
2468 children: isMeetingOwner && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIButton__WEBPACK_IMPORTED_MODULE_2__["default"], {
2469 use: "tertiary",
2470 id: "meetings-connect-calendar",
2471 onClick: onConnectCalendar,
2472 children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__.__)('Connect calendar', 'leadin')
2473 })
2474 });
2475 }
2476
2477 /***/ }),
2478
2479 /***/ "./scripts/shared/Meeting/PreviewMeeting.tsx":
2480 /*!***************************************************!*\
2481 !*** ./scripts/shared/Meeting/PreviewMeeting.tsx ***!
2482 \***************************************************/
2483 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2484
2485 "use strict";
2486 __webpack_require__.r(__webpack_exports__);
2487 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2488 /* harmony export */ "default": () => (/* binding */ PreviewForm)
2489 /* harmony export */ });
2490 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2491 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2492 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2493 /* harmony import */ var _UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../UIComponents/UIOverlay */ "./scripts/shared/UIComponents/UIOverlay.ts");
2494 /* harmony import */ var _hooks_useMeetingsScript__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hooks/useMeetingsScript */ "./scripts/shared/Meeting/hooks/useMeetingsScript.ts");
2495
2496
2497
2498
2499 function PreviewForm(_ref) {
2500 var url = _ref.url;
2501 var ready = (0,_hooks_useMeetingsScript__WEBPACK_IMPORTED_MODULE_3__["default"])();
2502 var inputEl = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
2503 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2504 if (!ready) {
2505 return;
2506 }
2507
2508 if (inputEl.current) {
2509 inputEl.current.innerHTML = '';
2510 var container = document.createElement('div');
2511 container.dataset.src = "".concat(url, "?embed=true");
2512 container.classList.add('meetings-iframe-container');
2513 inputEl.current.appendChild(container);
2514 var embedScript = document.createElement('script');
2515 embedScript.innerHTML = 'hbspt.meetings.create(".meetings-iframe-container");';
2516 inputEl.current.appendChild(embedScript);
2517 }
2518 }, [url, ready, inputEl]);
2519 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react__WEBPACK_IMPORTED_MODULE_1__.Fragment, {
2520 children: url && (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_UIComponents_UIOverlay__WEBPACK_IMPORTED_MODULE_2__["default"], {
2521 ref: inputEl
2522 })
2523 });
2524 }
2525
2526 /***/ }),
2527
2528 /***/ "./scripts/shared/Meeting/constants.ts":
2529 /*!*********************************************!*\
2530 !*** ./scripts/shared/Meeting/constants.ts ***!
2531 \*********************************************/
2532 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2533
2534 "use strict";
2535 __webpack_require__.r(__webpack_exports__);
2536 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2537 /* harmony export */ "CURRENT_USER_CALENDAR_MISSING": () => (/* binding */ CURRENT_USER_CALENDAR_MISSING),
2538 /* harmony export */ "OTHER_USER_CALENDAR_MISSING": () => (/* binding */ OTHER_USER_CALENDAR_MISSING)
2539 /* harmony export */ });
2540 var OTHER_USER_CALENDAR_MISSING = 'OTHER_USER_CALENDAR_MISSING';
2541 var CURRENT_USER_CALENDAR_MISSING = 'CURRENT_USER_CALENDAR_MISSING';
2542
2543 /***/ }),
2544
2545 /***/ "./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts":
2546 /*!*************************************************************!*\
2547 !*** ./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts ***!
2548 \*************************************************************/
2549 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2550
2551 "use strict";
2552 __webpack_require__.r(__webpack_exports__);
2553 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2554 /* harmony export */ "default": () => (/* binding */ useCurrentUserFetch)
2555 /* harmony export */ });
2556 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2557 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2558 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2559 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2560 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2561 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2562
2563 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."); }
2564
2565 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2566
2567 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2568
2569 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2570
2571 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2572
2573
2574
2575
2576
2577 var user = null;
2578 function useCurrentUserFetch() {
2579 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostAsyncBackgroundMessage)();
2580
2581 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded),
2582 _useState2 = _slicedToArray(_useState, 2),
2583 loadState = _useState2[0],
2584 setLoadState = _useState2[1];
2585
2586 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2587 _useState4 = _slicedToArray(_useState3, 2),
2588 error = _useState4[0],
2589 setError = _useState4[1];
2590
2591 var createUser = function createUser() {
2592 if (!user) {
2593 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded);
2594 }
2595 };
2596
2597 var reload = function reload() {
2598 user = null;
2599 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded);
2600 setError(null);
2601 };
2602
2603 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
2604 if (loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded && !user) {
2605 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading);
2606 proxy({
2607 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.FetchOrCreateMeetingUser
2608 }).then(function (data) {
2609 user = data;
2610 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Idle);
2611 })["catch"](function (err) {
2612 setError(err);
2613 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed);
2614 });
2615 }
2616 }, [loadState]);
2617 return {
2618 user: user,
2619 loadUserState: loadState,
2620 error: error,
2621 createUser: createUser,
2622 reload: reload
2623 };
2624 }
2625
2626 /***/ }),
2627
2628 /***/ "./scripts/shared/Meeting/hooks/useMeetings.ts":
2629 /*!*****************************************************!*\
2630 !*** ./scripts/shared/Meeting/hooks/useMeetings.ts ***!
2631 \*****************************************************/
2632 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2633
2634 "use strict";
2635 __webpack_require__.r(__webpack_exports__);
2636 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2637 /* harmony export */ "default": () => (/* binding */ useMeetings),
2638 /* harmony export */ "useSelectedMeeting": () => (/* binding */ useSelectedMeeting),
2639 /* harmony export */ "useSelectedMeetingCalendar": () => (/* binding */ useSelectedMeetingCalendar)
2640 /* harmony export */ });
2641 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2642 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2643 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2644 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
2645 /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants */ "./scripts/shared/Meeting/constants.ts");
2646 /* harmony import */ var _useMeetingsFetch__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useMeetingsFetch */ "./scripts/shared/Meeting/hooks/useMeetingsFetch.ts");
2647 /* harmony import */ var _useCurrentUserFetch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./useCurrentUserFetch */ "./scripts/shared/Meeting/hooks/useCurrentUserFetch.ts");
2648 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2649 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2650 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2651 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2652
2653 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2654
2655 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2656
2657 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2658
2659 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."); }
2660
2661 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2662
2663 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2664
2665 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2666
2667 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678 function getDefaultMeetingName(meeting, currentUser, meetingUsers) {
2679 var _meeting$meetingsUser = _slicedToArray(meeting.meetingsUserIds, 1),
2680 meetingOwnerId = _meeting$meetingsUser[0];
2681
2682 var result = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Default', 'leadin');
2683
2684 if (currentUser && meetingOwnerId !== currentUser.id && meetingUsers[meetingOwnerId]) {
2685 var user = meetingUsers[meetingOwnerId];
2686 result += " (".concat(user.userProfile.fullName, ")");
2687 }
2688
2689 return result;
2690 }
2691
2692 function hasCalendarObject(user) {
2693 return user && user.meetingsUserBlob && user.meetingsUserBlob.calendarSettings && user.meetingsUserBlob.calendarSettings.email;
2694 }
2695
2696 function useMeetings() {
2697 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_6__.usePostAsyncBackgroundMessage)();
2698
2699 var _useMeetingsFetch = (0,_useMeetingsFetch__WEBPACK_IMPORTED_MODULE_3__["default"])(),
2700 meetings = _useMeetingsFetch.meetings,
2701 meetingUsers = _useMeetingsFetch.meetingUsers,
2702 meetingsError = _useMeetingsFetch.error,
2703 loadMeetingsState = _useMeetingsFetch.loadMeetingsState,
2704 reloadMeetings = _useMeetingsFetch.reload;
2705
2706 var _useCurrentUserFetch = (0,_useCurrentUserFetch__WEBPACK_IMPORTED_MODULE_4__["default"])(),
2707 currentUser = _useCurrentUserFetch.user,
2708 userError = _useCurrentUserFetch.error,
2709 loadUserState = _useCurrentUserFetch.loadUserState,
2710 reloadUser = _useCurrentUserFetch.reload;
2711
2712 var reload = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function () {
2713 reloadUser();
2714 reloadMeetings();
2715 }, [reloadUser, reloadMeetings]);
2716
2717 var connectCalendar = function connectCalendar() {
2718 return proxy({
2719 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_7__.ProxyMessages.ConnectMeetingsCalendar
2720 });
2721 };
2722
2723 return {
2724 mappedMeetings: meetings.map(function (meet) {
2725 return {
2726 label: meet.name || getDefaultMeetingName(meet, currentUser, meetingUsers),
2727 value: meet.link
2728 };
2729 }),
2730 meetings: meetings,
2731 meetingUsers: meetingUsers,
2732 currentUser: currentUser,
2733 error: meetingsError || userError,
2734 loading: loadMeetingsState == _enums_loadState__WEBPACK_IMPORTED_MODULE_5__["default"].Loading || loadUserState === _enums_loadState__WEBPACK_IMPORTED_MODULE_5__["default"].Loading,
2735 reload: reload,
2736 connectCalendar: connectCalendar
2737 };
2738 }
2739 function useSelectedMeeting(url) {
2740 var _useMeetings = useMeetings(),
2741 meetings = _useMeetings.mappedMeetings;
2742
2743 var option = meetings.find(function (_ref) {
2744 var value = _ref.value;
2745 return value === url;
2746 });
2747 return option;
2748 }
2749 function useSelectedMeetingCalendar(url) {
2750 var _useMeetings2 = useMeetings(),
2751 meetings = _useMeetings2.meetings,
2752 meetingUsers = _useMeetings2.meetingUsers,
2753 currentUser = _useMeetings2.currentUser;
2754
2755 var meeting = meetings.find(function (meet) {
2756 return meet.link === url;
2757 });
2758 var mappedMeetingUsersId = meetingUsers.reduce(function (p, c) {
2759 return _objectSpread(_objectSpread({}, p), {}, _defineProperty({}, c.id, c));
2760 }, {});
2761
2762 if (!meeting) {
2763 return null;
2764 } else {
2765 var meetingsUserIds = meeting.meetingsUserIds;
2766
2767 if (currentUser && meetingsUserIds.includes(currentUser.id) && !hasCalendarObject(currentUser)) {
2768 return _constants__WEBPACK_IMPORTED_MODULE_2__.CURRENT_USER_CALENDAR_MISSING;
2769 } else if (meetingsUserIds.map(function (id) {
2770 return mappedMeetingUsersId[id];
2771 }).some(function (user) {
2772 return !hasCalendarObject(user);
2773 })) {
2774 return _constants__WEBPACK_IMPORTED_MODULE_2__.OTHER_USER_CALENDAR_MISSING;
2775 } else {
2776 return null;
2777 }
2778 }
2779 }
2780
2781 /***/ }),
2782
2783 /***/ "./scripts/shared/Meeting/hooks/useMeetingsFetch.ts":
2784 /*!**********************************************************!*\
2785 !*** ./scripts/shared/Meeting/hooks/useMeetingsFetch.ts ***!
2786 \**********************************************************/
2787 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2788
2789 "use strict";
2790 __webpack_require__.r(__webpack_exports__);
2791 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2792 /* harmony export */ "default": () => (/* binding */ useMeetingsFetch)
2793 /* harmony export */ });
2794 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
2795 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
2796 /* harmony import */ var _iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../iframe/useBackgroundApp */ "./scripts/iframe/useBackgroundApp.ts");
2797 /* harmony import */ var _enums_loadState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../enums/loadState */ "./scripts/shared/enums/loadState.ts");
2798 /* harmony import */ var _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../iframe/integratedMessages */ "./scripts/iframe/integratedMessages/index.ts");
2799 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2800
2801 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."); }
2802
2803 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2804
2805 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2806
2807 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2808
2809 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2810
2811
2812
2813
2814
2815 var meetings = [];
2816 var meetingUsers = [];
2817 function useMeetingsFetch() {
2818 var proxy = (0,_iframe_useBackgroundApp__WEBPACK_IMPORTED_MODULE_1__.usePostAsyncBackgroundMessage)();
2819
2820 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded),
2821 _useState2 = _slicedToArray(_useState, 2),
2822 loadState = _useState2[0],
2823 setLoadState = _useState2[1];
2824
2825 var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(null),
2826 _useState4 = _slicedToArray(_useState3, 2),
2827 error = _useState4[0],
2828 setError = _useState4[1];
2829
2830 var reload = function reload() {
2831 meetings = [];
2832 setError(null);
2833 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded);
2834 };
2835
2836 (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
2837 if (loadState === _enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].NotLoaded && meetings.length === 0) {
2838 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loading);
2839 proxy({
2840 key: _iframe_integratedMessages__WEBPACK_IMPORTED_MODULE_3__.ProxyMessages.FetchMeetingsAndUsers
2841 }).then(function (data) {
2842 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Loaded);
2843 meetings = data && data.meetingLinks;
2844 meetingUsers = data && data.meetingUsers;
2845 })["catch"](function (e) {
2846 setError(e);
2847 setLoadState(_enums_loadState__WEBPACK_IMPORTED_MODULE_2__["default"].Failed);
2848 });
2849 }
2850 }, [loadState]);
2851 return {
2852 meetings: meetings,
2853 meetingUsers: meetingUsers,
2854 loadMeetingsState: loadState,
2855 error: error,
2856 reload: reload
2857 };
2858 }
2859
2860 /***/ }),
2861
2862 /***/ "./scripts/shared/Meeting/hooks/useMeetingsScript.ts":
2863 /*!***********************************************************!*\
2864 !*** ./scripts/shared/Meeting/hooks/useMeetingsScript.ts ***!
2865 \***********************************************************/
2866 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2867
2868 "use strict";
2869 __webpack_require__.r(__webpack_exports__);
2870 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2871 /* harmony export */ "default": () => (/* binding */ useMeetingsScript)
2872 /* harmony export */ });
2873 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
2874 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
2875 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
2876 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
2877 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
2878 /* harmony import */ var _lib_Raven__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../lib/Raven */ "./scripts/lib/Raven.ts");
2879 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2880
2881 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."); }
2882
2883 function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
2884
2885 function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
2886
2887 function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
2888
2889 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
2890
2891
2892
2893
2894
2895 var promise;
2896
2897 function loadMeetingsScript() {
2898 if (!promise) {
2899 promise = new Promise(function (resolve, reject) {
2900 return jquery__WEBPACK_IMPORTED_MODULE_0___default().getScript(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_2__.meetingsScript).done(resolve).fail(reject);
2901 });
2902 }
2903
2904 return promise;
2905 }
2906
2907 function useMeetingsScript() {
2908 var _useState = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false),
2909 _useState2 = _slicedToArray(_useState, 2),
2910 ready = _useState2[0],
2911 setReady = _useState2[1];
2912
2913 (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
2914 loadMeetingsScript().then(function () {
2915 return setReady(true);
2916 })["catch"](function (error) {
2917 return _lib_Raven__WEBPACK_IMPORTED_MODULE_3__["default"].captureException(error);
2918 });
2919 }, []);
2920 return ready;
2921 }
2922
2923 /***/ }),
2924
2925 /***/ "./scripts/shared/UIComponents/UIAlert.tsx":
2926 /*!*************************************************!*\
2927 !*** ./scripts/shared/UIComponents/UIAlert.tsx ***!
2928 \*************************************************/
2929 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2930
2931 "use strict";
2932 __webpack_require__.r(__webpack_exports__);
2933 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2934 /* harmony export */ "default": () => (/* binding */ UIAlert)
2935 /* harmony export */ });
2936 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
2937 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
2938
2939
2940 var AlertContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('div')({
2941 name: "AlertContainer",
2942 "class": "a1h8m4fo",
2943 propsAsIs: false
2944 });
2945 var Title = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('p')({
2946 name: "Title",
2947 "class": "tyndzxk",
2948 propsAsIs: false
2949 });
2950 var Message = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('p')({
2951 name: "Message",
2952 "class": "m1m9sbk4",
2953 propsAsIs: false
2954 });
2955 var MessageContainer = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('div')({
2956 name: "MessageContainer",
2957 "class": "mg5o421",
2958 propsAsIs: false
2959 });
2960 function UIAlert(_ref) {
2961 var titleText = _ref.titleText,
2962 titleMessage = _ref.titleMessage,
2963 children = _ref.children;
2964 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(AlertContainer, {
2965 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(MessageContainer, {
2966 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Title, {
2967 children: titleText
2968 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Message, {
2969 children: titleMessage
2970 })]
2971 }), children]
2972 });
2973 }
2974
2975 __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");
2976
2977 /***/ }),
2978
2979 /***/ "./scripts/shared/UIComponents/UIButton.ts":
2980 /*!*************************************************!*\
2981 !*** ./scripts/shared/UIComponents/UIButton.ts ***!
2982 \*************************************************/
2983 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2984
2985 "use strict";
2986 __webpack_require__.r(__webpack_exports__);
2987 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2988 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
2989 /* harmony export */ });
2990 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
2991 /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./colors */ "./scripts/shared/UIComponents/colors.ts");
2992
2993
2994
2995 var _exp2 = /*#__PURE__*/function _exp2() {
2996 return function (props) {
2997 return props.use === 'tertiary' ? _colors__WEBPACK_IMPORTED_MODULE_0__.HEFFALUMP : _colors__WEBPACK_IMPORTED_MODULE_0__.LORAX;
2998 };
2999 };
3000
3001 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_1__.styled)('button')({
3002 name: "UIButton0",
3003 "class": "ug152ch",
3004 propsAsIs: false,
3005 vars: {
3006 "ug152ch-0": [_exp2()]
3007 }
3008 }));
3009
3010 __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");
3011
3012 /***/ }),
3013
3014 /***/ "./scripts/shared/UIComponents/UIContainer.ts":
3015 /*!****************************************************!*\
3016 !*** ./scripts/shared/UIComponents/UIContainer.ts ***!
3017 \****************************************************/
3018 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3019
3020 "use strict";
3021 __webpack_require__.r(__webpack_exports__);
3022 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3023 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3024 /* harmony export */ });
3025 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3026
3027
3028 var _exp = /*#__PURE__*/function _exp() {
3029 return function (props) {
3030 return props.textAlign ? props.textAlign : 'inherit';
3031 };
3032 };
3033
3034 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
3035 name: "UIContainer0",
3036 "class": "ua13n1c",
3037 propsAsIs: false,
3038 vars: {
3039 "ua13n1c-0": [_exp()]
3040 }
3041 }));
3042
3043 __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");
3044
3045 /***/ }),
3046
3047 /***/ "./scripts/shared/UIComponents/UIOverlay.ts":
3048 /*!**************************************************!*\
3049 !*** ./scripts/shared/UIComponents/UIOverlay.ts ***!
3050 \**************************************************/
3051 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3052
3053 "use strict";
3054 __webpack_require__.r(__webpack_exports__);
3055 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3056 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3057 /* harmony export */ });
3058 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3059
3060 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
3061 name: "UIOverlay0",
3062 "class": "u1q7a48k",
3063 propsAsIs: false
3064 }));
3065
3066 __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");
3067
3068 /***/ }),
3069
3070 /***/ "./scripts/shared/UIComponents/UISpacer.ts":
3071 /*!*************************************************!*\
3072 !*** ./scripts/shared/UIComponents/UISpacer.ts ***!
3073 \*************************************************/
3074 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3075
3076 "use strict";
3077 __webpack_require__.r(__webpack_exports__);
3078 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3079 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3080 /* harmony export */ });
3081 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3082
3083 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (/*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_0__.styled)('div')({
3084 name: "UISpacer0",
3085 "class": "u3qxofx",
3086 propsAsIs: false
3087 }));
3088
3089 __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");
3090
3091 /***/ }),
3092
3093 /***/ "./scripts/shared/UIComponents/UISpinner.tsx":
3094 /*!***************************************************!*\
3095 !*** ./scripts/shared/UIComponents/UISpinner.tsx ***!
3096 \***************************************************/
3097 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3098
3099 "use strict";
3100 __webpack_require__.r(__webpack_exports__);
3101 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3102 /* harmony export */ "default": () => (/* binding */ UISpinner)
3103 /* harmony export */ });
3104 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
3105 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @linaria/react */ "./node_modules/@linaria/react/dist/index.mjs");
3106 /* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ "./scripts/shared/UIComponents/colors.ts");
3107
3108
3109
3110 var SpinnerOuter = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('div')({
3111 name: "SpinnerOuter",
3112 "class": "sxa9zrc",
3113 propsAsIs: false
3114 });
3115 var SpinnerInner = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('div')({
3116 name: "SpinnerInner",
3117 "class": "s14430wa",
3118 propsAsIs: false
3119 });
3120
3121 var _exp = /*#__PURE__*/function _exp() {
3122 return function (props) {
3123 return props.color;
3124 };
3125 };
3126
3127 var Circle = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('circle')({
3128 name: "Circle",
3129 "class": "ct87ghk",
3130 propsAsIs: true,
3131 vars: {
3132 "ct87ghk-0": [_exp()]
3133 }
3134 });
3135
3136 var _exp2 = /*#__PURE__*/function _exp2() {
3137 return function (props) {
3138 return props.color;
3139 };
3140 };
3141
3142 var AnimatedCircle = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_2__.styled)('circle')({
3143 name: "AnimatedCircle",
3144 "class": "avili0h",
3145 propsAsIs: true,
3146 vars: {
3147 "avili0h-0": [_exp2()]
3148 }
3149 });
3150 function UISpinner(_ref) {
3151 var _ref$size = _ref.size,
3152 size = _ref$size === void 0 ? 20 : _ref$size;
3153 return (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SpinnerOuter, {
3154 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(SpinnerInner, {
3155 children: (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg", {
3156 height: size,
3157 width: size,
3158 viewBox: "0 0 50 50",
3159 children: [(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Circle, {
3160 color: _colors__WEBPACK_IMPORTED_MODULE_1__.CALYPSO_MEDIUM,
3161 cx: "25",
3162 cy: "25",
3163 r: "22.5"
3164 }), (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(AnimatedCircle, {
3165 color: _colors__WEBPACK_IMPORTED_MODULE_1__.CALYPSO,
3166 cx: "25",
3167 cy: "25",
3168 r: "22.5"
3169 })]
3170 })
3171 })
3172 });
3173 }
3174
3175 __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");
3176
3177 /***/ }),
3178
3179 /***/ "./scripts/shared/UIComponents/colors.ts":
3180 /*!***********************************************!*\
3181 !*** ./scripts/shared/UIComponents/colors.ts ***!
3182 \***********************************************/
3183 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3184
3185 "use strict";
3186 __webpack_require__.r(__webpack_exports__);
3187 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3188 /* harmony export */ "CALYPSO": () => (/* binding */ CALYPSO),
3189 /* harmony export */ "CALYPSO_LIGHT": () => (/* binding */ CALYPSO_LIGHT),
3190 /* harmony export */ "CALYPSO_MEDIUM": () => (/* binding */ CALYPSO_MEDIUM),
3191 /* harmony export */ "HEFFALUMP": () => (/* binding */ HEFFALUMP),
3192 /* harmony export */ "LORAX": () => (/* binding */ LORAX),
3193 /* harmony export */ "MARIGOLD_LIGHT": () => (/* binding */ MARIGOLD_LIGHT),
3194 /* harmony export */ "MARIGOLD_MEDIUM": () => (/* binding */ MARIGOLD_MEDIUM),
3195 /* harmony export */ "OBSIDIAN": () => (/* binding */ OBSIDIAN),
3196 /* harmony export */ "OLAF": () => (/* binding */ OLAF)
3197 /* harmony export */ });
3198 var CALYPSO = '#00a4bd';
3199 var CALYPSO_MEDIUM = '#7fd1de';
3200 var CALYPSO_LIGHT = '#e5f5f8';
3201 var LORAX = '#ff7a59';
3202 var OLAF = '#ffffff';
3203 var HEFFALUMP = '#425b76';
3204 var MARIGOLD_LIGHT = '#fef8f0';
3205 var MARIGOLD_MEDIUM = '#fae0b5';
3206 var OBSIDIAN = '#33475b';
3207
3208 /***/ }),
3209
3210 /***/ "./scripts/shared/enums/connectionStatus.ts":
3211 /*!**************************************************!*\
3212 !*** ./scripts/shared/enums/connectionStatus.ts ***!
3213 \**************************************************/
3214 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3215
3216 "use strict";
3217 __webpack_require__.r(__webpack_exports__);
3218 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3219 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3220 /* harmony export */ });
3221 var ConnectionStatus = {
3222 Connected: 'Connected',
3223 NotConnected: 'NotConnected'
3224 };
3225 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ConnectionStatus);
3226
3227 /***/ }),
3228
3229 /***/ "./scripts/shared/enums/loadState.ts":
3230 /*!*******************************************!*\
3231 !*** ./scripts/shared/enums/loadState.ts ***!
3232 \*******************************************/
3233 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3234
3235 "use strict";
3236 __webpack_require__.r(__webpack_exports__);
3237 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3238 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
3239 /* harmony export */ });
3240 var LoadState = {
3241 NotLoaded: 'NotLoaded',
3242 Loading: 'Loading',
3243 Loaded: 'Loaded',
3244 Idle: 'Idle',
3245 Failed: 'Failed'
3246 };
3247 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadState);
3248
3249 /***/ }),
3250
3251 /***/ "./scripts/utils/appUtils.ts":
3252 /*!***********************************!*\
3253 !*** ./scripts/utils/appUtils.ts ***!
3254 \***********************************/
3255 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3256
3257 "use strict";
3258 __webpack_require__.r(__webpack_exports__);
3259 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3260 /* harmony export */ "initApp": () => (/* binding */ initApp),
3261 /* harmony export */ "initAppOnReady": () => (/* binding */ initAppOnReady)
3262 /* harmony export */ });
3263 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "jquery");
3264 /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
3265 /* harmony import */ var _lib_Raven__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../lib/Raven */ "./scripts/lib/Raven.ts");
3266
3267
3268 function initApp(initFn) {
3269 (0,_lib_Raven__WEBPACK_IMPORTED_MODULE_1__.configureRaven)();
3270 _lib_Raven__WEBPACK_IMPORTED_MODULE_1__["default"].context(initFn);
3271 }
3272 function initAppOnReady(initFn) {
3273 function main() {
3274 jquery__WEBPACK_IMPORTED_MODULE_0___default()(initFn);
3275 }
3276
3277 initApp(main);
3278 }
3279
3280 /***/ }),
3281
3282 /***/ "./scripts/utils/backgroundAppUtils.ts":
3283 /*!*********************************************!*\
3284 !*** ./scripts/utils/backgroundAppUtils.ts ***!
3285 \*********************************************/
3286 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3287
3288 "use strict";
3289 __webpack_require__.r(__webpack_exports__);
3290 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3291 /* harmony export */ "getOrCreateBackgroundApp": () => (/* binding */ getOrCreateBackgroundApp),
3292 /* harmony export */ "initBackgroundApp": () => (/* binding */ initBackgroundApp)
3293 /* harmony export */ });
3294 /* harmony import */ var _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/leadinConfig */ "./scripts/constants/leadinConfig.ts");
3295 /* harmony import */ var _appUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./appUtils */ "./scripts/utils/appUtils.ts");
3296
3297
3298 function initBackgroundApp(initFn) {
3299 function main() {
3300 if (Array.isArray(initFn)) {
3301 initFn.forEach(function (callback) {
3302 return callback();
3303 });
3304 } else {
3305 initFn();
3306 }
3307 }
3308
3309 (0,_appUtils__WEBPACK_IMPORTED_MODULE_1__.initApp)(main);
3310 }
3311 var getOrCreateBackgroundApp = function getOrCreateBackgroundApp(refreshToken) {
3312 if (window.LeadinBackgroundApp) {
3313 return window.LeadinBackgroundApp;
3314 }
3315
3316 var _window = window,
3317 IntegratedAppEmbedder = _window.IntegratedAppEmbedder,
3318 IntegratedAppOptions = _window.IntegratedAppOptions;
3319 var options = new IntegratedAppOptions().setLocale(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.locale).setDeviceId(_constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.deviceId).setRefreshToken(refreshToken);
3320 var embedder = new IntegratedAppEmbedder('integrated-plugin-proxy', _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.portalId, _constants_leadinConfig__WEBPACK_IMPORTED_MODULE_0__.hubspotBaseUrl, function () {}).setOptions(options);
3321 embedder.attachTo(document.body, false);
3322 embedder.postStartAppMessage(); // lets the app know all all data has been passed to it
3323
3324 window.LeadinBackgroundApp = embedder;
3325 return window.LeadinBackgroundApp;
3326 };
3327
3328 /***/ }),
3329
3330 /***/ "./node_modules/lodash/_Symbol.js":
3331 /*!****************************************!*\
3332 !*** ./node_modules/lodash/_Symbol.js ***!
3333 \****************************************/
3334 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3335
3336 var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
3337
3338 /** Built-in value references. */
3339 var Symbol = root.Symbol;
3340
3341 module.exports = Symbol;
3342
3343
3344 /***/ }),
3345
3346 /***/ "./node_modules/lodash/_baseGetTag.js":
3347 /*!********************************************!*\
3348 !*** ./node_modules/lodash/_baseGetTag.js ***!
3349 \********************************************/
3350 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3351
3352 var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"),
3353 getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"),
3354 objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js");
3355
3356 /** `Object#toString` result references. */
3357 var nullTag = '[object Null]',
3358 undefinedTag = '[object Undefined]';
3359
3360 /** Built-in value references. */
3361 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
3362
3363 /**
3364 * The base implementation of `getTag` without fallbacks for buggy environments.
3365 *
3366 * @private
3367 * @param {*} value The value to query.
3368 * @returns {string} Returns the `toStringTag`.
3369 */
3370 function baseGetTag(value) {
3371 if (value == null) {
3372 return value === undefined ? undefinedTag : nullTag;
3373 }
3374 return (symToStringTag && symToStringTag in Object(value))
3375 ? getRawTag(value)
3376 : objectToString(value);
3377 }
3378
3379 module.exports = baseGetTag;
3380
3381
3382 /***/ }),
3383
3384 /***/ "./node_modules/lodash/_baseTrim.js":
3385 /*!******************************************!*\
3386 !*** ./node_modules/lodash/_baseTrim.js ***!
3387 \******************************************/
3388 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3389
3390 var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "./node_modules/lodash/_trimmedEndIndex.js");
3391
3392 /** Used to match leading whitespace. */
3393 var reTrimStart = /^\s+/;
3394
3395 /**
3396 * The base implementation of `_.trim`.
3397 *
3398 * @private
3399 * @param {string} string The string to trim.
3400 * @returns {string} Returns the trimmed string.
3401 */
3402 function baseTrim(string) {
3403 return string
3404 ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')
3405 : string;
3406 }
3407
3408 module.exports = baseTrim;
3409
3410
3411 /***/ }),
3412
3413 /***/ "./node_modules/lodash/_freeGlobal.js":
3414 /*!********************************************!*\
3415 !*** ./node_modules/lodash/_freeGlobal.js ***!
3416 \********************************************/
3417 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3418
3419 /** Detect free variable `global` from Node.js. */
3420 var freeGlobal = typeof __webpack_require__.g == 'object' && __webpack_require__.g && __webpack_require__.g.Object === Object && __webpack_require__.g;
3421
3422 module.exports = freeGlobal;
3423
3424
3425 /***/ }),
3426
3427 /***/ "./node_modules/lodash/_getRawTag.js":
3428 /*!*******************************************!*\
3429 !*** ./node_modules/lodash/_getRawTag.js ***!
3430 \*******************************************/
3431 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3432
3433 var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js");
3434
3435 /** Used for built-in method references. */
3436 var objectProto = Object.prototype;
3437
3438 /** Used to check objects for own properties. */
3439 var hasOwnProperty = objectProto.hasOwnProperty;
3440
3441 /**
3442 * Used to resolve the
3443 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
3444 * of values.
3445 */
3446 var nativeObjectToString = objectProto.toString;
3447
3448 /** Built-in value references. */
3449 var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
3450
3451 /**
3452 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
3453 *
3454 * @private
3455 * @param {*} value The value to query.
3456 * @returns {string} Returns the raw `toStringTag`.
3457 */
3458 function getRawTag(value) {
3459 var isOwn = hasOwnProperty.call(value, symToStringTag),
3460 tag = value[symToStringTag];
3461
3462 try {
3463 value[symToStringTag] = undefined;
3464 var unmasked = true;
3465 } catch (e) {}
3466
3467 var result = nativeObjectToString.call(value);
3468 if (unmasked) {
3469 if (isOwn) {
3470 value[symToStringTag] = tag;
3471 } else {
3472 delete value[symToStringTag];
3473 }
3474 }
3475 return result;
3476 }
3477
3478 module.exports = getRawTag;
3479
3480
3481 /***/ }),
3482
3483 /***/ "./node_modules/lodash/_objectToString.js":
3484 /*!************************************************!*\
3485 !*** ./node_modules/lodash/_objectToString.js ***!
3486 \************************************************/
3487 /***/ ((module) => {
3488
3489 /** Used for built-in method references. */
3490 var objectProto = Object.prototype;
3491
3492 /**
3493 * Used to resolve the
3494 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
3495 * of values.
3496 */
3497 var nativeObjectToString = objectProto.toString;
3498
3499 /**
3500 * Converts `value` to a string using `Object.prototype.toString`.
3501 *
3502 * @private
3503 * @param {*} value The value to convert.
3504 * @returns {string} Returns the converted string.
3505 */
3506 function objectToString(value) {
3507 return nativeObjectToString.call(value);
3508 }
3509
3510 module.exports = objectToString;
3511
3512
3513 /***/ }),
3514
3515 /***/ "./node_modules/lodash/_root.js":
3516 /*!**************************************!*\
3517 !*** ./node_modules/lodash/_root.js ***!
3518 \**************************************/
3519 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3520
3521 var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js");
3522
3523 /** Detect free variable `self`. */
3524 var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
3525
3526 /** Used as a reference to the global object. */
3527 var root = freeGlobal || freeSelf || Function('return this')();
3528
3529 module.exports = root;
3530
3531
3532 /***/ }),
3533
3534 /***/ "./node_modules/lodash/_trimmedEndIndex.js":
3535 /*!*************************************************!*\
3536 !*** ./node_modules/lodash/_trimmedEndIndex.js ***!
3537 \*************************************************/
3538 /***/ ((module) => {
3539
3540 /** Used to match a single whitespace character. */
3541 var reWhitespace = /\s/;
3542
3543 /**
3544 * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
3545 * character of `string`.
3546 *
3547 * @private
3548 * @param {string} string The string to inspect.
3549 * @returns {number} Returns the index of the last non-whitespace character.
3550 */
3551 function trimmedEndIndex(string) {
3552 var index = string.length;
3553
3554 while (index-- && reWhitespace.test(string.charAt(index))) {}
3555 return index;
3556 }
3557
3558 module.exports = trimmedEndIndex;
3559
3560
3561 /***/ }),
3562
3563 /***/ "./node_modules/lodash/debounce.js":
3564 /*!*****************************************!*\
3565 !*** ./node_modules/lodash/debounce.js ***!
3566 \*****************************************/
3567 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3568
3569 var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
3570 now = __webpack_require__(/*! ./now */ "./node_modules/lodash/now.js"),
3571 toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js");
3572
3573 /** Error message constants. */
3574 var FUNC_ERROR_TEXT = 'Expected a function';
3575
3576 /* Built-in method references for those with the same name as other `lodash` methods. */
3577 var nativeMax = Math.max,
3578 nativeMin = Math.min;
3579
3580 /**
3581 * Creates a debounced function that delays invoking `func` until after `wait`
3582 * milliseconds have elapsed since the last time the debounced function was
3583 * invoked. The debounced function comes with a `cancel` method to cancel
3584 * delayed `func` invocations and a `flush` method to immediately invoke them.
3585 * Provide `options` to indicate whether `func` should be invoked on the
3586 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
3587 * with the last arguments provided to the debounced function. Subsequent
3588 * calls to the debounced function return the result of the last `func`
3589 * invocation.
3590 *
3591 * **Note:** If `leading` and `trailing` options are `true`, `func` is
3592 * invoked on the trailing edge of the timeout only if the debounced function
3593 * is invoked more than once during the `wait` timeout.
3594 *
3595 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
3596 * until to the next tick, similar to `setTimeout` with a timeout of `0`.
3597 *
3598 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
3599 * for details over the differences between `_.debounce` and `_.throttle`.
3600 *
3601 * @static
3602 * @memberOf _
3603 * @since 0.1.0
3604 * @category Function
3605 * @param {Function} func The function to debounce.
3606 * @param {number} [wait=0] The number of milliseconds to delay.
3607 * @param {Object} [options={}] The options object.
3608 * @param {boolean} [options.leading=false]
3609 * Specify invoking on the leading edge of the timeout.
3610 * @param {number} [options.maxWait]
3611 * The maximum time `func` is allowed to be delayed before it's invoked.
3612 * @param {boolean} [options.trailing=true]
3613 * Specify invoking on the trailing edge of the timeout.
3614 * @returns {Function} Returns the new debounced function.
3615 * @example
3616 *
3617 * // Avoid costly calculations while the window size is in flux.
3618 * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
3619 *
3620 * // Invoke `sendMail` when clicked, debouncing subsequent calls.
3621 * jQuery(element).on('click', _.debounce(sendMail, 300, {
3622 * 'leading': true,
3623 * 'trailing': false
3624 * }));
3625 *
3626 * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
3627 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
3628 * var source = new EventSource('/stream');
3629 * jQuery(source).on('message', debounced);
3630 *
3631 * // Cancel the trailing debounced invocation.
3632 * jQuery(window).on('popstate', debounced.cancel);
3633 */
3634 function debounce(func, wait, options) {
3635 var lastArgs,
3636 lastThis,
3637 maxWait,
3638 result,
3639 timerId,
3640 lastCallTime,
3641 lastInvokeTime = 0,
3642 leading = false,
3643 maxing = false,
3644 trailing = true;
3645
3646 if (typeof func != 'function') {
3647 throw new TypeError(FUNC_ERROR_TEXT);
3648 }
3649 wait = toNumber(wait) || 0;
3650 if (isObject(options)) {
3651 leading = !!options.leading;
3652 maxing = 'maxWait' in options;
3653 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
3654 trailing = 'trailing' in options ? !!options.trailing : trailing;
3655 }
3656
3657 function invokeFunc(time) {
3658 var args = lastArgs,
3659 thisArg = lastThis;
3660
3661 lastArgs = lastThis = undefined;
3662 lastInvokeTime = time;
3663 result = func.apply(thisArg, args);
3664 return result;
3665 }
3666
3667 function leadingEdge(time) {
3668 // Reset any `maxWait` timer.
3669 lastInvokeTime = time;
3670 // Start the timer for the trailing edge.
3671 timerId = setTimeout(timerExpired, wait);
3672 // Invoke the leading edge.
3673 return leading ? invokeFunc(time) : result;
3674 }
3675
3676 function remainingWait(time) {
3677 var timeSinceLastCall = time - lastCallTime,
3678 timeSinceLastInvoke = time - lastInvokeTime,
3679 timeWaiting = wait - timeSinceLastCall;
3680
3681 return maxing
3682 ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
3683 : timeWaiting;
3684 }
3685
3686 function shouldInvoke(time) {
3687 var timeSinceLastCall = time - lastCallTime,
3688 timeSinceLastInvoke = time - lastInvokeTime;
3689
3690 // Either this is the first call, activity has stopped and we're at the
3691 // trailing edge, the system time has gone backwards and we're treating
3692 // it as the trailing edge, or we've hit the `maxWait` limit.
3693 return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
3694 (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
3695 }
3696
3697 function timerExpired() {
3698 var time = now();
3699 if (shouldInvoke(time)) {
3700 return trailingEdge(time);
3701 }
3702 // Restart the timer.
3703 timerId = setTimeout(timerExpired, remainingWait(time));
3704 }
3705
3706 function trailingEdge(time) {
3707 timerId = undefined;
3708
3709 // Only invoke if we have `lastArgs` which means `func` has been
3710 // debounced at least once.
3711 if (trailing && lastArgs) {
3712 return invokeFunc(time);
3713 }
3714 lastArgs = lastThis = undefined;
3715 return result;
3716 }
3717
3718 function cancel() {
3719 if (timerId !== undefined) {
3720 clearTimeout(timerId);
3721 }
3722 lastInvokeTime = 0;
3723 lastArgs = lastCallTime = lastThis = timerId = undefined;
3724 }
3725
3726 function flush() {
3727 return timerId === undefined ? result : trailingEdge(now());
3728 }
3729
3730 function debounced() {
3731 var time = now(),
3732 isInvoking = shouldInvoke(time);
3733
3734 lastArgs = arguments;
3735 lastThis = this;
3736 lastCallTime = time;
3737
3738 if (isInvoking) {
3739 if (timerId === undefined) {
3740 return leadingEdge(lastCallTime);
3741 }
3742 if (maxing) {
3743 // Handle invocations in a tight loop.
3744 clearTimeout(timerId);
3745 timerId = setTimeout(timerExpired, wait);
3746 return invokeFunc(lastCallTime);
3747 }
3748 }
3749 if (timerId === undefined) {
3750 timerId = setTimeout(timerExpired, wait);
3751 }
3752 return result;
3753 }
3754 debounced.cancel = cancel;
3755 debounced.flush = flush;
3756 return debounced;
3757 }
3758
3759 module.exports = debounce;
3760
3761
3762 /***/ }),
3763
3764 /***/ "./node_modules/lodash/isObject.js":
3765 /*!*****************************************!*\
3766 !*** ./node_modules/lodash/isObject.js ***!
3767 \*****************************************/
3768 /***/ ((module) => {
3769
3770 /**
3771 * Checks if `value` is the
3772 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
3773 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
3774 *
3775 * @static
3776 * @memberOf _
3777 * @since 0.1.0
3778 * @category Lang
3779 * @param {*} value The value to check.
3780 * @returns {boolean} Returns `true` if `value` is an object, else `false`.
3781 * @example
3782 *
3783 * _.isObject({});
3784 * // => true
3785 *
3786 * _.isObject([1, 2, 3]);
3787 * // => true
3788 *
3789 * _.isObject(_.noop);
3790 * // => true
3791 *
3792 * _.isObject(null);
3793 * // => false
3794 */
3795 function isObject(value) {
3796 var type = typeof value;
3797 return value != null && (type == 'object' || type == 'function');
3798 }
3799
3800 module.exports = isObject;
3801
3802
3803 /***/ }),
3804
3805 /***/ "./node_modules/lodash/isObjectLike.js":
3806 /*!*********************************************!*\
3807 !*** ./node_modules/lodash/isObjectLike.js ***!
3808 \*********************************************/
3809 /***/ ((module) => {
3810
3811 /**
3812 * Checks if `value` is object-like. A value is object-like if it's not `null`
3813 * and has a `typeof` result of "object".
3814 *
3815 * @static
3816 * @memberOf _
3817 * @since 4.0.0
3818 * @category Lang
3819 * @param {*} value The value to check.
3820 * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
3821 * @example
3822 *
3823 * _.isObjectLike({});
3824 * // => true
3825 *
3826 * _.isObjectLike([1, 2, 3]);
3827 * // => true
3828 *
3829 * _.isObjectLike(_.noop);
3830 * // => false
3831 *
3832 * _.isObjectLike(null);
3833 * // => false
3834 */
3835 function isObjectLike(value) {
3836 return value != null && typeof value == 'object';
3837 }
3838
3839 module.exports = isObjectLike;
3840
3841
3842 /***/ }),
3843
3844 /***/ "./node_modules/lodash/isSymbol.js":
3845 /*!*****************************************!*\
3846 !*** ./node_modules/lodash/isSymbol.js ***!
3847 \*****************************************/
3848 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3849
3850 var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"),
3851 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js");
3852
3853 /** `Object#toString` result references. */
3854 var symbolTag = '[object Symbol]';
3855
3856 /**
3857 * Checks if `value` is classified as a `Symbol` primitive or object.
3858 *
3859 * @static
3860 * @memberOf _
3861 * @since 4.0.0
3862 * @category Lang
3863 * @param {*} value The value to check.
3864 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
3865 * @example
3866 *
3867 * _.isSymbol(Symbol.iterator);
3868 * // => true
3869 *
3870 * _.isSymbol('abc');
3871 * // => false
3872 */
3873 function isSymbol(value) {
3874 return typeof value == 'symbol' ||
3875 (isObjectLike(value) && baseGetTag(value) == symbolTag);
3876 }
3877
3878 module.exports = isSymbol;
3879
3880
3881 /***/ }),
3882
3883 /***/ "./node_modules/lodash/now.js":
3884 /*!************************************!*\
3885 !*** ./node_modules/lodash/now.js ***!
3886 \************************************/
3887 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3888
3889 var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js");
3890
3891 /**
3892 * Gets the timestamp of the number of milliseconds that have elapsed since
3893 * the Unix epoch (1 January 1970 00:00:00 UTC).
3894 *
3895 * @static
3896 * @memberOf _
3897 * @since 2.4.0
3898 * @category Date
3899 * @returns {number} Returns the timestamp.
3900 * @example
3901 *
3902 * _.defer(function(stamp) {
3903 * console.log(_.now() - stamp);
3904 * }, _.now());
3905 * // => Logs the number of milliseconds it took for the deferred invocation.
3906 */
3907 var now = function() {
3908 return root.Date.now();
3909 };
3910
3911 module.exports = now;
3912
3913
3914 /***/ }),
3915
3916 /***/ "./node_modules/lodash/toNumber.js":
3917 /*!*****************************************!*\
3918 !*** ./node_modules/lodash/toNumber.js ***!
3919 \*****************************************/
3920 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
3921
3922 var baseTrim = __webpack_require__(/*! ./_baseTrim */ "./node_modules/lodash/_baseTrim.js"),
3923 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"),
3924 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js");
3925
3926 /** Used as references for various `Number` constants. */
3927 var NAN = 0 / 0;
3928
3929 /** Used to detect bad signed hexadecimal string values. */
3930 var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
3931
3932 /** Used to detect binary string values. */
3933 var reIsBinary = /^0b[01]+$/i;
3934
3935 /** Used to detect octal string values. */
3936 var reIsOctal = /^0o[0-7]+$/i;
3937
3938 /** Built-in method references without a dependency on `root`. */
3939 var freeParseInt = parseInt;
3940
3941 /**
3942 * Converts `value` to a number.
3943 *
3944 * @static
3945 * @memberOf _
3946 * @since 4.0.0
3947 * @category Lang
3948 * @param {*} value The value to process.
3949 * @returns {number} Returns the number.
3950 * @example
3951 *
3952 * _.toNumber(3.2);
3953 * // => 3.2
3954 *
3955 * _.toNumber(Number.MIN_VALUE);
3956 * // => 5e-324
3957 *
3958 * _.toNumber(Infinity);
3959 * // => Infinity
3960 *
3961 * _.toNumber('3.2');
3962 * // => 3.2
3963 */
3964 function toNumber(value) {
3965 if (typeof value == 'number') {
3966 return value;
3967 }
3968 if (isSymbol(value)) {
3969 return NAN;
3970 }
3971 if (isObject(value)) {
3972 var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
3973 value = isObject(other) ? (other + '') : other;
3974 }
3975 if (typeof value != 'string') {
3976 return value === 0 ? value : +value;
3977 }
3978 value = baseTrim(value);
3979 var isBinary = reIsBinary.test(value);
3980 return (isBinary || reIsOctal.test(value))
3981 ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
3982 : (reIsBadHex.test(value) ? NAN : +value);
3983 }
3984
3985 module.exports = toNumber;
3986
3987
3988 /***/ }),
3989
3990 /***/ "./scripts/elementor/Common/ElementorButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/Common/ElementorButton.tsx":
3991 /*!*********************************************************************************************************************************************************************************************!*\
3992 !*** ./scripts/elementor/Common/ElementorButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/Common/ElementorButton.tsx ***!
3993 \*********************************************************************************************************************************************************************************************/
3994 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3995
3996 "use strict";
3997 __webpack_require__.r(__webpack_exports__);
3998 // extracted by mini-css-extract-plugin
3999
4000
4001 /***/ }),
4002
4003 /***/ "./scripts/elementor/MeetingWidget/ElementorMeetingWarning.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx":
4004 /*!***************************************************************************************************************************************************************************************************************************!*\
4005 !*** ./scripts/elementor/MeetingWidget/ElementorMeetingWarning.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/elementor/MeetingWidget/ElementorMeetingWarning.tsx ***!
4006 \***************************************************************************************************************************************************************************************************************************/
4007 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4008
4009 "use strict";
4010 __webpack_require__.r(__webpack_exports__);
4011 // extracted by mini-css-extract-plugin
4012
4013
4014 /***/ }),
4015
4016 /***/ "./scripts/shared/Common/AsyncSelect.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/AsyncSelect.tsx":
4017 /*!*******************************************************************************************************************************************************************************!*\
4018 !*** ./scripts/shared/Common/AsyncSelect.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/AsyncSelect.tsx ***!
4019 \*******************************************************************************************************************************************************************************/
4020 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4021
4022 "use strict";
4023 __webpack_require__.r(__webpack_exports__);
4024 // extracted by mini-css-extract-plugin
4025
4026
4027 /***/ }),
4028
4029 /***/ "./scripts/shared/Common/HubspotWrapper.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/HubspotWrapper.ts":
4030 /*!************************************************************************************************************************************************************************************!*\
4031 !*** ./scripts/shared/Common/HubspotWrapper.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/Common/HubspotWrapper.ts ***!
4032 \************************************************************************************************************************************************************************************/
4033 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4034
4035 "use strict";
4036 __webpack_require__.r(__webpack_exports__);
4037 // extracted by mini-css-extract-plugin
4038
4039
4040 /***/ }),
4041
4042 /***/ "./scripts/shared/UIComponents/UIAlert.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIAlert.tsx":
4043 /*!***********************************************************************************************************************************************************************************!*\
4044 !*** ./scripts/shared/UIComponents/UIAlert.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIAlert.tsx ***!
4045 \***********************************************************************************************************************************************************************************/
4046 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4047
4048 "use strict";
4049 __webpack_require__.r(__webpack_exports__);
4050 // extracted by mini-css-extract-plugin
4051
4052
4053 /***/ }),
4054
4055 /***/ "./scripts/shared/UIComponents/UIButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIButton.ts":
4056 /*!************************************************************************************************************************************************************************************!*\
4057 !*** ./scripts/shared/UIComponents/UIButton.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIButton.ts ***!
4058 \************************************************************************************************************************************************************************************/
4059 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4060
4061 "use strict";
4062 __webpack_require__.r(__webpack_exports__);
4063 // extracted by mini-css-extract-plugin
4064
4065
4066 /***/ }),
4067
4068 /***/ "./scripts/shared/UIComponents/UIContainer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIContainer.ts":
4069 /*!******************************************************************************************************************************************************************************************!*\
4070 !*** ./scripts/shared/UIComponents/UIContainer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIContainer.ts ***!
4071 \******************************************************************************************************************************************************************************************/
4072 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4073
4074 "use strict";
4075 __webpack_require__.r(__webpack_exports__);
4076 // extracted by mini-css-extract-plugin
4077
4078
4079 /***/ }),
4080
4081 /***/ "./scripts/shared/UIComponents/UIOverlay.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIOverlay.ts":
4082 /*!**************************************************************************************************************************************************************************************!*\
4083 !*** ./scripts/shared/UIComponents/UIOverlay.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UIOverlay.ts ***!
4084 \**************************************************************************************************************************************************************************************/
4085 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4086
4087 "use strict";
4088 __webpack_require__.r(__webpack_exports__);
4089 // extracted by mini-css-extract-plugin
4090
4091
4092 /***/ }),
4093
4094 /***/ "./scripts/shared/UIComponents/UISpacer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpacer.ts":
4095 /*!************************************************************************************************************************************************************************************!*\
4096 !*** ./scripts/shared/UIComponents/UISpacer.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpacer.ts ***!
4097 \************************************************************************************************************************************************************************************/
4098 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4099
4100 "use strict";
4101 __webpack_require__.r(__webpack_exports__);
4102 // extracted by mini-css-extract-plugin
4103
4104
4105 /***/ }),
4106
4107 /***/ "./scripts/shared/UIComponents/UISpinner.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpinner.tsx":
4108 /*!***************************************************************************************************************************************************************************************!*\
4109 !*** ./scripts/shared/UIComponents/UISpinner.linaria.css!=!./node_modules/@linaria/webpack5-loader/lib/outputCssLoader.js?cacheProvider=!./scripts/shared/UIComponents/UISpinner.tsx ***!
4110 \***************************************************************************************************************************************************************************************/
4111 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4112
4113 "use strict";
4114 __webpack_require__.r(__webpack_exports__);
4115 // extracted by mini-css-extract-plugin
4116
4117
4118 /***/ }),
4119
4120 /***/ "./node_modules/object-assign/index.js":
4121 /*!*********************************************!*\
4122 !*** ./node_modules/object-assign/index.js ***!
4123 \*********************************************/
4124 /***/ ((module) => {
4125
4126 "use strict";
4127 /*
4128 object-assign
4129 (c) Sindre Sorhus
4130 @license MIT
4131 */
4132
4133
4134 /* eslint-disable no-unused-vars */
4135 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
4136 var hasOwnProperty = Object.prototype.hasOwnProperty;
4137 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
4138
4139 function toObject(val) {
4140 if (val === null || val === undefined) {
4141 throw new TypeError('Object.assign cannot be called with null or undefined');
4142 }
4143
4144 return Object(val);
4145 }
4146
4147 function shouldUseNative() {
4148 try {
4149 if (!Object.assign) {
4150 return false;
4151 }
4152
4153 // Detect buggy property enumeration order in older V8 versions.
4154
4155 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
4156 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
4157 test1[5] = 'de';
4158 if (Object.getOwnPropertyNames(test1)[0] === '5') {
4159 return false;
4160 }
4161
4162 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
4163 var test2 = {};
4164 for (var i = 0; i < 10; i++) {
4165 test2['_' + String.fromCharCode(i)] = i;
4166 }
4167 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
4168 return test2[n];
4169 });
4170 if (order2.join('') !== '0123456789') {
4171 return false;
4172 }
4173
4174 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
4175 var test3 = {};
4176 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
4177 test3[letter] = letter;
4178 });
4179 if (Object.keys(Object.assign({}, test3)).join('') !==
4180 'abcdefghijklmnopqrst') {
4181 return false;
4182 }
4183
4184 return true;
4185 } catch (err) {
4186 // We don't expect any of the above to throw, but better to be safe.
4187 return false;
4188 }
4189 }
4190
4191 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
4192 var from;
4193 var to = toObject(target);
4194 var symbols;
4195
4196 for (var s = 1; s < arguments.length; s++) {
4197 from = Object(arguments[s]);
4198
4199 for (var key in from) {
4200 if (hasOwnProperty.call(from, key)) {
4201 to[key] = from[key];
4202 }
4203 }
4204
4205 if (getOwnPropertySymbols) {
4206 symbols = getOwnPropertySymbols(from);
4207 for (var i = 0; i < symbols.length; i++) {
4208 if (propIsEnumerable.call(from, symbols[i])) {
4209 to[symbols[i]] = from[symbols[i]];
4210 }
4211 }
4212 }
4213 }
4214
4215 return to;
4216 };
4217
4218
4219 /***/ }),
4220
4221 /***/ "./node_modules/raven-js/src/configError.js":
4222 /*!**************************************************!*\
4223 !*** ./node_modules/raven-js/src/configError.js ***!
4224 \**************************************************/
4225 /***/ ((module) => {
4226
4227 function RavenConfigError(message) {
4228 this.name = 'RavenConfigError';
4229 this.message = message;
4230 }
4231 RavenConfigError.prototype = new Error();
4232 RavenConfigError.prototype.constructor = RavenConfigError;
4233
4234 module.exports = RavenConfigError;
4235
4236
4237 /***/ }),
4238
4239 /***/ "./node_modules/raven-js/src/console.js":
4240 /*!**********************************************!*\
4241 !*** ./node_modules/raven-js/src/console.js ***!
4242 \**********************************************/
4243 /***/ ((module) => {
4244
4245 var wrapMethod = function(console, level, callback) {
4246 var originalConsoleLevel = console[level];
4247 var originalConsole = console;
4248
4249 if (!(level in console)) {
4250 return;
4251 }
4252
4253 var sentryLevel = level === 'warn' ? 'warning' : level;
4254
4255 console[level] = function() {
4256 var args = [].slice.call(arguments);
4257
4258 var msg = '' + args.join(' ');
4259 var data = {level: sentryLevel, logger: 'console', extra: {arguments: args}};
4260
4261 if (level === 'assert') {
4262 if (args[0] === false) {
4263 // Default browsers message
4264 msg = 'Assertion failed: ' + (args.slice(1).join(' ') || 'console.assert');
4265 data.extra.arguments = args.slice(1);
4266 callback && callback(msg, data);
4267 }
4268 } else {
4269 callback && callback(msg, data);
4270 }
4271
4272 // this fails for some browsers. :(
4273 if (originalConsoleLevel) {
4274 // IE9 doesn't allow calling apply on console functions directly
4275 // See: https://stackoverflow.com/questions/5472938/does-ie9-support-console-log-and-is-it-a-real-function#answer-5473193
4276 Function.prototype.apply.call(originalConsoleLevel, originalConsole, args);
4277 }
4278 };
4279 };
4280
4281 module.exports = {
4282 wrapMethod: wrapMethod
4283 };
4284
4285
4286 /***/ }),
4287
4288 /***/ "./node_modules/raven-js/src/raven.js":
4289 /*!********************************************!*\
4290 !*** ./node_modules/raven-js/src/raven.js ***!
4291 \********************************************/
4292 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
4293
4294 /*global XDomainRequest:false */
4295
4296 var TraceKit = __webpack_require__(/*! ../vendor/TraceKit/tracekit */ "./node_modules/raven-js/vendor/TraceKit/tracekit.js");
4297 var stringify = __webpack_require__(/*! ../vendor/json-stringify-safe/stringify */ "./node_modules/raven-js/vendor/json-stringify-safe/stringify.js");
4298 var RavenConfigError = __webpack_require__(/*! ./configError */ "./node_modules/raven-js/src/configError.js");
4299
4300 var utils = __webpack_require__(/*! ./utils */ "./node_modules/raven-js/src/utils.js");
4301 var isError = utils.isError;
4302 var isObject = utils.isObject;
4303 var isObject = utils.isObject;
4304 var isErrorEvent = utils.isErrorEvent;
4305 var isUndefined = utils.isUndefined;
4306 var isFunction = utils.isFunction;
4307 var isString = utils.isString;
4308 var isEmptyObject = utils.isEmptyObject;
4309 var each = utils.each;
4310 var objectMerge = utils.objectMerge;
4311 var truncate = utils.truncate;
4312 var objectFrozen = utils.objectFrozen;
4313 var hasKey = utils.hasKey;
4314 var joinRegExp = utils.joinRegExp;
4315 var urlencode = utils.urlencode;
4316 var uuid4 = utils.uuid4;
4317 var htmlTreeAsString = utils.htmlTreeAsString;
4318 var isSameException = utils.isSameException;
4319 var isSameStacktrace = utils.isSameStacktrace;
4320 var parseUrl = utils.parseUrl;
4321 var fill = utils.fill;
4322
4323 var wrapConsoleMethod = (__webpack_require__(/*! ./console */ "./node_modules/raven-js/src/console.js").wrapMethod);
4324
4325 var dsnKeys = 'source protocol user pass host port path'.split(' '),
4326 dsnPattern = /^(?:(\w+):)?\/\/(?:(\w+)(:\w+)?@)?([\w\.-]+)(?::(\d+))?(\/.*)/;
4327
4328 function now() {
4329 return +new Date();
4330 }
4331
4332 // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)
4333 var _window =
4334 typeof window !== 'undefined'
4335 ? window
4336 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
4337 var _document = _window.document;
4338 var _navigator = _window.navigator;
4339
4340 function keepOriginalCallback(original, callback) {
4341 return isFunction(callback)
4342 ? function(data) {
4343 return callback(data, original);
4344 }
4345 : callback;
4346 }
4347
4348 // First, check for JSON support
4349 // If there is no JSON, we no-op the core features of Raven
4350 // since JSON is required to encode the payload
4351 function Raven() {
4352 this._hasJSON = !!(typeof JSON === 'object' && JSON.stringify);
4353 // Raven can run in contexts where there's no document (react-native)
4354 this._hasDocument = !isUndefined(_document);
4355 this._hasNavigator = !isUndefined(_navigator);
4356 this._lastCapturedException = null;
4357 this._lastData = null;
4358 this._lastEventId = null;
4359 this._globalServer = null;
4360 this._globalKey = null;
4361 this._globalProject = null;
4362 this._globalContext = {};
4363 this._globalOptions = {
4364 logger: 'javascript',
4365 ignoreErrors: [],
4366 ignoreUrls: [],
4367 whitelistUrls: [],
4368 includePaths: [],
4369 collectWindowErrors: true,
4370 maxMessageLength: 0,
4371
4372 // By default, truncates URL values to 250 chars
4373 maxUrlLength: 250,
4374 stackTraceLimit: 50,
4375 autoBreadcrumbs: true,
4376 instrument: true,
4377 sampleRate: 1
4378 };
4379 this._ignoreOnError = 0;
4380 this._isRavenInstalled = false;
4381 this._originalErrorStackTraceLimit = Error.stackTraceLimit;
4382 // capture references to window.console *and* all its methods first
4383 // before the console plugin has a chance to monkey patch
4384 this._originalConsole = _window.console || {};
4385 this._originalConsoleMethods = {};
4386 this._plugins = [];
4387 this._startTime = now();
4388 this._wrappedBuiltIns = [];
4389 this._breadcrumbs = [];
4390 this._lastCapturedEvent = null;
4391 this._keypressTimeout;
4392 this._location = _window.location;
4393 this._lastHref = this._location && this._location.href;
4394 this._resetBackoff();
4395
4396 // eslint-disable-next-line guard-for-in
4397 for (var method in this._originalConsole) {
4398 this._originalConsoleMethods[method] = this._originalConsole[method];
4399 }
4400 }
4401
4402 /*
4403 * The core Raven singleton
4404 *
4405 * @this {Raven}
4406 */
4407
4408 Raven.prototype = {
4409 // Hardcode version string so that raven source can be loaded directly via
4410 // webpack (using a build step causes webpack #1617). Grunt verifies that
4411 // this value matches package.json during build.
4412 // See: https://github.com/getsentry/raven-js/issues/465
4413 VERSION: '3.19.1',
4414
4415 debug: false,
4416
4417 TraceKit: TraceKit, // alias to TraceKit
4418
4419 /*
4420 * Configure Raven with a DSN and extra options
4421 *
4422 * @param {string} dsn The public Sentry DSN
4423 * @param {object} options Set of global options [optional]
4424 * @return {Raven}
4425 */
4426 config: function(dsn, options) {
4427 var self = this;
4428
4429 if (self._globalServer) {
4430 this._logDebug('error', 'Error: Raven has already been configured');
4431 return self;
4432 }
4433 if (!dsn) return self;
4434
4435 var globalOptions = self._globalOptions;
4436
4437 // merge in options
4438 if (options) {
4439 each(options, function(key, value) {
4440 // tags and extra are special and need to be put into context
4441 if (key === 'tags' || key === 'extra' || key === 'user') {
4442 self._globalContext[key] = value;
4443 } else {
4444 globalOptions[key] = value;
4445 }
4446 });
4447 }
4448
4449 self.setDSN(dsn);
4450
4451 // "Script error." is hard coded into browsers for errors that it can't read.
4452 // this is the result of a script being pulled in from an external domain and CORS.
4453 globalOptions.ignoreErrors.push(/^Script error\.?$/);
4454 globalOptions.ignoreErrors.push(/^Javascript error: Script error\.? on line 0$/);
4455
4456 // join regexp rules into one big rule
4457 globalOptions.ignoreErrors = joinRegExp(globalOptions.ignoreErrors);
4458 globalOptions.ignoreUrls = globalOptions.ignoreUrls.length
4459 ? joinRegExp(globalOptions.ignoreUrls)
4460 : false;
4461 globalOptions.whitelistUrls = globalOptions.whitelistUrls.length
4462 ? joinRegExp(globalOptions.whitelistUrls)
4463 : false;
4464 globalOptions.includePaths = joinRegExp(globalOptions.includePaths);
4465 globalOptions.maxBreadcrumbs = Math.max(
4466 0,
4467 Math.min(globalOptions.maxBreadcrumbs || 100, 100)
4468 ); // default and hard limit is 100
4469
4470 var autoBreadcrumbDefaults = {
4471 xhr: true,
4472 console: true,
4473 dom: true,
4474 location: true
4475 };
4476
4477 var autoBreadcrumbs = globalOptions.autoBreadcrumbs;
4478 if ({}.toString.call(autoBreadcrumbs) === '[object Object]') {
4479 autoBreadcrumbs = objectMerge(autoBreadcrumbDefaults, autoBreadcrumbs);
4480 } else if (autoBreadcrumbs !== false) {
4481 autoBreadcrumbs = autoBreadcrumbDefaults;
4482 }
4483 globalOptions.autoBreadcrumbs = autoBreadcrumbs;
4484
4485 var instrumentDefaults = {
4486 tryCatch: true
4487 };
4488
4489 var instrument = globalOptions.instrument;
4490 if ({}.toString.call(instrument) === '[object Object]') {
4491 instrument = objectMerge(instrumentDefaults, instrument);
4492 } else if (instrument !== false) {
4493 instrument = instrumentDefaults;
4494 }
4495 globalOptions.instrument = instrument;
4496
4497 TraceKit.collectWindowErrors = !!globalOptions.collectWindowErrors;
4498
4499 // return for chaining
4500 return self;
4501 },
4502
4503 /*
4504 * Installs a global window.onerror error handler
4505 * to capture and report uncaught exceptions.
4506 * At this point, install() is required to be called due
4507 * to the way TraceKit is set up.
4508 *
4509 * @return {Raven}
4510 */
4511 install: function() {
4512 var self = this;
4513 if (self.isSetup() && !self._isRavenInstalled) {
4514 TraceKit.report.subscribe(function() {
4515 self._handleOnErrorStackInfo.apply(self, arguments);
4516 });
4517 if (self._globalOptions.instrument && self._globalOptions.instrument.tryCatch) {
4518 self._instrumentTryCatch();
4519 }
4520
4521 if (self._globalOptions.autoBreadcrumbs) self._instrumentBreadcrumbs();
4522
4523 // Install all of the plugins
4524 self._drainPlugins();
4525
4526 self._isRavenInstalled = true;
4527 }
4528
4529 Error.stackTraceLimit = self._globalOptions.stackTraceLimit;
4530 return this;
4531 },
4532
4533 /*
4534 * Set the DSN (can be called multiple time unlike config)
4535 *
4536 * @param {string} dsn The public Sentry DSN
4537 */
4538 setDSN: function(dsn) {
4539 var self = this,
4540 uri = self._parseDSN(dsn),
4541 lastSlash = uri.path.lastIndexOf('/'),
4542 path = uri.path.substr(1, lastSlash);
4543
4544 self._dsn = dsn;
4545 self._globalKey = uri.user;
4546 self._globalSecret = uri.pass && uri.pass.substr(1);
4547 self._globalProject = uri.path.substr(lastSlash + 1);
4548
4549 self._globalServer = self._getGlobalServer(uri);
4550
4551 self._globalEndpoint =
4552 self._globalServer + '/' + path + 'api/' + self._globalProject + '/store/';
4553
4554 // Reset backoff state since we may be pointing at a
4555 // new project/server
4556 this._resetBackoff();
4557 },
4558
4559 /*
4560 * Wrap code within a context so Raven can capture errors
4561 * reliably across domains that is executed immediately.
4562 *
4563 * @param {object} options A specific set of options for this context [optional]
4564 * @param {function} func The callback to be immediately executed within the context
4565 * @param {array} args An array of arguments to be called with the callback [optional]
4566 */
4567 context: function(options, func, args) {
4568 if (isFunction(options)) {
4569 args = func || [];
4570 func = options;
4571 options = undefined;
4572 }
4573
4574 return this.wrap(options, func).apply(this, args);
4575 },
4576
4577 /*
4578 * Wrap code within a context and returns back a new function to be executed
4579 *
4580 * @param {object} options A specific set of options for this context [optional]
4581 * @param {function} func The function to be wrapped in a new context
4582 * @param {function} func A function to call before the try/catch wrapper [optional, private]
4583 * @return {function} The newly wrapped functions with a context
4584 */
4585 wrap: function(options, func, _before) {
4586 var self = this;
4587 // 1 argument has been passed, and it's not a function
4588 // so just return it
4589 if (isUndefined(func) && !isFunction(options)) {
4590 return options;
4591 }
4592
4593 // options is optional
4594 if (isFunction(options)) {
4595 func = options;
4596 options = undefined;
4597 }
4598
4599 // At this point, we've passed along 2 arguments, and the second one
4600 // is not a function either, so we'll just return the second argument.
4601 if (!isFunction(func)) {
4602 return func;
4603 }
4604
4605 // We don't wanna wrap it twice!
4606 try {
4607 if (func.__raven__) {
4608 return func;
4609 }
4610
4611 // If this has already been wrapped in the past, return that
4612 if (func.__raven_wrapper__) {
4613 return func.__raven_wrapper__;
4614 }
4615 } catch (e) {
4616 // Just accessing custom props in some Selenium environments
4617 // can cause a "Permission denied" exception (see raven-js#495).
4618 // Bail on wrapping and return the function as-is (defers to window.onerror).
4619 return func;
4620 }
4621
4622 function wrapped() {
4623 var args = [],
4624 i = arguments.length,
4625 deep = !options || (options && options.deep !== false);
4626
4627 if (_before && isFunction(_before)) {
4628 _before.apply(this, arguments);
4629 }
4630
4631 // Recursively wrap all of a function's arguments that are
4632 // functions themselves.
4633 while (i--) args[i] = deep ? self.wrap(options, arguments[i]) : arguments[i];
4634
4635 try {
4636 // Attempt to invoke user-land function
4637 // NOTE: If you are a Sentry user, and you are seeing this stack frame, it
4638 // means Raven caught an error invoking your application code. This is
4639 // expected behavior and NOT indicative of a bug with Raven.js.
4640 return func.apply(this, args);
4641 } catch (e) {
4642 self._ignoreNextOnError();
4643 self.captureException(e, options);
4644 throw e;
4645 }
4646 }
4647
4648 // copy over properties of the old function
4649 for (var property in func) {
4650 if (hasKey(func, property)) {
4651 wrapped[property] = func[property];
4652 }
4653 }
4654 wrapped.prototype = func.prototype;
4655
4656 func.__raven_wrapper__ = wrapped;
4657 // Signal that this function has been wrapped already
4658 // for both debugging and to prevent it to being wrapped twice
4659 wrapped.__raven__ = true;
4660 wrapped.__inner__ = func;
4661
4662 return wrapped;
4663 },
4664
4665 /*
4666 * Uninstalls the global error handler.
4667 *
4668 * @return {Raven}
4669 */
4670 uninstall: function() {
4671 TraceKit.report.uninstall();
4672
4673 this._restoreBuiltIns();
4674
4675 Error.stackTraceLimit = this._originalErrorStackTraceLimit;
4676 this._isRavenInstalled = false;
4677
4678 return this;
4679 },
4680
4681 /*
4682 * Manually capture an exception and send it over to Sentry
4683 *
4684 * @param {error} ex An exception to be logged
4685 * @param {object} options A specific set of options for this error [optional]
4686 * @return {Raven}
4687 */
4688 captureException: function(ex, options) {
4689 // Cases for sending ex as a message, rather than an exception
4690 var isNotError = !isError(ex);
4691 var isNotErrorEvent = !isErrorEvent(ex);
4692 var isErrorEventWithoutError = isErrorEvent(ex) && !ex.error;
4693
4694 if ((isNotError && isNotErrorEvent) || isErrorEventWithoutError) {
4695 return this.captureMessage(
4696 ex,
4697 objectMerge(
4698 {
4699 trimHeadFrames: 1,
4700 stacktrace: true // if we fall back to captureMessage, default to attempting a new trace
4701 },
4702 options
4703 )
4704 );
4705 }
4706
4707 // Get actual Error from ErrorEvent
4708 if (isErrorEvent(ex)) ex = ex.error;
4709
4710 // Store the raw exception object for potential debugging and introspection
4711 this._lastCapturedException = ex;
4712
4713 // TraceKit.report will re-raise any exception passed to it,
4714 // which means you have to wrap it in try/catch. Instead, we
4715 // can wrap it here and only re-raise if TraceKit.report
4716 // raises an exception different from the one we asked to
4717 // report on.
4718 try {
4719 var stack = TraceKit.computeStackTrace(ex);
4720 this._handleStackInfo(stack, options);
4721 } catch (ex1) {
4722 if (ex !== ex1) {
4723 throw ex1;
4724 }
4725 }
4726
4727 return this;
4728 },
4729
4730 /*
4731 * Manually send a message to Sentry
4732 *
4733 * @param {string} msg A plain message to be captured in Sentry
4734 * @param {object} options A specific set of options for this message [optional]
4735 * @return {Raven}
4736 */
4737 captureMessage: function(msg, options) {
4738 // config() automagically converts ignoreErrors from a list to a RegExp so we need to test for an
4739 // early call; we'll error on the side of logging anything called before configuration since it's
4740 // probably something you should see:
4741 if (
4742 !!this._globalOptions.ignoreErrors.test &&
4743 this._globalOptions.ignoreErrors.test(msg)
4744 ) {
4745 return;
4746 }
4747
4748 options = options || {};
4749
4750 var data = objectMerge(
4751 {
4752 message: msg + '' // Make sure it's actually a string
4753 },
4754 options
4755 );
4756
4757 var ex;
4758 // Generate a "synthetic" stack trace from this point.
4759 // NOTE: If you are a Sentry user, and you are seeing this stack frame, it is NOT indicative
4760 // of a bug with Raven.js. Sentry generates synthetic traces either by configuration,
4761 // or if it catches a thrown object without a "stack" property.
4762 try {
4763 throw new Error(msg);
4764 } catch (ex1) {
4765 ex = ex1;
4766 }
4767
4768 // null exception name so `Error` isn't prefixed to msg
4769 ex.name = null;
4770 var stack = TraceKit.computeStackTrace(ex);
4771
4772 // stack[0] is `throw new Error(msg)` call itself, we are interested in the frame that was just before that, stack[1]
4773 var initialCall = stack.stack[1];
4774
4775 var fileurl = (initialCall && initialCall.url) || '';
4776
4777 if (
4778 !!this._globalOptions.ignoreUrls.test &&
4779 this._globalOptions.ignoreUrls.test(fileurl)
4780 ) {
4781 return;
4782 }
4783
4784 if (
4785 !!this._globalOptions.whitelistUrls.test &&
4786 !this._globalOptions.whitelistUrls.test(fileurl)
4787 ) {
4788 return;
4789 }
4790
4791 if (this._globalOptions.stacktrace || (options && options.stacktrace)) {
4792 options = objectMerge(
4793 {
4794 // fingerprint on msg, not stack trace (legacy behavior, could be
4795 // revisited)
4796 fingerprint: msg,
4797 // since we know this is a synthetic trace, the top N-most frames
4798 // MUST be from Raven.js, so mark them as in_app later by setting
4799 // trimHeadFrames
4800 trimHeadFrames: (options.trimHeadFrames || 0) + 1
4801 },
4802 options
4803 );
4804
4805 var frames = this._prepareFrames(stack, options);
4806 data.stacktrace = {
4807 // Sentry expects frames oldest to newest
4808 frames: frames.reverse()
4809 };
4810 }
4811
4812 // Fire away!
4813 this._send(data);
4814
4815 return this;
4816 },
4817
4818 captureBreadcrumb: function(obj) {
4819 var crumb = objectMerge(
4820 {
4821 timestamp: now() / 1000
4822 },
4823 obj
4824 );
4825
4826 if (isFunction(this._globalOptions.breadcrumbCallback)) {
4827 var result = this._globalOptions.breadcrumbCallback(crumb);
4828
4829 if (isObject(result) && !isEmptyObject(result)) {
4830 crumb = result;
4831 } else if (result === false) {
4832 return this;
4833 }
4834 }
4835
4836 this._breadcrumbs.push(crumb);
4837 if (this._breadcrumbs.length > this._globalOptions.maxBreadcrumbs) {
4838 this._breadcrumbs.shift();
4839 }
4840 return this;
4841 },
4842
4843 addPlugin: function(plugin /*arg1, arg2, ... argN*/) {
4844 var pluginArgs = [].slice.call(arguments, 1);
4845
4846 this._plugins.push([plugin, pluginArgs]);
4847 if (this._isRavenInstalled) {
4848 this._drainPlugins();
4849 }
4850
4851 return this;
4852 },
4853
4854 /*
4855 * Set/clear a user to be sent along with the payload.
4856 *
4857 * @param {object} user An object representing user data [optional]
4858 * @return {Raven}
4859 */
4860 setUserContext: function(user) {
4861 // Intentionally do not merge here since that's an unexpected behavior.
4862 this._globalContext.user = user;
4863
4864 return this;
4865 },
4866
4867 /*
4868 * Merge extra attributes to be sent along with the payload.
4869 *
4870 * @param {object} extra An object representing extra data [optional]
4871 * @return {Raven}
4872 */
4873 setExtraContext: function(extra) {
4874 this._mergeContext('extra', extra);
4875
4876 return this;
4877 },
4878
4879 /*
4880 * Merge tags to be sent along with the payload.
4881 *
4882 * @param {object} tags An object representing tags [optional]
4883 * @return {Raven}
4884 */
4885 setTagsContext: function(tags) {
4886 this._mergeContext('tags', tags);
4887
4888 return this;
4889 },
4890
4891 /*
4892 * Clear all of the context.
4893 *
4894 * @return {Raven}
4895 */
4896 clearContext: function() {
4897 this._globalContext = {};
4898
4899 return this;
4900 },
4901
4902 /*
4903 * Get a copy of the current context. This cannot be mutated.
4904 *
4905 * @return {object} copy of context
4906 */
4907 getContext: function() {
4908 // lol javascript
4909 return JSON.parse(stringify(this._globalContext));
4910 },
4911
4912 /*
4913 * Set environment of application
4914 *
4915 * @param {string} environment Typically something like 'production'.
4916 * @return {Raven}
4917 */
4918 setEnvironment: function(environment) {
4919 this._globalOptions.environment = environment;
4920
4921 return this;
4922 },
4923
4924 /*
4925 * Set release version of application
4926 *
4927 * @param {string} release Typically something like a git SHA to identify version
4928 * @return {Raven}
4929 */
4930 setRelease: function(release) {
4931 this._globalOptions.release = release;
4932
4933 return this;
4934 },
4935
4936 /*
4937 * Set the dataCallback option
4938 *
4939 * @param {function} callback The callback to run which allows the
4940 * data blob to be mutated before sending
4941 * @return {Raven}
4942 */
4943 setDataCallback: function(callback) {
4944 var original = this._globalOptions.dataCallback;
4945 this._globalOptions.dataCallback = keepOriginalCallback(original, callback);
4946 return this;
4947 },
4948
4949 /*
4950 * Set the breadcrumbCallback option
4951 *
4952 * @param {function} callback The callback to run which allows filtering
4953 * or mutating breadcrumbs
4954 * @return {Raven}
4955 */
4956 setBreadcrumbCallback: function(callback) {
4957 var original = this._globalOptions.breadcrumbCallback;
4958 this._globalOptions.breadcrumbCallback = keepOriginalCallback(original, callback);
4959 return this;
4960 },
4961
4962 /*
4963 * Set the shouldSendCallback option
4964 *
4965 * @param {function} callback The callback to run which allows
4966 * introspecting the blob before sending
4967 * @return {Raven}
4968 */
4969 setShouldSendCallback: function(callback) {
4970 var original = this._globalOptions.shouldSendCallback;
4971 this._globalOptions.shouldSendCallback = keepOriginalCallback(original, callback);
4972 return this;
4973 },
4974
4975 /**
4976 * Override the default HTTP transport mechanism that transmits data
4977 * to the Sentry server.
4978 *
4979 * @param {function} transport Function invoked instead of the default
4980 * `makeRequest` handler.
4981 *
4982 * @return {Raven}
4983 */
4984 setTransport: function(transport) {
4985 this._globalOptions.transport = transport;
4986
4987 return this;
4988 },
4989
4990 /*
4991 * Get the latest raw exception that was captured by Raven.
4992 *
4993 * @return {error}
4994 */
4995 lastException: function() {
4996 return this._lastCapturedException;
4997 },
4998
4999 /*
5000 * Get the last event id
5001 *
5002 * @return {string}
5003 */
5004 lastEventId: function() {
5005 return this._lastEventId;
5006 },
5007
5008 /*
5009 * Determine if Raven is setup and ready to go.
5010 *
5011 * @return {boolean}
5012 */
5013 isSetup: function() {
5014 if (!this._hasJSON) return false; // needs JSON support
5015 if (!this._globalServer) {
5016 if (!this.ravenNotConfiguredError) {
5017 this.ravenNotConfiguredError = true;
5018 this._logDebug('error', 'Error: Raven has not been configured.');
5019 }
5020 return false;
5021 }
5022 return true;
5023 },
5024
5025 afterLoad: function() {
5026 // TODO: remove window dependence?
5027
5028 // Attempt to initialize Raven on load
5029 var RavenConfig = _window.RavenConfig;
5030 if (RavenConfig) {
5031 this.config(RavenConfig.dsn, RavenConfig.config).install();
5032 }
5033 },
5034
5035 showReportDialog: function(options) {
5036 if (
5037 !_document // doesn't work without a document (React native)
5038 )
5039 return;
5040
5041 options = options || {};
5042
5043 var lastEventId = options.eventId || this.lastEventId();
5044 if (!lastEventId) {
5045 throw new RavenConfigError('Missing eventId');
5046 }
5047
5048 var dsn = options.dsn || this._dsn;
5049 if (!dsn) {
5050 throw new RavenConfigError('Missing DSN');
5051 }
5052
5053 var encode = encodeURIComponent;
5054 var qs = '';
5055 qs += '?eventId=' + encode(lastEventId);
5056 qs += '&dsn=' + encode(dsn);
5057
5058 var user = options.user || this._globalContext.user;
5059 if (user) {
5060 if (user.name) qs += '&name=' + encode(user.name);
5061 if (user.email) qs += '&email=' + encode(user.email);
5062 }
5063
5064 var globalServer = this._getGlobalServer(this._parseDSN(dsn));
5065
5066 var script = _document.createElement('script');
5067 script.async = true;
5068 script.src = globalServer + '/api/embed/error-page/' + qs;
5069 (_document.head || _document.body).appendChild(script);
5070 },
5071
5072 /**** Private functions ****/
5073 _ignoreNextOnError: function() {
5074 var self = this;
5075 this._ignoreOnError += 1;
5076 setTimeout(function() {
5077 // onerror should trigger before setTimeout
5078 self._ignoreOnError -= 1;
5079 });
5080 },
5081
5082 _triggerEvent: function(eventType, options) {
5083 // NOTE: `event` is a native browser thing, so let's avoid conflicting wiht it
5084 var evt, key;
5085
5086 if (!this._hasDocument) return;
5087
5088 options = options || {};
5089
5090 eventType = 'raven' + eventType.substr(0, 1).toUpperCase() + eventType.substr(1);
5091
5092 if (_document.createEvent) {
5093 evt = _document.createEvent('HTMLEvents');
5094 evt.initEvent(eventType, true, true);
5095 } else {
5096 evt = _document.createEventObject();
5097 evt.eventType = eventType;
5098 }
5099
5100 for (key in options)
5101 if (hasKey(options, key)) {
5102 evt[key] = options[key];
5103 }
5104
5105 if (_document.createEvent) {
5106 // IE9 if standards
5107 _document.dispatchEvent(evt);
5108 } else {
5109 // IE8 regardless of Quirks or Standards
5110 // IE9 if quirks
5111 try {
5112 _document.fireEvent('on' + evt.eventType.toLowerCase(), evt);
5113 } catch (e) {
5114 // Do nothing
5115 }
5116 }
5117 },
5118
5119 /**
5120 * Wraps addEventListener to capture UI breadcrumbs
5121 * @param evtName the event name (e.g. "click")
5122 * @returns {Function}
5123 * @private
5124 */
5125 _breadcrumbEventHandler: function(evtName) {
5126 var self = this;
5127 return function(evt) {
5128 // reset keypress timeout; e.g. triggering a 'click' after
5129 // a 'keypress' will reset the keypress debounce so that a new
5130 // set of keypresses can be recorded
5131 self._keypressTimeout = null;
5132
5133 // It's possible this handler might trigger multiple times for the same
5134 // event (e.g. event propagation through node ancestors). Ignore if we've
5135 // already captured the event.
5136 if (self._lastCapturedEvent === evt) return;
5137
5138 self._lastCapturedEvent = evt;
5139
5140 // try/catch both:
5141 // - accessing evt.target (see getsentry/raven-js#838, #768)
5142 // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly
5143 // can throw an exception in some circumstances.
5144 var target;
5145 try {
5146 target = htmlTreeAsString(evt.target);
5147 } catch (e) {
5148 target = '<unknown>';
5149 }
5150
5151 self.captureBreadcrumb({
5152 category: 'ui.' + evtName, // e.g. ui.click, ui.input
5153 message: target
5154 });
5155 };
5156 },
5157
5158 /**
5159 * Wraps addEventListener to capture keypress UI events
5160 * @returns {Function}
5161 * @private
5162 */
5163 _keypressEventHandler: function() {
5164 var self = this,
5165 debounceDuration = 1000; // milliseconds
5166
5167 // TODO: if somehow user switches keypress target before
5168 // debounce timeout is triggered, we will only capture
5169 // a single breadcrumb from the FIRST target (acceptable?)
5170 return function(evt) {
5171 var target;
5172 try {
5173 target = evt.target;
5174 } catch (e) {
5175 // just accessing event properties can throw an exception in some rare circumstances
5176 // see: https://github.com/getsentry/raven-js/issues/838
5177 return;
5178 }
5179 var tagName = target && target.tagName;
5180
5181 // only consider keypress events on actual input elements
5182 // this will disregard keypresses targeting body (e.g. tabbing
5183 // through elements, hotkeys, etc)
5184 if (
5185 !tagName ||
5186 (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && !target.isContentEditable)
5187 )
5188 return;
5189
5190 // record first keypress in a series, but ignore subsequent
5191 // keypresses until debounce clears
5192 var timeout = self._keypressTimeout;
5193 if (!timeout) {
5194 self._breadcrumbEventHandler('input')(evt);
5195 }
5196 clearTimeout(timeout);
5197 self._keypressTimeout = setTimeout(function() {
5198 self._keypressTimeout = null;
5199 }, debounceDuration);
5200 };
5201 },
5202
5203 /**
5204 * Captures a breadcrumb of type "navigation", normalizing input URLs
5205 * @param to the originating URL
5206 * @param from the target URL
5207 * @private
5208 */
5209 _captureUrlChange: function(from, to) {
5210 var parsedLoc = parseUrl(this._location.href);
5211 var parsedTo = parseUrl(to);
5212 var parsedFrom = parseUrl(from);
5213
5214 // because onpopstate only tells you the "new" (to) value of location.href, and
5215 // not the previous (from) value, we need to track the value of the current URL
5216 // state ourselves
5217 this._lastHref = to;
5218
5219 // Use only the path component of the URL if the URL matches the current
5220 // document (almost all the time when using pushState)
5221 if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host)
5222 to = parsedTo.relative;
5223 if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host)
5224 from = parsedFrom.relative;
5225
5226 this.captureBreadcrumb({
5227 category: 'navigation',
5228 data: {
5229 to: to,
5230 from: from
5231 }
5232 });
5233 },
5234
5235 /**
5236 * Wrap timer functions and event targets to catch errors and provide
5237 * better metadata.
5238 */
5239 _instrumentTryCatch: function() {
5240 var self = this;
5241
5242 var wrappedBuiltIns = self._wrappedBuiltIns;
5243
5244 function wrapTimeFn(orig) {
5245 return function(fn, t) {
5246 // preserve arity
5247 // Make a copy of the arguments to prevent deoptimization
5248 // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
5249 var args = new Array(arguments.length);
5250 for (var i = 0; i < args.length; ++i) {
5251 args[i] = arguments[i];
5252 }
5253 var originalCallback = args[0];
5254 if (isFunction(originalCallback)) {
5255 args[0] = self.wrap(originalCallback);
5256 }
5257
5258 // IE < 9 doesn't support .call/.apply on setInterval/setTimeout, but it
5259 // also supports only two arguments and doesn't care what this is, so we
5260 // can just call the original function directly.
5261 if (orig.apply) {
5262 return orig.apply(this, args);
5263 } else {
5264 return orig(args[0], args[1]);
5265 }
5266 };
5267 }
5268
5269 var autoBreadcrumbs = this._globalOptions.autoBreadcrumbs;
5270
5271 function wrapEventTarget(global) {
5272 var proto = _window[global] && _window[global].prototype;
5273 if (proto && proto.hasOwnProperty && proto.hasOwnProperty('addEventListener')) {
5274 fill(
5275 proto,
5276 'addEventListener',
5277 function(orig) {
5278 return function(evtName, fn, capture, secure) {
5279 // preserve arity
5280 try {
5281 if (fn && fn.handleEvent) {
5282 fn.handleEvent = self.wrap(fn.handleEvent);
5283 }
5284 } catch (err) {
5285 // can sometimes get 'Permission denied to access property "handle Event'
5286 }
5287
5288 // More breadcrumb DOM capture ... done here and not in `_instrumentBreadcrumbs`
5289 // so that we don't have more than one wrapper function
5290 var before, clickHandler, keypressHandler;
5291
5292 if (
5293 autoBreadcrumbs &&
5294 autoBreadcrumbs.dom &&
5295 (global === 'EventTarget' || global === 'Node')
5296 ) {
5297 // NOTE: generating multiple handlers per addEventListener invocation, should
5298 // revisit and verify we can just use one (almost certainly)
5299 clickHandler = self._breadcrumbEventHandler('click');
5300 keypressHandler = self._keypressEventHandler();
5301 before = function(evt) {
5302 // need to intercept every DOM event in `before` argument, in case that
5303 // same wrapped method is re-used for different events (e.g. mousemove THEN click)
5304 // see #724
5305 if (!evt) return;
5306
5307 var eventType;
5308 try {
5309 eventType = evt.type;
5310 } catch (e) {
5311 // just accessing event properties can throw an exception in some rare circumstances
5312 // see: https://github.com/getsentry/raven-js/issues/838
5313 return;
5314 }
5315 if (eventType === 'click') return clickHandler(evt);
5316 else if (eventType === 'keypress') return keypressHandler(evt);
5317 };
5318 }
5319 return orig.call(
5320 this,
5321 evtName,
5322 self.wrap(fn, undefined, before),
5323 capture,
5324 secure
5325 );
5326 };
5327 },
5328 wrappedBuiltIns
5329 );
5330 fill(
5331 proto,
5332 'removeEventListener',
5333 function(orig) {
5334 return function(evt, fn, capture, secure) {
5335 try {
5336 fn = fn && (fn.__raven_wrapper__ ? fn.__raven_wrapper__ : fn);
5337 } catch (e) {
5338 // ignore, accessing __raven_wrapper__ will throw in some Selenium environments
5339 }
5340 return orig.call(this, evt, fn, capture, secure);
5341 };
5342 },
5343 wrappedBuiltIns
5344 );
5345 }
5346 }
5347
5348 fill(_window, 'setTimeout', wrapTimeFn, wrappedBuiltIns);
5349 fill(_window, 'setInterval', wrapTimeFn, wrappedBuiltIns);
5350 if (_window.requestAnimationFrame) {
5351 fill(
5352 _window,
5353 'requestAnimationFrame',
5354 function(orig) {
5355 return function(cb) {
5356 return orig(self.wrap(cb));
5357 };
5358 },
5359 wrappedBuiltIns
5360 );
5361 }
5362
5363 // event targets borrowed from bugsnag-js:
5364 // https://github.com/bugsnag/bugsnag-js/blob/master/src/bugsnag.js#L666
5365 var eventTargets = [
5366 'EventTarget',
5367 'Window',
5368 'Node',
5369 'ApplicationCache',
5370 'AudioTrackList',
5371 'ChannelMergerNode',
5372 'CryptoOperation',
5373 'EventSource',
5374 'FileReader',
5375 'HTMLUnknownElement',
5376 'IDBDatabase',
5377 'IDBRequest',
5378 'IDBTransaction',
5379 'KeyOperation',
5380 'MediaController',
5381 'MessagePort',
5382 'ModalWindow',
5383 'Notification',
5384 'SVGElementInstance',
5385 'Screen',
5386 'TextTrack',
5387 'TextTrackCue',
5388 'TextTrackList',
5389 'WebSocket',
5390 'WebSocketWorker',
5391 'Worker',
5392 'XMLHttpRequest',
5393 'XMLHttpRequestEventTarget',
5394 'XMLHttpRequestUpload'
5395 ];
5396 for (var i = 0; i < eventTargets.length; i++) {
5397 wrapEventTarget(eventTargets[i]);
5398 }
5399 },
5400
5401 /**
5402 * Instrument browser built-ins w/ breadcrumb capturing
5403 * - XMLHttpRequests
5404 * - DOM interactions (click/typing)
5405 * - window.location changes
5406 * - console
5407 *
5408 * Can be disabled or individually configured via the `autoBreadcrumbs` config option
5409 */
5410 _instrumentBreadcrumbs: function() {
5411 var self = this;
5412 var autoBreadcrumbs = this._globalOptions.autoBreadcrumbs;
5413
5414 var wrappedBuiltIns = self._wrappedBuiltIns;
5415
5416 function wrapProp(prop, xhr) {
5417 if (prop in xhr && isFunction(xhr[prop])) {
5418 fill(xhr, prop, function(orig) {
5419 return self.wrap(orig);
5420 }); // intentionally don't track filled methods on XHR instances
5421 }
5422 }
5423
5424 if (autoBreadcrumbs.xhr && 'XMLHttpRequest' in _window) {
5425 var xhrproto = XMLHttpRequest.prototype;
5426 fill(
5427 xhrproto,
5428 'open',
5429 function(origOpen) {
5430 return function(method, url) {
5431 // preserve arity
5432
5433 // if Sentry key appears in URL, don't capture
5434 if (isString(url) && url.indexOf(self._globalKey) === -1) {
5435 this.__raven_xhr = {
5436 method: method,
5437 url: url,
5438 status_code: null
5439 };
5440 }
5441
5442 return origOpen.apply(this, arguments);
5443 };
5444 },
5445 wrappedBuiltIns
5446 );
5447
5448 fill(
5449 xhrproto,
5450 'send',
5451 function(origSend) {
5452 return function(data) {
5453 // preserve arity
5454 var xhr = this;
5455
5456 function onreadystatechangeHandler() {
5457 if (xhr.__raven_xhr && xhr.readyState === 4) {
5458 try {
5459 // touching statusCode in some platforms throws
5460 // an exception
5461 xhr.__raven_xhr.status_code = xhr.status;
5462 } catch (e) {
5463 /* do nothing */
5464 }
5465
5466 self.captureBreadcrumb({
5467 type: 'http',
5468 category: 'xhr',
5469 data: xhr.__raven_xhr
5470 });
5471 }
5472 }
5473
5474 var props = ['onload', 'onerror', 'onprogress'];
5475 for (var j = 0; j < props.length; j++) {
5476 wrapProp(props[j], xhr);
5477 }
5478
5479 if ('onreadystatechange' in xhr && isFunction(xhr.onreadystatechange)) {
5480 fill(
5481 xhr,
5482 'onreadystatechange',
5483 function(orig) {
5484 return self.wrap(orig, undefined, onreadystatechangeHandler);
5485 } /* intentionally don't track this instrumentation */
5486 );
5487 } else {
5488 // if onreadystatechange wasn't actually set by the page on this xhr, we
5489 // are free to set our own and capture the breadcrumb
5490 xhr.onreadystatechange = onreadystatechangeHandler;
5491 }
5492
5493 return origSend.apply(this, arguments);
5494 };
5495 },
5496 wrappedBuiltIns
5497 );
5498 }
5499
5500 if (autoBreadcrumbs.xhr && 'fetch' in _window) {
5501 fill(
5502 _window,
5503 'fetch',
5504 function(origFetch) {
5505 return function(fn, t) {
5506 // preserve arity
5507 // Make a copy of the arguments to prevent deoptimization
5508 // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
5509 var args = new Array(arguments.length);
5510 for (var i = 0; i < args.length; ++i) {
5511 args[i] = arguments[i];
5512 }
5513
5514 var fetchInput = args[0];
5515 var method = 'GET';
5516 var url;
5517
5518 if (typeof fetchInput === 'string') {
5519 url = fetchInput;
5520 } else if ('Request' in _window && fetchInput instanceof _window.Request) {
5521 url = fetchInput.url;
5522 if (fetchInput.method) {
5523 method = fetchInput.method;
5524 }
5525 } else {
5526 url = '' + fetchInput;
5527 }
5528
5529 if (args[1] && args[1].method) {
5530 method = args[1].method;
5531 }
5532
5533 var fetchData = {
5534 method: method,
5535 url: url,
5536 status_code: null
5537 };
5538
5539 self.captureBreadcrumb({
5540 type: 'http',
5541 category: 'fetch',
5542 data: fetchData
5543 });
5544
5545 return origFetch.apply(this, args).then(function(response) {
5546 fetchData.status_code = response.status;
5547
5548 return response;
5549 });
5550 };
5551 },
5552 wrappedBuiltIns
5553 );
5554 }
5555
5556 // Capture breadcrumbs from any click that is unhandled / bubbled up all the way
5557 // to the document. Do this before we instrument addEventListener.
5558 if (autoBreadcrumbs.dom && this._hasDocument) {
5559 if (_document.addEventListener) {
5560 _document.addEventListener('click', self._breadcrumbEventHandler('click'), false);
5561 _document.addEventListener('keypress', self._keypressEventHandler(), false);
5562 } else {
5563 // IE8 Compatibility
5564 _document.attachEvent('onclick', self._breadcrumbEventHandler('click'));
5565 _document.attachEvent('onkeypress', self._keypressEventHandler());
5566 }
5567 }
5568
5569 // record navigation (URL) changes
5570 // NOTE: in Chrome App environment, touching history.pushState, *even inside
5571 // a try/catch block*, will cause Chrome to output an error to console.error
5572 // borrowed from: https://github.com/angular/angular.js/pull/13945/files
5573 var chrome = _window.chrome;
5574 var isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;
5575 var hasPushAndReplaceState =
5576 !isChromePackagedApp &&
5577 _window.history &&
5578 history.pushState &&
5579 history.replaceState;
5580 if (autoBreadcrumbs.location && hasPushAndReplaceState) {
5581 // TODO: remove onpopstate handler on uninstall()
5582 var oldOnPopState = _window.onpopstate;
5583 _window.onpopstate = function() {
5584 var currentHref = self._location.href;
5585 self._captureUrlChange(self._lastHref, currentHref);
5586
5587 if (oldOnPopState) {
5588 return oldOnPopState.apply(this, arguments);
5589 }
5590 };
5591
5592 var historyReplacementFunction = function(origHistFunction) {
5593 // note history.pushState.length is 0; intentionally not declaring
5594 // params to preserve 0 arity
5595 return function(/* state, title, url */) {
5596 var url = arguments.length > 2 ? arguments[2] : undefined;
5597
5598 // url argument is optional
5599 if (url) {
5600 // coerce to string (this is what pushState does)
5601 self._captureUrlChange(self._lastHref, url + '');
5602 }
5603
5604 return origHistFunction.apply(this, arguments);
5605 };
5606 };
5607
5608 fill(history, 'pushState', historyReplacementFunction, wrappedBuiltIns);
5609 fill(history, 'replaceState', historyReplacementFunction, wrappedBuiltIns);
5610 }
5611
5612 if (autoBreadcrumbs.console && 'console' in _window && console.log) {
5613 // console
5614 var consoleMethodCallback = function(msg, data) {
5615 self.captureBreadcrumb({
5616 message: msg,
5617 level: data.level,
5618 category: 'console'
5619 });
5620 };
5621
5622 each(['debug', 'info', 'warn', 'error', 'log'], function(_, level) {
5623 wrapConsoleMethod(console, level, consoleMethodCallback);
5624 });
5625 }
5626 },
5627
5628 _restoreBuiltIns: function() {
5629 // restore any wrapped builtins
5630 var builtin;
5631 while (this._wrappedBuiltIns.length) {
5632 builtin = this._wrappedBuiltIns.shift();
5633
5634 var obj = builtin[0],
5635 name = builtin[1],
5636 orig = builtin[2];
5637
5638 obj[name] = orig;
5639 }
5640 },
5641
5642 _drainPlugins: function() {
5643 var self = this;
5644
5645 // FIX ME TODO
5646 each(this._plugins, function(_, plugin) {
5647 var installer = plugin[0];
5648 var args = plugin[1];
5649 installer.apply(self, [self].concat(args));
5650 });
5651 },
5652
5653 _parseDSN: function(str) {
5654 var m = dsnPattern.exec(str),
5655 dsn = {},
5656 i = 7;
5657
5658 try {
5659 while (i--) dsn[dsnKeys[i]] = m[i] || '';
5660 } catch (e) {
5661 throw new RavenConfigError('Invalid DSN: ' + str);
5662 }
5663
5664 if (dsn.pass && !this._globalOptions.allowSecretKey) {
5665 throw new RavenConfigError(
5666 'Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key'
5667 );
5668 }
5669
5670 return dsn;
5671 },
5672
5673 _getGlobalServer: function(uri) {
5674 // assemble the endpoint from the uri pieces
5675 var globalServer = '//' + uri.host + (uri.port ? ':' + uri.port : '');
5676
5677 if (uri.protocol) {
5678 globalServer = uri.protocol + ':' + globalServer;
5679 }
5680 return globalServer;
5681 },
5682
5683 _handleOnErrorStackInfo: function() {
5684 // if we are intentionally ignoring errors via onerror, bail out
5685 if (!this._ignoreOnError) {
5686 this._handleStackInfo.apply(this, arguments);
5687 }
5688 },
5689
5690 _handleStackInfo: function(stackInfo, options) {
5691 var frames = this._prepareFrames(stackInfo, options);
5692
5693 this._triggerEvent('handle', {
5694 stackInfo: stackInfo,
5695 options: options
5696 });
5697
5698 this._processException(
5699 stackInfo.name,
5700 stackInfo.message,
5701 stackInfo.url,
5702 stackInfo.lineno,
5703 frames,
5704 options
5705 );
5706 },
5707
5708 _prepareFrames: function(stackInfo, options) {
5709 var self = this;
5710 var frames = [];
5711 if (stackInfo.stack && stackInfo.stack.length) {
5712 each(stackInfo.stack, function(i, stack) {
5713 var frame = self._normalizeFrame(stack, stackInfo.url);
5714 if (frame) {
5715 frames.push(frame);
5716 }
5717 });
5718
5719 // e.g. frames captured via captureMessage throw
5720 if (options && options.trimHeadFrames) {
5721 for (var j = 0; j < options.trimHeadFrames && j < frames.length; j++) {
5722 frames[j].in_app = false;
5723 }
5724 }
5725 }
5726 frames = frames.slice(0, this._globalOptions.stackTraceLimit);
5727 return frames;
5728 },
5729
5730 _normalizeFrame: function(frame, stackInfoUrl) {
5731 // normalize the frames data
5732 var normalized = {
5733 filename: frame.url,
5734 lineno: frame.line,
5735 colno: frame.column,
5736 function: frame.func || '?'
5737 };
5738
5739 // Case when we don't have any information about the error
5740 // E.g. throwing a string or raw object, instead of an `Error` in Firefox
5741 // Generating synthetic error doesn't add any value here
5742 //
5743 // We should probably somehow let a user know that they should fix their code
5744 if (!frame.url) {
5745 normalized.filename = stackInfoUrl; // fallback to whole stacks url from onerror handler
5746 }
5747
5748 normalized.in_app = !// determine if an exception came from outside of our app
5749 // first we check the global includePaths list.
5750 (
5751 (!!this._globalOptions.includePaths.test &&
5752 !this._globalOptions.includePaths.test(normalized.filename)) ||
5753 // Now we check for fun, if the function name is Raven or TraceKit
5754 /(Raven|TraceKit)\./.test(normalized['function']) ||
5755 // finally, we do a last ditch effort and check for raven.min.js
5756 /raven\.(min\.)?js$/.test(normalized.filename)
5757 );
5758
5759 return normalized;
5760 },
5761
5762 _processException: function(type, message, fileurl, lineno, frames, options) {
5763 var prefixedMessage = (type ? type + ': ' : '') + (message || '');
5764 if (
5765 !!this._globalOptions.ignoreErrors.test &&
5766 (this._globalOptions.ignoreErrors.test(message) ||
5767 this._globalOptions.ignoreErrors.test(prefixedMessage))
5768 ) {
5769 return;
5770 }
5771
5772 var stacktrace;
5773
5774 if (frames && frames.length) {
5775 fileurl = frames[0].filename || fileurl;
5776 // Sentry expects frames oldest to newest
5777 // and JS sends them as newest to oldest
5778 frames.reverse();
5779 stacktrace = {frames: frames};
5780 } else if (fileurl) {
5781 stacktrace = {
5782 frames: [
5783 {
5784 filename: fileurl,
5785 lineno: lineno,
5786 in_app: true
5787 }
5788 ]
5789 };
5790 }
5791
5792 if (
5793 !!this._globalOptions.ignoreUrls.test &&
5794 this._globalOptions.ignoreUrls.test(fileurl)
5795 ) {
5796 return;
5797 }
5798
5799 if (
5800 !!this._globalOptions.whitelistUrls.test &&
5801 !this._globalOptions.whitelistUrls.test(fileurl)
5802 ) {
5803 return;
5804 }
5805
5806 var data = objectMerge(
5807 {
5808 // sentry.interfaces.Exception
5809 exception: {
5810 values: [
5811 {
5812 type: type,
5813 value: message,
5814 stacktrace: stacktrace
5815 }
5816 ]
5817 },
5818 culprit: fileurl
5819 },
5820 options
5821 );
5822
5823 // Fire away!
5824 this._send(data);
5825 },
5826
5827 _trimPacket: function(data) {
5828 // For now, we only want to truncate the two different messages
5829 // but this could/should be expanded to just trim everything
5830 var max = this._globalOptions.maxMessageLength;
5831 if (data.message) {
5832 data.message = truncate(data.message, max);
5833 }
5834 if (data.exception) {
5835 var exception = data.exception.values[0];
5836 exception.value = truncate(exception.value, max);
5837 }
5838
5839 var request = data.request;
5840 if (request) {
5841 if (request.url) {
5842 request.url = truncate(request.url, this._globalOptions.maxUrlLength);
5843 }
5844 if (request.Referer) {
5845 request.Referer = truncate(request.Referer, this._globalOptions.maxUrlLength);
5846 }
5847 }
5848
5849 if (data.breadcrumbs && data.breadcrumbs.values)
5850 this._trimBreadcrumbs(data.breadcrumbs);
5851
5852 return data;
5853 },
5854
5855 /**
5856 * Truncate breadcrumb values (right now just URLs)
5857 */
5858 _trimBreadcrumbs: function(breadcrumbs) {
5859 // known breadcrumb properties with urls
5860 // TODO: also consider arbitrary prop values that start with (https?)?://
5861 var urlProps = ['to', 'from', 'url'],
5862 urlProp,
5863 crumb,
5864 data;
5865
5866 for (var i = 0; i < breadcrumbs.values.length; ++i) {
5867 crumb = breadcrumbs.values[i];
5868 if (
5869 !crumb.hasOwnProperty('data') ||
5870 !isObject(crumb.data) ||
5871 objectFrozen(crumb.data)
5872 )
5873 continue;
5874
5875 data = objectMerge({}, crumb.data);
5876 for (var j = 0; j < urlProps.length; ++j) {
5877 urlProp = urlProps[j];
5878 if (data.hasOwnProperty(urlProp) && data[urlProp]) {
5879 data[urlProp] = truncate(data[urlProp], this._globalOptions.maxUrlLength);
5880 }
5881 }
5882 breadcrumbs.values[i].data = data;
5883 }
5884 },
5885
5886 _getHttpData: function() {
5887 if (!this._hasNavigator && !this._hasDocument) return;
5888 var httpData = {};
5889
5890 if (this._hasNavigator && _navigator.userAgent) {
5891 httpData.headers = {
5892 'User-Agent': navigator.userAgent
5893 };
5894 }
5895
5896 if (this._hasDocument) {
5897 if (_document.location && _document.location.href) {
5898 httpData.url = _document.location.href;
5899 }
5900 if (_document.referrer) {
5901 if (!httpData.headers) httpData.headers = {};
5902 httpData.headers.Referer = _document.referrer;
5903 }
5904 }
5905
5906 return httpData;
5907 },
5908
5909 _resetBackoff: function() {
5910 this._backoffDuration = 0;
5911 this._backoffStart = null;
5912 },
5913
5914 _shouldBackoff: function() {
5915 return this._backoffDuration && now() - this._backoffStart < this._backoffDuration;
5916 },
5917
5918 /**
5919 * Returns true if the in-process data payload matches the signature
5920 * of the previously-sent data
5921 *
5922 * NOTE: This has to be done at this level because TraceKit can generate
5923 * data from window.onerror WITHOUT an exception object (IE8, IE9,
5924 * other old browsers). This can take the form of an "exception"
5925 * data object with a single frame (derived from the onerror args).
5926 */
5927 _isRepeatData: function(current) {
5928 var last = this._lastData;
5929
5930 if (
5931 !last ||
5932 current.message !== last.message || // defined for captureMessage
5933 current.culprit !== last.culprit // defined for captureException/onerror
5934 )
5935 return false;
5936
5937 // Stacktrace interface (i.e. from captureMessage)
5938 if (current.stacktrace || last.stacktrace) {
5939 return isSameStacktrace(current.stacktrace, last.stacktrace);
5940 } else if (current.exception || last.exception) {
5941 // Exception interface (i.e. from captureException/onerror)
5942 return isSameException(current.exception, last.exception);
5943 }
5944
5945 return true;
5946 },
5947
5948 _setBackoffState: function(request) {
5949 // If we are already in a backoff state, don't change anything
5950 if (this._shouldBackoff()) {
5951 return;
5952 }
5953
5954 var status = request.status;
5955
5956 // 400 - project_id doesn't exist or some other fatal
5957 // 401 - invalid/revoked dsn
5958 // 429 - too many requests
5959 if (!(status === 400 || status === 401 || status === 429)) return;
5960
5961 var retry;
5962 try {
5963 // If Retry-After is not in Access-Control-Expose-Headers, most
5964 // browsers will throw an exception trying to access it
5965 retry = request.getResponseHeader('Retry-After');
5966 retry = parseInt(retry, 10) * 1000; // Retry-After is returned in seconds
5967 } catch (e) {
5968 /* eslint no-empty:0 */
5969 }
5970
5971 this._backoffDuration = retry
5972 ? // If Sentry server returned a Retry-After value, use it
5973 retry
5974 : // Otherwise, double the last backoff duration (starts at 1 sec)
5975 this._backoffDuration * 2 || 1000;
5976
5977 this._backoffStart = now();
5978 },
5979
5980 _send: function(data) {
5981 var globalOptions = this._globalOptions;
5982
5983 var baseData = {
5984 project: this._globalProject,
5985 logger: globalOptions.logger,
5986 platform: 'javascript'
5987 },
5988 httpData = this._getHttpData();
5989
5990 if (httpData) {
5991 baseData.request = httpData;
5992 }
5993
5994 // HACK: delete `trimHeadFrames` to prevent from appearing in outbound payload
5995 if (data.trimHeadFrames) delete data.trimHeadFrames;
5996
5997 data = objectMerge(baseData, data);
5998
5999 // Merge in the tags and extra separately since objectMerge doesn't handle a deep merge
6000 data.tags = objectMerge(objectMerge({}, this._globalContext.tags), data.tags);
6001 data.extra = objectMerge(objectMerge({}, this._globalContext.extra), data.extra);
6002
6003 // Send along our own collected metadata with extra
6004 data.extra['session:duration'] = now() - this._startTime;
6005
6006 if (this._breadcrumbs && this._breadcrumbs.length > 0) {
6007 // intentionally make shallow copy so that additions
6008 // to breadcrumbs aren't accidentally sent in this request
6009 data.breadcrumbs = {
6010 values: [].slice.call(this._breadcrumbs, 0)
6011 };
6012 }
6013
6014 // If there are no tags/extra, strip the key from the payload alltogther.
6015 if (isEmptyObject(data.tags)) delete data.tags;
6016
6017 if (this._globalContext.user) {
6018 // sentry.interfaces.User
6019 data.user = this._globalContext.user;
6020 }
6021
6022 // Include the environment if it's defined in globalOptions
6023 if (globalOptions.environment) data.environment = globalOptions.environment;
6024
6025 // Include the release if it's defined in globalOptions
6026 if (globalOptions.release) data.release = globalOptions.release;
6027
6028 // Include server_name if it's defined in globalOptions
6029 if (globalOptions.serverName) data.server_name = globalOptions.serverName;
6030
6031 if (isFunction(globalOptions.dataCallback)) {
6032 data = globalOptions.dataCallback(data) || data;
6033 }
6034
6035 // Why??????????
6036 if (!data || isEmptyObject(data)) {
6037 return;
6038 }
6039
6040 // Check if the request should be filtered or not
6041 if (
6042 isFunction(globalOptions.shouldSendCallback) &&
6043 !globalOptions.shouldSendCallback(data)
6044 ) {
6045 return;
6046 }
6047
6048 // Backoff state: Sentry server previously responded w/ an error (e.g. 429 - too many requests),
6049 // so drop requests until "cool-off" period has elapsed.
6050 if (this._shouldBackoff()) {
6051 this._logDebug('warn', 'Raven dropped error due to backoff: ', data);
6052 return;
6053 }
6054
6055 if (typeof globalOptions.sampleRate === 'number') {
6056 if (Math.random() < globalOptions.sampleRate) {
6057 this._sendProcessedPayload(data);
6058 }
6059 } else {
6060 this._sendProcessedPayload(data);
6061 }
6062 },
6063
6064 _getUuid: function() {
6065 return uuid4();
6066 },
6067
6068 _sendProcessedPayload: function(data, callback) {
6069 var self = this;
6070 var globalOptions = this._globalOptions;
6071
6072 if (!this.isSetup()) return;
6073
6074 // Try and clean up the packet before sending by truncating long values
6075 data = this._trimPacket(data);
6076
6077 // ideally duplicate error testing should occur *before* dataCallback/shouldSendCallback,
6078 // but this would require copying an un-truncated copy of the data packet, which can be
6079 // arbitrarily deep (extra_data) -- could be worthwhile? will revisit
6080 if (!this._globalOptions.allowDuplicates && this._isRepeatData(data)) {
6081 this._logDebug('warn', 'Raven dropped repeat event: ', data);
6082 return;
6083 }
6084
6085 // Send along an event_id if not explicitly passed.
6086 // This event_id can be used to reference the error within Sentry itself.
6087 // Set lastEventId after we know the error should actually be sent
6088 this._lastEventId = data.event_id || (data.event_id = this._getUuid());
6089
6090 // Store outbound payload after trim
6091 this._lastData = data;
6092
6093 this._logDebug('debug', 'Raven about to send:', data);
6094
6095 var auth = {
6096 sentry_version: '7',
6097 sentry_client: 'raven-js/' + this.VERSION,
6098 sentry_key: this._globalKey
6099 };
6100
6101 if (this._globalSecret) {
6102 auth.sentry_secret = this._globalSecret;
6103 }
6104
6105 var exception = data.exception && data.exception.values[0];
6106 this.captureBreadcrumb({
6107 category: 'sentry',
6108 message: exception
6109 ? (exception.type ? exception.type + ': ' : '') + exception.value
6110 : data.message,
6111 event_id: data.event_id,
6112 level: data.level || 'error' // presume error unless specified
6113 });
6114
6115 var url = this._globalEndpoint;
6116 (globalOptions.transport || this._makeRequest).call(this, {
6117 url: url,
6118 auth: auth,
6119 data: data,
6120 options: globalOptions,
6121 onSuccess: function success() {
6122 self._resetBackoff();
6123
6124 self._triggerEvent('success', {
6125 data: data,
6126 src: url
6127 });
6128 callback && callback();
6129 },
6130 onError: function failure(error) {
6131 self._logDebug('error', 'Raven transport failed to send: ', error);
6132
6133 if (error.request) {
6134 self._setBackoffState(error.request);
6135 }
6136
6137 self._triggerEvent('failure', {
6138 data: data,
6139 src: url
6140 });
6141 error = error || new Error('Raven send failed (no additional details provided)');
6142 callback && callback(error);
6143 }
6144 });
6145 },
6146
6147 _makeRequest: function(opts) {
6148 var request = _window.XMLHttpRequest && new _window.XMLHttpRequest();
6149 if (!request) return;
6150
6151 // if browser doesn't support CORS (e.g. IE7), we are out of luck
6152 var hasCORS = 'withCredentials' in request || typeof XDomainRequest !== 'undefined';
6153
6154 if (!hasCORS) return;
6155
6156 var url = opts.url;
6157
6158 if ('withCredentials' in request) {
6159 request.onreadystatechange = function() {
6160 if (request.readyState !== 4) {
6161 return;
6162 } else if (request.status === 200) {
6163 opts.onSuccess && opts.onSuccess();
6164 } else if (opts.onError) {
6165 var err = new Error('Sentry error code: ' + request.status);
6166 err.request = request;
6167 opts.onError(err);
6168 }
6169 };
6170 } else {
6171 request = new XDomainRequest();
6172 // xdomainrequest cannot go http -> https (or vice versa),
6173 // so always use protocol relative
6174 url = url.replace(/^https?:/, '');
6175
6176 // onreadystatechange not supported by XDomainRequest
6177 if (opts.onSuccess) {
6178 request.onload = opts.onSuccess;
6179 }
6180 if (opts.onError) {
6181 request.onerror = function() {
6182 var err = new Error('Sentry error code: XDomainRequest');
6183 err.request = request;
6184 opts.onError(err);
6185 };
6186 }
6187 }
6188
6189 // NOTE: auth is intentionally sent as part of query string (NOT as custom
6190 // HTTP header) so as to avoid preflight CORS requests
6191 request.open('POST', url + '?' + urlencode(opts.auth));
6192 request.send(stringify(opts.data));
6193 },
6194
6195 _logDebug: function(level) {
6196 if (this._originalConsoleMethods[level] && this.debug) {
6197 // In IE<10 console methods do not have their own 'apply' method
6198 Function.prototype.apply.call(
6199 this._originalConsoleMethods[level],
6200 this._originalConsole,
6201 [].slice.call(arguments, 1)
6202 );
6203 }
6204 },
6205
6206 _mergeContext: function(key, context) {
6207 if (isUndefined(context)) {
6208 delete this._globalContext[key];
6209 } else {
6210 this._globalContext[key] = objectMerge(this._globalContext[key] || {}, context);
6211 }
6212 }
6213 };
6214
6215 // Deprecations
6216 Raven.prototype.setUser = Raven.prototype.setUserContext;
6217 Raven.prototype.setReleaseContext = Raven.prototype.setRelease;
6218
6219 module.exports = Raven;
6220
6221
6222 /***/ }),
6223
6224 /***/ "./node_modules/raven-js/src/singleton.js":
6225 /*!************************************************!*\
6226 !*** ./node_modules/raven-js/src/singleton.js ***!
6227 \************************************************/
6228 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6229
6230 /**
6231 * Enforces a single instance of the Raven client, and the
6232 * main entry point for Raven. If you are a consumer of the
6233 * Raven library, you SHOULD load this file (vs raven.js).
6234 **/
6235
6236 var RavenConstructor = __webpack_require__(/*! ./raven */ "./node_modules/raven-js/src/raven.js");
6237
6238 // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)
6239 var _window =
6240 typeof window !== 'undefined'
6241 ? window
6242 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
6243 var _Raven = _window.Raven;
6244
6245 var Raven = new RavenConstructor();
6246
6247 /*
6248 * Allow multiple versions of Raven to be installed.
6249 * Strip Raven from the global context and returns the instance.
6250 *
6251 * @return {Raven}
6252 */
6253 Raven.noConflict = function() {
6254 _window.Raven = _Raven;
6255 return Raven;
6256 };
6257
6258 Raven.afterLoad();
6259
6260 module.exports = Raven;
6261
6262
6263 /***/ }),
6264
6265 /***/ "./node_modules/raven-js/src/utils.js":
6266 /*!********************************************!*\
6267 !*** ./node_modules/raven-js/src/utils.js ***!
6268 \********************************************/
6269 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6270
6271 var _window =
6272 typeof window !== 'undefined'
6273 ? window
6274 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
6275
6276 function isObject(what) {
6277 return typeof what === 'object' && what !== null;
6278 }
6279
6280 // Yanked from https://git.io/vS8DV re-used under CC0
6281 // with some tiny modifications
6282 function isError(value) {
6283 switch ({}.toString.call(value)) {
6284 case '[object Error]':
6285 return true;
6286 case '[object Exception]':
6287 return true;
6288 case '[object DOMException]':
6289 return true;
6290 default:
6291 return value instanceof Error;
6292 }
6293 }
6294
6295 function isErrorEvent(value) {
6296 return supportsErrorEvent() && {}.toString.call(value) === '[object ErrorEvent]';
6297 }
6298
6299 function isUndefined(what) {
6300 return what === void 0;
6301 }
6302
6303 function isFunction(what) {
6304 return typeof what === 'function';
6305 }
6306
6307 function isString(what) {
6308 return Object.prototype.toString.call(what) === '[object String]';
6309 }
6310
6311 function isEmptyObject(what) {
6312 for (var _ in what) return false; // eslint-disable-line guard-for-in, no-unused-vars
6313 return true;
6314 }
6315
6316 function supportsErrorEvent() {
6317 try {
6318 new ErrorEvent(''); // eslint-disable-line no-new
6319 return true;
6320 } catch (e) {
6321 return false;
6322 }
6323 }
6324
6325 function wrappedCallback(callback) {
6326 function dataCallback(data, original) {
6327 var normalizedData = callback(data) || data;
6328 if (original) {
6329 return original(normalizedData) || normalizedData;
6330 }
6331 return normalizedData;
6332 }
6333
6334 return dataCallback;
6335 }
6336
6337 function each(obj, callback) {
6338 var i, j;
6339
6340 if (isUndefined(obj.length)) {
6341 for (i in obj) {
6342 if (hasKey(obj, i)) {
6343 callback.call(null, i, obj[i]);
6344 }
6345 }
6346 } else {
6347 j = obj.length;
6348 if (j) {
6349 for (i = 0; i < j; i++) {
6350 callback.call(null, i, obj[i]);
6351 }
6352 }
6353 }
6354 }
6355
6356 function objectMerge(obj1, obj2) {
6357 if (!obj2) {
6358 return obj1;
6359 }
6360 each(obj2, function(key, value) {
6361 obj1[key] = value;
6362 });
6363 return obj1;
6364 }
6365
6366 /**
6367 * This function is only used for react-native.
6368 * react-native freezes object that have already been sent over the
6369 * js bridge. We need this function in order to check if the object is frozen.
6370 * So it's ok that objectFrozen returns false if Object.isFrozen is not
6371 * supported because it's not relevant for other "platforms". See related issue:
6372 * https://github.com/getsentry/react-native-sentry/issues/57
6373 */
6374 function objectFrozen(obj) {
6375 if (!Object.isFrozen) {
6376 return false;
6377 }
6378 return Object.isFrozen(obj);
6379 }
6380
6381 function truncate(str, max) {
6382 return !max || str.length <= max ? str : str.substr(0, max) + '\u2026';
6383 }
6384
6385 /**
6386 * hasKey, a better form of hasOwnProperty
6387 * Example: hasKey(MainHostObject, property) === true/false
6388 *
6389 * @param {Object} host object to check property
6390 * @param {string} key to check
6391 */
6392 function hasKey(object, key) {
6393 return Object.prototype.hasOwnProperty.call(object, key);
6394 }
6395
6396 function joinRegExp(patterns) {
6397 // Combine an array of regular expressions and strings into one large regexp
6398 // Be mad.
6399 var sources = [],
6400 i = 0,
6401 len = patterns.length,
6402 pattern;
6403
6404 for (; i < len; i++) {
6405 pattern = patterns[i];
6406 if (isString(pattern)) {
6407 // If it's a string, we need to escape it
6408 // Taken from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
6409 sources.push(pattern.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1'));
6410 } else if (pattern && pattern.source) {
6411 // If it's a regexp already, we want to extract the source
6412 sources.push(pattern.source);
6413 }
6414 // Intentionally skip other cases
6415 }
6416 return new RegExp(sources.join('|'), 'i');
6417 }
6418
6419 function urlencode(o) {
6420 var pairs = [];
6421 each(o, function(key, value) {
6422 pairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));
6423 });
6424 return pairs.join('&');
6425 }
6426
6427 // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B
6428 // intentionally using regex and not <a/> href parsing trick because React Native and other
6429 // environments where DOM might not be available
6430 function parseUrl(url) {
6431 var match = url.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);
6432 if (!match) return {};
6433
6434 // coerce to undefined values to empty string so we don't get 'undefined'
6435 var query = match[6] || '';
6436 var fragment = match[8] || '';
6437 return {
6438 protocol: match[2],
6439 host: match[4],
6440 path: match[5],
6441 relative: match[5] + query + fragment // everything minus origin
6442 };
6443 }
6444 function uuid4() {
6445 var crypto = _window.crypto || _window.msCrypto;
6446
6447 if (!isUndefined(crypto) && crypto.getRandomValues) {
6448 // Use window.crypto API if available
6449 // eslint-disable-next-line no-undef
6450 var arr = new Uint16Array(8);
6451 crypto.getRandomValues(arr);
6452
6453 // set 4 in byte 7
6454 arr[3] = (arr[3] & 0xfff) | 0x4000;
6455 // set 2 most significant bits of byte 9 to '10'
6456 arr[4] = (arr[4] & 0x3fff) | 0x8000;
6457
6458 var pad = function(num) {
6459 var v = num.toString(16);
6460 while (v.length < 4) {
6461 v = '0' + v;
6462 }
6463 return v;
6464 };
6465
6466 return (
6467 pad(arr[0]) +
6468 pad(arr[1]) +
6469 pad(arr[2]) +
6470 pad(arr[3]) +
6471 pad(arr[4]) +
6472 pad(arr[5]) +
6473 pad(arr[6]) +
6474 pad(arr[7])
6475 );
6476 } else {
6477 // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523
6478 return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
6479 var r = (Math.random() * 16) | 0,
6480 v = c === 'x' ? r : (r & 0x3) | 0x8;
6481 return v.toString(16);
6482 });
6483 }
6484 }
6485
6486 /**
6487 * Given a child DOM element, returns a query-selector statement describing that
6488 * and its ancestors
6489 * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]
6490 * @param elem
6491 * @returns {string}
6492 */
6493 function htmlTreeAsString(elem) {
6494 /* eslint no-extra-parens:0*/
6495 var MAX_TRAVERSE_HEIGHT = 5,
6496 MAX_OUTPUT_LEN = 80,
6497 out = [],
6498 height = 0,
6499 len = 0,
6500 separator = ' > ',
6501 sepLength = separator.length,
6502 nextStr;
6503
6504 while (elem && height++ < MAX_TRAVERSE_HEIGHT) {
6505 nextStr = htmlElementAsString(elem);
6506 // bail out if
6507 // - nextStr is the 'html' element
6508 // - the length of the string that would be created exceeds MAX_OUTPUT_LEN
6509 // (ignore this limit if we are on the first iteration)
6510 if (
6511 nextStr === 'html' ||
6512 (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)
6513 ) {
6514 break;
6515 }
6516
6517 out.push(nextStr);
6518
6519 len += nextStr.length;
6520 elem = elem.parentNode;
6521 }
6522
6523 return out.reverse().join(separator);
6524 }
6525
6526 /**
6527 * Returns a simple, query-selector representation of a DOM element
6528 * e.g. [HTMLElement] => input#foo.btn[name=baz]
6529 * @param HTMLElement
6530 * @returns {string}
6531 */
6532 function htmlElementAsString(elem) {
6533 var out = [],
6534 className,
6535 classes,
6536 key,
6537 attr,
6538 i;
6539
6540 if (!elem || !elem.tagName) {
6541 return '';
6542 }
6543
6544 out.push(elem.tagName.toLowerCase());
6545 if (elem.id) {
6546 out.push('#' + elem.id);
6547 }
6548
6549 className = elem.className;
6550 if (className && isString(className)) {
6551 classes = className.split(/\s+/);
6552 for (i = 0; i < classes.length; i++) {
6553 out.push('.' + classes[i]);
6554 }
6555 }
6556 var attrWhitelist = ['type', 'name', 'title', 'alt'];
6557 for (i = 0; i < attrWhitelist.length; i++) {
6558 key = attrWhitelist[i];
6559 attr = elem.getAttribute(key);
6560 if (attr) {
6561 out.push('[' + key + '="' + attr + '"]');
6562 }
6563 }
6564 return out.join('');
6565 }
6566
6567 /**
6568 * Returns true if either a OR b is truthy, but not both
6569 */
6570 function isOnlyOneTruthy(a, b) {
6571 return !!(!!a ^ !!b);
6572 }
6573
6574 /**
6575 * Returns true if the two input exception interfaces have the same content
6576 */
6577 function isSameException(ex1, ex2) {
6578 if (isOnlyOneTruthy(ex1, ex2)) return false;
6579
6580 ex1 = ex1.values[0];
6581 ex2 = ex2.values[0];
6582
6583 if (ex1.type !== ex2.type || ex1.value !== ex2.value) return false;
6584
6585 return isSameStacktrace(ex1.stacktrace, ex2.stacktrace);
6586 }
6587
6588 /**
6589 * Returns true if the two input stack trace interfaces have the same content
6590 */
6591 function isSameStacktrace(stack1, stack2) {
6592 if (isOnlyOneTruthy(stack1, stack2)) return false;
6593
6594 var frames1 = stack1.frames;
6595 var frames2 = stack2.frames;
6596
6597 // Exit early if frame count differs
6598 if (frames1.length !== frames2.length) return false;
6599
6600 // Iterate through every frame; bail out if anything differs
6601 var a, b;
6602 for (var i = 0; i < frames1.length; i++) {
6603 a = frames1[i];
6604 b = frames2[i];
6605 if (
6606 a.filename !== b.filename ||
6607 a.lineno !== b.lineno ||
6608 a.colno !== b.colno ||
6609 a['function'] !== b['function']
6610 )
6611 return false;
6612 }
6613 return true;
6614 }
6615
6616 /**
6617 * Polyfill a method
6618 * @param obj object e.g. `document`
6619 * @param name method name present on object e.g. `addEventListener`
6620 * @param replacement replacement function
6621 * @param track {optional} record instrumentation to an array
6622 */
6623 function fill(obj, name, replacement, track) {
6624 var orig = obj[name];
6625 obj[name] = replacement(orig);
6626 if (track) {
6627 track.push([obj, name, orig]);
6628 }
6629 }
6630
6631 module.exports = {
6632 isObject: isObject,
6633 isError: isError,
6634 isErrorEvent: isErrorEvent,
6635 isUndefined: isUndefined,
6636 isFunction: isFunction,
6637 isString: isString,
6638 isEmptyObject: isEmptyObject,
6639 supportsErrorEvent: supportsErrorEvent,
6640 wrappedCallback: wrappedCallback,
6641 each: each,
6642 objectMerge: objectMerge,
6643 truncate: truncate,
6644 objectFrozen: objectFrozen,
6645 hasKey: hasKey,
6646 joinRegExp: joinRegExp,
6647 urlencode: urlencode,
6648 uuid4: uuid4,
6649 htmlTreeAsString: htmlTreeAsString,
6650 htmlElementAsString: htmlElementAsString,
6651 isSameException: isSameException,
6652 isSameStacktrace: isSameStacktrace,
6653 parseUrl: parseUrl,
6654 fill: fill
6655 };
6656
6657
6658 /***/ }),
6659
6660 /***/ "./node_modules/raven-js/vendor/TraceKit/tracekit.js":
6661 /*!***********************************************************!*\
6662 !*** ./node_modules/raven-js/vendor/TraceKit/tracekit.js ***!
6663 \***********************************************************/
6664 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6665
6666 var utils = __webpack_require__(/*! ../../src/utils */ "./node_modules/raven-js/src/utils.js");
6667
6668 /*
6669 TraceKit - Cross brower stack traces
6670
6671 This was originally forked from github.com/occ/TraceKit, but has since been
6672 largely re-written and is now maintained as part of raven-js. Tests for
6673 this are in test/vendor.
6674
6675 MIT license
6676 */
6677
6678 var TraceKit = {
6679 collectWindowErrors: true,
6680 debug: false
6681 };
6682
6683 // This is to be defensive in environments where window does not exist (see https://github.com/getsentry/raven-js/pull/785)
6684 var _window =
6685 typeof window !== 'undefined'
6686 ? window
6687 : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
6688
6689 // global reference to slice
6690 var _slice = [].slice;
6691 var UNKNOWN_FUNCTION = '?';
6692
6693 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types
6694 var ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;
6695
6696 function getLocationHref() {
6697 if (typeof document === 'undefined' || document.location == null) return '';
6698
6699 return document.location.href;
6700 }
6701
6702 /**
6703 * TraceKit.report: cross-browser processing of unhandled exceptions
6704 *
6705 * Syntax:
6706 * TraceKit.report.subscribe(function(stackInfo) { ... })
6707 * TraceKit.report.unsubscribe(function(stackInfo) { ... })
6708 * TraceKit.report(exception)
6709 * try { ...code... } catch(ex) { TraceKit.report(ex); }
6710 *
6711 * Supports:
6712 * - Firefox: full stack trace with line numbers, plus column number
6713 * on top frame; column number is not guaranteed
6714 * - Opera: full stack trace with line and column numbers
6715 * - Chrome: full stack trace with line and column numbers
6716 * - Safari: line and column number for the top frame only; some frames
6717 * may be missing, and column number is not guaranteed
6718 * - IE: line and column number for the top frame only; some frames
6719 * may be missing, and column number is not guaranteed
6720 *
6721 * In theory, TraceKit should work on all of the following versions:
6722 * - IE5.5+ (only 8.0 tested)
6723 * - Firefox 0.9+ (only 3.5+ tested)
6724 * - Opera 7+ (only 10.50 tested; versions 9 and earlier may require
6725 * Exceptions Have Stacktrace to be enabled in opera:config)
6726 * - Safari 3+ (only 4+ tested)
6727 * - Chrome 1+ (only 5+ tested)
6728 * - Konqueror 3.5+ (untested)
6729 *
6730 * Requires TraceKit.computeStackTrace.
6731 *
6732 * Tries to catch all unhandled exceptions and report them to the
6733 * subscribed handlers. Please note that TraceKit.report will rethrow the
6734 * exception. This is REQUIRED in order to get a useful stack trace in IE.
6735 * If the exception does not reach the top of the browser, you will only
6736 * get a stack trace from the point where TraceKit.report was called.
6737 *
6738 * Handlers receive a stackInfo object as described in the
6739 * TraceKit.computeStackTrace docs.
6740 */
6741 TraceKit.report = (function reportModuleWrapper() {
6742 var handlers = [],
6743 lastArgs = null,
6744 lastException = null,
6745 lastExceptionStack = null;
6746
6747 /**
6748 * Add a crash handler.
6749 * @param {Function} handler
6750 */
6751 function subscribe(handler) {
6752 installGlobalHandler();
6753 handlers.push(handler);
6754 }
6755
6756 /**
6757 * Remove a crash handler.
6758 * @param {Function} handler
6759 */
6760 function unsubscribe(handler) {
6761 for (var i = handlers.length - 1; i >= 0; --i) {
6762 if (handlers[i] === handler) {
6763 handlers.splice(i, 1);
6764 }
6765 }
6766 }
6767
6768 /**
6769 * Remove all crash handlers.
6770 */
6771 function unsubscribeAll() {
6772 uninstallGlobalHandler();
6773 handlers = [];
6774 }
6775
6776 /**
6777 * Dispatch stack information to all handlers.
6778 * @param {Object.<string, *>} stack
6779 */
6780 function notifyHandlers(stack, isWindowError) {
6781 var exception = null;
6782 if (isWindowError && !TraceKit.collectWindowErrors) {
6783 return;
6784 }
6785 for (var i in handlers) {
6786 if (handlers.hasOwnProperty(i)) {
6787 try {
6788 handlers[i].apply(null, [stack].concat(_slice.call(arguments, 2)));
6789 } catch (inner) {
6790 exception = inner;
6791 }
6792 }
6793 }
6794
6795 if (exception) {
6796 throw exception;
6797 }
6798 }
6799
6800 var _oldOnerrorHandler, _onErrorHandlerInstalled;
6801
6802 /**
6803 * Ensures all global unhandled exceptions are recorded.
6804 * Supported by Gecko and IE.
6805 * @param {string} message Error message.
6806 * @param {string} url URL of script that generated the exception.
6807 * @param {(number|string)} lineNo The line number at which the error
6808 * occurred.
6809 * @param {?(number|string)} colNo The column number at which the error
6810 * occurred.
6811 * @param {?Error} ex The actual Error object.
6812 */
6813 function traceKitWindowOnError(message, url, lineNo, colNo, ex) {
6814 var stack = null;
6815
6816 if (lastExceptionStack) {
6817 TraceKit.computeStackTrace.augmentStackTraceWithInitialElement(
6818 lastExceptionStack,
6819 url,
6820 lineNo,
6821 message
6822 );
6823 processLastException();
6824 } else if (ex && utils.isError(ex)) {
6825 // non-string `ex` arg; attempt to extract stack trace
6826
6827 // New chrome and blink send along a real error object
6828 // Let's just report that like a normal error.
6829 // See: https://mikewest.org/2013/08/debugging-runtime-errors-with-window-onerror
6830 stack = TraceKit.computeStackTrace(ex);
6831 notifyHandlers(stack, true);
6832 } else {
6833 var location = {
6834 url: url,
6835 line: lineNo,
6836 column: colNo
6837 };
6838
6839 var name = undefined;
6840 var msg = message; // must be new var or will modify original `arguments`
6841 var groups;
6842 if ({}.toString.call(message) === '[object String]') {
6843 var groups = message.match(ERROR_TYPES_RE);
6844 if (groups) {
6845 name = groups[1];
6846 msg = groups[2];
6847 }
6848 }
6849
6850 location.func = UNKNOWN_FUNCTION;
6851
6852 stack = {
6853 name: name,
6854 message: msg,
6855 url: getLocationHref(),
6856 stack: [location]
6857 };
6858 notifyHandlers(stack, true);
6859 }
6860
6861 if (_oldOnerrorHandler) {
6862 return _oldOnerrorHandler.apply(this, arguments);
6863 }
6864
6865 return false;
6866 }
6867
6868 function installGlobalHandler() {
6869 if (_onErrorHandlerInstalled) {
6870 return;
6871 }
6872 _oldOnerrorHandler = _window.onerror;
6873 _window.onerror = traceKitWindowOnError;
6874 _onErrorHandlerInstalled = true;
6875 }
6876
6877 function uninstallGlobalHandler() {
6878 if (!_onErrorHandlerInstalled) {
6879 return;
6880 }
6881 _window.onerror = _oldOnerrorHandler;
6882 _onErrorHandlerInstalled = false;
6883 _oldOnerrorHandler = undefined;
6884 }
6885
6886 function processLastException() {
6887 var _lastExceptionStack = lastExceptionStack,
6888 _lastArgs = lastArgs;
6889 lastArgs = null;
6890 lastExceptionStack = null;
6891 lastException = null;
6892 notifyHandlers.apply(null, [_lastExceptionStack, false].concat(_lastArgs));
6893 }
6894
6895 /**
6896 * Reports an unhandled Error to TraceKit.
6897 * @param {Error} ex
6898 * @param {?boolean} rethrow If false, do not re-throw the exception.
6899 * Only used for window.onerror to not cause an infinite loop of
6900 * rethrowing.
6901 */
6902 function report(ex, rethrow) {
6903 var args = _slice.call(arguments, 1);
6904 if (lastExceptionStack) {
6905 if (lastException === ex) {
6906 return; // already caught by an inner catch block, ignore
6907 } else {
6908 processLastException();
6909 }
6910 }
6911
6912 var stack = TraceKit.computeStackTrace(ex);
6913 lastExceptionStack = stack;
6914 lastException = ex;
6915 lastArgs = args;
6916
6917 // If the stack trace is incomplete, wait for 2 seconds for
6918 // slow slow IE to see if onerror occurs or not before reporting
6919 // this exception; otherwise, we will end up with an incomplete
6920 // stack trace
6921 setTimeout(function() {
6922 if (lastException === ex) {
6923 processLastException();
6924 }
6925 }, stack.incomplete ? 2000 : 0);
6926
6927 if (rethrow !== false) {
6928 throw ex; // re-throw to propagate to the top level (and cause window.onerror)
6929 }
6930 }
6931
6932 report.subscribe = subscribe;
6933 report.unsubscribe = unsubscribe;
6934 report.uninstall = unsubscribeAll;
6935 return report;
6936 })();
6937
6938 /**
6939 * TraceKit.computeStackTrace: cross-browser stack traces in JavaScript
6940 *
6941 * Syntax:
6942 * s = TraceKit.computeStackTrace(exception) // consider using TraceKit.report instead (see below)
6943 * Returns:
6944 * s.name - exception name
6945 * s.message - exception message
6946 * s.stack[i].url - JavaScript or HTML file URL
6947 * s.stack[i].func - function name, or empty for anonymous functions (if guessing did not work)
6948 * s.stack[i].args - arguments passed to the function, if known
6949 * s.stack[i].line - line number, if known
6950 * s.stack[i].column - column number, if known
6951 *
6952 * Supports:
6953 * - Firefox: full stack trace with line numbers and unreliable column
6954 * number on top frame
6955 * - Opera 10: full stack trace with line and column numbers
6956 * - Opera 9-: full stack trace with line numbers
6957 * - Chrome: full stack trace with line and column numbers
6958 * - Safari: line and column number for the topmost stacktrace element
6959 * only
6960 * - IE: no line numbers whatsoever
6961 *
6962 * Tries to guess names of anonymous functions by looking for assignments
6963 * in the source code. In IE and Safari, we have to guess source file names
6964 * by searching for function bodies inside all page scripts. This will not
6965 * work for scripts that are loaded cross-domain.
6966 * Here be dragons: some function names may be guessed incorrectly, and
6967 * duplicate functions may be mismatched.
6968 *
6969 * TraceKit.computeStackTrace should only be used for tracing purposes.
6970 * Logging of unhandled exceptions should be done with TraceKit.report,
6971 * which builds on top of TraceKit.computeStackTrace and provides better
6972 * IE support by utilizing the window.onerror event to retrieve information
6973 * about the top of the stack.
6974 *
6975 * Note: In IE and Safari, no stack trace is recorded on the Error object,
6976 * so computeStackTrace instead walks its *own* chain of callers.
6977 * This means that:
6978 * * in Safari, some methods may be missing from the stack trace;
6979 * * in IE, the topmost function in the stack trace will always be the
6980 * caller of computeStackTrace.
6981 *
6982 * This is okay for tracing (because you are likely to be calling
6983 * computeStackTrace from the function you want to be the topmost element
6984 * of the stack trace anyway), but not okay for logging unhandled
6985 * exceptions (because your catch block will likely be far away from the
6986 * inner function that actually caused the exception).
6987 *
6988 */
6989 TraceKit.computeStackTrace = (function computeStackTraceWrapper() {
6990 // Contents of Exception in various browsers.
6991 //
6992 // SAFARI:
6993 // ex.message = Can't find variable: qq
6994 // ex.line = 59
6995 // ex.sourceId = 580238192
6996 // ex.sourceURL = http://...
6997 // ex.expressionBeginOffset = 96
6998 // ex.expressionCaretOffset = 98
6999 // ex.expressionEndOffset = 98
7000 // ex.name = ReferenceError
7001 //
7002 // FIREFOX:
7003 // ex.message = qq is not defined
7004 // ex.fileName = http://...
7005 // ex.lineNumber = 59
7006 // ex.columnNumber = 69
7007 // ex.stack = ...stack trace... (see the example below)
7008 // ex.name = ReferenceError
7009 //
7010 // CHROME:
7011 // ex.message = qq is not defined
7012 // ex.name = ReferenceError
7013 // ex.type = not_defined
7014 // ex.arguments = ['aa']
7015 // ex.stack = ...stack trace...
7016 //
7017 // INTERNET EXPLORER:
7018 // ex.message = ...
7019 // ex.name = ReferenceError
7020 //
7021 // OPERA:
7022 // ex.message = ...message... (see the example below)
7023 // ex.name = ReferenceError
7024 // ex.opera#sourceloc = 11 (pretty much useless, duplicates the info in ex.message)
7025 // ex.stacktrace = n/a; see 'opera:config#UserPrefs|Exceptions Have Stacktrace'
7026
7027 /**
7028 * Computes stack trace information from the stack property.
7029 * Chrome and Gecko use this property.
7030 * @param {Error} ex
7031 * @return {?Object.<string, *>} Stack trace information.
7032 */
7033 function computeStackTraceFromStackProp(ex) {
7034 if (typeof ex.stack === 'undefined' || !ex.stack) return;
7035
7036 var chrome = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,
7037 gecko = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,
7038 winjs = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,
7039 // Used to additionally parse URL/line/column from eval frames
7040 geckoEval = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i,
7041 chromeEval = /\((\S*)(?::(\d+))(?::(\d+))\)/,
7042 lines = ex.stack.split('\n'),
7043 stack = [],
7044 submatch,
7045 parts,
7046 element,
7047 reference = /^(.*) is undefined$/.exec(ex.message);
7048
7049 for (var i = 0, j = lines.length; i < j; ++i) {
7050 if ((parts = chrome.exec(lines[i]))) {
7051 var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
7052 var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
7053 if (isEval && (submatch = chromeEval.exec(parts[2]))) {
7054 // throw out eval line/column and use top-most line/column number
7055 parts[2] = submatch[1]; // url
7056 parts[3] = submatch[2]; // line
7057 parts[4] = submatch[3]; // column
7058 }
7059 element = {
7060 url: !isNative ? parts[2] : null,
7061 func: parts[1] || UNKNOWN_FUNCTION,
7062 args: isNative ? [parts[2]] : [],
7063 line: parts[3] ? +parts[3] : null,
7064 column: parts[4] ? +parts[4] : null
7065 };
7066 } else if ((parts = winjs.exec(lines[i]))) {
7067 element = {
7068 url: parts[2],
7069 func: parts[1] || UNKNOWN_FUNCTION,
7070 args: [],
7071 line: +parts[3],
7072 column: parts[4] ? +parts[4] : null
7073 };
7074 } else if ((parts = gecko.exec(lines[i]))) {
7075 var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
7076 if (isEval && (submatch = geckoEval.exec(parts[3]))) {
7077 // throw out eval line/column and use top-most line number
7078 parts[3] = submatch[1];
7079 parts[4] = submatch[2];
7080 parts[5] = null; // no column when eval
7081 } else if (i === 0 && !parts[5] && typeof ex.columnNumber !== 'undefined') {
7082 // FireFox uses this awesome columnNumber property for its top frame
7083 // Also note, Firefox's column number is 0-based and everything else expects 1-based,
7084 // so adding 1
7085 // NOTE: this hack doesn't work if top-most frame is eval
7086 stack[0].column = ex.columnNumber + 1;
7087 }
7088 element = {
7089 url: parts[3],
7090 func: parts[1] || UNKNOWN_FUNCTION,
7091 args: parts[2] ? parts[2].split(',') : [],
7092 line: parts[4] ? +parts[4] : null,
7093 column: parts[5] ? +parts[5] : null
7094 };
7095 } else {
7096 continue;
7097 }
7098
7099 if (!element.func && element.line) {
7100 element.func = UNKNOWN_FUNCTION;
7101 }
7102
7103 stack.push(element);
7104 }
7105
7106 if (!stack.length) {
7107 return null;
7108 }
7109
7110 return {
7111 name: ex.name,
7112 message: ex.message,
7113 url: getLocationHref(),
7114 stack: stack
7115 };
7116 }
7117
7118 /**
7119 * Adds information about the first frame to incomplete stack traces.
7120 * Safari and IE require this to get complete data on the first frame.
7121 * @param {Object.<string, *>} stackInfo Stack trace information from
7122 * one of the compute* methods.
7123 * @param {string} url The URL of the script that caused an error.
7124 * @param {(number|string)} lineNo The line number of the script that
7125 * caused an error.
7126 * @param {string=} message The error generated by the browser, which
7127 * hopefully contains the name of the object that caused the error.
7128 * @return {boolean} Whether or not the stack information was
7129 * augmented.
7130 */
7131 function augmentStackTraceWithInitialElement(stackInfo, url, lineNo, message) {
7132 var initial = {
7133 url: url,
7134 line: lineNo
7135 };
7136
7137 if (initial.url && initial.line) {
7138 stackInfo.incomplete = false;
7139
7140 if (!initial.func) {
7141 initial.func = UNKNOWN_FUNCTION;
7142 }
7143
7144 if (stackInfo.stack.length > 0) {
7145 if (stackInfo.stack[0].url === initial.url) {
7146 if (stackInfo.stack[0].line === initial.line) {
7147 return false; // already in stack trace
7148 } else if (
7149 !stackInfo.stack[0].line &&
7150 stackInfo.stack[0].func === initial.func
7151 ) {
7152 stackInfo.stack[0].line = initial.line;
7153 return false;
7154 }
7155 }
7156 }
7157
7158 stackInfo.stack.unshift(initial);
7159 stackInfo.partial = true;
7160 return true;
7161 } else {
7162 stackInfo.incomplete = true;
7163 }
7164
7165 return false;
7166 }
7167
7168 /**
7169 * Computes stack trace information by walking the arguments.caller
7170 * chain at the time the exception occurred. This will cause earlier
7171 * frames to be missed but is the only way to get any stack trace in
7172 * Safari and IE. The top frame is restored by
7173 * {@link augmentStackTraceWithInitialElement}.
7174 * @param {Error} ex
7175 * @return {?Object.<string, *>} Stack trace information.
7176 */
7177 function computeStackTraceByWalkingCallerChain(ex, depth) {
7178 var functionName = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,
7179 stack = [],
7180 funcs = {},
7181 recursion = false,
7182 parts,
7183 item,
7184 source;
7185
7186 for (
7187 var curr = computeStackTraceByWalkingCallerChain.caller;
7188 curr && !recursion;
7189 curr = curr.caller
7190 ) {
7191 if (curr === computeStackTrace || curr === TraceKit.report) {
7192 // console.log('skipping internal function');
7193 continue;
7194 }
7195
7196 item = {
7197 url: null,
7198 func: UNKNOWN_FUNCTION,
7199 line: null,
7200 column: null
7201 };
7202
7203 if (curr.name) {
7204 item.func = curr.name;
7205 } else if ((parts = functionName.exec(curr.toString()))) {
7206 item.func = parts[1];
7207 }
7208
7209 if (typeof item.func === 'undefined') {
7210 try {
7211 item.func = parts.input.substring(0, parts.input.indexOf('{'));
7212 } catch (e) {}
7213 }
7214
7215 if (funcs['' + curr]) {
7216 recursion = true;
7217 } else {
7218 funcs['' + curr] = true;
7219 }
7220
7221 stack.push(item);
7222 }
7223
7224 if (depth) {
7225 // console.log('depth is ' + depth);
7226 // console.log('stack is ' + stack.length);
7227 stack.splice(0, depth);
7228 }
7229
7230 var result = {
7231 name: ex.name,
7232 message: ex.message,
7233 url: getLocationHref(),
7234 stack: stack
7235 };
7236 augmentStackTraceWithInitialElement(
7237 result,
7238 ex.sourceURL || ex.fileName,
7239 ex.line || ex.lineNumber,
7240 ex.message || ex.description
7241 );
7242 return result;
7243 }
7244
7245 /**
7246 * Computes a stack trace for an exception.
7247 * @param {Error} ex
7248 * @param {(string|number)=} depth
7249 */
7250 function computeStackTrace(ex, depth) {
7251 var stack = null;
7252 depth = depth == null ? 0 : +depth;
7253
7254 try {
7255 stack = computeStackTraceFromStackProp(ex);
7256 if (stack) {
7257 return stack;
7258 }
7259 } catch (e) {
7260 if (TraceKit.debug) {
7261 throw e;
7262 }
7263 }
7264
7265 try {
7266 stack = computeStackTraceByWalkingCallerChain(ex, depth + 1);
7267 if (stack) {
7268 return stack;
7269 }
7270 } catch (e) {
7271 if (TraceKit.debug) {
7272 throw e;
7273 }
7274 }
7275 return {
7276 name: ex.name,
7277 message: ex.message,
7278 url: getLocationHref()
7279 };
7280 }
7281
7282 computeStackTrace.augmentStackTraceWithInitialElement = augmentStackTraceWithInitialElement;
7283 computeStackTrace.computeStackTraceFromStackProp = computeStackTraceFromStackProp;
7284
7285 return computeStackTrace;
7286 })();
7287
7288 module.exports = TraceKit;
7289
7290
7291 /***/ }),
7292
7293 /***/ "./node_modules/raven-js/vendor/json-stringify-safe/stringify.js":
7294 /*!***********************************************************************!*\
7295 !*** ./node_modules/raven-js/vendor/json-stringify-safe/stringify.js ***!
7296 \***********************************************************************/
7297 /***/ ((module, exports) => {
7298
7299 /*
7300 json-stringify-safe
7301 Like JSON.stringify, but doesn't throw on circular references.
7302
7303 Originally forked from https://github.com/isaacs/json-stringify-safe
7304 version 5.0.1 on 3/8/2017 and modified to handle Errors serialization
7305 and IE8 compatibility. Tests for this are in test/vendor.
7306
7307 ISC license: https://github.com/isaacs/json-stringify-safe/blob/master/LICENSE
7308 */
7309
7310 exports = module.exports = stringify;
7311 exports.getSerialize = serializer;
7312
7313 function indexOf(haystack, needle) {
7314 for (var i = 0; i < haystack.length; ++i) {
7315 if (haystack[i] === needle) return i;
7316 }
7317 return -1;
7318 }
7319
7320 function stringify(obj, replacer, spaces, cycleReplacer) {
7321 return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces);
7322 }
7323
7324 // https://github.com/ftlabs/js-abbreviate/blob/fa709e5f139e7770a71827b1893f22418097fbda/index.js#L95-L106
7325 function stringifyError(value) {
7326 var err = {
7327 // These properties are implemented as magical getters and don't show up in for in
7328 stack: value.stack,
7329 message: value.message,
7330 name: value.name
7331 };
7332
7333 for (var i in value) {
7334 if (Object.prototype.hasOwnProperty.call(value, i)) {
7335 err[i] = value[i];
7336 }
7337 }
7338
7339 return err;
7340 }
7341
7342 function serializer(replacer, cycleReplacer) {
7343 var stack = [];
7344 var keys = [];
7345
7346 if (cycleReplacer == null) {
7347 cycleReplacer = function(key, value) {
7348 if (stack[0] === value) {
7349 return '[Circular ~]';
7350 }
7351 return '[Circular ~.' + keys.slice(0, indexOf(stack, value)).join('.') + ']';
7352 };
7353 }
7354
7355 return function(key, value) {
7356 if (stack.length > 0) {
7357 var thisPos = indexOf(stack, this);
7358 ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
7359 ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);
7360
7361 if (~indexOf(stack, value)) {
7362 value = cycleReplacer.call(this, key, value);
7363 }
7364 } else {
7365 stack.push(value);
7366 }
7367
7368 return replacer == null
7369 ? value instanceof Error ? stringifyError(value) : value
7370 : replacer.call(this, key, value);
7371 };
7372 }
7373
7374
7375 /***/ }),
7376
7377 /***/ "./node_modules/react/cjs/react-jsx-runtime.development.js":
7378 /*!*****************************************************************!*\
7379 !*** ./node_modules/react/cjs/react-jsx-runtime.development.js ***!
7380 \*****************************************************************/
7381 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7382
7383 "use strict";
7384 /** @license React v17.0.2
7385 * react-jsx-runtime.development.js
7386 *
7387 * Copyright (c) Facebook, Inc. and its affiliates.
7388 *
7389 * This source code is licensed under the MIT license found in the
7390 * LICENSE file in the root directory of this source tree.
7391 */
7392
7393
7394
7395 if (true) {
7396 (function() {
7397 'use strict';
7398
7399 var React = __webpack_require__(/*! react */ "react");
7400 var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
7401
7402 // ATTENTION
7403 // When adding new symbols to this file,
7404 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
7405 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
7406 // nor polyfill, then a plain number is used for performance.
7407 var REACT_ELEMENT_TYPE = 0xeac7;
7408 var REACT_PORTAL_TYPE = 0xeaca;
7409 exports.Fragment = 0xeacb;
7410 var REACT_STRICT_MODE_TYPE = 0xeacc;
7411 var REACT_PROFILER_TYPE = 0xead2;
7412 var REACT_PROVIDER_TYPE = 0xeacd;
7413 var REACT_CONTEXT_TYPE = 0xeace;
7414 var REACT_FORWARD_REF_TYPE = 0xead0;
7415 var REACT_SUSPENSE_TYPE = 0xead1;
7416 var REACT_SUSPENSE_LIST_TYPE = 0xead8;
7417 var REACT_MEMO_TYPE = 0xead3;
7418 var REACT_LAZY_TYPE = 0xead4;
7419 var REACT_BLOCK_TYPE = 0xead9;
7420 var REACT_SERVER_BLOCK_TYPE = 0xeada;
7421 var REACT_FUNDAMENTAL_TYPE = 0xead5;
7422 var REACT_SCOPE_TYPE = 0xead7;
7423 var REACT_OPAQUE_ID_TYPE = 0xeae0;
7424 var REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;
7425 var REACT_OFFSCREEN_TYPE = 0xeae2;
7426 var REACT_LEGACY_HIDDEN_TYPE = 0xeae3;
7427
7428 if (typeof Symbol === 'function' && Symbol.for) {
7429 var symbolFor = Symbol.for;
7430 REACT_ELEMENT_TYPE = symbolFor('react.element');
7431 REACT_PORTAL_TYPE = symbolFor('react.portal');
7432 exports.Fragment = symbolFor('react.fragment');
7433 REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');
7434 REACT_PROFILER_TYPE = symbolFor('react.profiler');
7435 REACT_PROVIDER_TYPE = symbolFor('react.provider');
7436 REACT_CONTEXT_TYPE = symbolFor('react.context');
7437 REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');
7438 REACT_SUSPENSE_TYPE = symbolFor('react.suspense');
7439 REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');
7440 REACT_MEMO_TYPE = symbolFor('react.memo');
7441 REACT_LAZY_TYPE = symbolFor('react.lazy');
7442 REACT_BLOCK_TYPE = symbolFor('react.block');
7443 REACT_SERVER_BLOCK_TYPE = symbolFor('react.server.block');
7444 REACT_FUNDAMENTAL_TYPE = symbolFor('react.fundamental');
7445 REACT_SCOPE_TYPE = symbolFor('react.scope');
7446 REACT_OPAQUE_ID_TYPE = symbolFor('react.opaque.id');
7447 REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');
7448 REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');
7449 REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');
7450 }
7451
7452 var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
7453 var FAUX_ITERATOR_SYMBOL = '@@iterator';
7454 function getIteratorFn(maybeIterable) {
7455 if (maybeIterable === null || typeof maybeIterable !== 'object') {
7456 return null;
7457 }
7458
7459 var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
7460
7461 if (typeof maybeIterator === 'function') {
7462 return maybeIterator;
7463 }
7464
7465 return null;
7466 }
7467
7468 var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
7469
7470 function error(format) {
7471 {
7472 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
7473 args[_key2 - 1] = arguments[_key2];
7474 }
7475
7476 printWarning('error', format, args);
7477 }
7478 }
7479
7480 function printWarning(level, format, args) {
7481 // When changing this logic, you might want to also
7482 // update consoleWithStackDev.www.js as well.
7483 {
7484 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
7485 var stack = ReactDebugCurrentFrame.getStackAddendum();
7486
7487 if (stack !== '') {
7488 format += '%s';
7489 args = args.concat([stack]);
7490 }
7491
7492 var argsWithFormat = args.map(function (item) {
7493 return '' + item;
7494 }); // Careful: RN currently depends on this prefix
7495
7496 argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
7497 // breaks IE9: https://github.com/facebook/react/issues/13610
7498 // eslint-disable-next-line react-internal/no-production-logging
7499
7500 Function.prototype.apply.call(console[level], console, argsWithFormat);
7501 }
7502 }
7503
7504 // Filter certain DOM attributes (e.g. src, href) if their values are empty strings.
7505
7506 var enableScopeAPI = false; // Experimental Create Event Handle API.
7507
7508 function isValidElementType(type) {
7509 if (typeof type === 'string' || typeof type === 'function') {
7510 return true;
7511 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
7512
7513
7514 if (type === exports.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI ) {
7515 return true;
7516 }
7517
7518 if (typeof type === 'object' && type !== null) {
7519 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 || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) {
7520 return true;
7521 }
7522 }
7523
7524 return false;
7525 }
7526
7527 function getWrappedName(outerType, innerType, wrapperName) {
7528 var functionName = innerType.displayName || innerType.name || '';
7529 return outerType.displayName || (functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName);
7530 }
7531
7532 function getContextName(type) {
7533 return type.displayName || 'Context';
7534 }
7535
7536 function getComponentName(type) {
7537 if (type == null) {
7538 // Host root, text node or just invalid type.
7539 return null;
7540 }
7541
7542 {
7543 if (typeof type.tag === 'number') {
7544 error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
7545 }
7546 }
7547
7548 if (typeof type === 'function') {
7549 return type.displayName || type.name || null;
7550 }
7551
7552 if (typeof type === 'string') {
7553 return type;
7554 }
7555
7556 switch (type) {
7557 case exports.Fragment:
7558 return 'Fragment';
7559
7560 case REACT_PORTAL_TYPE:
7561 return 'Portal';
7562
7563 case REACT_PROFILER_TYPE:
7564 return 'Profiler';
7565
7566 case REACT_STRICT_MODE_TYPE:
7567 return 'StrictMode';
7568
7569 case REACT_SUSPENSE_TYPE:
7570 return 'Suspense';
7571
7572 case REACT_SUSPENSE_LIST_TYPE:
7573 return 'SuspenseList';
7574 }
7575
7576 if (typeof type === 'object') {
7577 switch (type.$$typeof) {
7578 case REACT_CONTEXT_TYPE:
7579 var context = type;
7580 return getContextName(context) + '.Consumer';
7581
7582 case REACT_PROVIDER_TYPE:
7583 var provider = type;
7584 return getContextName(provider._context) + '.Provider';
7585
7586 case REACT_FORWARD_REF_TYPE:
7587 return getWrappedName(type, type.render, 'ForwardRef');
7588
7589 case REACT_MEMO_TYPE:
7590 return getComponentName(type.type);
7591
7592 case REACT_BLOCK_TYPE:
7593 return getComponentName(type._render);
7594
7595 case REACT_LAZY_TYPE:
7596 {
7597 var lazyComponent = type;
7598 var payload = lazyComponent._payload;
7599 var init = lazyComponent._init;
7600
7601 try {
7602 return getComponentName(init(payload));
7603 } catch (x) {
7604 return null;
7605 }
7606 }
7607 }
7608 }
7609
7610 return null;
7611 }
7612
7613 // Helpers to patch console.logs to avoid logging during side-effect free
7614 // replaying on render function. This currently only patches the object
7615 // lazily which won't cover if the log function was extracted eagerly.
7616 // We could also eagerly patch the method.
7617 var disabledDepth = 0;
7618 var prevLog;
7619 var prevInfo;
7620 var prevWarn;
7621 var prevError;
7622 var prevGroup;
7623 var prevGroupCollapsed;
7624 var prevGroupEnd;
7625
7626 function disabledLog() {}
7627
7628 disabledLog.__reactDisabledLog = true;
7629 function disableLogs() {
7630 {
7631 if (disabledDepth === 0) {
7632 /* eslint-disable react-internal/no-production-logging */
7633 prevLog = console.log;
7634 prevInfo = console.info;
7635 prevWarn = console.warn;
7636 prevError = console.error;
7637 prevGroup = console.group;
7638 prevGroupCollapsed = console.groupCollapsed;
7639 prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099
7640
7641 var props = {
7642 configurable: true,
7643 enumerable: true,
7644 value: disabledLog,
7645 writable: true
7646 }; // $FlowFixMe Flow thinks console is immutable.
7647
7648 Object.defineProperties(console, {
7649 info: props,
7650 log: props,
7651 warn: props,
7652 error: props,
7653 group: props,
7654 groupCollapsed: props,
7655 groupEnd: props
7656 });
7657 /* eslint-enable react-internal/no-production-logging */
7658 }
7659
7660 disabledDepth++;
7661 }
7662 }
7663 function reenableLogs() {
7664 {
7665 disabledDepth--;
7666
7667 if (disabledDepth === 0) {
7668 /* eslint-disable react-internal/no-production-logging */
7669 var props = {
7670 configurable: true,
7671 enumerable: true,
7672 writable: true
7673 }; // $FlowFixMe Flow thinks console is immutable.
7674
7675 Object.defineProperties(console, {
7676 log: _assign({}, props, {
7677 value: prevLog
7678 }),
7679 info: _assign({}, props, {
7680 value: prevInfo
7681 }),
7682 warn: _assign({}, props, {
7683 value: prevWarn
7684 }),
7685 error: _assign({}, props, {
7686 value: prevError
7687 }),
7688 group: _assign({}, props, {
7689 value: prevGroup
7690 }),
7691 groupCollapsed: _assign({}, props, {
7692 value: prevGroupCollapsed
7693 }),
7694 groupEnd: _assign({}, props, {
7695 value: prevGroupEnd
7696 })
7697 });
7698 /* eslint-enable react-internal/no-production-logging */
7699 }
7700
7701 if (disabledDepth < 0) {
7702 error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');
7703 }
7704 }
7705 }
7706
7707 var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
7708 var prefix;
7709 function describeBuiltInComponentFrame(name, source, ownerFn) {
7710 {
7711 if (prefix === undefined) {
7712 // Extract the VM specific prefix used by each line.
7713 try {
7714 throw Error();
7715 } catch (x) {
7716 var match = x.stack.trim().match(/\n( *(at )?)/);
7717 prefix = match && match[1] || '';
7718 }
7719 } // We use the prefix to ensure our stacks line up with native stack frames.
7720
7721
7722 return '\n' + prefix + name;
7723 }
7724 }
7725 var reentry = false;
7726 var componentFrameCache;
7727
7728 {
7729 var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;
7730 componentFrameCache = new PossiblyWeakMap();
7731 }
7732
7733 function describeNativeComponentFrame(fn, construct) {
7734 // If something asked for a stack inside a fake render, it should get ignored.
7735 if (!fn || reentry) {
7736 return '';
7737 }
7738
7739 {
7740 var frame = componentFrameCache.get(fn);
7741
7742 if (frame !== undefined) {
7743 return frame;
7744 }
7745 }
7746
7747 var control;
7748 reentry = true;
7749 var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.
7750
7751 Error.prepareStackTrace = undefined;
7752 var previousDispatcher;
7753
7754 {
7755 previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function
7756 // for warnings.
7757
7758 ReactCurrentDispatcher.current = null;
7759 disableLogs();
7760 }
7761
7762 try {
7763 // This should throw.
7764 if (construct) {
7765 // Something should be setting the props in the constructor.
7766 var Fake = function () {
7767 throw Error();
7768 }; // $FlowFixMe
7769
7770
7771 Object.defineProperty(Fake.prototype, 'props', {
7772 set: function () {
7773 // We use a throwing setter instead of frozen or non-writable props
7774 // because that won't throw in a non-strict mode function.
7775 throw Error();
7776 }
7777 });
7778
7779 if (typeof Reflect === 'object' && Reflect.construct) {
7780 // We construct a different control for this case to include any extra
7781 // frames added by the construct call.
7782 try {
7783 Reflect.construct(Fake, []);
7784 } catch (x) {
7785 control = x;
7786 }
7787
7788 Reflect.construct(fn, [], Fake);
7789 } else {
7790 try {
7791 Fake.call();
7792 } catch (x) {
7793 control = x;
7794 }
7795
7796 fn.call(Fake.prototype);
7797 }
7798 } else {
7799 try {
7800 throw Error();
7801 } catch (x) {
7802 control = x;
7803 }
7804
7805 fn();
7806 }
7807 } catch (sample) {
7808 // This is inlined manually because closure doesn't do it for us.
7809 if (sample && control && typeof sample.stack === 'string') {
7810 // This extracts the first frame from the sample that isn't also in the control.
7811 // Skipping one frame that we assume is the frame that calls the two.
7812 var sampleLines = sample.stack.split('\n');
7813 var controlLines = control.stack.split('\n');
7814 var s = sampleLines.length - 1;
7815 var c = controlLines.length - 1;
7816
7817 while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
7818 // We expect at least one stack frame to be shared.
7819 // Typically this will be the root most one. However, stack frames may be
7820 // cut off due to maximum stack limits. In this case, one maybe cut off
7821 // earlier than the other. We assume that the sample is longer or the same
7822 // and there for cut off earlier. So we should find the root most frame in
7823 // the sample somewhere in the control.
7824 c--;
7825 }
7826
7827 for (; s >= 1 && c >= 0; s--, c--) {
7828 // Next we find the first one that isn't the same which should be the
7829 // frame that called our sample function and the control.
7830 if (sampleLines[s] !== controlLines[c]) {
7831 // In V8, the first line is describing the message but other VMs don't.
7832 // If we're about to return the first line, and the control is also on the same
7833 // line, that's a pretty good indicator that our sample threw at same line as
7834 // the control. I.e. before we entered the sample frame. So we ignore this result.
7835 // This can happen if you passed a class to function component, or non-function.
7836 if (s !== 1 || c !== 1) {
7837 do {
7838 s--;
7839 c--; // We may still have similar intermediate frames from the construct call.
7840 // The next one that isn't the same should be our match though.
7841
7842 if (c < 0 || sampleLines[s] !== controlLines[c]) {
7843 // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier.
7844 var _frame = '\n' + sampleLines[s].replace(' at new ', ' at ');
7845
7846 {
7847 if (typeof fn === 'function') {
7848 componentFrameCache.set(fn, _frame);
7849 }
7850 } // Return the line we found.
7851
7852
7853 return _frame;
7854 }
7855 } while (s >= 1 && c >= 0);
7856 }
7857
7858 break;
7859 }
7860 }
7861 }
7862 } finally {
7863 reentry = false;
7864
7865 {
7866 ReactCurrentDispatcher.current = previousDispatcher;
7867 reenableLogs();
7868 }
7869
7870 Error.prepareStackTrace = previousPrepareStackTrace;
7871 } // Fallback to just using the name if we couldn't make it throw.
7872
7873
7874 var name = fn ? fn.displayName || fn.name : '';
7875 var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';
7876
7877 {
7878 if (typeof fn === 'function') {
7879 componentFrameCache.set(fn, syntheticFrame);
7880 }
7881 }
7882
7883 return syntheticFrame;
7884 }
7885 function describeFunctionComponentFrame(fn, source, ownerFn) {
7886 {
7887 return describeNativeComponentFrame(fn, false);
7888 }
7889 }
7890
7891 function shouldConstruct(Component) {
7892 var prototype = Component.prototype;
7893 return !!(prototype && prototype.isReactComponent);
7894 }
7895
7896 function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
7897
7898 if (type == null) {
7899 return '';
7900 }
7901
7902 if (typeof type === 'function') {
7903 {
7904 return describeNativeComponentFrame(type, shouldConstruct(type));
7905 }
7906 }
7907
7908 if (typeof type === 'string') {
7909 return describeBuiltInComponentFrame(type);
7910 }
7911
7912 switch (type) {
7913 case REACT_SUSPENSE_TYPE:
7914 return describeBuiltInComponentFrame('Suspense');
7915
7916 case REACT_SUSPENSE_LIST_TYPE:
7917 return describeBuiltInComponentFrame('SuspenseList');
7918 }
7919
7920 if (typeof type === 'object') {
7921 switch (type.$$typeof) {
7922 case REACT_FORWARD_REF_TYPE:
7923 return describeFunctionComponentFrame(type.render);
7924
7925 case REACT_MEMO_TYPE:
7926 // Memo may contain any component type so we recursively resolve it.
7927 return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
7928
7929 case REACT_BLOCK_TYPE:
7930 return describeFunctionComponentFrame(type._render);
7931
7932 case REACT_LAZY_TYPE:
7933 {
7934 var lazyComponent = type;
7935 var payload = lazyComponent._payload;
7936 var init = lazyComponent._init;
7937
7938 try {
7939 // Lazy may contain any component type so we recursively resolve it.
7940 return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
7941 } catch (x) {}
7942 }
7943 }
7944 }
7945
7946 return '';
7947 }
7948
7949 var loggedTypeFailures = {};
7950 var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
7951
7952 function setCurrentlyValidatingElement(element) {
7953 {
7954 if (element) {
7955 var owner = element._owner;
7956 var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
7957 ReactDebugCurrentFrame.setExtraStackFrame(stack);
7958 } else {
7959 ReactDebugCurrentFrame.setExtraStackFrame(null);
7960 }
7961 }
7962 }
7963
7964 function checkPropTypes(typeSpecs, values, location, componentName, element) {
7965 {
7966 // $FlowFixMe This is okay but Flow doesn't know it.
7967 var has = Function.call.bind(Object.prototype.hasOwnProperty);
7968
7969 for (var typeSpecName in typeSpecs) {
7970 if (has(typeSpecs, typeSpecName)) {
7971 var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to
7972 // fail the render phase where it didn't fail before. So we log it.
7973 // After these have been cleaned up, we'll let them throw.
7974
7975 try {
7976 // This is intentionally an invariant that gets caught. It's the same
7977 // behavior as without this statement except with a better message.
7978 if (typeof typeSpecs[typeSpecName] !== 'function') {
7979 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`.');
7980 err.name = 'Invariant Violation';
7981 throw err;
7982 }
7983
7984 error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');
7985 } catch (ex) {
7986 error$1 = ex;
7987 }
7988
7989 if (error$1 && !(error$1 instanceof Error)) {
7990 setCurrentlyValidatingElement(element);
7991
7992 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);
7993
7994 setCurrentlyValidatingElement(null);
7995 }
7996
7997 if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
7998 // Only monitor this failure once because there tends to be a lot of the
7999 // same error.
8000 loggedTypeFailures[error$1.message] = true;
8001 setCurrentlyValidatingElement(element);
8002
8003 error('Failed %s type: %s', location, error$1.message);
8004
8005 setCurrentlyValidatingElement(null);
8006 }
8007 }
8008 }
8009 }
8010 }
8011
8012 var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
8013 var hasOwnProperty = Object.prototype.hasOwnProperty;
8014 var RESERVED_PROPS = {
8015 key: true,
8016 ref: true,
8017 __self: true,
8018 __source: true
8019 };
8020 var specialPropKeyWarningShown;
8021 var specialPropRefWarningShown;
8022 var didWarnAboutStringRefs;
8023
8024 {
8025 didWarnAboutStringRefs = {};
8026 }
8027
8028 function hasValidRef(config) {
8029 {
8030 if (hasOwnProperty.call(config, 'ref')) {
8031 var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
8032
8033 if (getter && getter.isReactWarning) {
8034 return false;
8035 }
8036 }
8037 }
8038
8039 return config.ref !== undefined;
8040 }
8041
8042 function hasValidKey(config) {
8043 {
8044 if (hasOwnProperty.call(config, 'key')) {
8045 var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
8046
8047 if (getter && getter.isReactWarning) {
8048 return false;
8049 }
8050 }
8051 }
8052
8053 return config.key !== undefined;
8054 }
8055
8056 function warnIfStringRefCannotBeAutoConverted(config, self) {
8057 {
8058 if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
8059 var componentName = getComponentName(ReactCurrentOwner.current.type);
8060
8061 if (!didWarnAboutStringRefs[componentName]) {
8062 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', getComponentName(ReactCurrentOwner.current.type), config.ref);
8063
8064 didWarnAboutStringRefs[componentName] = true;
8065 }
8066 }
8067 }
8068 }
8069
8070 function defineKeyPropWarningGetter(props, displayName) {
8071 {
8072 var warnAboutAccessingKey = function () {
8073 if (!specialPropKeyWarningShown) {
8074 specialPropKeyWarningShown = true;
8075
8076 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);
8077 }
8078 };
8079
8080 warnAboutAccessingKey.isReactWarning = true;
8081 Object.defineProperty(props, 'key', {
8082 get: warnAboutAccessingKey,
8083 configurable: true
8084 });
8085 }
8086 }
8087
8088 function defineRefPropWarningGetter(props, displayName) {
8089 {
8090 var warnAboutAccessingRef = function () {
8091 if (!specialPropRefWarningShown) {
8092 specialPropRefWarningShown = true;
8093
8094 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);
8095 }
8096 };
8097
8098 warnAboutAccessingRef.isReactWarning = true;
8099 Object.defineProperty(props, 'ref', {
8100 get: warnAboutAccessingRef,
8101 configurable: true
8102 });
8103 }
8104 }
8105 /**
8106 * Factory method to create a new React element. This no longer adheres to
8107 * the class pattern, so do not use new to call it. Also, instanceof check
8108 * will not work. Instead test $$typeof field against Symbol.for('react.element') to check
8109 * if something is a React Element.
8110 *
8111 * @param {*} type
8112 * @param {*} props
8113 * @param {*} key
8114 * @param {string|object} ref
8115 * @param {*} owner
8116 * @param {*} self A *temporary* helper to detect places where `this` is
8117 * different from the `owner` when React.createElement is called, so that we
8118 * can warn. We want to get rid of owner and replace string `ref`s with arrow
8119 * functions, and as long as `this` and owner are the same, there will be no
8120 * change in behavior.
8121 * @param {*} source An annotation object (added by a transpiler or otherwise)
8122 * indicating filename, line number, and/or other information.
8123 * @internal
8124 */
8125
8126
8127 var ReactElement = function (type, key, ref, self, source, owner, props) {
8128 var element = {
8129 // This tag allows us to uniquely identify this as a React Element
8130 $$typeof: REACT_ELEMENT_TYPE,
8131 // Built-in properties that belong on the element
8132 type: type,
8133 key: key,
8134 ref: ref,
8135 props: props,
8136 // Record the component responsible for creating this element.
8137 _owner: owner
8138 };
8139
8140 {
8141 // The validation flag is currently mutative. We put it on
8142 // an external backing store so that we can freeze the whole object.
8143 // This can be replaced with a WeakMap once they are implemented in
8144 // commonly used development environments.
8145 element._store = {}; // To make comparing ReactElements easier for testing purposes, we make
8146 // the validation flag non-enumerable (where possible, which should
8147 // include every environment we run tests in), so the test framework
8148 // ignores it.
8149
8150 Object.defineProperty(element._store, 'validated', {
8151 configurable: false,
8152 enumerable: false,
8153 writable: true,
8154 value: false
8155 }); // self and source are DEV only properties.
8156
8157 Object.defineProperty(element, '_self', {
8158 configurable: false,
8159 enumerable: false,
8160 writable: false,
8161 value: self
8162 }); // Two elements created in two different places should be considered
8163 // equal for testing purposes and therefore we hide it from enumeration.
8164
8165 Object.defineProperty(element, '_source', {
8166 configurable: false,
8167 enumerable: false,
8168 writable: false,
8169 value: source
8170 });
8171
8172 if (Object.freeze) {
8173 Object.freeze(element.props);
8174 Object.freeze(element);
8175 }
8176 }
8177
8178 return element;
8179 };
8180 /**
8181 * https://github.com/reactjs/rfcs/pull/107
8182 * @param {*} type
8183 * @param {object} props
8184 * @param {string} key
8185 */
8186
8187 function jsxDEV(type, config, maybeKey, source, self) {
8188 {
8189 var propName; // Reserved names are extracted
8190
8191 var props = {};
8192 var key = null;
8193 var ref = null; // Currently, key can be spread in as a prop. This causes a potential
8194 // issue if key is also explicitly declared (ie. <div {...props} key="Hi" />
8195 // or <div key="Hi" {...props} /> ). We want to deprecate key spread,
8196 // but as an intermediary step, we will use jsxDEV for everything except
8197 // <div {...props} key="Hi" />, because we aren't currently able to tell if
8198 // key is explicitly declared to be undefined or not.
8199
8200 if (maybeKey !== undefined) {
8201 key = '' + maybeKey;
8202 }
8203
8204 if (hasValidKey(config)) {
8205 key = '' + config.key;
8206 }
8207
8208 if (hasValidRef(config)) {
8209 ref = config.ref;
8210 warnIfStringRefCannotBeAutoConverted(config, self);
8211 } // Remaining properties are added to a new props object
8212
8213
8214 for (propName in config) {
8215 if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
8216 props[propName] = config[propName];
8217 }
8218 } // Resolve default props
8219
8220
8221 if (type && type.defaultProps) {
8222 var defaultProps = type.defaultProps;
8223
8224 for (propName in defaultProps) {
8225 if (props[propName] === undefined) {
8226 props[propName] = defaultProps[propName];
8227 }
8228 }
8229 }
8230
8231 if (key || ref) {
8232 var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
8233
8234 if (key) {
8235 defineKeyPropWarningGetter(props, displayName);
8236 }
8237
8238 if (ref) {
8239 defineRefPropWarningGetter(props, displayName);
8240 }
8241 }
8242
8243 return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
8244 }
8245 }
8246
8247 var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
8248 var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
8249
8250 function setCurrentlyValidatingElement$1(element) {
8251 {
8252 if (element) {
8253 var owner = element._owner;
8254 var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
8255 ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
8256 } else {
8257 ReactDebugCurrentFrame$1.setExtraStackFrame(null);
8258 }
8259 }
8260 }
8261
8262 var propTypesMisspellWarningShown;
8263
8264 {
8265 propTypesMisspellWarningShown = false;
8266 }
8267 /**
8268 * Verifies the object is a ReactElement.
8269 * See https://reactjs.org/docs/react-api.html#isvalidelement
8270 * @param {?object} object
8271 * @return {boolean} True if `object` is a ReactElement.
8272 * @final
8273 */
8274
8275 function isValidElement(object) {
8276 {
8277 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
8278 }
8279 }
8280
8281 function getDeclarationErrorAddendum() {
8282 {
8283 if (ReactCurrentOwner$1.current) {
8284 var name = getComponentName(ReactCurrentOwner$1.current.type);
8285
8286 if (name) {
8287 return '\n\nCheck the render method of `' + name + '`.';
8288 }
8289 }
8290
8291 return '';
8292 }
8293 }
8294
8295 function getSourceInfoErrorAddendum(source) {
8296 {
8297 if (source !== undefined) {
8298 var fileName = source.fileName.replace(/^.*[\\\/]/, '');
8299 var lineNumber = source.lineNumber;
8300 return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
8301 }
8302
8303 return '';
8304 }
8305 }
8306 /**
8307 * Warn if there's no key explicitly set on dynamic arrays of children or
8308 * object keys are not valid. This allows us to keep track of children between
8309 * updates.
8310 */
8311
8312
8313 var ownerHasKeyUseWarning = {};
8314
8315 function getCurrentComponentErrorInfo(parentType) {
8316 {
8317 var info = getDeclarationErrorAddendum();
8318
8319 if (!info) {
8320 var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
8321
8322 if (parentName) {
8323 info = "\n\nCheck the top-level render call using <" + parentName + ">.";
8324 }
8325 }
8326
8327 return info;
8328 }
8329 }
8330 /**
8331 * Warn if the element doesn't have an explicit key assigned to it.
8332 * This element is in an array. The array could grow and shrink or be
8333 * reordered. All children that haven't already been validated are required to
8334 * have a "key" property assigned to it. Error statuses are cached so a warning
8335 * will only be shown once.
8336 *
8337 * @internal
8338 * @param {ReactElement} element Element that requires a key.
8339 * @param {*} parentType element's parent's type.
8340 */
8341
8342
8343 function validateExplicitKey(element, parentType) {
8344 {
8345 if (!element._store || element._store.validated || element.key != null) {
8346 return;
8347 }
8348
8349 element._store.validated = true;
8350 var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
8351
8352 if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
8353 return;
8354 }
8355
8356 ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a
8357 // property, it may be the creator of the child that's responsible for
8358 // assigning it a key.
8359
8360 var childOwner = '';
8361
8362 if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
8363 // Give the component that originally created this child.
8364 childOwner = " It was passed a child from " + getComponentName(element._owner.type) + ".";
8365 }
8366
8367 setCurrentlyValidatingElement$1(element);
8368
8369 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);
8370
8371 setCurrentlyValidatingElement$1(null);
8372 }
8373 }
8374 /**
8375 * Ensure that every element either is passed in a static location, in an
8376 * array with an explicit keys property defined, or in an object literal
8377 * with valid key property.
8378 *
8379 * @internal
8380 * @param {ReactNode} node Statically passed child of any type.
8381 * @param {*} parentType node's parent's type.
8382 */
8383
8384
8385 function validateChildKeys(node, parentType) {
8386 {
8387 if (typeof node !== 'object') {
8388 return;
8389 }
8390
8391 if (Array.isArray(node)) {
8392 for (var i = 0; i < node.length; i++) {
8393 var child = node[i];
8394
8395 if (isValidElement(child)) {
8396 validateExplicitKey(child, parentType);
8397 }
8398 }
8399 } else if (isValidElement(node)) {
8400 // This element was passed in a valid location.
8401 if (node._store) {
8402 node._store.validated = true;
8403 }
8404 } else if (node) {
8405 var iteratorFn = getIteratorFn(node);
8406
8407 if (typeof iteratorFn === 'function') {
8408 // Entry iterators used to provide implicit keys,
8409 // but now we print a separate warning for them later.
8410 if (iteratorFn !== node.entries) {
8411 var iterator = iteratorFn.call(node);
8412 var step;
8413
8414 while (!(step = iterator.next()).done) {
8415 if (isValidElement(step.value)) {
8416 validateExplicitKey(step.value, parentType);
8417 }
8418 }
8419 }
8420 }
8421 }
8422 }
8423 }
8424 /**
8425 * Given an element, validate that its props follow the propTypes definition,
8426 * provided by the type.
8427 *
8428 * @param {ReactElement} element
8429 */
8430
8431
8432 function validatePropTypes(element) {
8433 {
8434 var type = element.type;
8435
8436 if (type === null || type === undefined || typeof type === 'string') {
8437 return;
8438 }
8439
8440 var propTypes;
8441
8442 if (typeof type === 'function') {
8443 propTypes = type.propTypes;
8444 } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
8445 // Inner props are checked in the reconciler.
8446 type.$$typeof === REACT_MEMO_TYPE)) {
8447 propTypes = type.propTypes;
8448 } else {
8449 return;
8450 }
8451
8452 if (propTypes) {
8453 // Intentionally inside to avoid triggering lazy initializers:
8454 var name = getComponentName(type);
8455 checkPropTypes(propTypes, element.props, 'prop', name, element);
8456 } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
8457 propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:
8458
8459 var _name = getComponentName(type);
8460
8461 error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');
8462 }
8463
8464 if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {
8465 error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
8466 }
8467 }
8468 }
8469 /**
8470 * Given a fragment, validate that it can only be provided with fragment props
8471 * @param {ReactElement} fragment
8472 */
8473
8474
8475 function validateFragmentProps(fragment) {
8476 {
8477 var keys = Object.keys(fragment.props);
8478
8479 for (var i = 0; i < keys.length; i++) {
8480 var key = keys[i];
8481
8482 if (key !== 'children' && key !== 'key') {
8483 setCurrentlyValidatingElement$1(fragment);
8484
8485 error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
8486
8487 setCurrentlyValidatingElement$1(null);
8488 break;
8489 }
8490 }
8491
8492 if (fragment.ref !== null) {
8493 setCurrentlyValidatingElement$1(fragment);
8494
8495 error('Invalid attribute `ref` supplied to `React.Fragment`.');
8496
8497 setCurrentlyValidatingElement$1(null);
8498 }
8499 }
8500 }
8501
8502 function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
8503 {
8504 var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to
8505 // succeed and there will likely be errors in render.
8506
8507 if (!validType) {
8508 var info = '';
8509
8510 if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
8511 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.";
8512 }
8513
8514 var sourceInfo = getSourceInfoErrorAddendum(source);
8515
8516 if (sourceInfo) {
8517 info += sourceInfo;
8518 } else {
8519 info += getDeclarationErrorAddendum();
8520 }
8521
8522 var typeString;
8523
8524 if (type === null) {
8525 typeString = 'null';
8526 } else if (Array.isArray(type)) {
8527 typeString = 'array';
8528 } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
8529 typeString = "<" + (getComponentName(type.type) || 'Unknown') + " />";
8530 info = ' Did you accidentally export a JSX literal instead of a component?';
8531 } else {
8532 typeString = typeof type;
8533 }
8534
8535 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);
8536 }
8537
8538 var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.
8539 // TODO: Drop this when these are no longer allowed as the type argument.
8540
8541 if (element == null) {
8542 return element;
8543 } // Skip key warning if the type isn't valid since our key validation logic
8544 // doesn't expect a non-string/function type and can throw confusing errors.
8545 // We don't want exception behavior to differ between dev and prod.
8546 // (Rendering will throw with a helpful message and as soon as the type is
8547 // fixed, the key warnings will appear.)
8548
8549
8550 if (validType) {
8551 var children = props.children;
8552
8553 if (children !== undefined) {
8554 if (isStaticChildren) {
8555 if (Array.isArray(children)) {
8556 for (var i = 0; i < children.length; i++) {
8557 validateChildKeys(children[i], type);
8558 }
8559
8560 if (Object.freeze) {
8561 Object.freeze(children);
8562 }
8563 } else {
8564 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.');
8565 }
8566 } else {
8567 validateChildKeys(children, type);
8568 }
8569 }
8570 }
8571
8572 if (type === exports.Fragment) {
8573 validateFragmentProps(element);
8574 } else {
8575 validatePropTypes(element);
8576 }
8577
8578 return element;
8579 }
8580 } // These two functions exist to still get child warnings in dev
8581 // even with the prod transform. This means that jsxDEV is purely
8582 // opt-in behavior for better messages but that we won't stop
8583 // giving you warnings if you use production apis.
8584
8585 function jsxWithValidationStatic(type, props, key) {
8586 {
8587 return jsxWithValidation(type, props, key, true);
8588 }
8589 }
8590 function jsxWithValidationDynamic(type, props, key) {
8591 {
8592 return jsxWithValidation(type, props, key, false);
8593 }
8594 }
8595
8596 var jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.
8597 // for now we can ship identical prod functions
8598
8599 var jsxs = jsxWithValidationStatic ;
8600
8601 exports.jsx = jsx;
8602 exports.jsxs = jsxs;
8603 })();
8604 }
8605
8606
8607 /***/ }),
8608
8609 /***/ "./node_modules/react/jsx-runtime.js":
8610 /*!*******************************************!*\
8611 !*** ./node_modules/react/jsx-runtime.js ***!
8612 \*******************************************/
8613 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8614
8615 "use strict";
8616
8617
8618 if (false) {} else {
8619 module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "./node_modules/react/cjs/react-jsx-runtime.development.js");
8620 }
8621
8622
8623 /***/ }),
8624
8625 /***/ "react":
8626 /*!************************!*\
8627 !*** external "React" ***!
8628 \************************/
8629 /***/ ((module) => {
8630
8631 "use strict";
8632 module.exports = window["React"];
8633
8634 /***/ }),
8635
8636 /***/ "react-dom":
8637 /*!***************************!*\
8638 !*** external "ReactDOM" ***!
8639 \***************************/
8640 /***/ ((module) => {
8641
8642 "use strict";
8643 module.exports = window["ReactDOM"];
8644
8645 /***/ }),
8646
8647 /***/ "jquery":
8648 /*!*************************!*\
8649 !*** external "jQuery" ***!
8650 \*************************/
8651 /***/ ((module) => {
8652
8653 "use strict";
8654 module.exports = window["jQuery"];
8655
8656 /***/ }),
8657
8658 /***/ "@wordpress/i18n":
8659 /*!******************************!*\
8660 !*** external ["wp","i18n"] ***!
8661 \******************************/
8662 /***/ ((module) => {
8663
8664 "use strict";
8665 module.exports = window["wp"]["i18n"];
8666
8667 /***/ }),
8668
8669 /***/ "./node_modules/@linaria/react/dist/index.mjs":
8670 /*!****************************************************!*\
8671 !*** ./node_modules/@linaria/react/dist/index.mjs ***!
8672 \****************************************************/
8673 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8674
8675 "use strict";
8676 __webpack_require__.r(__webpack_exports__);
8677 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8678 /* harmony export */ "styled": () => (/* binding */ styled_default)
8679 /* harmony export */ });
8680 /* 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");
8681 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
8682 /* harmony import */ var _linaria_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @linaria/core */ "./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs");
8683 // src/styled.ts
8684
8685
8686
8687 var isCapital = (ch) => ch.toUpperCase() === ch;
8688 var filterKey = (keys) => (key) => keys.indexOf(key) === -1;
8689 var omit = (obj, keys) => {
8690 const res = {};
8691 Object.keys(obj).filter(filterKey(keys)).forEach((key) => {
8692 res[key] = obj[key];
8693 });
8694 return res;
8695 };
8696 function filterProps(asIs, props, omitKeys) {
8697 const filteredProps = omit(props, omitKeys);
8698 if (!asIs) {
8699 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"];
8700 Object.keys(filteredProps).forEach((key) => {
8701 if (!interopValidAttr.default(key)) {
8702 delete filteredProps[key];
8703 }
8704 });
8705 }
8706 return filteredProps;
8707 }
8708 var warnIfInvalid = (value, componentName) => {
8709 if (true) {
8710 if (typeof value === "string" || typeof value === "number" && isFinite(value)) {
8711 return;
8712 }
8713 const stringified = typeof value === "object" ? JSON.stringify(value) : String(value);
8714 console.warn(
8715 `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.`
8716 );
8717 }
8718 };
8719 function styled(tag) {
8720 return (options) => {
8721 if (true) {
8722 if (Array.isArray(options)) {
8723 throw new Error(
8724 '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'
8725 );
8726 }
8727 }
8728 const render = (props, ref) => {
8729 const { as: component = tag, class: className } = props;
8730 const shouldKeepProps = options.propsAsIs === void 0 ? !(typeof component === "string" && component.indexOf("-") === -1 && !isCapital(component[0])) : options.propsAsIs;
8731 const filteredProps = filterProps(shouldKeepProps, props, [
8732 "as",
8733 "class"
8734 ]);
8735 filteredProps.ref = ref;
8736 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);
8737 const { vars } = options;
8738 if (vars) {
8739 const style = {};
8740 for (const name in vars) {
8741 const variable = vars[name];
8742 const result = variable[0];
8743 const unit = variable[1] || "";
8744 const value = typeof result === "function" ? result(props) : result;
8745 warnIfInvalid(value, options.name);
8746 style[`--${name}`] = `${value}${unit}`;
8747 }
8748 const ownStyle = filteredProps.style || {};
8749 const keys = Object.keys(ownStyle);
8750 if (keys.length > 0) {
8751 keys.forEach((key) => {
8752 style[key] = ownStyle[key];
8753 });
8754 }
8755 filteredProps.style = style;
8756 }
8757 if (tag.__linaria && tag !== component) {
8758 filteredProps.as = component;
8759 return react__WEBPACK_IMPORTED_MODULE_1__.createElement(tag, filteredProps);
8760 }
8761 return react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, filteredProps);
8762 };
8763 const Result = react__WEBPACK_IMPORTED_MODULE_1__.forwardRef ? react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(render) : (props) => {
8764 const rest = omit(props, ["innerRef"]);
8765 return render(rest, props.innerRef);
8766 };
8767 Result.displayName = options.name;
8768 Result.__linaria = {
8769 className: options.class,
8770 extends: tag
8771 };
8772 return Result;
8773 };
8774 }
8775 var styled_default = true ? new Proxy(styled, {
8776 get(o, prop) {
8777 return o(prop);
8778 }
8779 }) : 0;
8780
8781 //# sourceMappingURL=index.mjs.map
8782
8783 /***/ }),
8784
8785 /***/ "./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs":
8786 /*!*******************************************************************************!*\
8787 !*** ./node_modules/@linaria/react/node_modules/@linaria/core/dist/index.mjs ***!
8788 \*******************************************************************************/
8789 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8790
8791 "use strict";
8792 __webpack_require__.r(__webpack_exports__);
8793 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8794 /* harmony export */ "css": () => (/* binding */ css_default),
8795 /* harmony export */ "cx": () => (/* binding */ cx_default)
8796 /* harmony export */ });
8797 // src/css.ts
8798 var css = () => {
8799 throw new Error(
8800 'Using the "css" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly.'
8801 );
8802 };
8803 var css_default = css;
8804
8805 // src/cx.ts
8806 var cx = function cx2() {
8807 const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean);
8808 const atomicClasses = {};
8809 const nonAtomicClasses = [];
8810 presentClassNames.forEach((arg) => {
8811 const individualClassNames = arg ? arg.split(" ") : [];
8812 individualClassNames.forEach((className) => {
8813 if (className.startsWith("atm_")) {
8814 const [, keyHash] = className.split("_");
8815 atomicClasses[keyHash] = className;
8816 } else {
8817 nonAtomicClasses.push(className);
8818 }
8819 });
8820 });
8821 const result = [];
8822 for (const keyHash in atomicClasses) {
8823 if (Object.prototype.hasOwnProperty.call(atomicClasses, keyHash)) {
8824 result.push(atomicClasses[keyHash]);
8825 }
8826 }
8827 result.push(...nonAtomicClasses);
8828 return result.join(" ");
8829 };
8830 var cx_default = cx;
8831
8832 //# sourceMappingURL=index.mjs.map
8833
8834 /***/ })
8835
8836 /******/ });
8837 /************************************************************************/
8838 /******/ // The module cache
8839 /******/ var __webpack_module_cache__ = {};
8840 /******/
8841 /******/ // The require function
8842 /******/ function __webpack_require__(moduleId) {
8843 /******/ // Check if module is in cache
8844 /******/ var cachedModule = __webpack_module_cache__[moduleId];
8845 /******/ if (cachedModule !== undefined) {
8846 /******/ return cachedModule.exports;
8847 /******/ }
8848 /******/ // Create a new module (and put it into the cache)
8849 /******/ var module = __webpack_module_cache__[moduleId] = {
8850 /******/ // no module.id needed
8851 /******/ // no module.loaded needed
8852 /******/ exports: {}
8853 /******/ };
8854 /******/
8855 /******/ // Execute the module function
8856 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
8857 /******/
8858 /******/ // Return the exports of the module
8859 /******/ return module.exports;
8860 /******/ }
8861 /******/
8862 /************************************************************************/
8863 /******/ /* webpack/runtime/compat get default export */
8864 /******/ (() => {
8865 /******/ // getDefaultExport function for compatibility with non-harmony modules
8866 /******/ __webpack_require__.n = (module) => {
8867 /******/ var getter = module && module.__esModule ?
8868 /******/ () => (module['default']) :
8869 /******/ () => (module);
8870 /******/ __webpack_require__.d(getter, { a: getter });
8871 /******/ return getter;
8872 /******/ };
8873 /******/ })();
8874 /******/
8875 /******/ /* webpack/runtime/define property getters */
8876 /******/ (() => {
8877 /******/ // define getter functions for harmony exports
8878 /******/ __webpack_require__.d = (exports, definition) => {
8879 /******/ for(var key in definition) {
8880 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
8881 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
8882 /******/ }
8883 /******/ }
8884 /******/ };
8885 /******/ })();
8886 /******/
8887 /******/ /* webpack/runtime/global */
8888 /******/ (() => {
8889 /******/ __webpack_require__.g = (function() {
8890 /******/ if (typeof globalThis === 'object') return globalThis;
8891 /******/ try {
8892 /******/ return this || new Function('return this')();
8893 /******/ } catch (e) {
8894 /******/ if (typeof window === 'object') return window;
8895 /******/ }
8896 /******/ })();
8897 /******/ })();
8898 /******/
8899 /******/ /* webpack/runtime/hasOwnProperty shorthand */
8900 /******/ (() => {
8901 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
8902 /******/ })();
8903 /******/
8904 /******/ /* webpack/runtime/make namespace object */
8905 /******/ (() => {
8906 /******/ // define __esModule on exports
8907 /******/ __webpack_require__.r = (exports) => {
8908 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
8909 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
8910 /******/ }
8911 /******/ Object.defineProperty(exports, '__esModule', { value: true });
8912 /******/ };
8913 /******/ })();
8914 /******/
8915 /************************************************************************/
8916 var __webpack_exports__ = {};
8917 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
8918 (() => {
8919 "use strict";
8920 /*!**************************************!*\
8921 !*** ./scripts/entries/elementor.ts ***!
8922 \**************************************/
8923 __webpack_require__.r(__webpack_exports__);
8924 /* harmony import */ var _elementor_elementorWidget__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../elementor/elementorWidget */ "./scripts/elementor/elementorWidget.ts");
8925 /* harmony import */ var _elementor_FormWidget_registerFormWidget__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../elementor/FormWidget/registerFormWidget */ "./scripts/elementor/FormWidget/registerFormWidget.ts");
8926 /* harmony import */ var _utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/backgroundAppUtils */ "./scripts/utils/backgroundAppUtils.ts");
8927 /* harmony import */ var _elementor_MeetingWidget_registerMeetingWidget__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../elementor/MeetingWidget/registerMeetingWidget */ "./scripts/elementor/MeetingWidget/registerMeetingWidget.ts");
8928
8929
8930
8931
8932 window.addEventListener('elementor/init', function () {
8933 (0,_utils_backgroundAppUtils__WEBPACK_IMPORTED_MODULE_2__.initBackgroundApp)(function () {
8934 var FormWidget;
8935 var MeetingsWidget;
8936 var leadinSelectFormItemView = (0,_elementor_elementorWidget__WEBPACK_IMPORTED_MODULE_0__["default"])( //@ts-expect-error global
8937 window.elementor, {
8938 widgetName: 'hubspot-form',
8939 controlSelector: '.elementor-hbspt-form-selector',
8940 containerSelector: '.hubspot-form-edit-mode'
8941 }, function (controlContainer, widgetContainer, setValue) {
8942 FormWidget = new _elementor_FormWidget_registerFormWidget__WEBPACK_IMPORTED_MODULE_1__["default"](controlContainer, widgetContainer, setValue);
8943 FormWidget.render();
8944 }, function () {
8945 FormWidget.done();
8946 });
8947 var leadinSelectMeetingItemView = (0,_elementor_elementorWidget__WEBPACK_IMPORTED_MODULE_0__["default"])( //@ts-expect-error global
8948 window.elementor, {
8949 widgetName: 'hubspot-meeting',
8950 controlSelector: '.elementor-hbspt-meeting-selector',
8951 containerSelector: '.hubspot-meeting-edit-mode'
8952 }, function (controlContainer, widgetContainer, setValue) {
8953 MeetingsWidget = new _elementor_MeetingWidget_registerMeetingWidget__WEBPACK_IMPORTED_MODULE_3__["default"](controlContainer, widgetContainer, setValue);
8954 MeetingsWidget.render();
8955 }, function () {
8956 MeetingsWidget.done();
8957 }); //@ts-expect-error global
8958
8959 window.elementor.addControlView('leadinformselect', leadinSelectFormItemView); //@ts-expect-error global
8960
8961 window.elementor.addControlView('leadinmeetingselect', leadinSelectMeetingItemView);
8962 });
8963 });
8964 })();
8965
8966 /******/ })()
8967 ;
8968 //# sourceMappingURL=elementor.js.map