PluginProbe
Elementor Website Builder – more than just a page builder / 3.20.0-dev3
Elementor Website Builder – more than just a page builder v3.20.0-dev3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / assets / js / ai-layout.js

ai-layout.js in Elementor Website Builder – more than just a page builder 3.20.0-dev3, at assets/js/ai-layout.js

12,869 lines 569.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.20.0 - 29-02-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!********************************************************************************!*\
7 !*** ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \********************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 "use strict";
12 __webpack_require__.r(__webpack_exports__);
13 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14 /* harmony export */ "default": () => (/* binding */ isPropValid)
15 /* harmony export */ });
16 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
17
18
19 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
20
21 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
22 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
23 /* o */
24 && prop.charCodeAt(1) === 110
25 /* n */
26 && prop.charCodeAt(2) < 91;
27 }
28 /* Z+1 */
29 );
30
31
32
33
34 /***/ }),
35
36 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
37 /*!********************************************************************!*\
38 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
39 \********************************************************************/
40 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
42 "use strict";
43 __webpack_require__.r(__webpack_exports__);
44 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45 /* harmony export */ "default": () => (/* binding */ memoize)
46 /* harmony export */ });
47 function memoize(fn) {
48 var cache = Object.create(null);
49 return function (arg) {
50 if (cache[arg] === undefined) cache[arg] = fn(arg);
51 return cache[arg];
52 };
53 }
54
55
56
57
58 /***/ }),
59
60 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
61 /*!******************************************************************!*\
62 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
63 \******************************************************************/
64 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65
66 "use strict";
67 __webpack_require__.r(__webpack_exports__);
68 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
70 /* harmony export */ });
71 function stylis_min (W) {
72 function M(d, c, e, h, a) {
73 for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
74 g = e.charCodeAt(l);
75 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
76
77 if (0 === b + n + v + m) {
78 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
79 switch (g) {
80 case 32:
81 case 9:
82 case 59:
83 case 13:
84 case 10:
85 break;
86
87 default:
88 f += e.charAt(l);
89 }
90
91 g = 59;
92 }
93
94 switch (g) {
95 case 123:
96 f = f.trim();
97 q = f.charCodeAt(0);
98 k = 1;
99
100 for (t = ++l; l < B;) {
101 switch (g = e.charCodeAt(l)) {
102 case 123:
103 k++;
104 break;
105
106 case 125:
107 k--;
108 break;
109
110 case 47:
111 switch (g = e.charCodeAt(l + 1)) {
112 case 42:
113 case 47:
114 a: {
115 for (u = l + 1; u < J; ++u) {
116 switch (e.charCodeAt(u)) {
117 case 47:
118 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
119 l = u + 1;
120 break a;
121 }
122
123 break;
124
125 case 10:
126 if (47 === g) {
127 l = u + 1;
128 break a;
129 }
130
131 }
132 }
133
134 l = u;
135 }
136
137 }
138
139 break;
140
141 case 91:
142 g++;
143
144 case 40:
145 g++;
146
147 case 34:
148 case 39:
149 for (; l++ < J && e.charCodeAt(l) !== g;) {
150 }
151
152 }
153
154 if (0 === k) break;
155 l++;
156 }
157
158 k = e.substring(t, l);
159 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
160
161 switch (q) {
162 case 64:
163 0 < r && (f = f.replace(N, ''));
164 g = f.charCodeAt(1);
165
166 switch (g) {
167 case 100:
168 case 109:
169 case 115:
170 case 45:
171 r = c;
172 break;
173
174 default:
175 r = O;
176 }
177
178 k = M(c, r, k, g, a + 1);
179 t = k.length;
180 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
181 if (0 < t) switch (g) {
182 case 115:
183 f = f.replace(da, ea);
184
185 case 100:
186 case 109:
187 case 45:
188 k = f + '{' + k + '}';
189 break;
190
191 case 107:
192 f = f.replace(fa, '$1 $2');
193 k = f + '{' + k + '}';
194 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
195 break;
196
197 default:
198 k = f + k, 112 === h && (k = (p += k, ''));
199 } else k = '';
200 break;
201
202 default:
203 k = M(c, X(c, f, I), k, h, a + 1);
204 }
205
206 F += k;
207 k = I = r = u = q = 0;
208 f = '';
209 g = e.charCodeAt(++l);
210 break;
211
212 case 125:
213 case 59:
214 f = (0 < r ? f.replace(N, '') : f).trim();
215 if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
216 case 0:
217 break;
218
219 case 64:
220 if (105 === g || 99 === g) {
221 G += f + e.charAt(l);
222 break;
223 }
224
225 default:
226 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
227 }
228 I = r = u = q = 0;
229 f = '';
230 g = e.charCodeAt(++l);
231 }
232 }
233
234 switch (g) {
235 case 13:
236 case 10:
237 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
238 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
239 z = 1;
240 D++;
241 break;
242
243 case 59:
244 case 125:
245 if (0 === b + n + v + m) {
246 z++;
247 break;
248 }
249
250 default:
251 z++;
252 y = e.charAt(l);
253
254 switch (g) {
255 case 9:
256 case 32:
257 if (0 === n + m + b) switch (x) {
258 case 44:
259 case 58:
260 case 9:
261 case 32:
262 y = '';
263 break;
264
265 default:
266 32 !== g && (y = ' ');
267 }
268 break;
269
270 case 0:
271 y = '\\0';
272 break;
273
274 case 12:
275 y = '\\f';
276 break;
277
278 case 11:
279 y = '\\v';
280 break;
281
282 case 38:
283 0 === n + b + m && (r = I = 1, y = '\f' + y);
284 break;
285
286 case 108:
287 if (0 === n + b + m + E && 0 < u) switch (l - u) {
288 case 2:
289 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
290
291 case 8:
292 111 === K && (E = K);
293 }
294 break;
295
296 case 58:
297 0 === n + b + m && (u = l);
298 break;
299
300 case 44:
301 0 === b + v + n + m && (r = 1, y += '\r');
302 break;
303
304 case 34:
305 case 39:
306 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
307 break;
308
309 case 91:
310 0 === n + b + v && m++;
311 break;
312
313 case 93:
314 0 === n + b + v && m--;
315 break;
316
317 case 41:
318 0 === n + b + m && v--;
319 break;
320
321 case 40:
322 if (0 === n + b + m) {
323 if (0 === q) switch (2 * x + 3 * K) {
324 case 533:
325 break;
326
327 default:
328 q = 1;
329 }
330 v++;
331 }
332
333 break;
334
335 case 64:
336 0 === b + v + n + m + u + k && (k = 1);
337 break;
338
339 case 42:
340 case 47:
341 if (!(0 < n + m + v)) switch (b) {
342 case 0:
343 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
344 case 235:
345 b = 47;
346 break;
347
348 case 220:
349 t = l, b = 42;
350 }
351
352 break;
353
354 case 42:
355 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
356 }
357 }
358
359 0 === b && (f += y);
360 }
361
362 K = x;
363 x = g;
364 l++;
365 }
366
367 t = p.length;
368
369 if (0 < t) {
370 r = c;
371 if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
372 p = r.join(',') + '{' + p + '}';
373
374 if (0 !== w * E) {
375 2 !== w || L(p, 2) || (E = 0);
376
377 switch (E) {
378 case 111:
379 p = p.replace(ha, ':-moz-$1') + p;
380 break;
381
382 case 112:
383 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
384 }
385
386 E = 0;
387 }
388 }
389
390 return G + p + F;
391 }
392
393 function X(d, c, e) {
394 var h = c.trim().split(ia);
395 c = h;
396 var a = h.length,
397 m = d.length;
398
399 switch (m) {
400 case 0:
401 case 1:
402 var b = 0;
403
404 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
405 c[b] = Z(d, c[b], e).trim();
406 }
407
408 break;
409
410 default:
411 var v = b = 0;
412
413 for (c = []; b < a; ++b) {
414 for (var n = 0; n < m; ++n) {
415 c[v++] = Z(d[n] + ' ', h[b], e).trim();
416 }
417 }
418
419 }
420
421 return c;
422 }
423
424 function Z(d, c, e) {
425 var h = c.charCodeAt(0);
426 33 > h && (h = (c = c.trim()).charCodeAt(0));
427
428 switch (h) {
429 case 38:
430 return c.replace(F, '$1' + d.trim());
431
432 case 58:
433 return d.trim() + c.replace(F, '$1' + d.trim());
434
435 default:
436 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
437 }
438
439 return d + c;
440 }
441
442 function P(d, c, e, h) {
443 var a = d + ';',
444 m = 2 * c + 3 * e + 4 * h;
445
446 if (944 === m) {
447 d = a.indexOf(':', 9) + 1;
448 var b = a.substring(d, a.length - 1).trim();
449 b = a.substring(0, d).trim() + b + ';';
450 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
451 }
452
453 if (0 === w || 2 === w && !L(a, 1)) return a;
454
455 switch (m) {
456 case 1015:
457 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
458
459 case 951:
460 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
461
462 case 963:
463 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
464
465 case 1009:
466 if (100 !== a.charCodeAt(4)) break;
467
468 case 969:
469 case 942:
470 return '-webkit-' + a + a;
471
472 case 978:
473 return '-webkit-' + a + '-moz-' + a + a;
474
475 case 1019:
476 case 983:
477 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
478
479 case 883:
480 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
481 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
482 break;
483
484 case 932:
485 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
486 case 103:
487 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
488
489 case 115:
490 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
491
492 case 98:
493 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
494 }
495 return '-webkit-' + a + '-ms-' + a + a;
496
497 case 964:
498 return '-webkit-' + a + '-ms-flex-' + a + a;
499
500 case 1023:
501 if (99 !== a.charCodeAt(8)) break;
502 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
503 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
504
505 case 1005:
506 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
507
508 case 1e3:
509 b = a.substring(13).trim();
510 c = b.indexOf('-') + 1;
511
512 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
513 case 226:
514 b = a.replace(G, 'tb');
515 break;
516
517 case 232:
518 b = a.replace(G, 'tb-rl');
519 break;
520
521 case 220:
522 b = a.replace(G, 'lr');
523 break;
524
525 default:
526 return a;
527 }
528
529 return '-webkit-' + a + '-ms-' + b + a;
530
531 case 1017:
532 if (-1 === a.indexOf('sticky', 9)) break;
533
534 case 975:
535 c = (a = d).length - 10;
536 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
537
538 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
539 case 203:
540 if (111 > b.charCodeAt(8)) break;
541
542 case 115:
543 a = a.replace(b, '-webkit-' + b) + ';' + a;
544 break;
545
546 case 207:
547 case 102:
548 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
549 }
550
551 return a + ';';
552
553 case 938:
554 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
555 case 105:
556 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
557
558 case 115:
559 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
560
561 default:
562 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
563 }
564 break;
565
566 case 973:
567 case 989:
568 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
569
570 case 931:
571 case 953:
572 if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
573 break;
574
575 case 962:
576 if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
577 }
578
579 return a;
580 }
581
582 function L(d, c) {
583 var e = d.indexOf(1 === c ? ':' : '{'),
584 h = d.substring(0, 3 !== c ? e : 10);
585 e = d.substring(e + 1, d.length - 1);
586 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
587 }
588
589 function ea(d, c) {
590 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
591 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
592 }
593
594 function H(d, c, e, h, a, m, b, v, n, q) {
595 for (var g = 0, x = c, w; g < A; ++g) {
596 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
597 case void 0:
598 case !1:
599 case !0:
600 case null:
601 break;
602
603 default:
604 x = w;
605 }
606 }
607
608 if (x !== c) return x;
609 }
610
611 function T(d) {
612 switch (d) {
613 case void 0:
614 case null:
615 A = S.length = 0;
616 break;
617
618 default:
619 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
620 T(d[c]);
621 } else Y = !!d | 0;
622 }
623
624 return T;
625 }
626
627 function U(d) {
628 d = d.prefix;
629 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
630 return U;
631 }
632
633 function B(d, c) {
634 var e = d;
635 33 > e.charCodeAt(0) && (e = e.trim());
636 V = e;
637 e = [V];
638
639 if (0 < A) {
640 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
641 void 0 !== h && 'string' === typeof h && (c = h);
642 }
643
644 var a = M(O, e, c, 0, 0);
645 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
646 V = '';
647 E = 0;
648 z = D = 1;
649 return a;
650 }
651
652 var ca = /^\0+/g,
653 N = /[\0\r\f]/g,
654 aa = /: */g,
655 ka = /zoo|gra/,
656 ma = /([,: ])(transform)/g,
657 ia = /,\r+?/g,
658 F = /([\t\r\n ])*\f?&/g,
659 fa = /@(k\w+)\s*(\S*)\s*/,
660 Q = /::(place)/g,
661 ha = /:(read-only)/g,
662 G = /[svh]\w+-[tblr]{2}/,
663 da = /\(\s*(.*)\s*\)/g,
664 oa = /([\s\S]*?);/g,
665 ba = /-self|flex-/g,
666 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
667 la = /stretch|:\s*\w+\-(?:conte|avail)/,
668 ja = /([^-])(image-set\()/,
669 z = 1,
670 D = 1,
671 E = 0,
672 w = 1,
673 O = [],
674 S = [],
675 A = 0,
676 R = null,
677 Y = 0,
678 V = '';
679 B.use = T;
680 B.set = U;
681 void 0 !== W && U(W);
682 return B;
683 }
684
685 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
686
687
688 /***/ }),
689
690 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
691 /*!************************************************************!*\
692 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
693 \************************************************************/
694 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
695
696 "use strict";
697
698
699 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
700 Object.defineProperty(exports, "__esModule", ({
701 value: true
702 }));
703 exports["default"] = void 0;
704 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
705 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
706 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
707 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
708 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
709 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
710 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
711 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
712 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
713 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
714 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
715 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
716 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
717 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
718 var _super = _createSuper(AiLayoutBehavior);
719 function AiLayoutBehavior() {
720 var _this;
721 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
722 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
723 args[_key] = arguments[_key];
724 }
725 _this = _super.call.apply(_super, [this].concat(args));
726 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
727 return _this;
728 }
729 (0, _createClass2.default)(AiLayoutBehavior, [{
730 key: "ui",
731 value: function ui() {
732 return {
733 aiButton: '.e-ai-layout-button',
734 addTemplateButton: '.elementor-add-template-button'
735 };
736 }
737 }, {
738 key: "events",
739 value: function events() {
740 return {
741 'click @ui.aiButton': 'onAiButtonClick'
742 };
743 }
744 }, {
745 key: "onAiButtonClick",
746 value: function onAiButtonClick(e) {
747 e.stopPropagation();
748 (0, _editorIntegration.renderLayoutApp)({
749 parentContainer: elementor.getPreviewContainer(),
750 mode: _config.MODE_LAYOUT,
751 at: this.view.getOption('at'),
752 onInsert: this.onInsert.bind(this),
753 onRenderApp: function onRenderApp(args) {
754 args.previewContainer.init();
755 },
756 onGenerate: function onGenerate(args) {
757 args.previewContainer.reset();
758 }
759 });
760 }
761 }, {
762 key: "hideDropArea",
763 value: function hideDropArea() {
764 this.view.onCloseButtonClick();
765 }
766 }, {
767 key: "onInsert",
768 value: function onInsert(template) {
769 this.hideDropArea();
770 (0, _editorIntegration.importToEditor)({
771 parentContainer: elementor.getPreviewContainer(),
772 at: this.view.getOption('at'),
773 template: template,
774 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
775 });
776 }
777 }, {
778 key: "onRender",
779 value: function onRender() {
780 var $button = jQuery('<div>', {
781 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
782 title: (0, _i18n.__)('Build with AI', 'elementor'),
783 role: 'button'
784 });
785 $button.html("\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<i class=\"eicon-ai\"></i>\n\t\t");
786 this.ui.addTemplateButton.after($button);
787 }
788 }]);
789 return AiLayoutBehavior;
790 }(Marionette.Behavior);
791 exports["default"] = AiLayoutBehavior;
792
793 /***/ }),
794
795 /***/ "../modules/ai/assets/js/editor/api/index.js":
796 /*!***************************************************!*\
797 !*** ../modules/ai/assets/js/editor/api/index.js ***!
798 \***************************************************/
799 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
800
801 "use strict";
802
803
804 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
805 Object.defineProperty(exports, "__esModule", ({
806 value: true
807 }));
808 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
809 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
810 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; }
811 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) { (0, _defineProperty2.default)(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; }
812 var request = function request(endpoint) {
813 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
814 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
815 var signal = arguments.length > 3 ? arguments[3] : undefined;
816 if (Object.keys(data).length) {
817 data.context = window.elementorAiCurrentContext;
818 }
819 return new Promise(function (resolve, reject) {
820 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
821 success: resolve,
822 error: reject,
823 data: data
824 }, immediately);
825 if (signal && ajaxData.jqXhr) {
826 signal.addEventListener('abort', ajaxData.jqXhr.abort);
827 }
828 });
829 };
830 var getUserInformation = function getUserInformation() {
831 return request('ai_get_user_information');
832 };
833 exports.getUserInformation = getUserInformation;
834 var getRemoteConfig = function getRemoteConfig() {
835 return request('ai_get_remote_config');
836 };
837 exports.getRemoteConfig = getRemoteConfig;
838 var getCompletionText = function getCompletionText(payload) {
839 return request('ai_get_completion_text', {
840 payload: payload
841 });
842 };
843 exports.getCompletionText = getCompletionText;
844 var getEditText = function getEditText(payload) {
845 return request('ai_get_edit_text', {
846 payload: payload
847 });
848 };
849 exports.getEditText = getEditText;
850 var getCustomCode = function getCustomCode(payload) {
851 return request('ai_get_custom_code', {
852 payload: payload
853 });
854 };
855 exports.getCustomCode = getCustomCode;
856 var getCustomCSS = function getCustomCSS(payload) {
857 return request('ai_get_custom_css', {
858 payload: payload
859 });
860 };
861 exports.getCustomCSS = getCustomCSS;
862 var setGetStarted = function setGetStarted() {
863 return request('ai_set_get_started');
864 };
865 exports.setGetStarted = setGetStarted;
866 var setStatusFeedback = function setStatusFeedback(responseId) {
867 return request('ai_set_status_feedback', {
868 response_id: responseId
869 });
870 };
871 exports.setStatusFeedback = setStatusFeedback;
872 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
873 return request('ai_get_text_to_image', {
874 payload: payload
875 });
876 };
877 exports.getTextToImageGeneration = getTextToImageGeneration;
878 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
879 return request('ai_get_image_to_image', {
880 payload: payload
881 });
882 };
883 exports.getImageToImageGeneration = getImageToImageGeneration;
884 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
885 return request('ai_get_image_to_image_mask', {
886 payload: payload
887 });
888 };
889 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
890 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
891 return request('ai_get_image_to_image_outpainting', {
892 payload: payload
893 });
894 };
895 exports.getImageToImageOutPainting = getImageToImageOutPainting;
896 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
897 return request('ai_get_image_to_image_upscale', {
898 payload: payload
899 });
900 };
901 exports.getImageToImageUpscale = getImageToImageUpscale;
902 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
903 return request('ai_get_image_to_image_remove_background', {
904 payload: payload
905 });
906 };
907 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
908 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
909 return request('ai_get_image_to_image_replace_background', {
910 payload: payload
911 });
912 };
913 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
914 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
915 return request('ai_get_image_to_image_remove_text', {
916 image: image
917 });
918 };
919 exports.getImageToImageRemoveText = getImageToImageRemoveText;
920 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
921 return request('ai_get_image_prompt_enhancer', {
922 prompt: prompt
923 });
924 };
925 exports.getImagePromptEnhanced = getImagePromptEnhanced;
926 var uploadImage = function uploadImage(image) {
927 return request('ai_upload_image', _objectSpread({}, image));
928 };
929
930 /**
931 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
932 * @typedef {Object} requestBody
933 * @property {string} prompt - Prompt to generate the layout from.
934 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
935 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
936 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
937 */
938
939 /**
940 * @param {requestBody} requestBody
941 * @param {AbortSignal} [signal]
942 */
943 exports.uploadImage = uploadImage;
944 var generateLayout = function generateLayout(requestBody, signal) {
945 return request('ai_generate_layout', requestBody, true, signal);
946 };
947 exports.generateLayout = generateLayout;
948 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
949 return request('ai_get_layout_prompt_enhancer', {
950 prompt: prompt,
951 enhance_type: enhanceType
952 });
953 };
954 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
955 var getHistory = function getHistory(type, page, limit) {
956 return request('ai_get_history', {
957 type: type,
958 page: page,
959 limit: limit
960 });
961 };
962 exports.getHistory = getHistory;
963 var deleteHistoryItem = function deleteHistoryItem(id) {
964 return request('ai_delete_history_item', {
965 id: id
966 });
967 };
968 exports.deleteHistoryItem = deleteHistoryItem;
969 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
970 return request('ai_toggle_favorite_history_item', {
971 id: id
972 });
973 };
974 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
975
976 /***/ }),
977
978 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
979 /*!*****************************************************************!*\
980 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
981 \*****************************************************************/
982 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
983
984 "use strict";
985
986
987 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
988 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
989 Object.defineProperty(exports, "__esModule", ({
990 value: true
991 }));
992 exports.AlertDialog = void 0;
993 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
994 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
995 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
996 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
997 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
998 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
999 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1000 var AlertDialog = function AlertDialog(props) {
1001 var _useState = (0, _react.useState)(true),
1002 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1003 isShown = _useState2[0],
1004 setIsShown = _useState2[1];
1005 if (!isShown) {
1006 return null;
1007 }
1008 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1009 open: true,
1010 maxWidth: "lg"
1011 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1012 sx: {
1013 padding: 0
1014 }
1015 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1016 sx: {
1017 textAlign: 'center',
1018 padding: 3
1019 }
1020 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1021 alignItems: "center",
1022 spacing: 2,
1023 marginBottom: 2
1024 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1025 variant: "contained",
1026 type: "button",
1027 color: "primary",
1028 onClick: function onClick() {
1029 var _props$onClose;
1030 setIsShown(false);
1031 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1032 }
1033 }, (0, _i18n.__)('Close', 'elementor')))));
1034 };
1035 exports.AlertDialog = AlertDialog;
1036 AlertDialog.propTypes = {
1037 message: _propTypes.default.string.isRequired,
1038 onClose: _propTypes.default.func
1039 };
1040
1041 /***/ }),
1042
1043 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1044 /*!******************************************************************!*\
1045 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1046 \******************************************************************/
1047 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1048
1049 "use strict";
1050
1051
1052 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1053 Object.defineProperty(exports, "__esModule", ({
1054 value: true
1055 }));
1056 exports["default"] = void 0;
1057 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1058 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1059 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1060 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1061 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1062 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1063 var ElementorLogo = function ElementorLogo(props) {
1064 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1065 viewBox: "0 0 32 32"
1066 }, props), /*#__PURE__*/_react.default.createElement("path", {
1067 fillRule: "evenodd",
1068 clipRule: "evenodd",
1069 d: "M2.69648 24.8891C0.938383 22.2579 0 19.1645 0 16C0 11.7566 1.68571 7.68687 4.68629 4.68629C7.68687 1.68571 11.7566 0 16 0C19.1645 0 22.2579 0.938383 24.8891 2.69648C27.5203 4.45459 29.5711 6.95344 30.7821 9.87706C31.9931 12.8007 32.3099 16.0177 31.6926 19.1214C31.0752 22.2251 29.5514 25.0761 27.3137 27.3137C25.0761 29.5514 22.2251 31.0752 19.1214 31.6926C16.0177 32.3099 12.8007 31.9931 9.87706 30.7821C6.95344 29.5711 4.45459 27.5203 2.69648 24.8891ZM12.0006 9.33281H9.33437V22.6665H12.0006V9.33281ZM22.6657 9.33281H14.6669V11.9991H22.6657V9.33281ZM22.6657 14.6654H14.6669V17.3316H22.6657V14.6654ZM22.6657 20.0003H14.6669V22.6665H22.6657V20.0003Z"
1070 }));
1071 };
1072 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1073 var theme = _ref.theme;
1074 return {
1075 width: theme.spacing(3),
1076 height: theme.spacing(3),
1077 '& path': {
1078 fill: theme.palette.text.primary
1079 }
1080 };
1081 });
1082 var DialogHeader = function DialogHeader(props) {
1083 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1084 sx: {
1085 fontWeight: 'normal'
1086 },
1087 color: "transparent",
1088 position: "relative"
1089 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1090 variant: "dense"
1091 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1092 sx: {
1093 mr: 1
1094 }
1095 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1096 component: "span",
1097 variant: "subtitle2",
1098 sx: {
1099 fontWeight: 'bold',
1100 textTransform: 'uppercase'
1101 }
1102 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1103 label: (0, _i18n.__)('Beta', 'elementor'),
1104 color: "default",
1105 size: "small",
1106 sx: {
1107 ml: 1
1108 }
1109 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1110 direction: "row",
1111 spacing: 1,
1112 alignItems: "center",
1113 sx: {
1114 ml: 'auto'
1115 }
1116 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1117 size: "small",
1118 "aria-label": "close",
1119 onClick: props.onClose,
1120 sx: {
1121 '&.MuiButtonBase-root': {
1122 mr: -1
1123 }
1124 }
1125 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1126 };
1127 DialogHeader.propTypes = {
1128 onClose: _propTypes.default.func.isRequired,
1129 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1130 };
1131 var _default = DialogHeader;
1132 exports["default"] = _default;
1133
1134 /***/ }),
1135
1136 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1137 /*!***********************************************************!*\
1138 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1139 \***********************************************************/
1140 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1141
1142 "use strict";
1143
1144
1145 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1146 Object.defineProperty(exports, "__esModule", ({
1147 value: true
1148 }));
1149 exports["default"] = void 0;
1150 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1151 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1152 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1153 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1154 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1155 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1156 var _excluded = ["sx", "BoxProps"];
1157 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; }
1158 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) { (0, _defineProperty2.default)(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; }
1159 var Loader = function Loader(_ref) {
1160 var _ref$sx = _ref.sx,
1161 sx = _ref$sx === void 0 ? {} : _ref$sx,
1162 _ref$BoxProps = _ref.BoxProps,
1163 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1164 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1165 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1166 width: "100%",
1167 display: "flex",
1168 alignItems: "center"
1169 }, BoxProps, {
1170 sx: _objectSpread({
1171 px: 1.5,
1172 minHeight: function minHeight(theme) {
1173 return theme.spacing(5);
1174 }
1175 }, BoxProps.sx || {})
1176 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1177 color: "secondary"
1178 }, props, {
1179 sx: _objectSpread({
1180 width: '100%'
1181 }, sx)
1182 })));
1183 };
1184 Loader.propTypes = {
1185 sx: _propTypes.default.object,
1186 BoxProps: _propTypes.default.object
1187 };
1188 var _default = Loader;
1189 exports["default"] = _default;
1190
1191 /***/ }),
1192
1193 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1194 /*!******************************************************************!*\
1195 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1196 \******************************************************************/
1197 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1198
1199 "use strict";
1200
1201
1202 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1203 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1204 Object.defineProperty(exports, "__esModule", ({
1205 value: true
1206 }));
1207 exports["default"] = void 0;
1208 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1209 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1210 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1211 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1212 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1213 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1214 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1215 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1216 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1217 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1218 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; }
1219 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) { (0, _defineProperty2.default)(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; }
1220 var DraggablePaper = function DraggablePaper(props) {
1221 var _useState = (0, _react.useState)({
1222 x: 0,
1223 y: 0
1224 }),
1225 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1226 position = _useState2[0],
1227 setPosition = _useState2[1];
1228 var paperRef = (0, _react.useRef)(null);
1229 var timeout = (0, _react.useRef)(null);
1230 var onDrag = function onDrag(_e, _ref) {
1231 var x = _ref.x,
1232 y = _ref.y;
1233 return setPosition({
1234 x: x,
1235 y: y
1236 });
1237 };
1238 var handlePositionBoundaries = function handlePositionBoundaries() {
1239 clearTimeout(timeout.current);
1240
1241 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1242 timeout.current = setTimeout(function () {
1243 var _paperRef$current;
1244 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1245 if (dialogTop < 0) {
1246 setPosition(function (prev) {
1247 return _objectSpread(_objectSpread({}, prev), {}, {
1248 y: prev.y - dialogTop
1249 });
1250 });
1251 }
1252 }, 50);
1253 };
1254 (0, _react.useEffect)(function () {
1255 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1256 resizeObserver.observe(paperRef.current);
1257 return function () {
1258 resizeObserver.disconnect();
1259 };
1260 }, []);
1261 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1262 position: position,
1263 onDrag: onDrag,
1264 handle: ".MuiAppBar-root",
1265 cancel: '[class*="MuiDialogContent-root"]',
1266 bounds: "parent"
1267 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1268 ref: paperRef
1269 })));
1270 };
1271 var PromptDialog = function PromptDialog(props) {
1272 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1273 scroll: "paper",
1274 open: true,
1275 fullWidth: true,
1276 hideBackdrop: true,
1277 PaperComponent: DraggablePaper,
1278 disableScrollLock: true,
1279 sx: {
1280 '& .MuiDialog-container': {
1281 alignItems: 'flex-start',
1282 mt: '18vh'
1283 }
1284 },
1285 PaperProps: {
1286 sx: {
1287 m: 0,
1288 maxHeight: '76vh'
1289 }
1290 }
1291 }, props), props.children);
1292 };
1293 PromptDialog.propTypes = {
1294 onClose: _propTypes.default.func.isRequired,
1295 children: _propTypes.default.node,
1296 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1297 };
1298 PromptDialog.Header = _dialogHeader.default;
1299 PromptDialog.Content = _ui.DialogContent;
1300 var _default = PromptDialog;
1301 exports["default"] = _default;
1302
1303 /***/ }),
1304
1305 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1306 /*!*************************************************************************!*\
1307 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1308 \*************************************************************************/
1309 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1310
1311 "use strict";
1312
1313
1314 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1315 Object.defineProperty(exports, "__esModule", ({
1316 value: true
1317 }));
1318 exports["default"] = void 0;
1319 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1320 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1321 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1322 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1323 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1324 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1325 var _excluded = ["error", "onRetry", "actionPosition"];
1326 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1327 var error = _ref.error,
1328 _ref$onRetry = _ref.onRetry,
1329 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1330 _ref$actionPosition = _ref.actionPosition,
1331 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1332 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1333 var messages = {
1334 default: {
1335 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Unknown error. Please try again later.', 'elementor')),
1336 description: (0, _i18n.__)('Error code:', 'elementor') + ' ' + error,
1337 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1338 buttonAction: onRetry
1339 },
1340 service_outage_internal: {
1341 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Elementor AI is temporarily unavailable', 'elementor')),
1342 description: (0, _i18n.__)('Seems like we are experiencing technical difficulty. We should be up and running shortly.', 'elementor'),
1343 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1344 buttonAction: onRetry
1345 },
1346 invalid_connect_data: {
1347 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Reconnect your account', 'elementor')),
1348 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('We couldn\'t connect to your account due to technical difficulties on our end. Reconnect your account to continue.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1349 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1350 target: "_blank",
1351 rel: "noreferrer"
1352 }, (0, _i18n.__)('Show me how', 'elementor'))),
1353 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1354 buttonAction: function buttonAction() {
1355 return window.open(window.ElementorAiConfig.connect_url);
1356 }
1357 },
1358 not_connected: {
1359 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1360 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1361 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1362 buttonAction: function buttonAction() {
1363 return window.open(window.ElementorAiConfig.connect_url);
1364 }
1365 },
1366 quota_reached_trail: {
1367 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1368 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1369 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1370 buttonAction: function buttonAction() {
1371 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1372 }
1373 },
1374 quota_reached_subscription: {
1375 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1376 description: (0, _i18n.__)('Love Elementor AI? Upgrade to continue creating with built-in image, text and custom code generators.', 'elementor'),
1377 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1378 buttonAction: function buttonAction() {
1379 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1380 }
1381 },
1382 rate_limit_network: {
1383 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1384 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1385 },
1386 invalid_prompts: {
1387 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1388 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1389 }
1390 };
1391 var message = messages[error] || messages.default;
1392 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1393 color: "inherit",
1394 size: "small",
1395 variant: "outlined",
1396 onClick: message.buttonAction
1397 }, message.buttonText);
1398 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1399 severity: message.severity || 'error',
1400 action: 'default' === actionPosition && action
1401 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1402 sx: {
1403 mt: 1
1404 }
1405 }, action));
1406 };
1407 PromptErrorMessage.propTypes = {
1408 error: _propTypes.default.string,
1409 onRetry: _propTypes.default.func,
1410 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1411 };
1412 var _default = PromptErrorMessage;
1413 exports["default"] = _default;
1414
1415 /***/ }),
1416
1417 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1418 /*!************************************************************************!*\
1419 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1420 \************************************************************************/
1421 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1422
1423 "use strict";
1424
1425
1426 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1427 Object.defineProperty(exports, "__esModule", ({
1428 value: true
1429 }));
1430 exports["default"] = void 0;
1431 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1432 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1433 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1434 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1435 var PromptLibraryLink = function PromptLibraryLink(props) {
1436 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1437 variant: "body2",
1438 color: "text.secondary"
1439 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1440 href: props.libraryLink,
1441 className: "elementor-clickable",
1442 target: "_blank"
1443 }, (0, _i18n.__)('prompt library')));
1444 };
1445 PromptLibraryLink.propTypes = {
1446 libraryLink: _propTypes.default.string
1447 };
1448 var _default = PromptLibraryLink;
1449 exports["default"] = _default;
1450
1451 /***/ }),
1452
1453 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1454 /*!*****************************************************************!*\
1455 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1456 \*****************************************************************/
1457 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1458
1459 "use strict";
1460
1461
1462 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1463 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1464 Object.defineProperty(exports, "__esModule", ({
1465 value: true
1466 }));
1467 exports["default"] = void 0;
1468 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1469 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1470 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1471 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1472 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1473 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1474 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1475 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1476 var popoverId = 'e-ai-upgrade-popover';
1477 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1478 var theme = _ref.theme;
1479 return {
1480 position: 'relative',
1481 '[data-popper-placement="top"] &': {
1482 marginBottom: theme.spacing(2.5)
1483 },
1484 '[data-popper-placement="bottom"] &': {
1485 marginTop: theme.spacing(2.5)
1486 },
1487 padding: theme.spacing(3),
1488 boxShadow: theme.shadows[4],
1489 zIndex: '9999'
1490 };
1491 });
1492 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1493 var theme = _ref2.theme;
1494 return {
1495 width: theme.spacing(5),
1496 height: theme.spacing(2.5),
1497 position: 'absolute',
1498 overflow: 'hidden',
1499 // Override Popper inline styles.
1500 left: '50% !important',
1501 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1502 '[data-popper-placement="top"] &': {
1503 top: '100%'
1504 },
1505 '[data-popper-placement="bottom"] &': {
1506 '--rotate': '180deg',
1507 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1508 },
1509 '&::after': {
1510 backgroundColor: theme.palette.background.paper,
1511 content: '""',
1512 display: 'block',
1513 position: 'absolute',
1514 width: theme.spacing(2.5),
1515 height: theme.spacing(2.5),
1516 top: 0,
1517 left: '50%',
1518 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1519 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1520 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1521 }
1522 };
1523 });
1524 var upgradeBullets = [(0, _i18n.__)('Let AI build your container layouts and content with ease and radically transform the way you create websites.', 'elementor'), (0, _i18n.__)('Generate your website\'s text or create custom code without having to write a single line yourself.', 'elementor'), (0, _i18n.__)('Effortlessly create or enhance stunning images and bring your ideas to life.', 'elementor'), (0, _i18n.__)('Access 30-days of AI History with the AI Starter plan and 90-days with the Power plan.', 'elementor')];
1525 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1526 return {
1527 '& .MuiChip-label': {
1528 lineHeight: 1.5
1529 },
1530 '& .MuiSvgIcon-root.MuiChip-icon': {
1531 fontSize: '1.25rem'
1532 }
1533 };
1534 });
1535 var UpgradeChip = function UpgradeChip(_ref3) {
1536 var _ref3$hasSubscription = _ref3.hasSubscription,
1537 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1538 _ref3$usagePercentage = _ref3.usagePercentage,
1539 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1540 var _useState = (0, _react.useState)(false),
1541 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1542 isPopoverOpen = _useState2[0],
1543 setIsPopoverOpen = _useState2[1];
1544 var anchorEl = (0, _react.useRef)(null);
1545 var arrowEl = (0, _react.useRef)(null);
1546 var showPopover = function showPopover() {
1547 return setIsPopoverOpen(true);
1548 };
1549 var hidePopover = function hidePopover() {
1550 return setIsPopoverOpen(false);
1551 };
1552 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1553 if (hasSubscription) {
1554 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1555 }
1556 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1557 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1558 component: "span",
1559 "aria-owns": isPopoverOpen ? popoverId : undefined,
1560 "aria-haspopup": "true",
1561 onMouseEnter: showPopover,
1562 onMouseLeave: hidePopover,
1563 ref: anchorEl,
1564 display: "flex",
1565 alignItems: "center"
1566 }, /*#__PURE__*/_react.default.createElement(Chip, {
1567 color: "accent",
1568 label: (0, _i18n.__)('Upgrade', 'elementor'),
1569 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1570 size: "small"
1571 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1572 open: isPopoverOpen,
1573 anchorEl: anchorEl.current,
1574 sx: {
1575 zIndex: '9999',
1576 maxWidth: 300
1577 },
1578 modifiers: [{
1579 name: 'arrow',
1580 enabled: true,
1581 options: {
1582 element: arrowEl.current
1583 }
1584 }]
1585 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1586 ref: arrowEl
1587 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1588 variant: "h5",
1589 color: "text.primary"
1590 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1591 sx: {
1592 mb: 1
1593 }
1594 }, upgradeBullets.map(function (bullet, index) {
1595 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1596 key: index,
1597 disableGutters: true,
1598 sx: {
1599 alignItems: 'flex-start'
1600 }
1601 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1602 sx: {
1603 m: 0
1604 }
1605 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1606 variant: "body2"
1607 }, bullet)));
1608 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1609 variant: "contained",
1610 color: "accent",
1611 size: "small",
1612 href: actionUrl,
1613 target: "_blank",
1614 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1615 sx: {
1616 '&:hover': {
1617 color: 'accent.contrastText'
1618 }
1619 }
1620 }, actionLabel))));
1621 };
1622 var _default = UpgradeChip;
1623 exports["default"] = _default;
1624 UpgradeChip.propTypes = {
1625 hasSubscription: _propTypes.default.bool,
1626 usagePercentage: _propTypes.default.number
1627 };
1628
1629 /***/ }),
1630
1631 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1632 /*!******************************************************************!*\
1633 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1634 \******************************************************************/
1635 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1636
1637 "use strict";
1638
1639
1640 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1641 Object.defineProperty(exports, "__esModule", ({
1642 value: true
1643 }));
1644 exports["default"] = void 0;
1645 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1646 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1647 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1648 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1649 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1650 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1651 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1652 var _excluded = ["sx"];
1653 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; }
1654 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) { (0, _defineProperty2.default)(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; }
1655 var WizardDialog = function WizardDialog(props) {
1656 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1657 open: true,
1658 onClose: props.onClose,
1659 fullWidth: true,
1660 hideBackdrop: true,
1661 maxWidth: "lg",
1662 PaperProps: {
1663 sx: {
1664 height: '88vh'
1665 }
1666 },
1667 sx: {
1668 zIndex: 9999
1669 }
1670 }, props.children);
1671 };
1672 WizardDialog.propTypes = {
1673 onClose: _propTypes.default.func.isRequired,
1674 children: _propTypes.default.node.isRequired
1675 };
1676 var WizardDialogContent = function WizardDialogContent(_ref) {
1677 var _ref$sx = _ref.sx,
1678 sx = _ref$sx === void 0 ? {} : _ref$sx,
1679 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1680 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1681 sx: _objectSpread({
1682 display: 'flex',
1683 flexDirection: 'column',
1684 justifyContent: 'center'
1685 }, sx)
1686 }));
1687 };
1688 WizardDialogContent.propTypes = {
1689 sx: _propTypes.default.object
1690 };
1691 WizardDialog.Header = _dialogHeader.default;
1692 WizardDialog.Content = WizardDialogContent;
1693 var _default = WizardDialog;
1694 exports["default"] = _default;
1695
1696 /***/ }),
1697
1698 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1699 /*!**************************************************************!*\
1700 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1701 \**************************************************************/
1702 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1703
1704 "use strict";
1705
1706
1707 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1708 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1709 Object.defineProperty(exports, "__esModule", ({
1710 value: true
1711 }));
1712 exports["default"] = exports.RequestIdsProvider = void 0;
1713 exports.generateIds = generateIds;
1714 exports.useRequestIds = exports.getUniqueId = void 0;
1715 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1716 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1717 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1718 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1719 var Context = (0, _react.createContext)({});
1720 var useRequestIds = function useRequestIds() {
1721 var context = (0, _react.useContext)(Context);
1722 if (!context) {
1723 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1724 }
1725 return context;
1726 };
1727 exports.useRequestIds = useRequestIds;
1728 var getUniqueId = function getUniqueId(prefix) {
1729 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1730 };
1731 exports.getUniqueId = getUniqueId;
1732 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
1733 function generateIds(template) {
1734 var _template$elements;
1735 template.id = getUniqueId().toString();
1736 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1737 template.elements.map(function (child) {
1738 return generateIds(child);
1739 });
1740 }
1741 return template;
1742 }
1743 var RequestIdsProvider = function RequestIdsProvider(props) {
1744 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1745 var sessionId = (0, _react.useRef)('');
1746 var generateId = (0, _react.useRef)('');
1747 var batchId = (0, _react.useRef)('');
1748 var requestId = (0, _react.useRef)('');
1749 sessionId.current = getUniqueId('session');
1750 var setGenerate = function setGenerate() {
1751 generateId.current = getUniqueId('generate');
1752 return generateId;
1753 };
1754 var setBatch = function setBatch() {
1755 batchId.current = getUniqueId('batch');
1756 return batchId;
1757 };
1758 var setRequest = function setRequest() {
1759 requestId.current = getUniqueId('request');
1760 return requestId;
1761 };
1762 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1763 value: {
1764 editorSessionId: editorSessionId,
1765 sessionId: sessionId,
1766 generateId: generateId,
1767 batchId: batchId,
1768 requestId: requestId,
1769 setGenerate: setGenerate,
1770 setBatch: setBatch,
1771 setRequest: setRequest
1772 }
1773 }, props.children);
1774 };
1775 exports.RequestIdsProvider = RequestIdsProvider;
1776 RequestIdsProvider.propTypes = {
1777 children: _propTypes.default.node.isRequired
1778 };
1779 var _default = Context;
1780 exports["default"] = _default;
1781
1782 /***/ }),
1783
1784 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1785 /*!****************************************************************!*\
1786 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1787 \****************************************************************/
1788 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1789
1790 "use strict";
1791
1792
1793 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1794 Object.defineProperty(exports, "__esModule", ({
1795 value: true
1796 }));
1797 exports["default"] = useIntroduction;
1798 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1799 var _react = __webpack_require__(/*! react */ "react");
1800 function useIntroduction(key) {
1801 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1802 var globalConfig = window.elementor ? (_window$elementor$con = window.elementor.config) === null || _window$elementor$con === void 0 ? void 0 : _window$elementor$con.user : (_window$elementorAdmi = window.elementorAdmin) === null || _window$elementorAdmi === void 0 ? void 0 : (_window$elementorAdmi2 = _window$elementorAdmi.config) === null || _window$elementorAdmi2 === void 0 ? void 0 : _window$elementorAdmi2.user;
1803 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1804 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1805 isViewed = _useState2[0],
1806 setIsViewed = _useState2[1];
1807 function markAsViewed() {
1808 if (!key) {
1809 return Promise.reject();
1810 }
1811 return new Promise(function (resolve, reject) {
1812 if (isViewed) {
1813 reject();
1814 }
1815 setIsViewed(true);
1816 elementorCommon.ajax.addRequest('introduction_viewed', {
1817 data: {
1818 introductionKey: key
1819 },
1820 error: function error() {
1821 setIsViewed(false);
1822 reject();
1823 },
1824 success: function success() {
1825 setIsViewed(true);
1826 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1827 globalConfig.introduction[key] = true;
1828 }
1829 resolve();
1830 }
1831 });
1832 });
1833 }
1834 return {
1835 isViewed: isViewed,
1836 markAsViewed: markAsViewed
1837 };
1838 }
1839
1840 /***/ }),
1841
1842 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
1843 /*!*******************************************************************!*\
1844 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
1845 \*******************************************************************/
1846 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1847
1848 "use strict";
1849
1850
1851 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1852 Object.defineProperty(exports, "__esModule", ({
1853 value: true
1854 }));
1855 exports["default"] = void 0;
1856 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1857 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
1858 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1859 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
1860 var getResult = function getResult(prompt, type, enhanceType) {
1861 if (!enhancePromptMap.has(type)) {
1862 throw new Error("Invalid prompt type: ".concat(type));
1863 }
1864 return enhancePromptMap.get(type)(prompt, enhanceType);
1865 };
1866
1867 /**
1868 * Hook to enhance a prompt.
1869 *
1870 * @param {string} prompt
1871 * @param {'media' | 'layout'} type
1872 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
1873 */
1874 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
1875 var _useConfig = (0, _config.useConfig)(),
1876 mode = _useConfig.mode;
1877 var _usePrompt = (0, _usePrompt2.default)(function () {
1878 return getResult(prompt, type, mode);
1879 }, prompt),
1880 enhancedData = _usePrompt.data,
1881 isEnhancing = _usePrompt.isLoading,
1882 enhance = _usePrompt.send;
1883 return {
1884 enhance: enhance,
1885 isEnhancing: isEnhancing,
1886 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
1887 };
1888 };
1889 var _default = usePromptEnhancer;
1890 exports["default"] = _default;
1891
1892 /***/ }),
1893
1894 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
1895 /*!**********************************************************!*\
1896 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
1897 \**********************************************************/
1898 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1899
1900 "use strict";
1901
1902
1903 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1904 Object.defineProperty(exports, "__esModule", ({
1905 value: true
1906 }));
1907 exports["default"] = void 0;
1908 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1909 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1910 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1911 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1912 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1913 var _react = __webpack_require__(/*! react */ "react");
1914 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1915 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
1916 var _excluded = ["text", "response_id", "usage", "images"];
1917 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; }
1918 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) { (0, _defineProperty2.default)(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; }
1919 var normalizeResponse = function normalizeResponse(_ref) {
1920 var text = _ref.text,
1921 responseId = _ref.response_id,
1922 usage = _ref.usage,
1923 images = _ref.images,
1924 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1925 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
1926 var credits = Math.max(creditsData, 0);
1927 var result = text || images;
1928 var normalized = {
1929 result: result,
1930 responseId: responseId,
1931 credits: credits
1932 };
1933 if (optional.base_template_id) {
1934 normalized.baseTemplateId = optional.base_template_id;
1935 }
1936 normalized.type = optional.template_type;
1937 return normalized;
1938 };
1939 var usePrompt = function usePrompt(fetchData, initialState) {
1940 var _useState = (0, _react.useState)(false),
1941 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1942 isLoading = _useState2[0],
1943 setIsLoading = _useState2[1];
1944 var _useState3 = (0, _react.useState)(''),
1945 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1946 error = _useState4[0],
1947 setError = _useState4[1];
1948 var _useState5 = (0, _react.useState)(initialState),
1949 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1950 data = _useState6[0],
1951 setData = _useState6[1];
1952 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
1953 setRequest = _useRequestIds.setRequest,
1954 editorSessionId = _useRequestIds.editorSessionId,
1955 sessionId = _useRequestIds.sessionId,
1956 generateId = _useRequestIds.generateId,
1957 batchId = _useRequestIds.batchId;
1958 var send = /*#__PURE__*/function () {
1959 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
1960 return _regenerator.default.wrap(function _callee$(_context) {
1961 while (1) switch (_context.prev = _context.next) {
1962 case 0:
1963 return _context.abrupt("return", new Promise(function (resolve, reject) {
1964 setError('');
1965 setIsLoading(true);
1966 var requestId = setRequest();
1967 var requestIds = {
1968 editorSessionId: editorSessionId.current,
1969 sessionId: sessionId.current,
1970 generateId: generateId.current,
1971 batchId: batchId.current,
1972 requestId: requestId.current
1973 };
1974 payload = _objectSpread(_objectSpread({}, payload), {}, {
1975 requestIds: requestIds
1976 });
1977 fetchData(payload).then(function (result) {
1978 var normalizedData = normalizeResponse(result);
1979 setData(normalizedData);
1980 resolve(normalizedData);
1981 }).catch(function (err) {
1982 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
1983 setError(finalError);
1984 reject(finalError);
1985 }).finally(function () {
1986 return setIsLoading(false);
1987 });
1988 }));
1989 case 1:
1990 case "end":
1991 return _context.stop();
1992 }
1993 }, _callee);
1994 }));
1995 return function send(_x) {
1996 return _ref2.apply(this, arguments);
1997 };
1998 }();
1999 var sendUsageData = function sendUsageData() {
2000 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2001 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2002 };
2003 var reset = function reset() {
2004 setData(function (_ref3) {
2005 var credits = _ref3.credits;
2006 return {
2007 credits: credits,
2008 result: '',
2009 responseId: ''
2010 };
2011 });
2012 setError('');
2013 setIsLoading(false);
2014 };
2015 var setResult = function setResult(result) {
2016 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2017 var updatedResult = _objectSpread({}, data);
2018 updatedResult.result = result;
2019 if (responseId) {
2020 updatedResult.responseId = responseId;
2021 }
2022 setData(updatedResult);
2023 };
2024 return {
2025 isLoading: isLoading,
2026 error: error,
2027 data: data,
2028 setResult: setResult,
2029 reset: reset,
2030 send: send,
2031 sendUsageData: sendUsageData
2032 };
2033 };
2034 var _default = usePrompt;
2035 exports["default"] = _default;
2036
2037 /***/ }),
2038
2039 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2040 /*!***********************************************************!*\
2041 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2042 \***********************************************************/
2043 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2044
2045 "use strict";
2046
2047
2048 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2049 Object.defineProperty(exports, "__esModule", ({
2050 value: true
2051 }));
2052 exports.useTimeout = void 0;
2053 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2054 var _react = __webpack_require__(/*! react */ "react");
2055 var useTimeout = function useTimeout(delay) {
2056 var _useState = (0, _react.useState)(false),
2057 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2058 isTimeout = _useState2[0],
2059 setIsTimeout = _useState2[1];
2060 var timeoutIdRef = (0, _react.useRef)(null);
2061 var turnOffTimeout = function turnOffTimeout() {
2062 clearTimeout(timeoutIdRef.current);
2063 setIsTimeout(false);
2064 };
2065 (0, _react.useEffect)(function () {
2066 timeoutIdRef.current = setTimeout(function () {
2067 setIsTimeout(true);
2068 }, delay);
2069 return function () {
2070 clearTimeout(timeoutIdRef.current);
2071 };
2072 }, [delay]);
2073 return [isTimeout, turnOffTimeout];
2074 };
2075 exports.useTimeout = useTimeout;
2076
2077 /***/ }),
2078
2079 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2080 /*!*************************************************************!*\
2081 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2082 \*************************************************************/
2083 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2084
2085 "use strict";
2086
2087
2088 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2089 Object.defineProperty(exports, "__esModule", ({
2090 value: true
2091 }));
2092 exports["default"] = void 0;
2093 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2094 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2095 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2096 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2097 var _react = __webpack_require__(/*! react */ "react");
2098 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2099 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; }
2100 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) { (0, _defineProperty2.default)(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; }
2101 var useUserInfo = function useUserInfo() {
2102 var _useState = (0, _react.useState)(false),
2103 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2104 isLoaded = _useState2[0],
2105 setIsLoaded = _useState2[1];
2106 var _useState3 = (0, _react.useState)(false),
2107 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2108 isLoading = _useState4[0],
2109 setIsLoading = _useState4[1];
2110 var _useState5 = (0, _react.useState)({
2111 is_connected: false,
2112 is_get_started: false,
2113 connect_url: '',
2114 usage: {
2115 hasAiSubscription: false,
2116 quota: 0,
2117 usedQuota: 0
2118 }
2119 }),
2120 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2121 userInfo = _useState6[0],
2122 setUserInfo = _useState6[1];
2123 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2124 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2125 var fetchData = /*#__PURE__*/function () {
2126 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2127 var userInfoResult;
2128 return _regenerator.default.wrap(function _callee$(_context) {
2129 while (1) switch (_context.prev = _context.next) {
2130 case 0:
2131 setIsLoading(true);
2132 _context.next = 3;
2133 return (0, _api.getUserInformation)();
2134 case 3:
2135 userInfoResult = _context.sent;
2136 setUserInfo(function (prevState) {
2137 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2138 });
2139 setIsLoaded(true);
2140 setIsLoading(false);
2141 case 7:
2142 case "end":
2143 return _context.stop();
2144 }
2145 }, _callee);
2146 }));
2147 return function fetchData() {
2148 return _ref.apply(this, arguments);
2149 };
2150 }();
2151 if (!isLoaded && !isLoading) {
2152 fetchData();
2153 }
2154 return {
2155 isLoading: isLoading,
2156 isLoaded: isLoaded,
2157 isConnected: userInfo.is_connected,
2158 isGetStarted: userInfo.is_get_started,
2159 connectUrl: userInfo.connect_url,
2160 builderUrl: userInfo.usage.builderUrl,
2161 hasSubscription: userInfo.usage.hasAiSubscription,
2162 credits: credits < 0 ? 0 : credits,
2163 usagePercentage: Math.round(usagePercentage),
2164 fetchData: fetchData
2165 };
2166 };
2167 var _default = useUserInfo;
2168 exports["default"] = _default;
2169
2170 /***/ }),
2171
2172 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2173 /*!***************************************************************!*\
2174 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2175 \***************************************************************/
2176 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2177
2178 "use strict";
2179
2180
2181 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2182 Object.defineProperty(exports, "__esModule", ({
2183 value: true
2184 }));
2185 exports["default"] = void 0;
2186 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2187 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2188 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2189 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2190 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2191 viewBox: "0 0 24 24"
2192 }, props, {
2193 ref: ref
2194 }), /*#__PURE__*/_react.default.createElement("path", {
2195 fillRule: "evenodd",
2196 clipRule: "evenodd",
2197 d: "M9.53033 7.46967C9.82322 7.76256 9.82322 8.23744 9.53033 8.53033L6.81066 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H6.81066L9.53033 15.4697C9.82322 15.7626 9.82322 16.2374 9.53033 16.5303C9.23744 16.8232 8.76256 16.8232 8.46967 16.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L8.46967 7.46967C8.76256 7.17678 9.23744 7.17678 9.53033 7.46967Z"
2198 }));
2199 });
2200 var _default = ArrowLeftIcon;
2201 exports["default"] = _default;
2202
2203 /***/ }),
2204
2205 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2206 /*!**************************************************************!*\
2207 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2208 \**************************************************************/
2209 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2210
2211 "use strict";
2212
2213
2214 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2215 Object.defineProperty(exports, "__esModule", ({
2216 value: true
2217 }));
2218 exports["default"] = void 0;
2219 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2220 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2221 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2222 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2223 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2224 viewBox: "0 0 24 24"
2225 }, props, {
2226 ref: ref
2227 }), /*#__PURE__*/_react.default.createElement("path", {
2228 fillRule: "evenodd",
2229 clipRule: "evenodd",
2230 d: "M16.6667 0.208496C17.0534 0.208496 17.4244 0.362142 17.6979 0.635632C17.9714 0.909123 18.125 1.28006 18.125 1.66683V11.6668C18.125 12.0536 17.9714 12.4245 17.6979 12.698C17.4244 12.9715 17.0534 13.1252 16.6667 13.1252H14.7917V16.6668C14.7917 17.0536 14.638 17.4245 14.3645 17.698C14.091 17.9715 13.7201 18.1252 13.3333 18.1252H3.33333C2.94656 18.1252 2.57563 17.9715 2.30214 17.698C2.02865 17.4245 1.875 17.0536 1.875 16.6668V6.66683C1.875 6.28005 2.02865 5.90912 2.30214 5.63563C2.57563 5.36214 2.94656 5.2085 3.33333 5.2085H5.20833V1.66683C5.20833 1.28005 5.36198 0.909122 5.63547 0.635632C5.90896 0.362142 6.27989 0.208496 6.66667 0.208496H16.6667ZM6.66667 1.4585C6.61141 1.4585 6.55842 1.48045 6.51935 1.51952C6.48028 1.55859 6.45833 1.61158 6.45833 1.66683V3.54183H8.54167V1.4585H6.66667ZM3.125 9.79183V16.6668C3.125 16.7221 3.14695 16.7751 3.18602 16.8141C3.22509 16.8532 3.27808 16.8752 3.33333 16.8752H13.3333C13.3886 16.8752 13.4416 16.8532 13.4806 16.8141C13.5197 16.7751 13.5417 16.7221 13.5417 16.6668V13.1252H6.66667C6.27989 13.1252 5.90896 12.9715 5.63547 12.698C5.36198 12.4245 5.20833 12.0536 5.20833 11.6668V9.79183H3.125ZM5.20833 8.54183H3.125V6.66683C3.125 6.61158 3.14695 6.55859 3.18602 6.51952C3.22509 6.48045 3.27808 6.4585 3.33333 6.4585H5.20833V8.54183ZM6.45833 11.6668C6.45833 11.7221 6.48028 11.7751 6.51935 11.8141C6.55842 11.8532 6.61141 11.8752 6.66667 11.8752H16.6667C16.7219 11.8752 16.7749 11.8532 16.814 11.8141C16.853 11.7751 16.875 11.7221 16.875 11.6668V4.79183H6.45833V11.6668ZM9.79167 1.4585V3.54183H16.875V1.66683C16.875 1.61157 16.853 1.55858 16.814 1.51952C16.7749 1.48045 16.7219 1.4585 16.6667 1.4585H9.79167Z"
2231 }));
2232 });
2233 var _default = CopyPageIcon;
2234 exports["default"] = _default;
2235
2236 /***/ }),
2237
2238 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2239 /*!*********************************************************!*\
2240 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2241 \*********************************************************/
2242 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2243
2244 "use strict";
2245
2246
2247 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2248 Object.defineProperty(exports, "__esModule", ({
2249 value: true
2250 }));
2251 exports["default"] = void 0;
2252 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2253 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2254 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2255 var EditIcon = _react.default.forwardRef(function (props, ref) {
2256 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2257 viewBox: "0 0 24 24"
2258 }, props, {
2259 ref: ref
2260 }), /*#__PURE__*/_react.default.createElement("path", {
2261 fillRule: "evenodd",
2262 clipRule: "evenodd",
2263 d: "M13.9697 4.96967C14.6408 4.29858 15.5509 3.92157 16.5 3.92157C17.4491 3.92157 18.3592 4.29858 19.0303 4.96967C19.7014 5.64075 20.0784 6.55094 20.0784 7.5C20.0784 8.44905 19.7014 9.35924 19.0303 10.0303L8.53033 20.5303C8.38968 20.671 8.19891 20.75 8 20.75H4C3.58579 20.75 3.25 20.4142 3.25 20V16C3.25 15.8011 3.32902 15.6103 3.46967 15.4697L13.9697 4.96967ZM16.5 5.42157C15.9488 5.42157 15.4201 5.64055 15.0303 6.03033L4.75 16.3107V19.25H7.68934L17.9697 8.96967C18.3595 8.57989 18.5784 8.05123 18.5784 7.5C18.5784 6.94876 18.3595 6.42011 17.9697 6.03033C17.5799 5.64055 17.0512 5.42157 16.5 5.42157Z"
2264 }), /*#__PURE__*/_react.default.createElement("path", {
2265 fillRule: "evenodd",
2266 clipRule: "evenodd",
2267 d: "M12.9697 5.96967C13.2626 5.67677 13.7374 5.67677 14.0303 5.96967L18.0303 9.96967C18.3232 10.2626 18.3232 10.7374 18.0303 11.0303C17.7374 11.3232 17.2626 11.3232 16.9697 11.0303L12.9697 7.03033C12.6768 6.73743 12.6768 6.26256 12.9697 5.96967Z"
2268 }));
2269 });
2270 var _default = EditIcon;
2271 exports["default"] = _default;
2272
2273 /***/ }),
2274
2275 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2276 /*!********************************************************************!*\
2277 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2278 \********************************************************************/
2279 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2280
2281 "use strict";
2282
2283
2284 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2285 Object.defineProperty(exports, "__esModule", ({
2286 value: true
2287 }));
2288 exports["default"] = void 0;
2289 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2290 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2291 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2292 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2293 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2294 viewBox: "0 0 24 24"
2295 }, props, {
2296 ref: ref
2297 }), /*#__PURE__*/_react.default.createElement("path", {
2298 fillRule: "evenodd",
2299 clipRule: "evenodd",
2300 d: "M4 3.25H8C8.41421 3.25 8.75 3.58579 8.75 4C8.75 4.41421 8.41421 4.75 8 4.75H5.81066L10.5303 9.46967C10.8232 9.76256 10.8232 10.2374 10.5303 10.5303C10.2374 10.8232 9.76256 10.8232 9.46967 10.5303L4.75 5.81066V8C4.75 8.41421 4.41421 8.75 4 8.75C3.58579 8.75 3.25 8.41421 3.25 8V4C3.25 3.58579 3.58579 3.25 4 3.25ZM13.4697 13.4697C13.7626 13.1768 14.2374 13.1768 14.5303 13.4697L19.25 18.1893V16C19.25 15.5858 19.5858 15.25 20 15.25C20.4142 15.25 20.75 15.5858 20.75 16V20C20.75 20.4142 20.4142 20.75 20 20.75H16C15.5858 20.75 15.25 20.4142 15.25 20C15.25 19.5858 15.5858 19.25 16 19.25H18.1893L13.4697 14.5303C13.1768 14.2374 13.1768 13.7626 13.4697 13.4697Z"
2301 }));
2302 });
2303 var _default = ExpandDiagonalIcon;
2304 exports["default"] = _default;
2305
2306 /***/ }),
2307
2308 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2309 /*!*********************************************************!*\
2310 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2311 \*********************************************************/
2312 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2313
2314 "use strict";
2315
2316
2317 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2318 Object.defineProperty(exports, "__esModule", ({
2319 value: true
2320 }));
2321 exports["default"] = void 0;
2322 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2323 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2324 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2325 var LockIcon = _react.default.forwardRef(function (props, ref) {
2326 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2327 viewBox: "0 0 24 24"
2328 }, props, {
2329 ref: ref
2330 }), /*#__PURE__*/_react.default.createElement("path", {
2331 fillRule: "evenodd",
2332 clipRule: "evenodd",
2333 d: "M7.8125 11.9996C7.29473 11.9996 6.875 12.4473 6.875 12.9996V18.9996C6.875 19.5519 7.29473 19.9996 7.8125 19.9996H17.1875C17.7053 19.9996 18.125 19.5519 18.125 18.9996V12.9996C18.125 12.4473 17.7053 11.9996 17.1875 11.9996H7.8125ZM5 12.9996C5 11.3428 6.2592 9.99963 7.8125 9.99963H17.1875C18.7408 9.99963 20 11.3428 20 12.9996V18.9996C20 20.6565 18.7408 21.9996 17.1875 21.9996H7.8125C6.2592 21.9996 5 20.6565 5 18.9996V12.9996Z"
2334 }), /*#__PURE__*/_react.default.createElement("path", {
2335 fillRule: "evenodd",
2336 clipRule: "evenodd",
2337 d: "M12.5 3.90527C11.7044 3.90527 10.9413 4.22134 10.3787 4.78395C9.81607 5.34656 9.5 6.10962 9.5 6.90527V10.9053C9.5 11.4576 9.05228 11.9053 8.5 11.9053C7.94772 11.9053 7.5 11.4576 7.5 10.9053V6.90527C7.5 5.57919 8.02678 4.30742 8.96447 3.36974C9.90215 2.43206 11.1739 1.90527 12.5 1.90527C13.8261 1.90527 15.0979 2.43206 16.0355 3.36974C16.9732 4.30742 17.5 5.57919 17.5 6.90527V10.9053C17.5 11.4576 17.0523 11.9053 16.5 11.9053C15.9477 11.9053 15.5 11.4576 15.5 10.9053V6.90527C15.5 6.10962 15.1839 5.34656 14.6213 4.78395C14.0587 4.22134 13.2956 3.90527 12.5 3.90527Z"
2338 }), /*#__PURE__*/_react.default.createElement("path", {
2339 d: "M6 12H19V20H6V12Z"
2340 }));
2341 });
2342 var _default = LockIcon;
2343 exports["default"] = _default;
2344
2345 /***/ }),
2346
2347 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2348 /*!**********************************************************************!*\
2349 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2350 \**********************************************************************/
2351 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2352
2353 "use strict";
2354
2355
2356 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2357 Object.defineProperty(exports, "__esModule", ({
2358 value: true
2359 }));
2360 exports["default"] = void 0;
2361 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2362 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2363 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2364 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2365 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2366 viewBox: "0 0 24 24"
2367 }, props, {
2368 ref: ref
2369 }), /*#__PURE__*/_react.default.createElement("path", {
2370 fillRule: "evenodd",
2371 clipRule: "evenodd",
2372 d: "M3.46967 3.46967C3.76256 3.17678 4.23744 3.17678 4.53033 3.46967L9.25 8.18934V6C9.25 5.58579 9.58579 5.25 10 5.25C10.4142 5.25 10.75 5.58579 10.75 6V10C10.75 10.4142 10.4142 10.75 10 10.75H6C5.58579 10.75 5.25 10.4142 5.25 10C5.25 9.58579 5.58579 9.25 6 9.25H8.18934L3.46967 4.53033C3.17678 4.23744 3.17678 3.76256 3.46967 3.46967ZM14 13.25H18C18.4142 13.25 18.75 13.5858 18.75 14C18.75 14.4142 18.4142 14.75 18 14.75H15.8107L20.5303 19.4697C20.8232 19.7626 20.8232 20.2374 20.5303 20.5303C20.2374 20.8232 19.7626 20.8232 19.4697 20.5303L14.75 15.8107V18C14.75 18.4142 14.4142 18.75 14 18.75C13.5858 18.75 13.25 18.4142 13.25 18V14C13.25 13.5858 13.5858 13.25 14 13.25Z"
2373 }));
2374 });
2375 var _default = MinimizeDiagonalIcon;
2376 exports["default"] = _default;
2377
2378 /***/ }),
2379
2380 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2381 /*!****************************************************************!*\
2382 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2383 \****************************************************************/
2384 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2385
2386 "use strict";
2387
2388
2389 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2390 Object.defineProperty(exports, "__esModule", ({
2391 value: true
2392 }));
2393 exports["default"] = void 0;
2394 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2395 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2396 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2397 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2398 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2399 viewBox: "0 0 24 24"
2400 }, props, {
2401 ref: ref
2402 }), /*#__PURE__*/_react.default.createElement("path", {
2403 d: "M12 2.69231C6.8595 2.69231 2.69231 6.8595 2.69231 12C2.69231 17.1405 6.8595 21.3077 12 21.3077C17.1405 21.3077 21.3077 17.1405 21.3077 12C21.3077 6.8595 17.1405 2.69231 12 2.69231ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 7.76923C12.4673 7.76923 12.8462 8.14807 12.8462 8.61538V11.1538H15.3846C15.8519 11.1538 16.2308 11.5327 16.2308 12C16.2308 12.4673 15.8519 12.8462 15.3846 12.8462H12.8462V15.3846C12.8462 15.8519 12.4673 16.2308 12 16.2308C11.5327 16.2308 11.1538 15.8519 11.1538 15.3846V12.8462H8.61538C8.14807 12.8462 7.76923 12.4673 7.76923 12C7.76923 11.5327 8.14807 11.1538 8.61538 11.1538H11.1538V8.61538C11.1538 8.14807 11.5327 7.76923 12 7.76923Z"
2404 }));
2405 });
2406 var _default = PlusCircleIcon;
2407 exports["default"] = _default;
2408
2409 /***/ }),
2410
2411 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2412 /*!************************************************************!*\
2413 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2414 \************************************************************/
2415 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2416
2417 "use strict";
2418
2419
2420 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2421 Object.defineProperty(exports, "__esModule", ({
2422 value: true
2423 }));
2424 exports["default"] = void 0;
2425 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2426 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2427 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2428 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2429 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2430 viewBox: "0 0 24 24"
2431 }, props, {
2432 ref: ref
2433 }), /*#__PURE__*/_react.default.createElement("path", {
2434 fillRule: "evenodd",
2435 clipRule: "evenodd",
2436 d: "M7.55012 4.45178C9.23098 3.48072 11.1845 3.08925 13.1097 3.33767C15.035 3.58609 16.8251 4.46061 18.2045 5.82653C19.5838 7.19245 20.4757 8.97399 20.743 10.8967C20.8 11.307 20.5136 11.6858 20.1033 11.7428C19.6931 11.7998 19.3142 11.5135 19.2572 11.1032C19.0353 9.50635 18.2945 8.02677 17.149 6.89236C16.0035 5.75795 14.5167 5.03165 12.9178 4.82534C11.3189 4.61902 9.69644 4.94414 8.30047 5.75061C7.24361 6.36117 6.36093 7.22198 5.72541 8.24995H8.00009C8.41431 8.24995 8.75009 8.58574 8.75009 8.99995C8.75009 9.41417 8.41431 9.74995 8.00009 9.74995H4.51686C4.5055 9.75021 4.49412 9.75021 4.48272 9.74995H4.00009C3.58588 9.74995 3.25009 9.41417 3.25009 8.99995V4.99995C3.25009 4.58574 3.58588 4.24995 4.00009 4.24995C4.41431 4.24995 4.75009 4.58574 4.75009 4.99995V7.00691C5.48358 5.96916 6.43655 5.0951 7.55012 4.45178Z"
2437 }), /*#__PURE__*/_react.default.createElement("path", {
2438 fillRule: "evenodd",
2439 clipRule: "evenodd",
2440 d: "M3.89686 12.2571C4.30713 12.2001 4.68594 12.4864 4.74295 12.8967C4.96487 14.4936 5.70565 15.9731 6.85119 17.1075C7.99673 18.242 9.48347 18.9683 11.0824 19.1746C12.6813 19.3809 14.3037 19.0558 15.6997 18.2493C16.7566 17.6387 17.6393 16.7779 18.2748 15.75H16.0001C15.5859 15.75 15.2501 15.4142 15.2501 15C15.2501 14.5857 15.5859 14.25 16.0001 14.25H19.4833C19.4947 14.2497 19.5061 14.2497 19.5175 14.25H20.0001C20.4143 14.25 20.7501 14.5857 20.7501 15V19C20.7501 19.4142 20.4143 19.75 20.0001 19.75C19.5859 19.75 19.2501 19.4142 19.2501 19V16.993C18.5166 18.0307 17.5636 18.9048 16.4501 19.5481C14.7692 20.5192 12.8157 20.9107 10.8904 20.6622C8.9652 20.4138 7.17504 19.5393 5.79572 18.1734C4.4164 16.8074 3.52443 15.0259 3.25723 13.1032C3.20022 12.6929 3.48658 12.3141 3.89686 12.2571Z"
2441 }));
2442 });
2443 var _default = RefreshIcon;
2444 exports["default"] = _default;
2445
2446 /***/ }),
2447
2448 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2449 /*!*********************************************************!*\
2450 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2451 \*********************************************************/
2452 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2453
2454 "use strict";
2455
2456
2457 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2458 Object.defineProperty(exports, "__esModule", ({
2459 value: true
2460 }));
2461 exports["default"] = void 0;
2462 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2463 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2464 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2465 var WandIcon = _react.default.forwardRef(function (props, ref) {
2466 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2467 viewBox: "0 0 24 24"
2468 }, props, {
2469 ref: ref
2470 }), /*#__PURE__*/_react.default.createElement("path", {
2471 fillRule: "evenodd",
2472 clipRule: "evenodd",
2473 d: "M9 2.25C9.41421 2.25 9.75 2.58579 9.75 3C9.75 3.33152 9.8817 3.64946 10.1161 3.88388C10.3505 4.1183 10.6685 4.25 11 4.25C11.4142 4.25 11.75 4.58579 11.75 5C11.75 5.41421 11.4142 5.75 11 5.75C10.6685 5.75 10.3505 5.8817 10.1161 6.11612C9.8817 6.35054 9.75 6.66848 9.75 7C9.75 7.41421 9.41421 7.75 9 7.75C8.58579 7.75 8.25 7.41421 8.25 7C8.25 6.66848 8.1183 6.35054 7.88388 6.11612C7.64946 5.8817 7.33152 5.75 7 5.75C6.58579 5.75 6.25 5.41421 6.25 5C6.25 4.58579 6.58579 4.25 7 4.25C7.33152 4.25 7.64946 4.1183 7.88388 3.88388C8.1183 3.64946 8.25 3.33152 8.25 3C8.25 2.58579 8.58579 2.25 9 2.25ZM9 4.88746C8.98182 4.90673 8.96333 4.92576 8.94454 4.94454C8.92576 4.96333 8.90673 4.98182 8.88746 5C8.90673 5.01818 8.92576 5.03667 8.94454 5.05546C8.96333 5.07424 8.98182 5.09327 9 5.11254C9.01818 5.09327 9.03667 5.07424 9.05546 5.05546C9.07424 5.03667 9.09327 5.01818 9.11254 5C9.09327 4.98182 9.07424 4.96333 9.05546 4.94454C9.03667 4.92576 9.01818 4.90673 9 4.88746Z"
2474 }), /*#__PURE__*/_react.default.createElement("path", {
2475 fillRule: "evenodd",
2476 clipRule: "evenodd",
2477 d: "M18.5303 2.46967C18.2374 2.17678 17.7626 2.17678 17.4697 2.46967L2.46967 17.4697C2.17678 17.7626 2.17678 18.2374 2.46967 18.5303L5.46967 21.5303C5.76256 21.8232 6.23744 21.8232 6.53033 21.5303L21.5303 6.53033C21.8232 6.23744 21.8232 5.76256 21.5303 5.46967L18.5303 2.46967ZM18 7.93934L19.9393 6L18 4.06066L16.0607 6L18 7.93934ZM15 7.06066L16.9393 9L6 19.9393L4.06066 18L15 7.06066Z"
2478 }), /*#__PURE__*/_react.default.createElement("path", {
2479 fillRule: "evenodd",
2480 clipRule: "evenodd",
2481 d: "M19.75 13C19.75 12.5858 19.4142 12.25 19 12.25C18.5858 12.25 18.25 12.5858 18.25 13C18.25 13.3315 18.1183 13.6495 17.8839 13.8839C17.6495 14.1183 17.3315 14.25 17 14.25C16.5858 14.25 16.25 14.5858 16.25 15C16.25 15.4142 16.5858 15.75 17 15.75C17.3315 15.75 17.6495 15.8817 17.8839 16.1161C18.1183 16.3505 18.25 16.6685 18.25 17C18.25 17.4142 18.5858 17.75 19 17.75C19.4142 17.75 19.75 17.4142 19.75 17C19.75 16.6685 19.8817 16.3505 20.1161 16.1161C20.3505 15.8817 20.6685 15.75 21 15.75C21.4142 15.75 21.75 15.4142 21.75 15C21.75 14.5858 21.4142 14.25 21 14.25C20.6685 14.25 20.3505 14.1183 20.1161 13.8839C19.8817 13.6495 19.75 13.3315 19.75 13ZM18.9445 14.9445C18.9633 14.9258 18.9818 14.9067 19 14.8875C19.0182 14.9067 19.0367 14.9258 19.0555 14.9445C19.0742 14.9633 19.0933 14.9818 19.1125 15C19.0933 15.0182 19.0742 15.0367 19.0555 15.0555C19.0367 15.0742 19.0182 15.0933 19 15.1125C18.9818 15.0933 18.9633 15.0742 18.9445 15.0555C18.9258 15.0367 18.9067 15.0182 18.8875 15C18.9067 14.9818 18.9258 14.9633 18.9445 14.9445Z"
2482 }));
2483 });
2484 var _default = WandIcon;
2485 exports["default"] = _default;
2486
2487 /***/ }),
2488
2489 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2490 /*!************************************************************!*\
2491 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2492 \************************************************************/
2493 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2494
2495 "use strict";
2496
2497
2498 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2499 Object.defineProperty(exports, "__esModule", ({
2500 value: true
2501 }));
2502 exports["default"] = void 0;
2503 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2504 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2505 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2506 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2507 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2508 viewBox: "0 0 24 24"
2509 }, props, {
2510 ref: ref
2511 }), /*#__PURE__*/_react.default.createElement("path", {
2512 fillRule: "evenodd",
2513 clipRule: "evenodd",
2514 d: "M4.16707 3.95837C4.11182 3.95837 4.05883 3.98032 4.01976 4.01939C3.98069 4.05846 3.95874 4.11145 3.95874 4.16671V6.04171H6.04207V3.95837H4.16707ZM4.16707 2.70837C3.7803 2.70837 3.40937 2.86202 3.13588 3.13551C2.86239 3.409 2.70874 3.77993 2.70874 4.16671V15.8334C2.70874 16.2201 2.86239 16.5911 3.13588 16.8646C3.40937 17.1381 3.7803 17.2917 4.16707 17.2917H15.8337C16.2205 17.2917 16.5914 17.1381 16.8649 16.8646C17.1384 16.5911 17.2921 16.2201 17.2921 15.8334V4.16671C17.2921 3.77993 17.1384 3.409 16.8649 3.13551C16.5914 2.86202 16.2205 2.70837 15.8337 2.70837H4.16707ZM7.29207 3.95837V6.04171H16.0421V4.16671C16.0421 4.11145 16.0201 4.05846 15.9811 4.01939C15.942 3.98032 15.889 3.95837 15.8337 3.95837H7.29207ZM16.0421 7.29171H3.95874V15.8334C3.95874 15.8886 3.98069 15.9416 4.01976 15.9807C4.05883 16.0198 4.11182 16.0417 4.16707 16.0417H15.8337C15.889 16.0417 15.942 16.0198 15.9811 15.9807C16.0201 15.9416 16.0421 15.8886 16.0421 15.8334V7.29171Z"
2515 }));
2516 });
2517 var _default = WebsiteIcon;
2518 exports["default"] = _default;
2519
2520 /***/ }),
2521
2522 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2523 /*!*************************************************************!*\
2524 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2525 \*************************************************************/
2526 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2527
2528 "use strict";
2529
2530
2531 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2532 Object.defineProperty(exports, "__esModule", ({
2533 value: true
2534 }));
2535 exports["default"] = void 0;
2536 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2537 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2538 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2539 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2540 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2541 viewBox: "0 0 24 24"
2542 }, props, {
2543 ref: ref
2544 }), /*#__PURE__*/_react.default.createElement("path", {
2545 d: "M12 2.69231C6.8595 2.69231 2.69231 6.8595 2.69231 12C2.69231 17.1405 6.8595 21.3077 12 21.3077C17.1405 21.3077 21.3077 17.1405 21.3077 12C21.3077 6.8595 17.1405 2.69231 12 2.69231ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM9.14527 9.14527C9.47571 8.81483 10.0115 8.81483 10.3419 9.14527L12 10.8034L13.6581 9.14527C13.9885 8.81483 14.5243 8.81483 14.8547 9.14527C15.1852 9.47571 15.1852 10.0115 14.8547 10.3419L13.1966 12L14.8547 13.6581C15.1852 13.9885 15.1852 14.5243 14.8547 14.8547C14.5243 15.1852 13.9885 15.1852 13.6581 14.8547L12 13.1966L10.3419 14.8547C10.0115 15.1852 9.47571 15.1852 9.14527 14.8547C8.81483 14.5243 8.81483 13.9885 9.14527 13.6581L10.8034 12L9.14527 10.3419C8.81483 10.0115 8.81483 9.47571 9.14527 9.14527Z"
2546 }));
2547 });
2548 var _default = XCircleIcon;
2549 exports["default"] = _default;
2550
2551 /***/ }),
2552
2553 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2554 /*!********************************************************************************************!*\
2555 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2556 \********************************************************************************************/
2557 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2558
2559 "use strict";
2560
2561
2562 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2563 renderLayoutApp = _require.renderLayoutApp,
2564 importToEditor = _require.importToEditor;
2565 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2566 MODE_VARIATION = _require2.MODE_VARIATION;
2567 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2568 __ = _require3.__;
2569 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2570 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2571 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2572 var ApplyTemplateForAiBehavior;
2573 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2574 ui: {
2575 applyButton: '.elementor-template-library-template-apply-ai',
2576 generateVariation: '.elementor-template-library-template-generate-variation'
2577 },
2578 events: {
2579 'click @ui.applyButton': 'onApplyButtonClick',
2580 'click @ui.generateVariation': 'onGenerateVariationClick'
2581 },
2582 onGenerateVariationClick: function onGenerateVariationClick() {
2583 var _libraryComponent$man, _libraryComponent$man2;
2584 var args = {
2585 model: this.view.model
2586 };
2587 var libraryComponent = $e.components.get('library');
2588 var at = (_libraryComponent$man = libraryComponent.manager.modalConfig) === null || _libraryComponent$man === void 0 ? void 0 : (_libraryComponent$man2 = _libraryComponent$man.importOptions) === null || _libraryComponent$man2 === void 0 ? void 0 : _libraryComponent$man2.at;
2589 libraryComponent.downloadTemplate(args, function (data) {
2590 var model = args.model;
2591 var attachment = {
2592 type: ATTACHMENT_TYPE_JSON,
2593 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2594 content: data.content[0],
2595 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2596 source: ELEMENTOR_LIBRARY_SOURCE
2597 };
2598 renderLayoutApp({
2599 parentContainer: elementor.getPreviewContainer(),
2600 mode: MODE_VARIATION,
2601 at: at,
2602 attachments: [attachment],
2603 onInsert: function onInsert(template) {
2604 importToEditor({
2605 parentContainer: elementor.getPreviewContainer(),
2606 at: at,
2607 template: template,
2608 historyTitle: __('AI Variation from library', 'elementor')
2609 });
2610 }
2611 });
2612 $e.run('library/close');
2613 });
2614 },
2615 onApplyButtonClick: function onApplyButtonClick() {
2616 var args = {
2617 model: this.view.model
2618 };
2619 this.ui.applyButton.addClass('elementor-disabled');
2620 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2621 $e.route('library/connect', args);
2622 return;
2623 }
2624 $e.run('library/generate-ai-variation', args);
2625 }
2626 });
2627 module.exports = ApplyTemplateForAiBehavior;
2628
2629 /***/ }),
2630
2631 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2632 /*!************************************************************!*\
2633 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2634 \************************************************************/
2635 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2636
2637 "use strict";
2638
2639
2640 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2641 Object.defineProperty(exports, "__esModule", ({
2642 value: true
2643 }));
2644 exports["default"] = void 0;
2645 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2646 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2647 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2648 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2649 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2650 rtl: props.isRTL
2651 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2652 colorScheme: props.colorScheme
2653 }, props.children));
2654 };
2655 LayoutAppWrapper.propTypes = {
2656 children: _propTypes.default.node,
2657 isRTL: _propTypes.default.bool,
2658 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2659 };
2660 var _default = LayoutAppWrapper;
2661 exports["default"] = _default;
2662
2663 /***/ }),
2664
2665 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2666 /*!****************************************************!*\
2667 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2668 \****************************************************/
2669 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2670
2671 "use strict";
2672
2673
2674 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2675 Object.defineProperty(exports, "__esModule", ({
2676 value: true
2677 }));
2678 exports["default"] = void 0;
2679 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2680 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2681 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2682 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2683 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2684 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2685 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2686 var LayoutApp = function LayoutApp(props) {
2687 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2688 onError: props.onClose
2689 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2690 mode: props.mode,
2691 attachmentsTypes: props.attachmentsTypes,
2692 onClose: props.onClose,
2693 onConnect: props.onConnect,
2694 onData: props.onData,
2695 onInsert: props.onInsert,
2696 onSelect: props.onSelect,
2697 onGenerate: props.onGenerate,
2698 currentContext: props.currentContext,
2699 hasPro: props.hasPro
2700 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2701 attachments: props.attachments
2702 }))));
2703 };
2704 LayoutApp.propTypes = {
2705 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2706 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2707 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2708 onClose: _propTypes.default.func.isRequired,
2709 onConnect: _propTypes.default.func.isRequired,
2710 onData: _propTypes.default.func.isRequired,
2711 onInsert: _propTypes.default.func.isRequired,
2712 onSelect: _propTypes.default.func.isRequired,
2713 onGenerate: _propTypes.default.func.isRequired,
2714 currentContext: _propTypes.default.object,
2715 hasPro: _propTypes.default.bool
2716 };
2717 var _default = LayoutApp;
2718 exports["default"] = _default;
2719
2720 /***/ }),
2721
2722 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2723 /*!********************************************************!*\
2724 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2725 \********************************************************/
2726 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2727
2728 "use strict";
2729
2730
2731 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2732 Object.defineProperty(exports, "__esModule", ({
2733 value: true
2734 }));
2735 exports["default"] = void 0;
2736 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2737 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
2738 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
2739 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
2740 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
2741 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
2742 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
2743 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
2744 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
2745 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2746 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2747 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2748 var LayoutContent = function LayoutContent(props) {
2749 var _useUserInfo = (0, _useUserInfo2.default)(),
2750 isLoading = _useUserInfo.isLoading,
2751 isConnected = _useUserInfo.isConnected,
2752 isGetStarted = _useUserInfo.isGetStarted,
2753 connectUrl = _useUserInfo.connectUrl,
2754 fetchData = _useUserInfo.fetchData,
2755 hasSubscription = _useUserInfo.hasSubscription,
2756 usagePercentage = _useUserInfo.usagePercentage;
2757 var _useConfig = (0, _config.useConfig)(),
2758 onClose = _useConfig.onClose,
2759 onConnect = _useConfig.onConnect;
2760 if (isLoading) {
2761 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2762 onClose: onClose
2763 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
2764 onClose: onClose
2765 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
2766 dividers: true
2767 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
2768 BoxProps: {
2769 sx: {
2770 px: 3
2771 }
2772 }
2773 })));
2774 }
2775 if (!isConnected) {
2776 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2777 onClose: onClose
2778 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2779 onClose: onClose
2780 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2781 dividers: true
2782 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
2783 connectUrl: connectUrl,
2784 onSuccess: function onSuccess(data) {
2785 onConnect(data);
2786 fetchData();
2787 }
2788 })));
2789 }
2790 if (!isGetStarted) {
2791 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2792 onClose: onClose
2793 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2794 onClose: onClose
2795 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2796 dividers: true
2797 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
2798 onSuccess: fetchData
2799 })));
2800 }
2801 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
2802 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
2803 attachments: props.attachments,
2804 DialogHeaderProps: {
2805 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
2806 hasSubscription: hasSubscription,
2807 usagePercentage: usagePercentage
2808 })
2809 }
2810 });
2811 };
2812 LayoutContent.propTypes = {
2813 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
2814 };
2815 var _default = LayoutContent;
2816 exports["default"] = _default;
2817
2818 /***/ }),
2819
2820 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
2821 /*!*************************************************************!*\
2822 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
2823 \*************************************************************/
2824 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2825
2826 "use strict";
2827
2828
2829 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2830 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2831 Object.defineProperty(exports, "__esModule", ({
2832 value: true
2833 }));
2834 exports["default"] = void 0;
2835 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2836 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2837 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2838 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2839 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2840 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
2841 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
2842 var Connect = function Connect(_ref) {
2843 var connectUrl = _ref.connectUrl,
2844 onSuccess = _ref.onSuccess;
2845 var approveButtonRef = (0, _react.useRef)();
2846 (0, _react.useEffect)(function () {
2847 // On local dev (as a standalone app), the connect lib is not loaded.
2848 if (!jQuery.fn.elementorConnect) {
2849 return;
2850 }
2851 jQuery(approveButtonRef.current).elementorConnect({
2852 success: function success(_, data) {
2853 return onSuccess(data);
2854 },
2855 error: function error() {
2856 throw new Error('Elementor AI: Failed to connect.');
2857 }
2858 });
2859 }, []);
2860 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2861 alignItems: "center",
2862 gap: 2
2863 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
2864 sx: {
2865 color: 'text.primary',
2866 fontSize: '60px',
2867 mb: 1
2868 }
2869 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2870 variant: "h4",
2871 sx: {
2872 color: 'text.primary'
2873 }
2874 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2875 variant: "body2"
2876 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2877 variant: "caption",
2878 sx: {
2879 maxWidth: 520,
2880 textAlign: 'center'
2881 }
2882 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
2883 href: "https://go.elementor.com/ai-terms/",
2884 target: "_blank",
2885 color: "info.main"
2886 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
2887 href: "https://go.elementor.com/ai-privacy-policy/",
2888 target: "_blank",
2889 color: "info.main"
2890 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
2891 ref: approveButtonRef,
2892 href: connectUrl,
2893 variant: "contained",
2894 sx: {
2895 mt: 1,
2896 '&:hover': {
2897 color: 'primary.contrastText'
2898 }
2899 }
2900 }, (0, _i18n.__)('Connect', 'elementor')));
2901 };
2902 Connect.propTypes = {
2903 connectUrl: _propTypes.default.string.isRequired,
2904 onSuccess: _propTypes.default.func.isRequired
2905 };
2906 var _default = Connect;
2907 exports["default"] = _default;
2908
2909 /***/ }),
2910
2911 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
2912 /*!**********************************************************************************!*\
2913 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
2914 \**********************************************************************************/
2915 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2916
2917 "use strict";
2918
2919
2920 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2921 Object.defineProperty(exports, "__esModule", ({
2922 value: true
2923 }));
2924 exports["default"] = exports.USER_VARIATION_SOURCE = exports.USER_URL_SOURCE = exports.MENU_TYPE_LIBRARY = exports.ELEMENTOR_LIBRARY_SOURCE = exports.ATTACHMENT_TYPE_URL = exports.ATTACHMENT_TYPE_JSON = void 0;
2925 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2926 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2927 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
2928 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
2929 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
2930 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
2931 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
2932 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2933 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2934 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2935 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2936 var ATTACHMENT_TYPE_JSON = 'json';
2937 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
2938 var ATTACHMENT_TYPE_URL = 'url';
2939 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
2940 var MENU_TYPE_LIBRARY = 'library';
2941 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
2942 var USER_VARIATION_SOURCE = 'user-variation';
2943 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
2944 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
2945 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
2946 var USER_URL_SOURCE = 'user-url';
2947 exports.USER_URL_SOURCE = USER_URL_SOURCE;
2948 var Attachments = function Attachments(props) {
2949 if (!props.attachments.length) {
2950 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
2951 disabled: props.disabled,
2952 onAttach: props.onAttach,
2953 items: [{
2954 title: (0, _i18n.__)('Reference a website', 'elementor'),
2955 icon: _websiteIcon.default,
2956 type: ATTACHMENT_TYPE_URL
2957 }, {
2958 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
2959 icon: _copyPageIcon.default,
2960 type: MENU_TYPE_LIBRARY
2961 }]
2962 });
2963 }
2964 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2965 direction: "row",
2966 spacing: 1
2967 }, props.attachments.map(function (attachment, index) {
2968 switch (attachment.type) {
2969 case ATTACHMENT_TYPE_JSON:
2970 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
2971 key: index
2972 }, props));
2973 case ATTACHMENT_TYPE_URL:
2974 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
2975 key: index
2976 }, props));
2977 default:
2978 return null;
2979 }
2980 }));
2981 };
2982 Attachments.propTypes = {
2983 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
2984 onAttach: _propTypes.default.func.isRequired,
2985 onDetach: _propTypes.default.func,
2986 disabled: _propTypes.default.bool
2987 };
2988 var _default = Attachments;
2989 exports["default"] = _default;
2990
2991 /***/ }),
2992
2993 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
2994 /*!************************************************************************************************!*\
2995 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
2996 \************************************************************************************************/
2997 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2998
2999 "use strict";
3000
3001
3002 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3003 Object.defineProperty(exports, "__esModule", ({
3004 value: true
3005 }));
3006 exports["default"] = exports.AttachDialog = void 0;
3007 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3008 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3009 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3010 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3011 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3012 var AttachDialog = function AttachDialog(props) {
3013 var type = props.type;
3014 var url = props.url;
3015 switch (type) {
3016 case _attachments.ATTACHMENT_TYPE_URL:
3017 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3018 url: url,
3019 onAttach: props.onAttach,
3020 onClose: props.onClose
3021 });
3022 case _attachments.MENU_TYPE_LIBRARY:
3023 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3024 onAttach: props.onAttach,
3025 onClose: props.onClose
3026 });
3027 }
3028 return null;
3029 };
3030 exports.AttachDialog = AttachDialog;
3031 AttachDialog.propTypes = {
3032 type: _propTypes.default.string,
3033 onAttach: _propTypes.default.func,
3034 onClose: _propTypes.default.func,
3035 url: _propTypes.default.string
3036 };
3037 var _default = AttachDialog;
3038 exports["default"] = _default;
3039
3040 /***/ }),
3041
3042 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3043 /*!*************************************************************************************************!*\
3044 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3045 \*************************************************************************************************/
3046 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3047
3048 "use strict";
3049
3050
3051 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3052 Object.defineProperty(exports, "__esModule", ({
3053 value: true
3054 }));
3055 exports.LibraryDialog = void 0;
3056 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3057 var _react = __webpack_require__(/*! react */ "react");
3058 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3059 var LibraryDialog = function LibraryDialog(props) {
3060 var isApplyingTemplate = (0, _react.useRef)(false);
3061 (0, _react.useEffect)(function () {
3062 var onLibraryHide = function onLibraryHide() {
3063 if (isApplyingTemplate.current) {
3064 return;
3065 }
3066 props.onClose();
3067 };
3068 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3069 return function () {
3070 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3071 };
3072 }, [props]);
3073 (0, _react.useEffect)(function () {
3074 var onMessage = function onMessage(event) {
3075 var _event$data = event.data,
3076 type = _event$data.type,
3077 json = _event$data.json,
3078 html = _event$data.html,
3079 label = _event$data.label,
3080 source = _event$data.source;
3081 switch (type) {
3082 case 'library/attach:start':
3083 isApplyingTemplate.current = true;
3084 break;
3085 case 'library/attach':
3086 props.onAttach([{
3087 type: _attachments.ATTACHMENT_TYPE_JSON,
3088 previewHTML: html,
3089 content: json,
3090 label: label,
3091 source: source
3092 }]);
3093 isApplyingTemplate.current = false;
3094 props.onClose();
3095 break;
3096 }
3097 };
3098 window.addEventListener('message', onMessage);
3099 return function () {
3100 window.removeEventListener('message', onMessage);
3101 };
3102 });
3103 $e.run('library/open', {
3104 toDefault: true,
3105 mode: 'ai-attachment'
3106 });
3107 isApplyingTemplate.current = false;
3108 return null;
3109 };
3110 exports.LibraryDialog = LibraryDialog;
3111 LibraryDialog.propTypes = {
3112 onAttach: _propTypes.default.func.isRequired,
3113 onClose: _propTypes.default.func.isRequired
3114 };
3115
3116 /***/ }),
3117
3118 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3119 /*!***************************************************************************************!*\
3120 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3121 \***************************************************************************************/
3122 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3123
3124 "use strict";
3125
3126
3127 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3128 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3129 Object.defineProperty(exports, "__esModule", ({
3130 value: true
3131 }));
3132 exports.Menu = void 0;
3133 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3134 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3135 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3136 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3137 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3138 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3139 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3140 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3141 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3142 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3143 var Menu = function Menu(props) {
3144 var _useState = (0, _react.useState)(false),
3145 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3146 isOpen = _useState2[0],
3147 setIsOpen = _useState2[1];
3148 var _useState3 = (0, _react.useState)(null),
3149 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3150 selectedType = _useState4[0],
3151 setSelectedType = _useState4[1];
3152 var _useTheme = (0, _ui.useTheme)(),
3153 direction = _useTheme.direction;
3154 var anchorRef = (0, _react.useRef)(null);
3155 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3156 isViewed = _useIntroduction.isViewed,
3157 markAsViewed = _useIntroduction.markAsViewed;
3158 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3159 size: "small",
3160 ref: anchorRef,
3161 disabled: props.disabled,
3162 onClick: function onClick() {
3163 setIsOpen(true);
3164 markAsViewed();
3165 },
3166 color: "secondary"
3167 }, function () {
3168 if (isOpen) {
3169 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3170 fontSize: "small"
3171 });
3172 } else if (isViewed) {
3173 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3174 fontSize: "small"
3175 });
3176 }
3177 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3178 color: "primary",
3179 badgeContent: " ",
3180 variant: "dot"
3181 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3182 fontSize: "small"
3183 }));
3184 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3185 open: isOpen,
3186 anchorEl: anchorRef.current,
3187 onClose: function onClose() {
3188 return setIsOpen(false);
3189 },
3190 anchorOrigin: {
3191 vertical: 'bottom',
3192 horizontal: 'rtl' === direction ? 'right' : 'left'
3193 },
3194 transformOrigin: {
3195 vertical: 'top',
3196 horizontal: 'rtl' === direction ? 'right' : 'left'
3197 }
3198 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3199 sx: {
3200 width: 440
3201 }
3202 }, props.items.map(function (item) {
3203 var IconComponent = item.icon;
3204 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3205 key: item.type,
3206 onClick: function onClick() {
3207 setSelectedType(item.type);
3208 setIsOpen(false);
3209 }
3210 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3211 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3212 type: selectedType,
3213 onAttach: props.onAttach,
3214 onClose: function onClose() {
3215 setIsOpen(false);
3216 setSelectedType(null);
3217 }
3218 }));
3219 };
3220 exports.Menu = Menu;
3221 Menu.propTypes = {
3222 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3223 title: _propTypes.default.string.isRequired,
3224 type: _propTypes.default.string.isRequired,
3225 icon: _propTypes.default.elementType
3226 })).isRequired,
3227 onAttach: _propTypes.default.func.isRequired,
3228 disabled: _propTypes.default.bool
3229 };
3230
3231 /***/ }),
3232
3233 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3234 /*!******************************************************************************************************!*\
3235 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3236 \******************************************************************************************************/
3237 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3238
3239 "use strict";
3240
3241
3242 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3243 Object.defineProperty(exports, "__esModule", ({
3244 value: true
3245 }));
3246 exports.PromptPowerNotice = void 0;
3247 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3248 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3249 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3250 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3251 var PromptPowerNotice = function PromptPowerNotice() {
3252 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3253 isViewed = _useIntroduction.isViewed,
3254 markAsViewed = _useIntroduction.markAsViewed;
3255 if (isViewed) {
3256 return null;
3257 }
3258 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3259 sx: {
3260 pt: 2,
3261 px: 2,
3262 pb: 0
3263 }
3264 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3265 severity: "info",
3266 onClose: function onClose() {
3267 return markAsViewed();
3268 }
3269 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3270 variant: "body2",
3271 display: "inline-block",
3272 sx: {
3273 paddingInlineEnd: 1
3274 }
3275 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3276 variant: "body2",
3277 display: "inline-block"
3278 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3279 };
3280 exports.PromptPowerNotice = PromptPowerNotice;
3281
3282 /***/ }),
3283
3284 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3285 /*!*************************************************************************************************!*\
3286 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3287 \*************************************************************************************************/
3288 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3289
3290 "use strict";
3291
3292
3293 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3294 Object.defineProperty(exports, "__esModule", ({
3295 value: true
3296 }));
3297 exports["default"] = exports.ThumbnailJson = void 0;
3298 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3299 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3300 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3301 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3302 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3303 var ThumbnailJson = function ThumbnailJson(props) {
3304 var _props$attachments;
3305 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3306 return 'json' === item.type;
3307 });
3308 if (!attachment) {
3309 return null;
3310 }
3311 if (!attachment.previewHTML) {
3312 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3313 animation: "wave",
3314 variant: "rounded",
3315 width: 60,
3316 height: 60
3317 });
3318 }
3319 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3320 html: attachment.previewHTML,
3321 disabled: props.disabled
3322 });
3323 };
3324 exports.ThumbnailJson = ThumbnailJson;
3325 ThumbnailJson.propTypes = {
3326 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3327 disabled: _propTypes.default.bool
3328 };
3329 var _default = ThumbnailJson;
3330 exports["default"] = _default;
3331
3332 /***/ }),
3333
3334 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3335 /*!************************************************************************************************!*\
3336 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3337 \************************************************************************************************/
3338 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3339
3340 "use strict";
3341
3342
3343 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3344 Object.defineProperty(exports, "__esModule", ({
3345 value: true
3346 }));
3347 exports["default"] = exports.ThumbnailUrl = void 0;
3348 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3349 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3350 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3351 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3352 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3353 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3354 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3355 var ThumbnailUrl = function ThumbnailUrl(props) {
3356 var _props$attachments;
3357 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3358 return 'url' === item.type;
3359 });
3360 if (!attachment) {
3361 return null;
3362 }
3363 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3364 sx: {
3365 position: 'relative',
3366 '&:hover::before': {
3367 content: '""',
3368 position: 'absolute',
3369 userSelect: 'none',
3370 inset: 0,
3371 backgroundColor: 'rgba(0,0,0,0.6)',
3372 borderRadius: 1,
3373 zIndex: 1
3374 },
3375 '&:hover .remove-attachment': {
3376 display: 'flex'
3377 }
3378 }
3379 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3380 className: "remove-attachment",
3381 size: "small",
3382 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3383 disabled: props.disabled,
3384 onClick: function onClick(event) {
3385 event.stopPropagation();
3386 props.onDetach();
3387 },
3388 sx: {
3389 display: 'none',
3390 position: 'absolute',
3391 insetInlineEnd: 4,
3392 insetBlockStart: 4,
3393 backgroundColor: 'secondary.main',
3394 zIndex: 1,
3395 borderRadius: 1,
3396 p: '3px',
3397 '&:hover': {
3398 backgroundColor: 'secondary.dark'
3399 }
3400 }
3401 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3402 sx: {
3403 fontSize: '1.125rem',
3404 color: 'common.white'
3405 }
3406 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3407 disabled: props.disabled,
3408 html: attachment.previewHTML
3409 }));
3410 };
3411 exports.ThumbnailUrl = ThumbnailUrl;
3412 ThumbnailUrl.propTypes = {
3413 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3414 disabled: _propTypes.default.bool,
3415 onDetach: _propTypes.default.func
3416 };
3417 var _default = ThumbnailUrl;
3418 exports["default"] = _default;
3419
3420 /***/ }),
3421
3422 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3423 /*!********************************************************************************************!*\
3424 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3425 \********************************************************************************************/
3426 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3427
3428 "use strict";
3429
3430
3431 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3432 Object.defineProperty(exports, "__esModule", ({
3433 value: true
3434 }));
3435 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3436 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3437 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3438 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3439 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3440 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3441 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3442 var _templateObject;
3443 var THUMBNAIL_SIZE = 64;
3444 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3445 var StyledBody = _styledComponents.default.body(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\thtml, body {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t}\n\n\tbody > * {\n\t\twidth: 100% !important;\n\t}\n\n\tbody > img {\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t}\n\n\tbody:has(> img) {\n\t\theight: ", "px\n\t}\n"])), THUMBNAIL_SIZE);
3446 var Thumbnail = function Thumbnail(props) {
3447 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3448 var dataWidth = (_props$html$match = props.html.match('data-width="(?<width>\\d+)"')) === null || _props$html$match === void 0 ? void 0 : (_props$html$match$gro = _props$html$match.groups) === null || _props$html$match$gro === void 0 ? void 0 : _props$html$match$gro.width;
3449 var dataHeight = (_props$html$match2 = props.html.match('data-height="(?<height>\\d+)"')) === null || _props$html$match2 === void 0 ? void 0 : (_props$html$match2$gr = _props$html$match2.groups) === null || _props$html$match2$gr === void 0 ? void 0 : _props$html$match2$gr.height;
3450 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3451 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3452 var scaleFactor = Math.min(height, width);
3453 var scale = THUMBNAIL_SIZE / scaleFactor;
3454
3455 // Center the preview
3456 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3457 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3458 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3459 dir: "ltr",
3460 sx: {
3461 position: 'relative',
3462 cursor: 'default',
3463 overflow: 'hidden',
3464 border: '1px solid',
3465 borderColor: 'grey.300',
3466 borderRadius: 1,
3467 boxSizing: 'border-box',
3468 width: THUMBNAIL_SIZE,
3469 height: THUMBNAIL_SIZE,
3470 opacity: props.disabled ? 0.5 : 1
3471 }
3472 }, /*#__PURE__*/_react.default.createElement("iframe", {
3473 title: (0, _i18n.__)('Preview', 'elementor'),
3474 sandbox: "",
3475 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3476 style: {
3477 border: 'none',
3478 overflow: 'hidden',
3479 width: width,
3480 height: height,
3481 transform: "scale(".concat(scale, ")"),
3482 transformOrigin: "".concat(left, "px ").concat(top, "px")
3483 }
3484 }));
3485 };
3486 exports.Thumbnail = Thumbnail;
3487 Thumbnail.propTypes = {
3488 html: _propTypes.default.string.isRequired,
3489 disabled: _propTypes.default.bool
3490 };
3491
3492 /***/ }),
3493
3494 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3495 /*!*********************************************************************************************!*\
3496 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3497 \*********************************************************************************************/
3498 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3499
3500 "use strict";
3501
3502
3503 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3504 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3505 Object.defineProperty(exports, "__esModule", ({
3506 value: true
3507 }));
3508 exports.UrlDialog = void 0;
3509 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3510 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3511 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3512 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3513 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3514 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3515 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3516 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3517 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3518 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3519 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3520 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3521 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3522 var UrlDialog = function UrlDialog(props) {
3523 var iframeRef = (0, _react.useRef)(null);
3524 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3525 targetUrl: props.url
3526 }),
3527 iframeSource = _useAttachUrlService.iframeSource;
3528 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3529 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3530 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3531 isTimeout = _useTimeout2[0],
3532 turnOffTimeout = _useTimeout2[1];
3533 var _useUserInfo = (0, _useUserInfo2.default)(),
3534 isConnected = _useUserInfo.isConnected,
3535 hasSubscription = _useUserInfo.hasSubscription,
3536 credits = _useUserInfo.credits,
3537 usagePercentage = _useUserInfo.usagePercentage;
3538 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3539 isLoaded = _useRemoteConfig.isLoaded,
3540 isError = _useRemoteConfig.isError,
3541 remoteConfig = _useRemoteConfig.remoteConfig;
3542 (0, _react.useEffect)(function () {
3543 var onMessage = function onMessage(event) {
3544 if (event.origin !== iframeOrigin) {
3545 return;
3546 }
3547 var _event$data = event.data,
3548 type = _event$data.type,
3549 html = _event$data.html,
3550 url = _event$data.url;
3551 switch (type) {
3552 case 'element-selector/close':
3553 props.onClose();
3554 break;
3555 case 'element-selector/loaded':
3556 turnOffTimeout();
3557 break;
3558 case 'element-selector/attach':
3559 props.onAttach([{
3560 type: 'url',
3561 previewHTML: html,
3562 content: html,
3563 label: url ? new URL(url).host : '',
3564 source: _attachments.USER_URL_SOURCE
3565 }]);
3566 break;
3567 }
3568 };
3569 window.addEventListener('message', onMessage);
3570 return function () {
3571 window.removeEventListener('message', onMessage);
3572 };
3573 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3574 if (!iframeSource) {
3575 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3576 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3577 onClose: props.onClose
3578 });
3579 }
3580 if (!isLoaded || isError) {
3581 return null;
3582 }
3583 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3584 open: true,
3585 fullScreen: true,
3586 hideBackdrop: true,
3587 maxWidth: "md",
3588 sx: {
3589 '& .MuiPaper-root': {
3590 backgroundColor: 'transparent'
3591 }
3592 }
3593 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3594 sx: {
3595 padding: 0
3596 }
3597 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3598 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3599 onClose: props.onClose
3600 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3601 ref: iframeRef,
3602 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3603 src: iframeSource,
3604 onLoad: function onLoad() {
3605 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3606 accessLevel = _window$elementorAppC.access_level,
3607 accessTier = _window$elementorAppC.access_tier,
3608 isPro = _window$elementorAppC.is_pro;
3609 iframeRef.current.contentWindow.postMessage({
3610 type: 'referrer/info',
3611 info: {
3612 page: {
3613 url: window.location.href
3614 },
3615 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3616 products: {
3617 core: {
3618 version: window.elementor.config.version
3619 },
3620 pro: {
3621 isPro: isPro,
3622 accessLevel: accessLevel,
3623 accessTier: accessTier
3624 },
3625 ai: {
3626 isConnected: isConnected,
3627 hasSubscription: hasSubscription,
3628 credits: credits,
3629 usagePercentage: usagePercentage
3630 }
3631 },
3632 user: {
3633 isAdmin: window.elementor.config.user.is_administrator
3634 }
3635 }
3636 }, iframeOrigin);
3637 },
3638 style: {
3639 border: 'none',
3640 overflow: 'scroll',
3641 width: '100%',
3642 height: '100%',
3643 backgroundColor: 'rgba(255,255,255,0.6)'
3644 }
3645 })));
3646 };
3647 exports.UrlDialog = UrlDialog;
3648 UrlDialog.propTypes = {
3649 onAttach: _propTypes.default.func.isRequired,
3650 onClose: _propTypes.default.func.isRequired,
3651 url: _propTypes.default.string
3652 };
3653
3654 /***/ }),
3655
3656 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3657 /*!************************************************************************************!*\
3658 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3659 \************************************************************************************/
3660 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3661
3662 "use strict";
3663
3664
3665 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3666 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3667 Object.defineProperty(exports, "__esModule", ({
3668 value: true
3669 }));
3670 exports["default"] = void 0;
3671 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3672 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3673 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3674 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3675 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3676 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3677 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3678 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3679 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3680 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3681 var _excluded = ["sx", "PaperProps"];
3682 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3683 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3684 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; }
3685 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) { (0, _defineProperty2.default)(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; }
3686 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3687 return {
3688 '& .MuiDialog-container': {
3689 marginTop: 0,
3690 alignItems: 'flex-end',
3691 paddingBottom: '16vh'
3692 },
3693 '& .MuiPaper-root': {
3694 margin: 0,
3695 maxHeight: '55vh'
3696 }
3697 };
3698 });
3699 var DialogHeader = function DialogHeader(_ref) {
3700 var onClose = _ref.onClose,
3701 children = _ref.children;
3702 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3703 sx: {
3704 fontWeight: 'normal'
3705 },
3706 color: "transparent",
3707 position: "relative"
3708 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3709 variant: "dense"
3710 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3711 sx: {
3712 mr: 1
3713 }
3714 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3715 component: "span",
3716 variant: "subtitle2",
3717 sx: {
3718 fontWeight: 'bold',
3719 textTransform: 'uppercase'
3720 }
3721 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3722 label: (0, _i18n.__)('Beta', 'elementor'),
3723 color: "default",
3724 size: "small",
3725 sx: {
3726 ml: 1
3727 }
3728 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3729 direction: "row",
3730 spacing: 1,
3731 alignItems: "center",
3732 sx: {
3733 ml: 'auto'
3734 }
3735 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3736 size: "small",
3737 "aria-label": "close",
3738 onClick: onClose,
3739 sx: {
3740 '&.MuiButtonBase-root': {
3741 mr: -1
3742 }
3743 }
3744 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
3745 };
3746 DialogHeader.propTypes = {
3747 children: _propTypes.default.node,
3748 onClose: _propTypes.default.func.isRequired
3749 };
3750 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
3751 return {
3752 '&.MuiDialogContent-root': {
3753 padding: 0
3754 }
3755 };
3756 });
3757 var LayoutDialog = function LayoutDialog(_ref2) {
3758 var _ref2$sx = _ref2.sx,
3759 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
3760 _ref2$PaperProps = _ref2.PaperProps,
3761 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
3762 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
3763 var _useState = (0, _react.useState)({
3764 pointerEvents: 'none'
3765 }),
3766 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3767 sxStyle = _useState2[0],
3768 setSxStyle = _useState2[1];
3769 var timeoutRef = (0, _react.useRef)(null);
3770
3771 /**
3772 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
3773 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
3774 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
3775 */
3776 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
3777 maxWidth: "md",
3778 PaperProps: _objectSpread({
3779 sx: {
3780 pointerEvents: 'auto'
3781 },
3782 onMouseEnter: function onMouseEnter() {
3783 clearTimeout(timeoutRef.current);
3784 setSxStyle({
3785 pointerEvents: 'all'
3786 });
3787 },
3788 onMouseLeave: function onMouseLeave() {
3789 clearTimeout(timeoutRef.current);
3790 timeoutRef.current = setTimeout(function () {
3791 setSxStyle({
3792 pointerEvents: 'none'
3793 });
3794 }, 200);
3795 }
3796 }, PaperProps)
3797 }, props, {
3798 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
3799 }));
3800 };
3801 LayoutDialog.propTypes = {
3802 sx: _propTypes.default.object,
3803 PaperProps: _propTypes.default.object
3804 };
3805 LayoutDialog.Header = DialogHeader;
3806 LayoutDialog.Content = StyledDialogContent;
3807 var _default = LayoutDialog;
3808 exports["default"] = _default;
3809
3810 /***/ }),
3811
3812 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
3813 /*!*********************************************************************************************!*\
3814 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
3815 \*********************************************************************************************/
3816 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3817
3818 "use strict";
3819
3820
3821 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3822 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3823 Object.defineProperty(exports, "__esModule", ({
3824 value: true
3825 }));
3826 exports.ProTemplateIndicator = void 0;
3827 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3828 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3829 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3830 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3831 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3832 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3833 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3834 var popoverId = 'e-pro-upgrade-popover';
3835 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
3836 var theme = _ref.theme;
3837 return {
3838 position: 'relative',
3839 padding: theme.spacing(3),
3840 boxShadow: theme.shadows[4],
3841 zIndex: '9999'
3842 };
3843 });
3844 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
3845 var theme = _ref2.theme;
3846 return {
3847 position: 'absolute',
3848 width: theme.spacing(5),
3849 height: theme.spacing(5),
3850 overflow: 'hidden',
3851 // Override Popper inline styles.
3852 left: '100% !important',
3853 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
3854 '&::after': {
3855 backgroundColor: theme.palette.background.paper,
3856 content: '""',
3857 display: 'block',
3858 position: 'absolute',
3859 width: theme.spacing(2.5),
3860 height: theme.spacing(2.5),
3861 top: '50%',
3862 left: '50%',
3863 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
3864 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
3865 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
3866 }
3867 };
3868 });
3869 var ProTemplateIndicator = function ProTemplateIndicator() {
3870 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
3871 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
3872 var _useState = (0, _react.useState)(false),
3873 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3874 isPopoverOpen = _useState2[0],
3875 setIsPopoverOpen = _useState2[1];
3876 var anchorEl = (0, _react.useRef)(null);
3877 var arrowEl = (0, _react.useRef)(null);
3878 var showPopover = function showPopover() {
3879 return setIsPopoverOpen(true);
3880 };
3881 var hidePopover = function hidePopover() {
3882 return setIsPopoverOpen(false);
3883 };
3884 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3885 flexDirection: "row-reverse",
3886 component: "span",
3887 display: "flex",
3888 onMouseLeave: hidePopover,
3889 alignItems: "center"
3890 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3891 ref: anchorEl,
3892 onMouseEnter: showPopover,
3893 onClick: function onClick(e) {
3894 return e.stopPropagation();
3895 } /* Do nothing */,
3896 "aria-owns": isPopoverOpen ? popoverId : undefined,
3897 "aria-haspopup": "true",
3898 sx: {
3899 m: 1,
3900 '&:hover': {
3901 backgroundColor: 'action.selected'
3902 }
3903 }
3904 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
3905 sx: {
3906 color: 'text.primary'
3907 }
3908 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
3909 open: isPopoverOpen,
3910 popperOptions: {
3911 placement: 'left-start',
3912 modifiers: [{
3913 name: 'arrow',
3914 enabled: true,
3915 options: {
3916 element: arrowEl.current,
3917 padding: 5
3918 }
3919 }, {
3920 name: 'offset',
3921 options: {
3922 offset: [0, 10]
3923 }
3924 }]
3925 },
3926 anchorEl: anchorEl.current,
3927 sx: {
3928 zIndex: '9999',
3929 maxWidth: 300
3930 }
3931 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
3932 ref: arrowEl
3933 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3934 alignItems: "start",
3935 spacing: 2
3936 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3937 color: "accent",
3938 variant: "outlined",
3939 size: "small",
3940 label: (0, _i18n.__)('Pro', 'elementor'),
3941 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
3942 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3943 variant: "body2"
3944 }, (0, _i18n.__)("This result includes an Elementor Pro widget that's not available with your current plan. Upgrade to use all the widgets in this result.", 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3945 variant: "contained",
3946 color: "accent",
3947 size: "small",
3948 href: actionUrl,
3949 target: "_blank",
3950 sx: {
3951 alignSelf: 'flex-end'
3952 }
3953 }, actionLabel)))));
3954 };
3955 exports.ProTemplateIndicator = ProTemplateIndicator;
3956
3957 /***/ }),
3958
3959 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
3960 /*!*****************************************************************************************!*\
3961 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
3962 \*****************************************************************************************/
3963 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3964
3965 "use strict";
3966
3967
3968 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3969 Object.defineProperty(exports, "__esModule", ({
3970 value: true
3971 }));
3972 exports.ProWidgetsNotice = void 0;
3973 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3974 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3975 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3976 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3977 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3978 var ProWidgetsNotice = function ProWidgetsNotice() {
3979 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-pro-widget'),
3980 isViewed = _useIntroduction.isViewed,
3981 markAsViewed = _useIntroduction.markAsViewed;
3982 if (isViewed) {
3983 return null;
3984 }
3985 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3986 sx: {
3987 pt: 2,
3988 px: 2,
3989 pb: 0
3990 }
3991 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3992 severity: "info",
3993 variant: "filled",
3994 color: "accent",
3995 onClose: function onClose() {
3996 return markAsViewed();
3997 },
3998 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
3999 sx: {
4000 '& .MuiAlert-message': {
4001 width: '100%'
4002 }
4003 }
4004 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4005 flexDirection: "row",
4006 alignItems: "baseline",
4007 justifyContent: "space-between"
4008 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4009 variant: "body2",
4010 component: "span",
4011 sx: {
4012 paddingInlineEnd: 0.5
4013 }
4014 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4015 variant: "subtitle2",
4016 component: "span",
4017 sx: {
4018 paddingInlineEnd: 1
4019 }
4020 }, (0, _i18n.__)('Upgrade your plan for best results.', 'elementor')), (0, _i18n.__)('You won’t be able to use layouts with Elementor Pro widgets until you do.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4021 variant: "outlined",
4022 size: "small",
4023 onClick: function onClick() {
4024 return window.open('https://go.elementor.com/upgrade-pro/', '_blank');
4025 },
4026 color: "inherit"
4027 }, (0, _i18n.__)('Go Pro', 'elementor')))));
4028 };
4029 exports.ProWidgetsNotice = ProWidgetsNotice;
4030
4031 /***/ }),
4032
4033 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4034 /*!******************************************************************************************!*\
4035 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4036 \******************************************************************************************/
4037 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4038
4039 "use strict";
4040
4041
4042 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4043 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4044 Object.defineProperty(exports, "__esModule", ({
4045 value: true
4046 }));
4047 exports["default"] = void 0;
4048 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4049 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4050 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4051 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4052 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4053 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4054 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4055 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4056 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4057 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4058 var _excluded = ["onSubmit"];
4059 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
4060 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
4061 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; }
4062 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) { (0, _defineProperty2.default)(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; }
4063 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4064 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4065 // eslint-disable-next-line jsx-a11y/no-autofocus
4066 , (0, _extends2.default)({
4067 autoFocus: true,
4068 multiline: true,
4069 size: "small",
4070 maxRows: 3,
4071 color: "secondary",
4072 variant: "standard"
4073 }, props, {
4074 inputRef: ref,
4075 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4076 type: 'search',
4077 sx: {
4078 pt: 0
4079 }
4080 })
4081 }));
4082 });
4083 TextInput.propTypes = {
4084 InputProps: _propTypes.default.object
4085 };
4086 var PaperComponent = function PaperComponent(props) {
4087 var _useConfig = (0, _config.useConfig)(),
4088 mode = _useConfig.mode;
4089 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4090 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4091 elevation: 8,
4092 sx: {
4093 borderRadius: 2
4094 }
4095 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4096 component: _ui.Box,
4097 color: function color(theme) {
4098 return theme.palette.text.tertiary;
4099 },
4100 variant: "caption",
4101 paddingX: 2,
4102 paddingY: 1
4103 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4104 sx: {
4105 m: 2
4106 }
4107 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4108 libraryLink: libraryLink
4109 })));
4110 };
4111 PaperComponent.propTypes = {
4112 children: _propTypes.default.node
4113 };
4114 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4115 var onSubmit = _ref.onSubmit,
4116 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4117 var _useState = (0, _react.useState)(false),
4118 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4119 showSuggestions = _useState2[0],
4120 setShowSuggestions = _useState2[1];
4121 var theme = (0, _ui.useTheme)();
4122 var itemHeight = parseInt(theme.spacing(4));
4123 var maxItems = 5;
4124 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4125 PaperComponent: PaperComponent,
4126 ListboxProps: {
4127 sx: {
4128 maxHeight: maxItems * itemHeight
4129 }
4130 },
4131 renderOption: function renderOption(optionProps, option) {
4132 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4133 title: option.text,
4134 noWrap: true,
4135 variant: "body2",
4136 component: _ui.Box,
4137 sx: {
4138 '&.MuiAutocomplete-option': {
4139 display: 'block',
4140 minHeight: itemHeight
4141 }
4142 }
4143 }), option.text);
4144 },
4145 freeSolo: true,
4146 fullWidth: true,
4147 disableClearable: true,
4148 open: showSuggestions,
4149 onClose: function onClose(e) {
4150 var _e$relatedTarget;
4151 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4152 },
4153 onKeyDown: function onKeyDown(e) {
4154 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4155 onSubmit(e);
4156 } else if ('/' === e.key && '' === e.target.value) {
4157 e.preventDefault();
4158 setShowSuggestions(true);
4159 }
4160 }
4161 }, props));
4162 };
4163 PromptAutocomplete.propTypes = {
4164 onSubmit: _propTypes.default.func.isRequired
4165 };
4166 PromptAutocomplete.TextInput = TextInput;
4167 var _default = PromptAutocomplete;
4168 exports["default"] = _default;
4169
4170 /***/ }),
4171
4172 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4173 /*!**********************************************************************************!*\
4174 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4175 \**********************************************************************************/
4176 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4177
4178 "use strict";
4179
4180
4181 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4182 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4183 Object.defineProperty(exports, "__esModule", ({
4184 value: true
4185 }));
4186 exports["default"] = void 0;
4187 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4188 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4189 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4190 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4191 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4192 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4193 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4194 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4195 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4196 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4197 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4198 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4199 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4200 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4201 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4202 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4203 var _excluded = ["tooltip"];
4204 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
4205 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
4206 var PROMPT_SUGGESTIONS = Object.freeze([{
4207 text: (0, _i18n.__)('Services section with list layout, icons, and service descriptions for [topic]', 'elementor')
4208 }, {
4209 text: (0, _i18n.__)('Accordion-style FAQ block with clickable questions about [topic]', 'elementor')
4210 }, {
4211 text: (0, _i18n.__)('Hero section with image, heading, subheading, and CTA button about [topic]', 'elementor')
4212 }, {
4213 text: (0, _i18n.__)('Full-width call-to-action with background image and overlay text about [topic]', 'elementor')
4214 }, {
4215 text: (0, _i18n.__)('Carousel testimonial block with user images, names, and feedback about [topic]', 'elementor')
4216 }, {
4217 text: (0, _i18n.__)('Features block showcasing feature title and brief description about [topic]', 'elementor')
4218 }, {
4219 text: (0, _i18n.__)('Multi-column minimalistic About Us section with icons for [topic]', 'elementor')
4220 }, {
4221 text: (0, _i18n.__)('Section with contact form and social media icons for [topic]', 'elementor')
4222 }, {
4223 text: (0, _i18n.__)('Statistics display in a 3-column layout with numbers and icons for [topic]', 'elementor')
4224 }, {
4225 text: (0, _i18n.__)('Pricing table section with highlighted option for [topic]', 'elementor')
4226 }, {
4227 text: (0, _i18n.__)('About Us section combining company history and values for [topic]', 'elementor')
4228 }]);
4229 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4230 var tooltip = _ref.tooltip,
4231 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4232 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4233 title: tooltip
4234 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4235 component: "span",
4236 sx: {
4237 cursor: props.disabled ? 'default' : 'pointer'
4238 }
4239 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4240 };
4241 IconButtonWithTooltip.propTypes = {
4242 tooltip: _propTypes.default.string,
4243 disabled: _propTypes.default.bool
4244 };
4245 var BackButton = function BackButton(props) {
4246 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4247 size: "small",
4248 color: "secondary",
4249 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4250 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4251 };
4252 var EditButton = function EditButton(props) {
4253 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4254 size: "small",
4255 color: "primary",
4256 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4257 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4258 };
4259 var GenerateButton = function GenerateButton(props) {
4260 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4261 size: "small",
4262 fullWidth: false
4263 }, props), (0, _i18n.__)('Generate', 'elementor'));
4264 };
4265 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4266 var _attachments$;
4267 var attachments = _ref2.attachments,
4268 isActive = _ref2.isActive,
4269 isLoading = _ref2.isLoading,
4270 _ref2$showActions = _ref2.showActions,
4271 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4272 onAttach = _ref2.onAttach,
4273 onDetach = _ref2.onDetach,
4274 _onSubmit = _ref2.onSubmit,
4275 onBack = _ref2.onBack,
4276 onEdit = _ref2.onEdit,
4277 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4278 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4279 var _useState = (0, _react.useState)(''),
4280 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4281 prompt = _useState2[0],
4282 setPrompt = _useState2[1];
4283 (0, _react.useEffect)(function () {
4284 if (shouldResetPrompt) {
4285 setPrompt('');
4286 }
4287 }, [shouldResetPrompt]);
4288 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4289 isEnhancing = _usePromptEnhancer.isEnhancing,
4290 enhance = _usePromptEnhancer.enhance;
4291 var previousPrompt = (0, _react.useRef)('');
4292 var _useConfig = (0, _config.useConfig)(),
4293 attachmentsTypes = _useConfig.attachmentsTypes;
4294 var isInputDisabled = isLoading || isEnhancing || !isActive;
4295 var isInputEmpty = '' === prompt && !attachments.length;
4296 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4297 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4298 var attachmentsConfig = attachmentsTypes[attachmentsType];
4299 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4300 var promptPlaceholder = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptPlaceholder) || (0, _i18n.__)("Press '/' for suggested prompts or describe the layout you want to create", 'elementor');
4301 var handleBack = function handleBack() {
4302 setPrompt(previousPrompt.current);
4303 onBack();
4304 };
4305 var handleEdit = function handleEdit() {
4306 previousPrompt.current = prompt;
4307 onEdit();
4308 };
4309 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4310 component: "form",
4311 onSubmit: function onSubmit(e) {
4312 return _onSubmit(e, prompt);
4313 },
4314 direction: "row",
4315 sx: {
4316 p: 3
4317 },
4318 alignItems: "start",
4319 gap: 1
4320 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4321 direction: "row",
4322 alignItems: "start",
4323 flexGrow: 1,
4324 spacing: 2
4325 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4326 disabled: isLoading || isEnhancing,
4327 onClick: handleBack
4328 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4329 disabled: isLoading,
4330 onClick: handleEdit
4331 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4332 attachments: attachments,
4333 onAttach: onAttach,
4334 onDetach: onDetach,
4335 disabled: isInputDisabled
4336 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4337 value: prompt,
4338 disabled: isInputDisabled,
4339 onSubmit: function onSubmit(e) {
4340 return _onSubmit(e, prompt);
4341 },
4342 options: promptSuggestions,
4343 onChange: function onChange(_, selectedValue) {
4344 return setPrompt(selectedValue.text + ' ');
4345 },
4346 renderInput: function renderInput(params) {
4347 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4348 ref: ref,
4349 onChange: function onChange(e) {
4350 return setPrompt(e.target.value);
4351 },
4352 placeholder: promptPlaceholder
4353 }));
4354 }
4355 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4356 size: "small",
4357 disabled: isGenerateDisabled || '' === prompt,
4358 isLoading: isEnhancing,
4359 onClick: function onClick() {
4360 return enhance().then(function (_ref3) {
4361 var result = _ref3.result;
4362 return setPrompt(result);
4363 });
4364 }
4365 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4366 disabled: isGenerateDisabled
4367 }));
4368 });
4369 PromptForm.propTypes = {
4370 isActive: _propTypes.default.bool,
4371 onAttach: _propTypes.default.func,
4372 onDetach: _propTypes.default.func,
4373 isLoading: _propTypes.default.bool,
4374 showActions: _propTypes.default.bool,
4375 onSubmit: _propTypes.default.func.isRequired,
4376 onBack: _propTypes.default.func.isRequired,
4377 onEdit: _propTypes.default.func.isRequired,
4378 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4379 shouldResetPrompt: _propTypes.default.bool
4380 };
4381 var _default = PromptForm;
4382 exports["default"] = _default;
4383
4384 /***/ }),
4385
4386 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4387 /*!*******************************************************************************************!*\
4388 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4389 \*******************************************************************************************/
4390 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4391
4392 "use strict";
4393
4394
4395 Object.defineProperty(exports, "__esModule", ({
4396 value: true
4397 }));
4398 exports["default"] = void 0;
4399 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4400 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4401 shouldForwardProp: function shouldForwardProp(prop) {
4402 return prop !== 'outlineOffset';
4403 }
4404 })(function (_ref) {
4405 var theme = _ref.theme,
4406 selected = _ref.selected,
4407 height = _ref.height,
4408 disabled = _ref.disabled,
4409 _ref$outlineOffset = _ref.outlineOffset,
4410 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4411 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4412 var outline = "2px solid ".concat(outlineColor);
4413 return {
4414 height: height,
4415 cursor: disabled ? 'default' : 'pointer',
4416 overflow: 'hidden',
4417 boxSizing: 'border-box',
4418 backgroundPosition: 'top center',
4419 backgroundSize: '100% auto',
4420 backgroundRepeat: 'no-repeat',
4421 backgroundColor: theme.palette.common.white,
4422 borderRadius: theme.shape.borderRadius * 0.5,
4423 outlineOffset: outlineOffset,
4424 outline: outline,
4425 opacity: disabled ? '0.4' : '1',
4426 transition: "all 50ms linear",
4427 '&:hover': disabled ? {} : {
4428 outlineColor: theme.palette.text.primary
4429 }
4430 };
4431 });
4432 var _default = ScreenshotContainer;
4433 exports["default"] = _default;
4434
4435 /***/ }),
4436
4437 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4438 /*!*********************************************************************************************!*\
4439 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4440 \*********************************************************************************************/
4441 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4442
4443 "use strict";
4444
4445
4446 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4447 Object.defineProperty(exports, "__esModule", ({
4448 value: true
4449 }));
4450 exports["default"] = ScreenshotUnavailable;
4451 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4452 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4453 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4454 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4455 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4456 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4457 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; }
4458 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) { (0, _defineProperty2.default)(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; }
4459 function ScreenshotUnavailable(props) {
4460 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4461 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4462 display: 'flex',
4463 alignItems: 'center',
4464 justifyContent: 'center',
4465 backgroundColor: 'background.paper',
4466 color: 'text.tertiary',
4467 fontStyle: 'italic',
4468 fontSize: '12px',
4469 paddingInline: 12,
4470 textAlign: 'center',
4471 lineHeight: 1.5
4472 })
4473 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4474 }
4475 ScreenshotUnavailable.propTypes = {
4476 sx: _propTypes.default.object
4477 };
4478
4479 /***/ }),
4480
4481 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4482 /*!*********************************************************************************!*\
4483 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4484 \*********************************************************************************/
4485 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4486
4487 "use strict";
4488
4489
4490 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4491 Object.defineProperty(exports, "__esModule", ({
4492 value: true
4493 }));
4494 exports["default"] = void 0;
4495 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4496 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4497 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4498 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4499 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4500 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4501 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4502 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; }
4503 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) { (0, _defineProperty2.default)(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; }
4504 var SCREENSHOT_HEIGHT = '138px';
4505 var Screenshot = function Screenshot(_ref) {
4506 var url = _ref.url,
4507 type = _ref.type,
4508 _ref$isLoading = _ref.isLoading,
4509 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4510 _ref$isSelected = _ref.isSelected,
4511 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4512 isPlaceholder = _ref.isPlaceholder,
4513 disabled = _ref.disabled,
4514 onClick = _ref.onClick,
4515 _ref$sx = _ref.sx,
4516 sx = _ref$sx === void 0 ? {} : _ref$sx,
4517 outlineOffset = _ref.outlineOffset;
4518 if (isPlaceholder) {
4519 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4520 sx: _objectSpread({
4521 height: SCREENSHOT_HEIGHT
4522 }, sx)
4523 });
4524 }
4525 if (isLoading) {
4526 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4527 width: "100%",
4528 animation: "wave",
4529 variant: "rounded",
4530 height: SCREENSHOT_HEIGHT,
4531 sx: sx
4532 });
4533 }
4534 if (!url) {
4535 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4536 selected: isSelected,
4537 disabled: disabled,
4538 sx: sx,
4539 onClick: onClick,
4540 height: SCREENSHOT_HEIGHT,
4541 outlineOffset: outlineOffset
4542 });
4543 }
4544 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4545 selected: isSelected,
4546 disabled: disabled,
4547 sx: _objectSpread({
4548 backgroundImage: "url('".concat(url, "')")
4549 }, sx),
4550 onClick: onClick,
4551 height: SCREENSHOT_HEIGHT,
4552 outlineOffset: outlineOffset
4553 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4554 type: type
4555 }));
4556 };
4557 Screenshot.propTypes = {
4558 isSelected: _propTypes.default.bool,
4559 isLoading: _propTypes.default.bool,
4560 isPlaceholder: _propTypes.default.bool,
4561 disabled: _propTypes.default.bool,
4562 onClick: _propTypes.default.func.isRequired,
4563 url: _propTypes.default.string,
4564 type: _propTypes.default.string,
4565 sx: _propTypes.default.object,
4566 outlineOffset: _propTypes.default.string
4567 };
4568 var _default = Screenshot;
4569 exports["default"] = _default;
4570
4571 /***/ }),
4572
4573 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4574 /*!*************************************************************************************!*\
4575 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4576 \*************************************************************************************/
4577 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4578
4579 "use strict";
4580
4581
4582 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4583 Object.defineProperty(exports, "__esModule", ({
4584 value: true
4585 }));
4586 exports["default"] = void 0;
4587 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4588 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4589 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4590 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4591 var TemplateBadge = function TemplateBadge(props) {
4592 var _useConfig = (0, _config.useConfig)(),
4593 hasPro = _useConfig.hasPro;
4594 if ('Pro' === props.type && !hasPro) {
4595 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4596 }
4597 return null;
4598 };
4599 var _default = TemplateBadge;
4600 exports["default"] = _default;
4601 TemplateBadge.propTypes = {
4602 type: _propTypes.default.string
4603 };
4604
4605 /***/ }),
4606
4607 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4608 /*!********************************************************************************************!*\
4609 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4610 \********************************************************************************************/
4611 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4612
4613 "use strict";
4614
4615
4616 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4617 Object.defineProperty(exports, "__esModule", ({
4618 value: true
4619 }));
4620 exports["default"] = void 0;
4621 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4622 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4623 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4624 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4625 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4626 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4627 var _excluded = ["onClose", "onCancel", "title", "text"];
4628 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4629 var onClose = _ref.onClose,
4630 onCancel = _ref.onCancel,
4631 title = _ref.title,
4632 text = _ref.text,
4633 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4634 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4635 "aria-labelledby": "unsaved-changes-alert-title",
4636 "aria-describedby": "unsaved-changes-alert-description"
4637 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4638 id: "unsaved-changes-alert-title"
4639 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4640 id: "unsaved-changes-alert-description"
4641 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4642 onClick: onCancel,
4643 color: "secondary"
4644 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4645 onClick: onClose,
4646 color: "error",
4647 variant: "contained"
4648 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4649 };
4650 UnsavedChangesAlert.propTypes = {
4651 title: _propTypes.default.string,
4652 text: _propTypes.default.string,
4653 onCancel: _propTypes.default.func,
4654 onClose: _propTypes.default.func
4655 };
4656 var _default = UnsavedChangesAlert;
4657 exports["default"] = _default;
4658
4659 /***/ }),
4660
4661 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4662 /*!**************************************************************************!*\
4663 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4664 \**************************************************************************/
4665 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4666
4667 "use strict";
4668
4669
4670 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4671 Object.defineProperty(exports, "__esModule", ({
4672 value: true
4673 }));
4674 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4675 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4676 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4677 var MODE_LAYOUT = 'layout';
4678 exports.MODE_LAYOUT = MODE_LAYOUT;
4679 var MODE_VARIATION = 'variation';
4680 exports.MODE_VARIATION = MODE_VARIATION;
4681 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4682 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4683 var ConfigContext = _react.default.createContext({});
4684 var useConfig = function useConfig() {
4685 return _react.default.useContext(ConfigContext);
4686 };
4687 exports.useConfig = useConfig;
4688 var ConfigProvider = function ConfigProvider(props) {
4689 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4690 value: {
4691 mode: props.mode,
4692 attachmentsTypes: props.attachmentsTypes,
4693 onClose: props.onClose,
4694 onConnect: props.onConnect,
4695 onData: props.onData,
4696 onInsert: props.onInsert,
4697 onSelect: props.onSelect,
4698 onGenerate: props.onGenerate,
4699 currentContext: props.currentContext,
4700 hasPro: props.hasPro
4701 }
4702 }, props.children);
4703 };
4704 exports.ConfigProvider = ConfigProvider;
4705 ConfigProvider.propTypes = {
4706 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4707 children: _propTypes.default.node.isRequired,
4708 attachmentsTypes: _propTypes.default.object.isRequired,
4709 onClose: _propTypes.default.func.isRequired,
4710 onConnect: _propTypes.default.func.isRequired,
4711 onData: _propTypes.default.func.isRequired,
4712 onInsert: _propTypes.default.func.isRequired,
4713 onSelect: _propTypes.default.func.isRequired,
4714 onGenerate: _propTypes.default.func.isRequired,
4715 currentContext: _propTypes.default.object,
4716 hasPro: _propTypes.default.bool
4717 };
4718 var _default = ConfigContext;
4719 exports["default"] = _default;
4720
4721 /***/ }),
4722
4723 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4724 /*!*********************************************************************************!*\
4725 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4726 \*********************************************************************************/
4727 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4728
4729 "use strict";
4730
4731
4732 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4733 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4734 Object.defineProperty(exports, "__esModule", ({
4735 value: true
4736 }));
4737 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4738 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4739 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4740 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4741 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4742 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4743 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4744 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
4745 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
4746 var RemoteConfigContext = _react.default.createContext({});
4747 var useRemoteConfig = function useRemoteConfig() {
4748 return _react.default.useContext(RemoteConfigContext);
4749 };
4750 exports.useRemoteConfig = useRemoteConfig;
4751 var CONFIG_KEYS = {
4752 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4753 AUTH_TOKEN: 'jwt'
4754 };
4755 exports.CONFIG_KEYS = CONFIG_KEYS;
4756 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4757 var _useState = (0, _react.useState)(false),
4758 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4759 isLoading = _useState2[0],
4760 setIsLoading = _useState2[1];
4761 var _useState3 = (0, _react.useState)(false),
4762 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4763 isLoaded = _useState4[0],
4764 setIsLoaded = _useState4[1];
4765 var _useState5 = (0, _react.useState)(false),
4766 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4767 isError = _useState6[0],
4768 setIsError = _useState6[1];
4769 var _useState7 = (0, _react.useState)({}),
4770 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4771 remoteConfig = _useState8[0],
4772 setRemoteConfig = _useState8[1];
4773 var fetchData = /*#__PURE__*/function () {
4774 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4775 var result;
4776 return _regenerator.default.wrap(function _callee$(_context) {
4777 while (1) switch (_context.prev = _context.next) {
4778 case 0:
4779 setIsLoading(true);
4780 _context.prev = 1;
4781 _context.next = 4;
4782 return (0, _api.getRemoteConfig)().finally(function () {
4783 setIsLoaded(true);
4784 setIsLoading(false);
4785 });
4786 case 4:
4787 result = _context.sent;
4788 if (result.config) {
4789 _context.next = 7;
4790 break;
4791 }
4792 throw new Error('Invalid remote config');
4793 case 7:
4794 setRemoteConfig(result.config);
4795 _context.next = 15;
4796 break;
4797 case 10:
4798 _context.prev = 10;
4799 _context.t0 = _context["catch"](1);
4800 setIsError(true);
4801 setIsLoaded(true);
4802 setIsLoading(false);
4803 case 15:
4804 case "end":
4805 return _context.stop();
4806 }
4807 }, _callee, null, [[1, 10]]);
4808 }));
4809 return function fetchData() {
4810 return _ref.apply(this, arguments);
4811 };
4812 }();
4813 if (!isLoaded && !isLoading) {
4814 fetchData();
4815 }
4816 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
4817 value: {
4818 isLoading: isLoading,
4819 isLoaded: isLoaded,
4820 isError: isError,
4821 remoteConfig: remoteConfig
4822 }
4823 }, props.children);
4824 };
4825 exports.RemoteConfigProvider = RemoteConfigProvider;
4826 RemoteConfigProvider.propTypes = {
4827 children: _propTypes.default.node.isRequired,
4828 onError: _propTypes.default.func.isRequired
4829 };
4830
4831 /***/ }),
4832
4833 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
4834 /*!****************************************************************************************!*\
4835 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
4836 \****************************************************************************************/
4837 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4838
4839 "use strict";
4840
4841
4842 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4843 Object.defineProperty(exports, "__esModule", ({
4844 value: true
4845 }));
4846 exports.useAttachUrlService = void 0;
4847 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4848 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4849 var _react = __webpack_require__(/*! react */ "react");
4850 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
4851 var useAttachUrlService = function useAttachUrlService(args) {
4852 var _window$elementorComm, _window$elementorComm2;
4853 var _useState = (0, _react.useState)(args.targetUrl),
4854 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4855 currentUrl = _useState2[0],
4856 setCurrentUrl = _useState2[1];
4857 var theme = (0, _ui.useTheme)();
4858 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
4859 isLoaded = _useRemoteConfig.isLoaded,
4860 isError = _useRemoteConfig.isError,
4861 remoteConfig = _useRemoteConfig.remoteConfig;
4862 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
4863 return {
4864 iframeSource: '',
4865 currentUrl: currentUrl,
4866 setCurrentUrl: setCurrentUrl
4867 };
4868 }
4869 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
4870 urlObject.searchParams.append('colorScheme', theme.palette.mode);
4871 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
4872 urlObject.searchParams.append('version', (_window$elementorComm = window.elementorCommon) === null || _window$elementorComm === void 0 ? void 0 : (_window$elementorComm2 = _window$elementorComm.config) === null || _window$elementorComm2 === void 0 ? void 0 : _window$elementorComm2.version);
4873 if (currentUrl) {
4874 urlObject.searchParams.append('url', currentUrl);
4875 }
4876 return {
4877 iframeSource: urlObject.toString(),
4878 currentUrl: currentUrl,
4879 setCurrentUrl: setCurrentUrl
4880 };
4881 };
4882 exports.useAttachUrlService = useAttachUrlService;
4883
4884 /***/ }),
4885
4886 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
4887 /*!***********************************************************************************!*\
4888 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
4889 \***********************************************************************************/
4890 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4891
4892 "use strict";
4893
4894
4895 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4896 Object.defineProperty(exports, "__esModule", ({
4897 value: true
4898 }));
4899 exports["default"] = void 0;
4900 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4901 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
4902 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
4903 return (0, _usePrompt.default)(function (requestBody, signal) {
4904 requestBody.variationType = type;
4905 return (0, _api.generateLayout)(requestBody, signal);
4906 }, initialValue);
4907 };
4908 var _default = useLayoutPrompt;
4909 exports["default"] = _default;
4910
4911 /***/ }),
4912
4913 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
4914 /*!********************************************************************************!*\
4915 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
4916 \********************************************************************************/
4917 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4918
4919 "use strict";
4920
4921
4922 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4923 Object.defineProperty(exports, "__esModule", ({
4924 value: true
4925 }));
4926 exports["default"] = void 0;
4927 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4928 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4929 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4930 var _react = __webpack_require__(/*! react */ "react");
4931 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
4932 var ERROR_INITIAL_VALUE = '';
4933 var useScreenshot = function useScreenshot(type, onData) {
4934 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
4935 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4936 error = _useState2[0],
4937 setError = _useState2[1];
4938 var _useState3 = (0, _react.useState)(false),
4939 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4940 isLoading = _useState4[0],
4941 setIsLoading = _useState4[1];
4942 var layoutData = (0, _useLayoutPrompt.default)(type, null);
4943 var generate = function generate(requestBody, signal) {
4944 setIsLoading(true);
4945 setError(ERROR_INITIAL_VALUE);
4946 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
4947 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
4948 var createdScreenshot;
4949 return _regenerator.default.wrap(function _callee$(_context) {
4950 while (1) switch (_context.prev = _context.next) {
4951 case 0:
4952 _context.next = 2;
4953 return onData(data.result);
4954 case 2:
4955 createdScreenshot = _context.sent;
4956 createdScreenshot.sendUsageData = function () {
4957 return layoutData.sendUsageData(data);
4958 };
4959 createdScreenshot.baseTemplateId = data.baseTemplateId;
4960 createdScreenshot.type = data.type;
4961 return _context.abrupt("return", createdScreenshot);
4962 case 7:
4963 case "end":
4964 return _context.stop();
4965 }
4966 }, _callee);
4967 }));
4968 return function (_x) {
4969 return _ref.apply(this, arguments);
4970 };
4971 }()).catch(function (err) {
4972 setError(err.message || err);
4973 throw err;
4974 }).finally(function () {
4975 return setIsLoading(false);
4976 });
4977 };
4978 return {
4979 generate: generate,
4980 error: error,
4981 isLoading: isLoading
4982 };
4983 };
4984 var _default = useScreenshot;
4985 exports["default"] = _default;
4986
4987 /***/ }),
4988
4989 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
4990 /*!*********************************************************************************!*\
4991 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
4992 \*********************************************************************************/
4993 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4994
4995 "use strict";
4996
4997
4998 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4999 Object.defineProperty(exports, "__esModule", ({
5000 value: true
5001 }));
5002 exports["default"] = void 0;
5003 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5004 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5005 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5006 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5007 var _react = __webpack_require__(/*! react */ "react");
5008 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5009 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5010 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5011 var PENDING_VALUE = {
5012 isPending: true
5013 };
5014 var useScreenshots = function useScreenshots(_ref) {
5015 var onData = _ref.onData;
5016 var _useState = (0, _react.useState)([]),
5017 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5018 screenshots = _useState2[0],
5019 setScreenshots = _useState2[1];
5020
5021 /**
5022 * The ids for each request are:
5023 * - editorSessionId: a unique id for each editor opening
5024 * - sessionId: a unique id for each session. (open the AI builder)
5025 * - generateId: a unique id for each generate request. (prompt change)
5026 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5027 * - requestId: a unique id for each generate request.
5028 */
5029
5030 var _useConfig = (0, _config.useConfig)(),
5031 currentContext = _useConfig.currentContext;
5032 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5033 editorSessionId = _useRequestIds.editorSessionId,
5034 sessionId = _useRequestIds.sessionId,
5035 setRequest = _useRequestIds.setRequest,
5036 setBatch = _useRequestIds.setBatch,
5037 setGenerate = _useRequestIds.setGenerate;
5038 var generateIdRef = (0, _react.useRef)('');
5039 var batchId = setBatch();
5040 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5041 var screenshotsGroupCount = screenshotsData.length;
5042 var error = screenshotsData.every(function (s) {
5043 return s === null || s === void 0 ? void 0 : s.error;
5044 }) ? screenshotsData[0].error : '';
5045 var isLoading = screenshotsData.some(function (s) {
5046 return s === null || s === void 0 ? void 0 : s.isLoading;
5047 });
5048 var abortController = (0, _react.useRef)(null);
5049 var abort = function abort() {
5050 var _abortController$curr;
5051 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5052 };
5053 var createScreenshots = /*#__PURE__*/function () {
5054 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5055 var onGenerate, onError, promises, results, isAllFailed;
5056 return _regenerator.default.wrap(function _callee$(_context) {
5057 while (1) switch (_context.prev = _context.next) {
5058 case 0:
5059 abortController.current = new AbortController();
5060 onGenerate = function onGenerate(screenshot) {
5061 setScreenshots(function (prev) {
5062 var updatedData = (0, _toConsumableArray2.default)(prev);
5063 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5064 updatedData[pendingIndex] = screenshot;
5065 return updatedData;
5066 });
5067 return true;
5068 };
5069 onError = function onError() {
5070 setScreenshots(function (prev) {
5071 var updatedData = (0, _toConsumableArray2.default)(prev);
5072 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5073 updatedData[pendingIndex] = {
5074 isError: true
5075 };
5076 return updatedData;
5077 });
5078 return false;
5079 };
5080 promises = screenshotsData.map(function (_ref3) {
5081 var generate = _ref3.generate;
5082 var prevGeneratedIds = screenshots.map(function (screenshot) {
5083 return screenshot.baseTemplateId || '';
5084 });
5085 var requestBody = {
5086 prompt: prompt,
5087 prevGeneratedIds: prevGeneratedIds,
5088 currentContext: currentContext,
5089 ids: {
5090 editorSessionId: editorSessionId.current,
5091 sessionId: sessionId.current,
5092 generateId: generateIdRef.current,
5093 batchId: batchId.current,
5094 requestId: setRequest().current
5095 },
5096 attachments: attachments.map(function (_ref4) {
5097 var type = _ref4.type,
5098 content = _ref4.content,
5099 label = _ref4.label,
5100 source = _ref4.source;
5101 // Send only the data that is needed for the generation.
5102 return {
5103 type: type,
5104 content: content,
5105 label: label,
5106 source: source
5107 };
5108 })
5109 };
5110 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5111 });
5112 _context.next = 6;
5113 return Promise.all(promises);
5114 case 6:
5115 results = _context.sent;
5116 isAllFailed = results.every(function (value) {
5117 return false === value;
5118 });
5119 if (isAllFailed) {
5120 setScreenshots(function (prev) {
5121 var updatedData = (0, _toConsumableArray2.default)(prev);
5122 updatedData.splice(screenshotsGroupCount * -1);
5123 return updatedData;
5124 });
5125 }
5126 case 9:
5127 case "end":
5128 return _context.stop();
5129 }
5130 }, _callee);
5131 }));
5132 return function createScreenshots(_x, _x2) {
5133 return _ref2.apply(this, arguments);
5134 };
5135 }();
5136 var generate = function generate(prompt, attachments) {
5137 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5138 generateIdRef.current = setGenerate().current;
5139 setScreenshots(placeholders);
5140 createScreenshots(prompt, attachments);
5141 };
5142 var regenerate = function regenerate(prompt, attachments) {
5143 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5144 setScreenshots(function (prev) {
5145 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5146 });
5147 createScreenshots(prompt, attachments);
5148 };
5149 return {
5150 generate: generate,
5151 regenerate: regenerate,
5152 screenshots: screenshots,
5153 isLoading: isLoading,
5154 error: error,
5155 abort: abort
5156 };
5157 };
5158 var _default = useScreenshots;
5159 exports["default"] = _default;
5160
5161 /***/ }),
5162
5163 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5164 /*!****************************************************************************!*\
5165 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5166 \****************************************************************************/
5167 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5168
5169 "use strict";
5170
5171
5172 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5173 Object.defineProperty(exports, "__esModule", ({
5174 value: true
5175 }));
5176 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5177 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5178 var _react = __webpack_require__(/*! react */ "react");
5179 var SCREENSHOTS_PER_PAGE = 3;
5180 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5181 var MAX_PAGES = 5;
5182 exports.MAX_PAGES = MAX_PAGES;
5183 var useSlider = function useSlider() {
5184 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5185 _ref$slidesCount = _ref.slidesCount,
5186 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5187 _ref$slidesPerPage = _ref.slidesPerPage,
5188 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5189 _ref$gapPercentage = _ref.gapPercentage,
5190 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5191 var _useState = (0, _react.useState)(1),
5192 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5193 currentPage = _useState2[0],
5194 setCurrentPage = _useState2[1];
5195 var gapsCount = slidesPerPage - 1;
5196 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5197 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5198 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5199 (0, _react.useEffect)(function () {
5200 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5201 if (currentPage > 1 && currentPage > pagesCount) {
5202 setCurrentPage(pagesCount);
5203 }
5204 }, [pagesCount]);
5205 return {
5206 currentPage: currentPage,
5207 setCurrentPage: setCurrentPage,
5208 pagesCount: pagesCount,
5209 slidesPerPage: slidesPerPage,
5210 gapPercentage: gapPercentage,
5211 offsetXPercentage: offsetXPercentage,
5212 slideWidthPercentage: slideWidthPercentage
5213 };
5214 };
5215 var _default = useSlider;
5216 exports["default"] = _default;
5217
5218 /***/ }),
5219
5220 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5221 /*!*****************************************************************!*\
5222 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5223 \*****************************************************************/
5224 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5225
5226 "use strict";
5227
5228
5229 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5230 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5231 Object.defineProperty(exports, "__esModule", ({
5232 value: true
5233 }));
5234 exports["default"] = void 0;
5235 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5236 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5237 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5238 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5239 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5240 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5241 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5242 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5243 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5244 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5245 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5246 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5247 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5248 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5249 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5250 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5251 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5252 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5253 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5254 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5255 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5256 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
5257 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5258 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5259 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5260 var _excluded = ["children"];
5261 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5262 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
5263 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5264 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5265
5266 /**
5267 * @typedef {Object} Attachment
5268 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5269 * @property {string} previewHTML - HTML content as a string, representing a preview.
5270 * @property {string} content - Actual content of the attachment as a string.
5271 * @property {string} label - Label for the attachment.
5272 */
5273
5274 var RegenerateButton = function RegenerateButton(props) {
5275 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5276 size: "small",
5277 color: "secondary",
5278 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5279 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5280 };
5281 var UseLayoutButton = function UseLayoutButton(props) {
5282 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5283 size: "small",
5284 variant: "contained"
5285 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5286 };
5287 UseLayoutButton.propTypes = {
5288 sx: _propTypes.default.object
5289 };
5290 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5291 if (isLoading || isPromptFormActive) {
5292 return true;
5293 }
5294 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5295 };
5296 var FormLayout = function FormLayout(_ref) {
5297 var _screenshots$selected, _screenshots$2;
5298 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5299 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5300 _ref$DialogContentPro = _ref.DialogContentProps,
5301 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5302 initialAttachments = _ref.attachments;
5303 var _useConfig = (0, _config.useConfig)(),
5304 attachmentsTypes = _useConfig.attachmentsTypes,
5305 onData = _useConfig.onData,
5306 onInsert = _useConfig.onInsert,
5307 onSelect = _useConfig.onSelect,
5308 onClose = _useConfig.onClose,
5309 onGenerate = _useConfig.onGenerate,
5310 hasPro = _useConfig.hasPro;
5311 var _useScreenshots = (0, _useScreenshots2.default)({
5312 onData: onData
5313 }),
5314 screenshots = _useScreenshots.screenshots,
5315 generate = _useScreenshots.generate,
5316 regenerate = _useScreenshots.regenerate,
5317 isLoading = _useScreenshots.isLoading,
5318 error = _useScreenshots.error,
5319 abort = _useScreenshots.abort;
5320 var screenshotOutlineOffset = '2px';
5321 var _useSlider = (0, _useSlider2.default)({
5322 slidesCount: screenshots.length
5323 }),
5324 currentPage = _useSlider.currentPage,
5325 setCurrentPage = _useSlider.setCurrentPage,
5326 pagesCount = _useSlider.pagesCount,
5327 gapPercentage = _useSlider.gapPercentage,
5328 slidesPerPage = _useSlider.slidesPerPage,
5329 offsetXPercentage = _useSlider.offsetXPercentage,
5330 slideWidthPercentage = _useSlider.slideWidthPercentage;
5331 var _useState = (0, _react.useState)(-1),
5332 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5333 selectedScreenshotIndex = _useState2[0],
5334 setSelectedScreenshotIndex = _useState2[1];
5335 var _useState3 = (0, _react.useState)(false),
5336 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5337 showUnsavedChangesAlert = _useState4[0],
5338 setShowUnsavedChangesAlert = _useState4[1];
5339 var _useState5 = (0, _react.useState)(true),
5340 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5341 isPromptEditable = _useState6[0],
5342 setIsPromptEditable = _useState6[1];
5343 var _useState7 = (0, _react.useState)([]),
5344 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5345 attachments = _useState8[0],
5346 setAttachments = _useState8[1];
5347 var _useState9 = (0, _react.useState)(false),
5348 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5349 shouldRenderWebApp = _useState10[0],
5350 setShouldRenderWebApp = _useState10[1];
5351 var _useState11 = (0, _react.useState)(false),
5352 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5353 isMinimized = _useState12[0],
5354 setIsMinimized = _useState12[1];
5355 var lastRun = (0, _react.useRef)(function () {});
5356 var promptInputRef = (0, _react.useRef)(null);
5357 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5358 var dialogContentChildren = DialogContentProps.children,
5359 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5360
5361 // When there are no screenshots the prompt field should be editable.
5362 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5363 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5364 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
5365 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
5366 });
5367 var abortAndClose = function abortAndClose() {
5368 abort();
5369 onClose();
5370 };
5371 var onCloseIntent = function onCloseIntent() {
5372 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5373 if (hasUnsavedChanges) {
5374 return setShowUnsavedChangesAlert(true);
5375 }
5376 abortAndClose();
5377 };
5378 var handleGenerate = function handleGenerate(event, prompt) {
5379 event.preventDefault();
5380 if ('' === prompt.trim() && 0 === attachments.length) {
5381 return;
5382 }
5383 if ((0, _isURL.default)(prompt)) {
5384 setShouldRenderWebApp(true);
5385 return;
5386 }
5387 onGenerate();
5388 lastRun.current = function () {
5389 setSelectedScreenshotIndex(-1);
5390 generate(prompt, attachments);
5391 };
5392 lastRun.current();
5393 setIsPromptEditable(false);
5394 setCurrentPage(1);
5395 };
5396 var handleRegenerate = function handleRegenerate() {
5397 lastRun.current = function () {
5398 regenerate(promptInputRef.current.value, attachments);
5399 // Changing the current page to the next page number.
5400 setCurrentPage(pagesCount + 1);
5401 };
5402 lastRun.current();
5403 };
5404 var applyTemplate = function applyTemplate() {
5405 onInsert(selectedTemplate);
5406 screenshots[selectedScreenshotIndex].sendUsageData();
5407 abortAndClose();
5408 };
5409 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5410 return function () {
5411 if (isPromptFormActive) {
5412 return;
5413 }
5414 setSelectedScreenshotIndex(index);
5415 onSelect(template);
5416 };
5417 };
5418
5419 /**
5420 * @param {Attachment[]} items
5421 */
5422 var onAttach = function onAttach(items) {
5423 items.forEach(function (item) {
5424 if (!attachmentsTypes[item.type]) {
5425 throw new Error("Invalid attachment type: ".concat(item.type));
5426 }
5427 var typeConfig = attachmentsTypes[item.type];
5428 if (!item.previewHTML && typeConfig.previewGenerator) {
5429 typeConfig.previewGenerator(item.content).then(function (html) {
5430 item.previewHTML = html;
5431 setAttachments(function (prev) {
5432 // Replace the attachment with the updated one.
5433 return prev.map(function (attachment) {
5434 if (attachment.content === item.content) {
5435 return item;
5436 }
5437 return attachment;
5438 });
5439 });
5440 });
5441 }
5442 });
5443 setAttachments(items);
5444 setShouldRenderWebApp(false);
5445 setIsPromptEditable(true);
5446 };
5447 (0, _react.useEffect)(function () {
5448 var _screenshots$;
5449 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5450 if (isFirstTemplateExist) {
5451 onSelect(screenshots[0].template);
5452 setSelectedScreenshotIndex(0);
5453 }
5454 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5455 (0, _react.useEffect)(function () {
5456 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5457 onAttach(initialAttachments);
5458 }
5459 }, []);
5460 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5461 onClose: onCloseIntent
5462 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5463 onClose: onCloseIntent
5464 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5465 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5466 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5467 size: "small",
5468 "aria-label": "minimize",
5469 onClick: function onClick() {
5470 return setIsMinimized(function (prev) {
5471 return !prev;
5472 });
5473 }
5474 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5475 dividers: true
5476 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5477 in: !isMinimized
5478 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5479 sx: {
5480 pt: 2,
5481 px: 2,
5482 pb: 0
5483 }
5484 }, dialogContentChildren), mayContainProWidgets && !hasPro && /*#__PURE__*/_react.default.createElement(_proWidgetsNotice.ProWidgetsNotice, null), attachments.length > 0 && /*#__PURE__*/_react.default.createElement(_promptPowerNotice.PromptPowerNotice, null), error && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5485 sx: {
5486 pt: 2,
5487 px: 2,
5488 pb: 0
5489 }
5490 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5491 error: error,
5492 onRetry: lastRun.current
5493 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5494 open: showUnsavedChangesAlert,
5495 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5496 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5497 onClose: abortAndClose,
5498 onCancel: function onCancel() {
5499 return setShowUnsavedChangesAlert(false);
5500 }
5501 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5502 type: _attachments.ATTACHMENT_TYPE_URL,
5503 url: promptInputRef.current.value,
5504 onAttach: onAttach,
5505 onClose: function onClose() {
5506 setShouldRenderWebApp(false);
5507 }
5508 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5509 shouldResetPrompt: shouldRenderWebApp,
5510 ref: promptInputRef,
5511 isActive: isPromptFormActive,
5512 isLoading: isLoading,
5513 showActions: screenshots.length > 0 || isLoading,
5514 attachmentsTypes: attachmentsTypes,
5515 attachments: attachments,
5516 onAttach: onAttach,
5517 onDetach: function onDetach(index) {
5518 setAttachments(function (prev) {
5519 var newAttachments = (0, _toConsumableArray2.default)(prev);
5520 newAttachments.splice(index, 1);
5521 return newAttachments;
5522 });
5523 setIsPromptEditable(true);
5524 },
5525 onSubmit: handleGenerate,
5526 onBack: function onBack() {
5527 return setIsPromptEditable(false);
5528 },
5529 onEdit: function onEdit() {
5530 return setIsPromptEditable(true);
5531 }
5532 }), (screenshots.length > 0 || isLoading) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.Divider, null), /*#__PURE__*/_react.default.createElement(_ui.Box, {
5533 sx: {
5534 p: 1.5
5535 }
5536 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5537 sx: {
5538 overflow: 'hidden',
5539 p: 0.5
5540 }
5541 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5542 sx: {
5543 display: 'flex',
5544 transition: 'all 0.4s ease',
5545 gap: "".concat(gapPercentage, "%"),
5546 transform: "translateX(".concat(offsetXPercentage, "%)")
5547 }
5548 }, screenshots.map(function (_ref2, index) {
5549 var screenshot = _ref2.screenshot,
5550 type = _ref2.type,
5551 template = _ref2.template,
5552 isError = _ref2.isError,
5553 isPending = _ref2.isPending;
5554 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5555 key: index,
5556 url: screenshot,
5557 type: type,
5558 disabled: isPromptFormActive,
5559 isPlaceholder: isError,
5560 isLoading: isPending,
5561 isSelected: selectedScreenshotIndex === index,
5562 onClick: handleScreenshotClick(index, template),
5563 outlineOffset: screenshotOutlineOffset,
5564 sx: {
5565 flex: "0 0 ".concat(slideWidthPercentage, "%")
5566 }
5567 });
5568 })))), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5569 sx: {
5570 pt: 0,
5571 px: 2,
5572 pb: 2
5573 },
5574 display: "grid",
5575 gridTemplateColumns: "repeat(3, 1fr)",
5576 justifyItems: "center"
5577 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5578 onClick: handleRegenerate,
5579 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5580 sx: {
5581 justifySelf: 'start'
5582 }
5583 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5584 page: currentPage,
5585 count: pagesCount,
5586 disabled: isPromptFormActive,
5587 onChange: function onChange(_, page) {
5588 return setCurrentPage(page);
5589 }
5590 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5591 onClick: applyTemplate,
5592 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5593 sx: {
5594 justifySelf: 'end',
5595 gridColumn: 3
5596 }
5597 }))))));
5598 };
5599 FormLayout.propTypes = {
5600 DialogHeaderProps: _propTypes.default.object,
5601 DialogContentProps: _propTypes.default.object,
5602 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5603 };
5604 var _default = FormLayout;
5605 exports["default"] = _default;
5606
5607 /***/ }),
5608
5609 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5610 /*!************************************************************************************!*\
5611 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5612 \************************************************************************************/
5613 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5614
5615 "use strict";
5616
5617
5618 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5619 Object.defineProperty(exports, "__esModule", ({
5620 value: true
5621 }));
5622 exports["default"] = void 0;
5623 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5624 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5625 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5626 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5627 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5628 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5629 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5630 var _excluded = ["isLoading"];
5631 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5632 var EnhanceButton = function EnhanceButton(_ref) {
5633 var isLoading = _ref.isLoading,
5634 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5635 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5636 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5637 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5638 component: "span",
5639 sx: {
5640 cursor: props.disabled ? 'default' : 'pointer'
5641 }
5642 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5643 size: "small",
5644 color: "secondary"
5645 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5646 color: "secondary",
5647 size: 20
5648 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5649 fontSize: "small"
5650 }))));
5651 };
5652 EnhanceButton.propTypes = {
5653 disabled: _propTypes.default.bool,
5654 isLoading: _propTypes.default.bool
5655 };
5656 var _default = EnhanceButton;
5657 exports["default"] = _default;
5658
5659 /***/ }),
5660
5661 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5662 /*!*************************************************************************************!*\
5663 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5664 \*************************************************************************************/
5665 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5666
5667 "use strict";
5668
5669
5670 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5671 Object.defineProperty(exports, "__esModule", ({
5672 value: true
5673 }));
5674 exports["default"] = void 0;
5675 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5676 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5677 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5678 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5679 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5680 var GenerateSubmit = function GenerateSubmit(props) {
5681 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5682 fullWidth: true,
5683 size: "medium",
5684 type: "submit",
5685 variant: "contained"
5686 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5687 };
5688 GenerateSubmit.propTypes = {
5689 children: _propTypes.default.node
5690 };
5691 var _default = GenerateSubmit;
5692 exports["default"] = _default;
5693
5694 /***/ }),
5695
5696 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5697 /*!*****************************************************************!*\
5698 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5699 \*****************************************************************/
5700 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5701
5702 "use strict";
5703
5704
5705 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5706 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5707 Object.defineProperty(exports, "__esModule", ({
5708 value: true
5709 }));
5710 exports["default"] = void 0;
5711 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5712 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5713 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5714 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5715 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5716 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5717 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5718 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5719 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5720 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5721 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
5722 var GetStarted = function GetStarted(_ref) {
5723 var onSuccess = _ref.onSuccess;
5724 var _useState = (0, _react.useState)(false),
5725 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5726 isTermsChecked = _useState2[0],
5727 setIsTermsChecked = _useState2[1];
5728 var onGetStartedClick = /*#__PURE__*/function () {
5729 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5730 return _regenerator.default.wrap(function _callee$(_context) {
5731 while (1) switch (_context.prev = _context.next) {
5732 case 0:
5733 _context.next = 2;
5734 return (0, _api.setGetStarted)();
5735 case 2:
5736 onSuccess();
5737 case 3:
5738 case "end":
5739 return _context.stop();
5740 }
5741 }, _callee);
5742 }));
5743 return function onGetStartedClick() {
5744 return _ref2.apply(this, arguments);
5745 };
5746 }();
5747 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5748 alignItems: "center",
5749 gap: 1.5
5750 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5751 sx: {
5752 color: 'text.primary',
5753 fontSize: '60px',
5754 mb: 1
5755 }
5756 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5757 variant: "h4",
5758 sx: {
5759 color: 'text.primary'
5760 }
5761 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5762 variant: "body2"
5763 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5764 direction: "row",
5765 gap: 1.5,
5766 alignItems: "flex-start"
5767 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5768 id: "e-ai-terms-approval",
5769 color: "secondary",
5770 sx: {
5771 p: 0
5772 },
5773 onChange: function onChange() {
5774 return setIsTermsChecked(function (prevState) {
5775 return !prevState;
5776 });
5777 }
5778 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5779 variant: "caption",
5780 sx: {
5781 maxWidth: 520
5782 },
5783 component: "label",
5784 htmlFor: "e-ai-terms-approval"
5785 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
5786 href: "https://go.elementor.com/ai-terms/",
5787 target: "_blank",
5788 color: "info.main"
5789 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
5790 href: "https://go.elementor.com/ai-privacy-policy/",
5791 target: "_blank",
5792 color: "info.main"
5793 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), (0, _i18n.__)('This includes consenting to the collection and use of data to improve user experience.', 'elementor')))), /*#__PURE__*/_react.default.createElement(_ui.Button, {
5794 disabled: !isTermsChecked,
5795 variant: "contained",
5796 onClick: onGetStartedClick,
5797 sx: {
5798 mt: 1,
5799 '&:hover': {
5800 color: 'primary.contrastText'
5801 }
5802 }
5803 }, (0, _i18n.__)('Get Started', 'elementor')));
5804 };
5805 GetStarted.propTypes = {
5806 onSuccess: _propTypes.default.func.isRequired
5807 };
5808 var _default = GetStarted;
5809 exports["default"] = _default;
5810
5811 /***/ }),
5812
5813 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
5814 /*!**********************************************************!*\
5815 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
5816 \**********************************************************/
5817 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5818
5819 "use strict";
5820
5821
5822 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5823 Object.defineProperty(exports, "__esModule", ({
5824 value: true
5825 }));
5826 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
5827 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5828 var AttachmentPropType = _propTypes.default.shape({
5829 type: _propTypes.default.string,
5830 previewHTML: _propTypes.default.string,
5831 content: _propTypes.default.string,
5832 label: _propTypes.default.string,
5833 source: _propTypes.default.string
5834 });
5835 exports.AttachmentPropType = AttachmentPropType;
5836 var AttachmentsTypesPropType = _propTypes.default.shape({
5837 type: _propTypes.default.shape({
5838 promptPlaceholder: _propTypes.default.string,
5839 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
5840 text: _propTypes.default.string.isRequired
5841 })),
5842 previewGenerator: _propTypes.default.func
5843 })
5844 });
5845 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
5846
5847 /***/ }),
5848
5849 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
5850 /*!******************************************************************!*\
5851 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
5852 \******************************************************************/
5853 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5854
5855 "use strict";
5856 /* provided dependency */ var ReactDOM = __webpack_require__(/*! react-dom */ "react-dom");
5857
5858
5859 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5860 Object.defineProperty(exports, "__esModule", ({
5861 value: true
5862 }));
5863 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
5864 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5865 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5866 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5867 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
5868 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
5869 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
5870 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
5871 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5872 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
5873 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5874 var closePanel = function closePanel() {
5875 $e.run('panel/close');
5876 $e.components.get('panel').blockUserInteractions();
5877 };
5878 exports.closePanel = closePanel;
5879 var openPanel = function openPanel() {
5880 $e.run('panel/open');
5881 $e.components.get('panel').unblockUserInteractions();
5882 };
5883 exports.openPanel = openPanel;
5884 var onConnect = function onConnect(data) {
5885 elementorCommon.config.library_connect.is_connected = true;
5886 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
5887 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
5888 };
5889 exports.onConnect = onConnect;
5890 var getUiConfig = function getUiConfig() {
5891 var _elementor, _elementor$getPrefere;
5892 var colorScheme = ((_elementor = elementor) === null || _elementor === void 0 ? void 0 : (_elementor$getPrefere = _elementor.getPreferences) === null || _elementor$getPrefere === void 0 ? void 0 : _elementor$getPrefere.call(_elementor, 'ui_theme')) || 'auto';
5893 var isRTL = elementorCommon.config.isRTL;
5894 return {
5895 colorScheme: colorScheme,
5896 isRTL: isRTL
5897 };
5898 };
5899 exports.getUiConfig = getUiConfig;
5900 var VARIATIONS_PROMPTS = [{
5901 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
5902 }, {
5903 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
5904 }, {
5905 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
5906 }, {
5907 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
5908 }, {
5909 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
5910 }, {
5911 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
5912 }, {
5913 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
5914 }, {
5915 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
5916 }, {
5917 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
5918 }];
5919 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
5920 var renderLayoutApp = function renderLayoutApp() {
5921 var _options$onRenderApp;
5922 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
5923 parentContainer: null,
5924 mode: '',
5925 at: null,
5926 onClose: null,
5927 onGenerate: null,
5928 onInsert: null,
5929 onRenderApp: null,
5930 onSelect: null,
5931 attachments: []
5932 };
5933 closePanel();
5934 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
5935 // Create the container at the "drag widget here" area position.
5936 at: options.at
5937 });
5938 var _getUiConfig = getUiConfig(),
5939 colorScheme = _getUiConfig.colorScheme,
5940 isRTL = _getUiConfig.isRTL;
5941 var rootElement = document.createElement('div');
5942 document.body.append(rootElement);
5943 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
5944 ReactDOM.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
5945 isRTL: isRTL,
5946 colorScheme: colorScheme
5947 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
5948 mode: options.mode,
5949 currentContext: {
5950 body: {
5951 backgroundColor: bodyStyle.backgroundColor,
5952 backgroundImage: bodyStyle.backgroundImage
5953 }
5954 },
5955 attachmentsTypes: {
5956 json: {
5957 promptSuggestions: VARIATIONS_PROMPTS,
5958 promptPlaceholder: PROMPT_PLACEHOLDER,
5959 previewGenerator: function () {
5960 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
5961 var screenshot;
5962 return _regenerator.default.wrap(function _callee$(_context) {
5963 while (1) switch (_context.prev = _context.next) {
5964 case 0:
5965 _context.next = 2;
5966 return (0, _screenshot.takeScreenshot)(json);
5967 case 2:
5968 screenshot = _context.sent;
5969 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
5970 case 4:
5971 case "end":
5972 return _context.stop();
5973 }
5974 }, _callee);
5975 }));
5976 function previewGenerator(_x) {
5977 return _previewGenerator.apply(this, arguments);
5978 }
5979 return previewGenerator;
5980 }()
5981 },
5982 url: {
5983 promptPlaceholder: PROMPT_PLACEHOLDER,
5984 promptSuggestions: VARIATIONS_PROMPTS
5985 }
5986 },
5987 attachments: options.attachments || [],
5988 onClose: function onClose() {
5989 var _options$onClose;
5990 previewContainer.destroy();
5991 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
5992 ReactDOM.unmountComponentAtNode(rootElement);
5993 rootElement.remove();
5994 openPanel();
5995 },
5996 onConnect: onConnect,
5997 onGenerate: function onGenerate() {
5998 var _options$onGenerate;
5999 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6000 previewContainer: previewContainer
6001 });
6002 },
6003 onData: /*#__PURE__*/function () {
6004 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6005 var screenshot;
6006 return _regenerator.default.wrap(function _callee2$(_context2) {
6007 while (1) switch (_context2.prev = _context2.next) {
6008 case 0:
6009 _context2.next = 2;
6010 return (0, _screenshot.takeScreenshot)(template);
6011 case 2:
6012 screenshot = _context2.sent;
6013 return _context2.abrupt("return", {
6014 screenshot: screenshot,
6015 template: template
6016 });
6017 case 4:
6018 case "end":
6019 return _context2.stop();
6020 }
6021 }, _callee2);
6022 }));
6023 return function (_x2) {
6024 return _ref.apply(this, arguments);
6025 };
6026 }(),
6027 onSelect: function onSelect(template) {
6028 var _options$onSelect;
6029 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6030 previewContainer.setContent(template);
6031 },
6032 onInsert: options.onInsert,
6033 hasPro: elementor.helpers.hasPro()
6034 })), rootElement);
6035 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6036 previewContainer: previewContainer
6037 });
6038 };
6039 exports.renderLayoutApp = renderLayoutApp;
6040 var importToEditor = function importToEditor(_ref2) {
6041 var parentContainer = _ref2.parentContainer,
6042 at = _ref2.at,
6043 template = _ref2.template,
6044 historyTitle = _ref2.historyTitle,
6045 _ref2$replace = _ref2.replace,
6046 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6047 var endHistoryLog = (0, _history.startHistoryLog)({
6048 type: 'import',
6049 title: historyTitle
6050 });
6051 if (replace) {
6052 $e.run('document/elements/delete', {
6053 container: parentContainer.children.at(at)
6054 });
6055 }
6056 $e.run('document/elements/create', {
6057 container: parentContainer,
6058 model: (0, _requestsIds.generateIds)(template),
6059 options: {
6060 at: at,
6061 edit: true
6062 }
6063 });
6064 endHistoryLog();
6065 };
6066 exports.importToEditor = importToEditor;
6067
6068 /***/ }),
6069
6070 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6071 /*!*******************************************************!*\
6072 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6073 \*******************************************************/
6074 /***/ ((__unused_webpack_module, exports) => {
6075
6076 "use strict";
6077
6078
6079 Object.defineProperty(exports, "__esModule", ({
6080 value: true
6081 }));
6082 exports.startHistoryLog = startHistoryLog;
6083 exports.toggleHistory = toggleHistory;
6084 function toggleHistory(isActive) {
6085 elementor.documents.getCurrent().history.setActive(isActive);
6086 }
6087
6088 /**
6089 * @param {Object} options
6090 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6091 * @param { string } options.title
6092 *
6093 * @return {*}
6094 */
6095 function startHistoryLog(_ref) {
6096 var type = _ref.type,
6097 title = _ref.title;
6098 var id = $e.internal('document/history/start-log', {
6099 type: type,
6100 title: title
6101 });
6102 return function () {
6103 return $e.internal('document/history/end-log', {
6104 id: id
6105 });
6106 };
6107 }
6108
6109 /***/ }),
6110
6111 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6112 /*!*****************************************************************!*\
6113 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6114 \*****************************************************************/
6115 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6116
6117 "use strict";
6118
6119
6120 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6121 Object.defineProperty(exports, "__esModule", ({
6122 value: true
6123 }));
6124 exports.createPreviewContainer = createPreviewContainer;
6125 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6126 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6127 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6128 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; }
6129 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) { (0, _defineProperty2.default)(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; }
6130 /**
6131 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6132 */
6133
6134 var PREFIX = 'e-ai-preview-container';
6135 var CLASS_HIDDEN = PREFIX + '--hidden';
6136 var CLASS_IDLE = PREFIX + '--idle';
6137
6138 /**
6139 * @param {Container} parentContainer
6140 * @param {{}} containerOptions
6141 * @return {{init, setContent, reset, destroy}}
6142 */
6143
6144 function createPreviewContainer(parentContainer) {
6145 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6146 var createdContainers = new Map();
6147 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6148 function init() {
6149 showContainer(idleContainer);
6150 }
6151 function getAllContainers() {
6152 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6153 }
6154 function reset() {
6155 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6156 createdContainers.clear();
6157 showContainer(idleContainer);
6158 }
6159 function setContent(template) {
6160 if (!template) {
6161 return;
6162 }
6163 hideContainers(getAllContainers());
6164 if (!createdContainers.has(template)) {
6165 var newContainer = createContainer(parentContainer, template, containerOptions);
6166 createdContainers.set(template, newContainer);
6167 }
6168 showContainer(createdContainers.get(template));
6169 }
6170 function destroy() {
6171 deleteContainers(getAllContainers());
6172 createdContainers.clear();
6173 }
6174 return {
6175 init: init,
6176 reset: reset,
6177 setContent: setContent,
6178 destroy: destroy
6179 };
6180 }
6181
6182 /**
6183 * @param {Container} parentContainer
6184 * @param {{}} model
6185 * @param {{}} options
6186 * @return {*}
6187 */
6188 function createContainer(parentContainer, model) {
6189 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6190 (0, _history.toggleHistory)(false);
6191 var container = $e.run('document/elements/create', {
6192 container: parentContainer,
6193 model: _objectSpread(_objectSpread({}, model), {}, {
6194 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6195 }),
6196 options: _objectSpread(_objectSpread({}, options), {}, {
6197 edit: false
6198 })
6199 });
6200 (0, _history.toggleHistory)(true);
6201 container.view.$el.addClass(CLASS_HIDDEN);
6202 return container;
6203 }
6204
6205 /**
6206 * @param {Container} parentContainer
6207 * @param {{}} containerOptions
6208 * @return {*}
6209 */
6210 function createIdleContainer(parentContainer) {
6211 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6212 // Create an empty container that'll be used of UI purposes.
6213 var container = createContainer(parentContainer, {
6214 elType: 'container'
6215 }, containerOptions);
6216 container.view.$el.addClass(CLASS_IDLE);
6217 return container;
6218 }
6219 function hideContainers(containers) {
6220 containers.forEach(function (container) {
6221 container.view.$el.addClass(CLASS_HIDDEN);
6222 });
6223 }
6224 function showContainer(container) {
6225 container.view.$el.removeClass(CLASS_HIDDEN);
6226
6227 // Delay the scroll to avoid UI jumps when toggling between containers.
6228 setTimeout(function () {
6229 container.view.$el[0].scrollIntoView({
6230 behavior: 'smooth',
6231 block: 'start'
6232 });
6233 });
6234 }
6235 function deleteContainers(containers) {
6236 (0, _history.toggleHistory)(false);
6237 $e.run('document/elements/delete', {
6238 containers: containers
6239 });
6240 (0, _history.toggleHistory)(true);
6241 }
6242
6243 /***/ }),
6244
6245 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6246 /*!**********************************************************!*\
6247 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6248 \**********************************************************/
6249 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6250
6251 "use strict";
6252
6253
6254 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6255 Object.defineProperty(exports, "__esModule", ({
6256 value: true
6257 }));
6258 exports.takeScreenshot = void 0;
6259 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6260 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6261 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6262 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6263 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6264 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6265 var takeScreenshot = /*#__PURE__*/function () {
6266 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6267 var hiddenWrapper, container, screenshot;
6268 return _regenerator.default.wrap(function _callee$(_context) {
6269 while (1) switch (_context.prev = _context.next) {
6270 case 0:
6271 if (template) {
6272 _context.next = 2;
6273 break;
6274 }
6275 return _context.abrupt("return", '');
6276 case 2:
6277 // Disable history so the Editor won't show our hidden container as a user action.
6278 (0, _history.toggleHistory)(false);
6279 hiddenWrapper = createHiddenWrapper();
6280 container = createContainer(template);
6281 wrapContainer(container, hiddenWrapper);
6282 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6283
6284 // Wait for the container to render.
6285 _context.next = 9;
6286 return waitForContainer(container.id);
6287 case 9:
6288 if (!template.elements.length) {
6289 _context.next = 12;
6290 break;
6291 }
6292 _context.next = 12;
6293 return Promise.all(template.elements.map(function (child) {
6294 return waitForContainer(child.id);
6295 }));
6296 case 12:
6297 _context.prev = 12;
6298 _context.next = 15;
6299 return screenshotNode(container.view.$el[0]);
6300 case 15:
6301 screenshot = _context.sent;
6302 _context.next = 21;
6303 break;
6304 case 18:
6305 _context.prev = 18;
6306 _context.t0 = _context["catch"](12);
6307 // Return an empty image url if the screenshot failed.
6308 screenshot = '';
6309 case 21:
6310 deleteContainer(container);
6311 hiddenWrapper.remove();
6312 (0, _history.toggleHistory)(true);
6313 return _context.abrupt("return", screenshot);
6314 case 25:
6315 case "end":
6316 return _context.stop();
6317 }
6318 }, _callee, null, [[12, 18]]);
6319 }));
6320 return function takeScreenshot(_x) {
6321 return _ref.apply(this, arguments);
6322 };
6323 }();
6324 exports.takeScreenshot = takeScreenshot;
6325 function screenshotNode(node) {
6326 return toWebp(node, {
6327 quality: 0.01,
6328 // Transparent 1x1 pixel.
6329 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6330 });
6331 }
6332 function toWebp(_x2) {
6333 return _toWebp.apply(this, arguments);
6334 }
6335 function _toWebp() {
6336 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6337 var _options$quality;
6338 var options,
6339 canvas,
6340 _args3 = arguments;
6341 return _regenerator.default.wrap(function _callee3$(_context3) {
6342 while (1) switch (_context3.prev = _context3.next) {
6343 case 0:
6344 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6345 _context3.next = 3;
6346 return (0, _htmlToImage.toCanvas)(node, options);
6347 case 3:
6348 canvas = _context3.sent;
6349 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6350 case 5:
6351 case "end":
6352 return _context3.stop();
6353 }
6354 }, _callee3);
6355 }));
6356 return _toWebp.apply(this, arguments);
6357 }
6358 function createHiddenWrapper() {
6359 var wrapper = document.createElement('div');
6360 wrapper.style.position = 'fixed';
6361 wrapper.style.opacity = '0';
6362 wrapper.style.inset = '0';
6363 return wrapper;
6364 }
6365 function createContainer(template) {
6366 var model = (0, _requestsIds.generateIds)(template);
6367
6368 // Set a custom ID, so it can be used later on in the backend.
6369 model.id = "e-ai-screenshot-container-".concat(model.id);
6370 return $e.run('document/elements/create', {
6371 container: elementor.getPreviewContainer(),
6372 model: model,
6373 options: {
6374 edit: false
6375 }
6376 });
6377 }
6378 function deleteContainer(container) {
6379 return $e.run('document/elements/delete', {
6380 container: container
6381 });
6382 }
6383 function waitForContainer(id) {
6384 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6385 var timeoutPromise = sleep(timeout);
6386 var waitPromise = new Promise(function (resolve) {
6387 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6388 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6389 var images;
6390 return _regenerator.default.wrap(function _callee2$(_context2) {
6391 while (1) switch (_context2.prev = _context2.next) {
6392 case 0:
6393 if (!($element.data('id') === id)) {
6394 _context2.next = 5;
6395 break;
6396 }
6397 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6398 _context2.next = 4;
6399 return Promise.all(images.map(waitForImage));
6400 case 4:
6401 resolve();
6402 case 5:
6403 case "end":
6404 return _context2.stop();
6405 }
6406 }, _callee2);
6407 }));
6408 return function (_x3) {
6409 return _ref2.apply(this, arguments);
6410 };
6411 }());
6412 });
6413 return Promise.any([timeoutPromise, waitPromise]);
6414 }
6415 function waitForImage(image) {
6416 if (image.complete) {
6417 return Promise.resolve();
6418 }
6419 return new Promise(function (resolve) {
6420 image.addEventListener('load', resolve);
6421 image.addEventListener('error', function () {
6422 // Remove the image to make sure it won't break the screenshot.
6423 image.remove();
6424 resolve();
6425 });
6426 });
6427 }
6428 function sleep(ms) {
6429 return new Promise(function (resolve) {
6430 return setTimeout(resolve, ms);
6431 });
6432 }
6433 function wrapContainer(container, wrapper) {
6434 var el = container.view.$el[0];
6435 el.parentNode.insertBefore(wrapper, el);
6436 wrapper.appendChild(el);
6437 }
6438
6439 /***/ }),
6440
6441 /***/ "../node_modules/clsx/dist/clsx.m.js":
6442 /*!*******************************************!*\
6443 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6444 \*******************************************/
6445 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6446
6447 "use strict";
6448 __webpack_require__.r(__webpack_exports__);
6449 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6450 /* harmony export */ clsx: () => (/* binding */ clsx),
6451 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6452 /* harmony export */ });
6453 function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx);
6454
6455 /***/ }),
6456
6457 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6458 /*!***********************************************************************************!*\
6459 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6460 \***********************************************************************************/
6461 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6462
6463 "use strict";
6464
6465
6466 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6467
6468 /**
6469 * Copyright 2015, Yahoo! Inc.
6470 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6471 */
6472 var REACT_STATICS = {
6473 childContextTypes: true,
6474 contextType: true,
6475 contextTypes: true,
6476 defaultProps: true,
6477 displayName: true,
6478 getDefaultProps: true,
6479 getDerivedStateFromError: true,
6480 getDerivedStateFromProps: true,
6481 mixins: true,
6482 propTypes: true,
6483 type: true
6484 };
6485 var KNOWN_STATICS = {
6486 name: true,
6487 length: true,
6488 prototype: true,
6489 caller: true,
6490 callee: true,
6491 arguments: true,
6492 arity: true
6493 };
6494 var FORWARD_REF_STATICS = {
6495 '$$typeof': true,
6496 render: true,
6497 defaultProps: true,
6498 displayName: true,
6499 propTypes: true
6500 };
6501 var MEMO_STATICS = {
6502 '$$typeof': true,
6503 compare: true,
6504 defaultProps: true,
6505 displayName: true,
6506 propTypes: true,
6507 type: true
6508 };
6509 var TYPE_STATICS = {};
6510 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6511 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6512
6513 function getStatics(component) {
6514 // React v16.11 and below
6515 if (reactIs.isMemo(component)) {
6516 return MEMO_STATICS;
6517 } // React v16.12 and above
6518
6519
6520 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6521 }
6522
6523 var defineProperty = Object.defineProperty;
6524 var getOwnPropertyNames = Object.getOwnPropertyNames;
6525 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6526 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6527 var getPrototypeOf = Object.getPrototypeOf;
6528 var objectPrototype = Object.prototype;
6529 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6530 if (typeof sourceComponent !== 'string') {
6531 // don't hoist over string (html) components
6532 if (objectPrototype) {
6533 var inheritedComponent = getPrototypeOf(sourceComponent);
6534
6535 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6536 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6537 }
6538 }
6539
6540 var keys = getOwnPropertyNames(sourceComponent);
6541
6542 if (getOwnPropertySymbols) {
6543 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6544 }
6545
6546 var targetStatics = getStatics(targetComponent);
6547 var sourceStatics = getStatics(sourceComponent);
6548
6549 for (var i = 0; i < keys.length; ++i) {
6550 var key = keys[i];
6551
6552 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6553 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6554
6555 try {
6556 // Avoid failures from read-only properties
6557 defineProperty(targetComponent, key, descriptor);
6558 } catch (e) {}
6559 }
6560 }
6561 }
6562
6563 return targetComponent;
6564 }
6565
6566 module.exports = hoistNonReactStatics;
6567
6568
6569 /***/ }),
6570
6571 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6572 /*!*************************************************************************************************!*\
6573 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6574 \*************************************************************************************************/
6575 /***/ ((__unused_webpack_module, exports) => {
6576
6577 "use strict";
6578 /** @license React v16.13.1
6579 * react-is.development.js
6580 *
6581 * Copyright (c) Facebook, Inc. and its affiliates.
6582 *
6583 * This source code is licensed under the MIT license found in the
6584 * LICENSE file in the root directory of this source tree.
6585 */
6586
6587
6588
6589
6590
6591 if (true) {
6592 (function() {
6593 'use strict';
6594
6595 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6596 // nor polyfill, then a plain number is used for performance.
6597 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6598 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6599 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6600 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6601 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6602 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6603 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6604 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6605 // (unstable) APIs that have been removed. Can we remove the symbols?
6606
6607 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6608 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6609 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6610 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6611 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6612 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6613 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6614 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6615 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6616 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6617 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6618
6619 function isValidElementType(type) {
6620 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6621 type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (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_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
6622 }
6623
6624 function typeOf(object) {
6625 if (typeof object === 'object' && object !== null) {
6626 var $$typeof = object.$$typeof;
6627
6628 switch ($$typeof) {
6629 case REACT_ELEMENT_TYPE:
6630 var type = object.type;
6631
6632 switch (type) {
6633 case REACT_ASYNC_MODE_TYPE:
6634 case REACT_CONCURRENT_MODE_TYPE:
6635 case REACT_FRAGMENT_TYPE:
6636 case REACT_PROFILER_TYPE:
6637 case REACT_STRICT_MODE_TYPE:
6638 case REACT_SUSPENSE_TYPE:
6639 return type;
6640
6641 default:
6642 var $$typeofType = type && type.$$typeof;
6643
6644 switch ($$typeofType) {
6645 case REACT_CONTEXT_TYPE:
6646 case REACT_FORWARD_REF_TYPE:
6647 case REACT_LAZY_TYPE:
6648 case REACT_MEMO_TYPE:
6649 case REACT_PROVIDER_TYPE:
6650 return $$typeofType;
6651
6652 default:
6653 return $$typeof;
6654 }
6655
6656 }
6657
6658 case REACT_PORTAL_TYPE:
6659 return $$typeof;
6660 }
6661 }
6662
6663 return undefined;
6664 } // AsyncMode is deprecated along with isAsyncMode
6665
6666 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6667 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6668 var ContextConsumer = REACT_CONTEXT_TYPE;
6669 var ContextProvider = REACT_PROVIDER_TYPE;
6670 var Element = REACT_ELEMENT_TYPE;
6671 var ForwardRef = REACT_FORWARD_REF_TYPE;
6672 var Fragment = REACT_FRAGMENT_TYPE;
6673 var Lazy = REACT_LAZY_TYPE;
6674 var Memo = REACT_MEMO_TYPE;
6675 var Portal = REACT_PORTAL_TYPE;
6676 var Profiler = REACT_PROFILER_TYPE;
6677 var StrictMode = REACT_STRICT_MODE_TYPE;
6678 var Suspense = REACT_SUSPENSE_TYPE;
6679 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6680
6681 function isAsyncMode(object) {
6682 {
6683 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6684 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6685
6686 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
6687 }
6688 }
6689
6690 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6691 }
6692 function isConcurrentMode(object) {
6693 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6694 }
6695 function isContextConsumer(object) {
6696 return typeOf(object) === REACT_CONTEXT_TYPE;
6697 }
6698 function isContextProvider(object) {
6699 return typeOf(object) === REACT_PROVIDER_TYPE;
6700 }
6701 function isElement(object) {
6702 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6703 }
6704 function isForwardRef(object) {
6705 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6706 }
6707 function isFragment(object) {
6708 return typeOf(object) === REACT_FRAGMENT_TYPE;
6709 }
6710 function isLazy(object) {
6711 return typeOf(object) === REACT_LAZY_TYPE;
6712 }
6713 function isMemo(object) {
6714 return typeOf(object) === REACT_MEMO_TYPE;
6715 }
6716 function isPortal(object) {
6717 return typeOf(object) === REACT_PORTAL_TYPE;
6718 }
6719 function isProfiler(object) {
6720 return typeOf(object) === REACT_PROFILER_TYPE;
6721 }
6722 function isStrictMode(object) {
6723 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6724 }
6725 function isSuspense(object) {
6726 return typeOf(object) === REACT_SUSPENSE_TYPE;
6727 }
6728
6729 exports.AsyncMode = AsyncMode;
6730 exports.ConcurrentMode = ConcurrentMode;
6731 exports.ContextConsumer = ContextConsumer;
6732 exports.ContextProvider = ContextProvider;
6733 exports.Element = Element;
6734 exports.ForwardRef = ForwardRef;
6735 exports.Fragment = Fragment;
6736 exports.Lazy = Lazy;
6737 exports.Memo = Memo;
6738 exports.Portal = Portal;
6739 exports.Profiler = Profiler;
6740 exports.StrictMode = StrictMode;
6741 exports.Suspense = Suspense;
6742 exports.isAsyncMode = isAsyncMode;
6743 exports.isConcurrentMode = isConcurrentMode;
6744 exports.isContextConsumer = isContextConsumer;
6745 exports.isContextProvider = isContextProvider;
6746 exports.isElement = isElement;
6747 exports.isForwardRef = isForwardRef;
6748 exports.isFragment = isFragment;
6749 exports.isLazy = isLazy;
6750 exports.isMemo = isMemo;
6751 exports.isPortal = isPortal;
6752 exports.isProfiler = isProfiler;
6753 exports.isStrictMode = isStrictMode;
6754 exports.isSuspense = isSuspense;
6755 exports.isValidElementType = isValidElementType;
6756 exports.typeOf = typeOf;
6757 })();
6758 }
6759
6760
6761 /***/ }),
6762
6763 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
6764 /*!******************************************************************************!*\
6765 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
6766 \******************************************************************************/
6767 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6768
6769 "use strict";
6770
6771
6772 if (false) {} else {
6773 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
6774 }
6775
6776
6777 /***/ }),
6778
6779 /***/ "../node_modules/html-to-image/es/apply-style.js":
6780 /*!*******************************************************!*\
6781 !*** ../node_modules/html-to-image/es/apply-style.js ***!
6782 \*******************************************************/
6783 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6784
6785 "use strict";
6786 __webpack_require__.r(__webpack_exports__);
6787 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6788 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
6789 /* harmony export */ });
6790 function applyStyle(node, options) {
6791 const { style } = node;
6792 if (options.backgroundColor) {
6793 style.backgroundColor = options.backgroundColor;
6794 }
6795 if (options.width) {
6796 style.width = `${options.width}px`;
6797 }
6798 if (options.height) {
6799 style.height = `${options.height}px`;
6800 }
6801 const manual = options.style;
6802 if (manual != null) {
6803 Object.keys(manual).forEach((key) => {
6804 style[key] = manual[key];
6805 });
6806 }
6807 return node;
6808 }
6809 //# sourceMappingURL=apply-style.js.map
6810
6811 /***/ }),
6812
6813 /***/ "../node_modules/html-to-image/es/clone-node.js":
6814 /*!******************************************************!*\
6815 !*** ../node_modules/html-to-image/es/clone-node.js ***!
6816 \******************************************************/
6817 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6818
6819 "use strict";
6820 __webpack_require__.r(__webpack_exports__);
6821 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6822 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
6823 /* harmony export */ });
6824 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
6825 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6826 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
6827 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
6828
6829
6830
6831
6832 async function cloneCanvasElement(canvas) {
6833 const dataURL = canvas.toDataURL();
6834 if (dataURL === 'data:,') {
6835 return canvas.cloneNode(false);
6836 }
6837 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6838 }
6839 async function cloneVideoElement(video, options) {
6840 if (video.currentSrc) {
6841 const canvas = document.createElement('canvas');
6842 const ctx = canvas.getContext('2d');
6843 canvas.width = video.clientWidth;
6844 canvas.height = video.clientHeight;
6845 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6846 const dataURL = canvas.toDataURL();
6847 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6848 }
6849 const poster = video.poster;
6850 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
6851 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
6852 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6853 }
6854 async function cloneIFrameElement(iframe) {
6855 var _a;
6856 try {
6857 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
6858 return (await cloneNode(iframe.contentDocument.body, {}, true));
6859 }
6860 }
6861 catch (_b) {
6862 // Failed to clone iframe
6863 }
6864 return iframe.cloneNode(false);
6865 }
6866 async function cloneSingleNode(node, options) {
6867 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
6868 return cloneCanvasElement(node);
6869 }
6870 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
6871 return cloneVideoElement(node, options);
6872 }
6873 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
6874 return cloneIFrameElement(node);
6875 }
6876 return node.cloneNode(false);
6877 }
6878 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
6879 async function cloneChildren(nativeNode, clonedNode, options) {
6880 var _a, _b;
6881 let children = [];
6882 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
6883 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
6884 }
6885 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
6886 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
6887 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
6888 }
6889 else {
6890 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
6891 }
6892 if (children.length === 0 ||
6893 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
6894 return clonedNode;
6895 }
6896 await children.reduce((deferred, child) => deferred
6897 .then(() => cloneNode(child, options))
6898 .then((clonedChild) => {
6899 if (clonedChild) {
6900 clonedNode.appendChild(clonedChild);
6901 }
6902 }), Promise.resolve());
6903 return clonedNode;
6904 }
6905 function cloneCSSStyle(nativeNode, clonedNode) {
6906 const targetStyle = clonedNode.style;
6907 if (!targetStyle) {
6908 return;
6909 }
6910 const sourceStyle = window.getComputedStyle(nativeNode);
6911 if (sourceStyle.cssText) {
6912 targetStyle.cssText = sourceStyle.cssText;
6913 targetStyle.transformOrigin = sourceStyle.transformOrigin;
6914 }
6915 else {
6916 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
6917 let value = sourceStyle.getPropertyValue(name);
6918 if (name === 'font-size' && value.endsWith('px')) {
6919 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
6920 value = `${reducedFont}px`;
6921 }
6922 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
6923 name === 'display' &&
6924 value === 'inline') {
6925 value = 'block';
6926 }
6927 if (name === 'd' && clonedNode.getAttribute('d')) {
6928 value = `path(${clonedNode.getAttribute('d')})`;
6929 }
6930 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
6931 });
6932 }
6933 }
6934 function cloneInputValue(nativeNode, clonedNode) {
6935 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
6936 clonedNode.innerHTML = nativeNode.value;
6937 }
6938 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
6939 clonedNode.setAttribute('value', nativeNode.value);
6940 }
6941 }
6942 function cloneSelectValue(nativeNode, clonedNode) {
6943 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
6944 const clonedSelect = clonedNode;
6945 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
6946 if (selectedOption) {
6947 selectedOption.setAttribute('selected', '');
6948 }
6949 }
6950 }
6951 function decorate(nativeNode, clonedNode) {
6952 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
6953 cloneCSSStyle(nativeNode, clonedNode);
6954 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
6955 cloneInputValue(nativeNode, clonedNode);
6956 cloneSelectValue(nativeNode, clonedNode);
6957 }
6958 return clonedNode;
6959 }
6960 async function ensureSVGSymbols(clone, options) {
6961 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
6962 if (uses.length === 0) {
6963 return clone;
6964 }
6965 const processedDefs = {};
6966 for (let i = 0; i < uses.length; i++) {
6967 const use = uses[i];
6968 const id = use.getAttribute('xlink:href');
6969 if (id) {
6970 const exist = clone.querySelector(id);
6971 const definition = document.querySelector(id);
6972 if (!exist && definition && !processedDefs[id]) {
6973 // eslint-disable-next-line no-await-in-loop
6974 processedDefs[id] = (await cloneNode(definition, options, true));
6975 }
6976 }
6977 }
6978 const nodes = Object.values(processedDefs);
6979 if (nodes.length) {
6980 const ns = 'http://www.w3.org/1999/xhtml';
6981 const svg = document.createElementNS(ns, 'svg');
6982 svg.setAttribute('xmlns', ns);
6983 svg.style.position = 'absolute';
6984 svg.style.width = '0';
6985 svg.style.height = '0';
6986 svg.style.overflow = 'hidden';
6987 svg.style.display = 'none';
6988 const defs = document.createElementNS(ns, 'defs');
6989 svg.appendChild(defs);
6990 for (let i = 0; i < nodes.length; i++) {
6991 defs.appendChild(nodes[i]);
6992 }
6993 clone.appendChild(svg);
6994 }
6995 return clone;
6996 }
6997 async function cloneNode(node, options, isRoot) {
6998 if (!isRoot && options.filter && !options.filter(node)) {
6999 return null;
7000 }
7001 return Promise.resolve(node)
7002 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7003 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7004 .then((clonedNode) => decorate(node, clonedNode))
7005 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7006 }
7007 //# sourceMappingURL=clone-node.js.map
7008
7009 /***/ }),
7010
7011 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7012 /*!*********************************************************!*\
7013 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7014 \*********************************************************/
7015 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7016
7017 "use strict";
7018 __webpack_require__.r(__webpack_exports__);
7019 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7020 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7021 /* harmony export */ });
7022 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7023
7024 function formatCSSText(style) {
7025 const content = style.getPropertyValue('content');
7026 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7027 }
7028 function formatCSSProperties(style) {
7029 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7030 .map((name) => {
7031 const value = style.getPropertyValue(name);
7032 const priority = style.getPropertyPriority(name);
7033 return `${name}: ${value}${priority ? ' !important' : ''};`;
7034 })
7035 .join(' ');
7036 }
7037 function getPseudoElementStyle(className, pseudo, style) {
7038 const selector = `.${className}:${pseudo}`;
7039 const cssText = style.cssText
7040 ? formatCSSText(style)
7041 : formatCSSProperties(style);
7042 return document.createTextNode(`${selector}{${cssText}}`);
7043 }
7044 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7045 const style = window.getComputedStyle(nativeNode, pseudo);
7046 const content = style.getPropertyValue('content');
7047 if (content === '' || content === 'none') {
7048 return;
7049 }
7050 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7051 try {
7052 clonedNode.className = `${clonedNode.className} ${className}`;
7053 }
7054 catch (err) {
7055 return;
7056 }
7057 const styleElement = document.createElement('style');
7058 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7059 clonedNode.appendChild(styleElement);
7060 }
7061 function clonePseudoElements(nativeNode, clonedNode) {
7062 clonePseudoElement(nativeNode, clonedNode, ':before');
7063 clonePseudoElement(nativeNode, clonedNode, ':after');
7064 }
7065 //# sourceMappingURL=clone-pseudos.js.map
7066
7067 /***/ }),
7068
7069 /***/ "../node_modules/html-to-image/es/dataurl.js":
7070 /*!***************************************************!*\
7071 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7072 \***************************************************/
7073 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7074
7075 "use strict";
7076 __webpack_require__.r(__webpack_exports__);
7077 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7078 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7079 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7080 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7081 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7082 /* harmony export */ });
7083 function getContentFromDataUrl(dataURL) {
7084 return dataURL.split(/,/)[1];
7085 }
7086 function isDataUrl(url) {
7087 return url.search(/^(data:)/) !== -1;
7088 }
7089 function makeDataUrl(content, mimeType) {
7090 return `data:${mimeType};base64,${content}`;
7091 }
7092 async function fetchAsDataURL(url, init, process) {
7093 const res = await fetch(url, init);
7094 if (res.status === 404) {
7095 throw new Error(`Resource "${res.url}" not found`);
7096 }
7097 const blob = await res.blob();
7098 return new Promise((resolve, reject) => {
7099 const reader = new FileReader();
7100 reader.onerror = reject;
7101 reader.onloadend = () => {
7102 try {
7103 resolve(process({ res, result: reader.result }));
7104 }
7105 catch (error) {
7106 reject(error);
7107 }
7108 };
7109 reader.readAsDataURL(blob);
7110 });
7111 }
7112 const cache = {};
7113 function getCacheKey(url, contentType, includeQueryParams) {
7114 let key = url.replace(/\?.*/, '');
7115 if (includeQueryParams) {
7116 key = url;
7117 }
7118 // font resource
7119 if (/ttf|otf|eot|woff2?/i.test(key)) {
7120 key = key.replace(/.*\//, '');
7121 }
7122 return contentType ? `[${contentType}]${key}` : key;
7123 }
7124 async function resourceToDataURL(resourceUrl, contentType, options) {
7125 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7126 if (cache[cacheKey] != null) {
7127 return cache[cacheKey];
7128 }
7129 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7130 if (options.cacheBust) {
7131 // eslint-disable-next-line no-param-reassign
7132 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7133 }
7134 let dataURL;
7135 try {
7136 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7137 if (!contentType) {
7138 // eslint-disable-next-line no-param-reassign
7139 contentType = res.headers.get('Content-Type') || '';
7140 }
7141 return getContentFromDataUrl(result);
7142 });
7143 dataURL = makeDataUrl(content, contentType);
7144 }
7145 catch (error) {
7146 dataURL = options.imagePlaceholder || '';
7147 let msg = `Failed to fetch resource: ${resourceUrl}`;
7148 if (error) {
7149 msg = typeof error === 'string' ? error : error.message;
7150 }
7151 if (msg) {
7152 console.warn(msg);
7153 }
7154 }
7155 cache[cacheKey] = dataURL;
7156 return dataURL;
7157 }
7158 //# sourceMappingURL=dataurl.js.map
7159
7160 /***/ }),
7161
7162 /***/ "../node_modules/html-to-image/es/embed-images.js":
7163 /*!********************************************************!*\
7164 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7165 \********************************************************/
7166 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7167
7168 "use strict";
7169 __webpack_require__.r(__webpack_exports__);
7170 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7171 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7172 /* harmony export */ });
7173 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7174 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7175 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7176 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7177
7178
7179
7180
7181 async function embedProp(propName, node, options) {
7182 var _a;
7183 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7184 if (propValue) {
7185 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7186 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7187 return true;
7188 }
7189 return false;
7190 }
7191 async function embedBackground(clonedNode, options) {
7192 if (!(await embedProp('background', clonedNode, options))) {
7193 await embedProp('background-image', clonedNode, options);
7194 }
7195 if (!(await embedProp('mask', clonedNode, options))) {
7196 await embedProp('mask-image', clonedNode, options);
7197 }
7198 }
7199 async function embedImageNode(clonedNode, options) {
7200 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7201 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7202 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7203 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7204 return;
7205 }
7206 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7207 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7208 await new Promise((resolve, reject) => {
7209 clonedNode.onload = resolve;
7210 clonedNode.onerror = reject;
7211 const image = clonedNode;
7212 if (image.decode) {
7213 image.decode = resolve;
7214 }
7215 if (image.loading === 'lazy') {
7216 image.loading = 'eager';
7217 }
7218 if (isImageElement) {
7219 clonedNode.srcset = '';
7220 clonedNode.src = dataURL;
7221 }
7222 else {
7223 clonedNode.href.baseVal = dataURL;
7224 }
7225 });
7226 }
7227 async function embedChildren(clonedNode, options) {
7228 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7229 const deferreds = children.map((child) => embedImages(child, options));
7230 await Promise.all(deferreds).then(() => clonedNode);
7231 }
7232 async function embedImages(clonedNode, options) {
7233 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7234 await embedBackground(clonedNode, options);
7235 await embedImageNode(clonedNode, options);
7236 await embedChildren(clonedNode, options);
7237 }
7238 }
7239 //# sourceMappingURL=embed-images.js.map
7240
7241 /***/ }),
7242
7243 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7244 /*!***********************************************************!*\
7245 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7246 \***********************************************************/
7247 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7248
7249 "use strict";
7250 __webpack_require__.r(__webpack_exports__);
7251 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7252 /* harmony export */ embed: () => (/* binding */ embed),
7253 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7254 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7255 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7256 /* harmony export */ });
7257 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7258 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7259 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7260
7261
7262
7263 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7264 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7265 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7266 function toRegex(url) {
7267 // eslint-disable-next-line no-useless-escape
7268 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7269 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7270 }
7271 function parseURLs(cssText) {
7272 const urls = [];
7273 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7274 urls.push(url);
7275 return raw;
7276 });
7277 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7278 }
7279 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7280 try {
7281 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7282 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7283 let dataURL;
7284 if (getContentFromUrl) {
7285 const content = await getContentFromUrl(resolvedURL);
7286 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7287 }
7288 else {
7289 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7290 }
7291 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7292 }
7293 catch (error) {
7294 // pass
7295 }
7296 return cssText;
7297 }
7298 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7299 return !preferredFontFormat
7300 ? str
7301 : str.replace(FONT_SRC_REGEX, (match) => {
7302 // eslint-disable-next-line no-constant-condition
7303 while (true) {
7304 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7305 if (!format) {
7306 return '';
7307 }
7308 if (format === preferredFontFormat) {
7309 return `src: ${src};`;
7310 }
7311 }
7312 });
7313 }
7314 function shouldEmbed(url) {
7315 return url.search(URL_REGEX) !== -1;
7316 }
7317 async function embedResources(cssText, baseUrl, options) {
7318 if (!shouldEmbed(cssText)) {
7319 return cssText;
7320 }
7321 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7322 const urls = parseURLs(filteredCSSText);
7323 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7324 }
7325 //# sourceMappingURL=embed-resources.js.map
7326
7327 /***/ }),
7328
7329 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7330 /*!**********************************************************!*\
7331 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7332 \**********************************************************/
7333 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7334
7335 "use strict";
7336 __webpack_require__.r(__webpack_exports__);
7337 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7338 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7339 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7340 /* harmony export */ });
7341 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7342 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7343 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7344
7345
7346
7347 const cssFetchCache = {};
7348 async function fetchCSS(url) {
7349 let cache = cssFetchCache[url];
7350 if (cache != null) {
7351 return cache;
7352 }
7353 const res = await fetch(url);
7354 const cssText = await res.text();
7355 cache = { url, cssText };
7356 cssFetchCache[url] = cache;
7357 return cache;
7358 }
7359 async function embedFonts(data, options) {
7360 let cssText = data.cssText;
7361 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7362 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7363 const loadFonts = fontLocs.map(async (loc) => {
7364 let url = loc.replace(regexUrl, '$1');
7365 if (!url.startsWith('https://')) {
7366 url = new URL(url, data.url).href;
7367 }
7368 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7369 cssText = cssText.replace(loc, `url(${result})`);
7370 return [loc, result];
7371 });
7372 });
7373 return Promise.all(loadFonts).then(() => cssText);
7374 }
7375 function parseCSS(source) {
7376 if (source == null) {
7377 return [];
7378 }
7379 const result = [];
7380 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7381 // strip out comments
7382 let cssText = source.replace(commentsRegex, '');
7383 // eslint-disable-next-line prefer-regex-literals
7384 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7385 // eslint-disable-next-line no-constant-condition
7386 while (true) {
7387 const matches = keyframesRegex.exec(cssText);
7388 if (matches === null) {
7389 break;
7390 }
7391 result.push(matches[0]);
7392 }
7393 cssText = cssText.replace(keyframesRegex, '');
7394 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7395 // to match css & media queries together
7396 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7397 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7398 // unified regex
7399 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7400 // eslint-disable-next-line no-constant-condition
7401 while (true) {
7402 let matches = importRegex.exec(cssText);
7403 if (matches === null) {
7404 matches = unifiedRegex.exec(cssText);
7405 if (matches === null) {
7406 break;
7407 }
7408 else {
7409 importRegex.lastIndex = unifiedRegex.lastIndex;
7410 }
7411 }
7412 else {
7413 unifiedRegex.lastIndex = importRegex.lastIndex;
7414 }
7415 result.push(matches[0]);
7416 }
7417 return result;
7418 }
7419 async function getCSSRules(styleSheets, options) {
7420 const ret = [];
7421 const deferreds = [];
7422 // First loop inlines imports
7423 styleSheets.forEach((sheet) => {
7424 if ('cssRules' in sheet) {
7425 try {
7426 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7427 if (item.type === CSSRule.IMPORT_RULE) {
7428 let importIndex = index + 1;
7429 const url = item.href;
7430 const deferred = fetchCSS(url)
7431 .then((metadata) => embedFonts(metadata, options))
7432 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7433 try {
7434 sheet.insertRule(rule, rule.startsWith('@import')
7435 ? (importIndex += 1)
7436 : sheet.cssRules.length);
7437 }
7438 catch (error) {
7439 console.error('Error inserting rule from remote css', {
7440 rule,
7441 error,
7442 });
7443 }
7444 }))
7445 .catch((e) => {
7446 console.error('Error loading remote css', e.toString());
7447 });
7448 deferreds.push(deferred);
7449 }
7450 });
7451 }
7452 catch (e) {
7453 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7454 if (sheet.href != null) {
7455 deferreds.push(fetchCSS(sheet.href)
7456 .then((metadata) => embedFonts(metadata, options))
7457 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7458 inline.insertRule(rule, sheet.cssRules.length);
7459 }))
7460 .catch((err) => {
7461 console.error('Error loading remote stylesheet', err);
7462 }));
7463 }
7464 console.error('Error inlining remote css file', e);
7465 }
7466 }
7467 });
7468 return Promise.all(deferreds).then(() => {
7469 // Second loop parses rules
7470 styleSheets.forEach((sheet) => {
7471 if ('cssRules' in sheet) {
7472 try {
7473 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7474 ret.push(item);
7475 });
7476 }
7477 catch (e) {
7478 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7479 }
7480 }
7481 });
7482 return ret;
7483 });
7484 }
7485 function getWebFontRules(cssRules) {
7486 return cssRules
7487 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7488 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7489 }
7490 async function parseWebFontRules(node, options) {
7491 if (node.ownerDocument == null) {
7492 throw new Error('Provided element is not within a Document');
7493 }
7494 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7495 const cssRules = await getCSSRules(styleSheets, options);
7496 return getWebFontRules(cssRules);
7497 }
7498 async function getWebFontCSS(node, options) {
7499 const rules = await parseWebFontRules(node, options);
7500 const cssTexts = await Promise.all(rules.map((rule) => {
7501 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7502 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7503 }));
7504 return cssTexts.join('\n');
7505 }
7506 async function embedWebFonts(clonedNode, options) {
7507 const cssText = options.fontEmbedCSS != null
7508 ? options.fontEmbedCSS
7509 : options.skipFonts
7510 ? null
7511 : await getWebFontCSS(clonedNode, options);
7512 if (cssText) {
7513 const styleNode = document.createElement('style');
7514 const sytleContent = document.createTextNode(cssText);
7515 styleNode.appendChild(sytleContent);
7516 if (clonedNode.firstChild) {
7517 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7518 }
7519 else {
7520 clonedNode.appendChild(styleNode);
7521 }
7522 }
7523 }
7524 //# sourceMappingURL=embed-webfonts.js.map
7525
7526 /***/ }),
7527
7528 /***/ "../node_modules/html-to-image/es/index.js":
7529 /*!*************************************************!*\
7530 !*** ../node_modules/html-to-image/es/index.js ***!
7531 \*************************************************/
7532 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7533
7534 "use strict";
7535 __webpack_require__.r(__webpack_exports__);
7536 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7537 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7538 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7539 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7540 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7541 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7542 /* harmony export */ toPng: () => (/* binding */ toPng),
7543 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7544 /* harmony export */ });
7545 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7546 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7547 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7548 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7549 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7550
7551
7552
7553
7554
7555 async function toSvg(node, options = {}) {
7556 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7557 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7558 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7559 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7560 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7561 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7562 return datauri;
7563 }
7564 async function toCanvas(node, options = {}) {
7565 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7566 const svg = await toSvg(node, options);
7567 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7568 const canvas = document.createElement('canvas');
7569 const context = canvas.getContext('2d');
7570 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7571 const canvasWidth = options.canvasWidth || width;
7572 const canvasHeight = options.canvasHeight || height;
7573 canvas.width = canvasWidth * ratio;
7574 canvas.height = canvasHeight * ratio;
7575 if (!options.skipAutoScale) {
7576 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7577 }
7578 canvas.style.width = `${canvasWidth}`;
7579 canvas.style.height = `${canvasHeight}`;
7580 if (options.backgroundColor) {
7581 context.fillStyle = options.backgroundColor;
7582 context.fillRect(0, 0, canvas.width, canvas.height);
7583 }
7584 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7585 return canvas;
7586 }
7587 async function toPixelData(node, options = {}) {
7588 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7589 const canvas = await toCanvas(node, options);
7590 const ctx = canvas.getContext('2d');
7591 return ctx.getImageData(0, 0, width, height).data;
7592 }
7593 async function toPng(node, options = {}) {
7594 const canvas = await toCanvas(node, options);
7595 return canvas.toDataURL();
7596 }
7597 async function toJpeg(node, options = {}) {
7598 const canvas = await toCanvas(node, options);
7599 return canvas.toDataURL('image/jpeg', options.quality || 1);
7600 }
7601 async function toBlob(node, options = {}) {
7602 const canvas = await toCanvas(node, options);
7603 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7604 return blob;
7605 }
7606 async function getFontEmbedCSS(node, options = {}) {
7607 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7608 }
7609 //# sourceMappingURL=index.js.map
7610
7611 /***/ }),
7612
7613 /***/ "../node_modules/html-to-image/es/mimes.js":
7614 /*!*************************************************!*\
7615 !*** ../node_modules/html-to-image/es/mimes.js ***!
7616 \*************************************************/
7617 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7618
7619 "use strict";
7620 __webpack_require__.r(__webpack_exports__);
7621 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7622 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7623 /* harmony export */ });
7624 const WOFF = 'application/font-woff';
7625 const JPEG = 'image/jpeg';
7626 const mimes = {
7627 woff: WOFF,
7628 woff2: WOFF,
7629 ttf: 'application/font-truetype',
7630 eot: 'application/vnd.ms-fontobject',
7631 png: 'image/png',
7632 jpg: JPEG,
7633 jpeg: JPEG,
7634 gif: 'image/gif',
7635 tiff: 'image/tiff',
7636 svg: 'image/svg+xml',
7637 webp: 'image/webp',
7638 };
7639 function getExtension(url) {
7640 const match = /\.([^./]*?)$/g.exec(url);
7641 return match ? match[1] : '';
7642 }
7643 function getMimeType(url) {
7644 const extension = getExtension(url).toLowerCase();
7645 return mimes[extension] || '';
7646 }
7647 //# sourceMappingURL=mimes.js.map
7648
7649 /***/ }),
7650
7651 /***/ "../node_modules/html-to-image/es/util.js":
7652 /*!************************************************!*\
7653 !*** ../node_modules/html-to-image/es/util.js ***!
7654 \************************************************/
7655 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7656
7657 "use strict";
7658 __webpack_require__.r(__webpack_exports__);
7659 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7660 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7661 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7662 /* harmony export */ createImage: () => (/* binding */ createImage),
7663 /* harmony export */ delay: () => (/* binding */ delay),
7664 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7665 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7666 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7667 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7668 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7669 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7670 /* harmony export */ toArray: () => (/* binding */ toArray),
7671 /* harmony export */ uuid: () => (/* binding */ uuid)
7672 /* harmony export */ });
7673 function resolveUrl(url, baseUrl) {
7674 // url is absolute already
7675 if (url.match(/^[a-z]+:\/\//i)) {
7676 return url;
7677 }
7678 // url is absolute already, without protocol
7679 if (url.match(/^\/\//)) {
7680 return window.location.protocol + url;
7681 }
7682 // dataURI, mailto:, tel:, etc.
7683 if (url.match(/^[a-z]+:/i)) {
7684 return url;
7685 }
7686 const doc = document.implementation.createHTMLDocument();
7687 const base = doc.createElement('base');
7688 const a = doc.createElement('a');
7689 doc.head.appendChild(base);
7690 doc.body.appendChild(a);
7691 if (baseUrl) {
7692 base.href = baseUrl;
7693 }
7694 a.href = url;
7695 return a.href;
7696 }
7697 const uuid = (() => {
7698 // generate uuid for className of pseudo elements.
7699 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7700 let counter = 0;
7701 // ref: http://stackoverflow.com/a/6248722/2519373
7702 const random = () =>
7703 // eslint-disable-next-line no-bitwise
7704 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7705 return () => {
7706 counter += 1;
7707 return `u${random()}${counter}`;
7708 };
7709 })();
7710 function delay(ms) {
7711 return (args) => new Promise((resolve) => {
7712 setTimeout(() => resolve(args), ms);
7713 });
7714 }
7715 function toArray(arrayLike) {
7716 const arr = [];
7717 for (let i = 0, l = arrayLike.length; i < l; i++) {
7718 arr.push(arrayLike[i]);
7719 }
7720 return arr;
7721 }
7722 function px(node, styleProperty) {
7723 const win = node.ownerDocument.defaultView || window;
7724 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7725 return val ? parseFloat(val.replace('px', '')) : 0;
7726 }
7727 function getNodeWidth(node) {
7728 const leftBorder = px(node, 'border-left-width');
7729 const rightBorder = px(node, 'border-right-width');
7730 return node.clientWidth + leftBorder + rightBorder;
7731 }
7732 function getNodeHeight(node) {
7733 const topBorder = px(node, 'border-top-width');
7734 const bottomBorder = px(node, 'border-bottom-width');
7735 return node.clientHeight + topBorder + bottomBorder;
7736 }
7737 function getImageSize(targetNode, options = {}) {
7738 const width = options.width || getNodeWidth(targetNode);
7739 const height = options.height || getNodeHeight(targetNode);
7740 return { width, height };
7741 }
7742 function getPixelRatio() {
7743 let ratio;
7744 let FINAL_PROCESS;
7745 try {
7746 FINAL_PROCESS = process;
7747 }
7748 catch (e) {
7749 // pass
7750 }
7751 const val = FINAL_PROCESS && FINAL_PROCESS.env
7752 ? FINAL_PROCESS.env.devicePixelRatio
7753 : null;
7754 if (val) {
7755 ratio = parseInt(val, 10);
7756 if (Number.isNaN(ratio)) {
7757 ratio = 1;
7758 }
7759 }
7760 return ratio || window.devicePixelRatio || 1;
7761 }
7762 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
7763 const canvasDimensionLimit = 16384;
7764 function checkCanvasDimensions(canvas) {
7765 if (canvas.width > canvasDimensionLimit ||
7766 canvas.height > canvasDimensionLimit) {
7767 if (canvas.width > canvasDimensionLimit &&
7768 canvas.height > canvasDimensionLimit) {
7769 if (canvas.width > canvas.height) {
7770 canvas.height *= canvasDimensionLimit / canvas.width;
7771 canvas.width = canvasDimensionLimit;
7772 }
7773 else {
7774 canvas.width *= canvasDimensionLimit / canvas.height;
7775 canvas.height = canvasDimensionLimit;
7776 }
7777 }
7778 else if (canvas.width > canvasDimensionLimit) {
7779 canvas.height *= canvasDimensionLimit / canvas.width;
7780 canvas.width = canvasDimensionLimit;
7781 }
7782 else {
7783 canvas.width *= canvasDimensionLimit / canvas.height;
7784 canvas.height = canvasDimensionLimit;
7785 }
7786 }
7787 }
7788 function canvasToBlob(canvas, options = {}) {
7789 if (canvas.toBlob) {
7790 return new Promise((resolve) => {
7791 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
7792 });
7793 }
7794 return new Promise((resolve) => {
7795 const binaryString = window.atob(canvas
7796 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
7797 .split(',')[1]);
7798 const len = binaryString.length;
7799 const binaryArray = new Uint8Array(len);
7800 for (let i = 0; i < len; i += 1) {
7801 binaryArray[i] = binaryString.charCodeAt(i);
7802 }
7803 resolve(new Blob([binaryArray], {
7804 type: options.type ? options.type : 'image/png',
7805 }));
7806 });
7807 }
7808 function createImage(url) {
7809 return new Promise((resolve, reject) => {
7810 const img = new Image();
7811 img.decode = () => resolve(img);
7812 img.onload = () => resolve(img);
7813 img.onerror = reject;
7814 img.crossOrigin = 'anonymous';
7815 img.decoding = 'async';
7816 img.src = url;
7817 });
7818 }
7819 async function svgToDataURL(svg) {
7820 return Promise.resolve()
7821 .then(() => new XMLSerializer().serializeToString(svg))
7822 .then(encodeURIComponent)
7823 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
7824 }
7825 async function nodeToDataURL(node, width, height) {
7826 const xmlns = 'http://www.w3.org/2000/svg';
7827 const svg = document.createElementNS(xmlns, 'svg');
7828 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
7829 svg.setAttribute('width', `${width}`);
7830 svg.setAttribute('height', `${height}`);
7831 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
7832 foreignObject.setAttribute('width', '100%');
7833 foreignObject.setAttribute('height', '100%');
7834 foreignObject.setAttribute('x', '0');
7835 foreignObject.setAttribute('y', '0');
7836 foreignObject.setAttribute('externalResourcesRequired', 'true');
7837 svg.appendChild(foreignObject);
7838 foreignObject.appendChild(node);
7839 return svgToDataURL(svg);
7840 }
7841 const isInstanceOfElement = (node, instance) => {
7842 if (node instanceof instance)
7843 return true;
7844 const nodePrototype = Object.getPrototypeOf(node);
7845 if (nodePrototype === null)
7846 return false;
7847 return (nodePrototype.constructor.name === instance.name ||
7848 isInstanceOfElement(nodePrototype, instance));
7849 };
7850 //# sourceMappingURL=util.js.map
7851
7852 /***/ }),
7853
7854 /***/ "../node_modules/object-assign/index.js":
7855 /*!**********************************************!*\
7856 !*** ../node_modules/object-assign/index.js ***!
7857 \**********************************************/
7858 /***/ ((module) => {
7859
7860 "use strict";
7861 /*
7862 object-assign
7863 (c) Sindre Sorhus
7864 @license MIT
7865 */
7866
7867
7868 /* eslint-disable no-unused-vars */
7869 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
7870 var hasOwnProperty = Object.prototype.hasOwnProperty;
7871 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
7872
7873 function toObject(val) {
7874 if (val === null || val === undefined) {
7875 throw new TypeError('Object.assign cannot be called with null or undefined');
7876 }
7877
7878 return Object(val);
7879 }
7880
7881 function shouldUseNative() {
7882 try {
7883 if (!Object.assign) {
7884 return false;
7885 }
7886
7887 // Detect buggy property enumeration order in older V8 versions.
7888
7889 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
7890 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
7891 test1[5] = 'de';
7892 if (Object.getOwnPropertyNames(test1)[0] === '5') {
7893 return false;
7894 }
7895
7896 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
7897 var test2 = {};
7898 for (var i = 0; i < 10; i++) {
7899 test2['_' + String.fromCharCode(i)] = i;
7900 }
7901 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
7902 return test2[n];
7903 });
7904 if (order2.join('') !== '0123456789') {
7905 return false;
7906 }
7907
7908 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
7909 var test3 = {};
7910 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
7911 test3[letter] = letter;
7912 });
7913 if (Object.keys(Object.assign({}, test3)).join('') !==
7914 'abcdefghijklmnopqrst') {
7915 return false;
7916 }
7917
7918 return true;
7919 } catch (err) {
7920 // We don't expect any of the above to throw, but better to be safe.
7921 return false;
7922 }
7923 }
7924
7925 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
7926 var from;
7927 var to = toObject(target);
7928 var symbols;
7929
7930 for (var s = 1; s < arguments.length; s++) {
7931 from = Object(arguments[s]);
7932
7933 for (var key in from) {
7934 if (hasOwnProperty.call(from, key)) {
7935 to[key] = from[key];
7936 }
7937 }
7938
7939 if (getOwnPropertySymbols) {
7940 symbols = getOwnPropertySymbols(from);
7941 for (var i = 0; i < symbols.length; i++) {
7942 if (propIsEnumerable.call(from, symbols[i])) {
7943 to[symbols[i]] = from[symbols[i]];
7944 }
7945 }
7946 }
7947 }
7948
7949 return to;
7950 };
7951
7952
7953 /***/ }),
7954
7955 /***/ "../node_modules/prop-types/checkPropTypes.js":
7956 /*!****************************************************!*\
7957 !*** ../node_modules/prop-types/checkPropTypes.js ***!
7958 \****************************************************/
7959 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7960
7961 "use strict";
7962 /**
7963 * Copyright (c) 2013-present, Facebook, Inc.
7964 *
7965 * This source code is licensed under the MIT license found in the
7966 * LICENSE file in the root directory of this source tree.
7967 */
7968
7969
7970
7971 var printWarning = function() {};
7972
7973 if (true) {
7974 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
7975 var loggedTypeFailures = {};
7976 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
7977
7978 printWarning = function(text) {
7979 var message = 'Warning: ' + text;
7980 if (typeof console !== 'undefined') {
7981 console.error(message);
7982 }
7983 try {
7984 // --- Welcome to debugging React ---
7985 // This error was thrown as a convenience so that you can use this stack
7986 // to find the callsite that caused this warning to fire.
7987 throw new Error(message);
7988 } catch (x) { /**/ }
7989 };
7990 }
7991
7992 /**
7993 * Assert that the values match with the type specs.
7994 * Error messages are memorized and will only be shown once.
7995 *
7996 * @param {object} typeSpecs Map of name to a ReactPropType
7997 * @param {object} values Runtime values that need to be type-checked
7998 * @param {string} location e.g. "prop", "context", "child context"
7999 * @param {string} componentName Name of the component for error messages.
8000 * @param {?Function} getStack Returns the component stack.
8001 * @private
8002 */
8003 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8004 if (true) {
8005 for (var typeSpecName in typeSpecs) {
8006 if (has(typeSpecs, typeSpecName)) {
8007 var error;
8008 // Prop type validation may throw. In case they do, we don't want to
8009 // fail the render phase where it didn't fail before. So we log it.
8010 // After these have been cleaned up, we'll let them throw.
8011 try {
8012 // This is intentionally an invariant that gets caught. It's the same
8013 // behavior as without this statement except with a better message.
8014 if (typeof typeSpecs[typeSpecName] !== 'function') {
8015 var err = Error(
8016 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8017 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8018 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8019 );
8020 err.name = 'Invariant Violation';
8021 throw err;
8022 }
8023 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8024 } catch (ex) {
8025 error = ex;
8026 }
8027 if (error && !(error instanceof Error)) {
8028 printWarning(
8029 (componentName || 'React class') + ': type specification of ' +
8030 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8031 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8032 'You may have forgotten to pass an argument to the type checker ' +
8033 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8034 'shape all require an argument).'
8035 );
8036 }
8037 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8038 // Only monitor this failure once because there tends to be a lot of the
8039 // same error.
8040 loggedTypeFailures[error.message] = true;
8041
8042 var stack = getStack ? getStack() : '';
8043
8044 printWarning(
8045 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8046 );
8047 }
8048 }
8049 }
8050 }
8051 }
8052
8053 /**
8054 * Resets warning cache when testing.
8055 *
8056 * @private
8057 */
8058 checkPropTypes.resetWarningCache = function() {
8059 if (true) {
8060 loggedTypeFailures = {};
8061 }
8062 }
8063
8064 module.exports = checkPropTypes;
8065
8066
8067 /***/ }),
8068
8069 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8070 /*!*************************************************************!*\
8071 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8072 \*************************************************************/
8073 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8074
8075 "use strict";
8076 /**
8077 * Copyright (c) 2013-present, Facebook, Inc.
8078 *
8079 * This source code is licensed under the MIT license found in the
8080 * LICENSE file in the root directory of this source tree.
8081 */
8082
8083
8084
8085 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8086 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8087
8088 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8089 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8090 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8091
8092 var printWarning = function() {};
8093
8094 if (true) {
8095 printWarning = function(text) {
8096 var message = 'Warning: ' + text;
8097 if (typeof console !== 'undefined') {
8098 console.error(message);
8099 }
8100 try {
8101 // --- Welcome to debugging React ---
8102 // This error was thrown as a convenience so that you can use this stack
8103 // to find the callsite that caused this warning to fire.
8104 throw new Error(message);
8105 } catch (x) {}
8106 };
8107 }
8108
8109 function emptyFunctionThatReturnsNull() {
8110 return null;
8111 }
8112
8113 module.exports = function(isValidElement, throwOnDirectAccess) {
8114 /* global Symbol */
8115 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8116 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8117
8118 /**
8119 * Returns the iterator method function contained on the iterable object.
8120 *
8121 * Be sure to invoke the function with the iterable as context:
8122 *
8123 * var iteratorFn = getIteratorFn(myIterable);
8124 * if (iteratorFn) {
8125 * var iterator = iteratorFn.call(myIterable);
8126 * ...
8127 * }
8128 *
8129 * @param {?object} maybeIterable
8130 * @return {?function}
8131 */
8132 function getIteratorFn(maybeIterable) {
8133 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8134 if (typeof iteratorFn === 'function') {
8135 return iteratorFn;
8136 }
8137 }
8138
8139 /**
8140 * Collection of methods that allow declaration and validation of props that are
8141 * supplied to React components. Example usage:
8142 *
8143 * var Props = require('ReactPropTypes');
8144 * var MyArticle = React.createClass({
8145 * propTypes: {
8146 * // An optional string prop named "description".
8147 * description: Props.string,
8148 *
8149 * // A required enum prop named "category".
8150 * category: Props.oneOf(['News','Photos']).isRequired,
8151 *
8152 * // A prop named "dialog" that requires an instance of Dialog.
8153 * dialog: Props.instanceOf(Dialog).isRequired
8154 * },
8155 * render: function() { ... }
8156 * });
8157 *
8158 * A more formal specification of how these methods are used:
8159 *
8160 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8161 * decl := ReactPropTypes.{type}(.isRequired)?
8162 *
8163 * Each and every declaration produces a function with the same signature. This
8164 * allows the creation of custom validation functions. For example:
8165 *
8166 * var MyLink = React.createClass({
8167 * propTypes: {
8168 * // An optional string or URI prop named "href".
8169 * href: function(props, propName, componentName) {
8170 * var propValue = props[propName];
8171 * if (propValue != null && typeof propValue !== 'string' &&
8172 * !(propValue instanceof URI)) {
8173 * return new Error(
8174 * 'Expected a string or an URI for ' + propName + ' in ' +
8175 * componentName
8176 * );
8177 * }
8178 * }
8179 * },
8180 * render: function() {...}
8181 * });
8182 *
8183 * @internal
8184 */
8185
8186 var ANONYMOUS = '<<anonymous>>';
8187
8188 // Important!
8189 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8190 var ReactPropTypes = {
8191 array: createPrimitiveTypeChecker('array'),
8192 bigint: createPrimitiveTypeChecker('bigint'),
8193 bool: createPrimitiveTypeChecker('boolean'),
8194 func: createPrimitiveTypeChecker('function'),
8195 number: createPrimitiveTypeChecker('number'),
8196 object: createPrimitiveTypeChecker('object'),
8197 string: createPrimitiveTypeChecker('string'),
8198 symbol: createPrimitiveTypeChecker('symbol'),
8199
8200 any: createAnyTypeChecker(),
8201 arrayOf: createArrayOfTypeChecker,
8202 element: createElementTypeChecker(),
8203 elementType: createElementTypeTypeChecker(),
8204 instanceOf: createInstanceTypeChecker,
8205 node: createNodeChecker(),
8206 objectOf: createObjectOfTypeChecker,
8207 oneOf: createEnumTypeChecker,
8208 oneOfType: createUnionTypeChecker,
8209 shape: createShapeTypeChecker,
8210 exact: createStrictShapeTypeChecker,
8211 };
8212
8213 /**
8214 * inlined Object.is polyfill to avoid requiring consumers ship their own
8215 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8216 */
8217 /*eslint-disable no-self-compare*/
8218 function is(x, y) {
8219 // SameValue algorithm
8220 if (x === y) {
8221 // Steps 1-5, 7-10
8222 // Steps 6.b-6.e: +0 != -0
8223 return x !== 0 || 1 / x === 1 / y;
8224 } else {
8225 // Step 6.a: NaN == NaN
8226 return x !== x && y !== y;
8227 }
8228 }
8229 /*eslint-enable no-self-compare*/
8230
8231 /**
8232 * We use an Error-like object for backward compatibility as people may call
8233 * PropTypes directly and inspect their output. However, we don't use real
8234 * Errors anymore. We don't inspect their stack anyway, and creating them
8235 * is prohibitively expensive if they are created too often, such as what
8236 * happens in oneOfType() for any type before the one that matched.
8237 */
8238 function PropTypeError(message, data) {
8239 this.message = message;
8240 this.data = data && typeof data === 'object' ? data: {};
8241 this.stack = '';
8242 }
8243 // Make `instanceof Error` still work for returned errors.
8244 PropTypeError.prototype = Error.prototype;
8245
8246 function createChainableTypeChecker(validate) {
8247 if (true) {
8248 var manualPropTypeCallCache = {};
8249 var manualPropTypeWarningCount = 0;
8250 }
8251 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8252 componentName = componentName || ANONYMOUS;
8253 propFullName = propFullName || propName;
8254
8255 if (secret !== ReactPropTypesSecret) {
8256 if (throwOnDirectAccess) {
8257 // New behavior only for users of `prop-types` package
8258 var err = new Error(
8259 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8260 'Use `PropTypes.checkPropTypes()` to call them. ' +
8261 'Read more at http://fb.me/use-check-prop-types'
8262 );
8263 err.name = 'Invariant Violation';
8264 throw err;
8265 } else if ( true && typeof console !== 'undefined') {
8266 // Old behavior for people using React.PropTypes
8267 var cacheKey = componentName + ':' + propName;
8268 if (
8269 !manualPropTypeCallCache[cacheKey] &&
8270 // Avoid spamming the console because they are often not actionable except for lib authors
8271 manualPropTypeWarningCount < 3
8272 ) {
8273 printWarning(
8274 'You are manually calling a React.PropTypes validation ' +
8275 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8276 'and will throw in the standalone `prop-types` package. ' +
8277 'You may be seeing this warning due to a third-party PropTypes ' +
8278 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8279 );
8280 manualPropTypeCallCache[cacheKey] = true;
8281 manualPropTypeWarningCount++;
8282 }
8283 }
8284 }
8285 if (props[propName] == null) {
8286 if (isRequired) {
8287 if (props[propName] === null) {
8288 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8289 }
8290 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8291 }
8292 return null;
8293 } else {
8294 return validate(props, propName, componentName, location, propFullName);
8295 }
8296 }
8297
8298 var chainedCheckType = checkType.bind(null, false);
8299 chainedCheckType.isRequired = checkType.bind(null, true);
8300
8301 return chainedCheckType;
8302 }
8303
8304 function createPrimitiveTypeChecker(expectedType) {
8305 function validate(props, propName, componentName, location, propFullName, secret) {
8306 var propValue = props[propName];
8307 var propType = getPropType(propValue);
8308 if (propType !== expectedType) {
8309 // `propValue` being instance of, say, date/regexp, pass the 'object'
8310 // check, but we can offer a more precise error message here rather than
8311 // 'of type `object`'.
8312 var preciseType = getPreciseType(propValue);
8313
8314 return new PropTypeError(
8315 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8316 {expectedType: expectedType}
8317 );
8318 }
8319 return null;
8320 }
8321 return createChainableTypeChecker(validate);
8322 }
8323
8324 function createAnyTypeChecker() {
8325 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8326 }
8327
8328 function createArrayOfTypeChecker(typeChecker) {
8329 function validate(props, propName, componentName, location, propFullName) {
8330 if (typeof typeChecker !== 'function') {
8331 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8332 }
8333 var propValue = props[propName];
8334 if (!Array.isArray(propValue)) {
8335 var propType = getPropType(propValue);
8336 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8337 }
8338 for (var i = 0; i < propValue.length; i++) {
8339 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8340 if (error instanceof Error) {
8341 return error;
8342 }
8343 }
8344 return null;
8345 }
8346 return createChainableTypeChecker(validate);
8347 }
8348
8349 function createElementTypeChecker() {
8350 function validate(props, propName, componentName, location, propFullName) {
8351 var propValue = props[propName];
8352 if (!isValidElement(propValue)) {
8353 var propType = getPropType(propValue);
8354 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8355 }
8356 return null;
8357 }
8358 return createChainableTypeChecker(validate);
8359 }
8360
8361 function createElementTypeTypeChecker() {
8362 function validate(props, propName, componentName, location, propFullName) {
8363 var propValue = props[propName];
8364 if (!ReactIs.isValidElementType(propValue)) {
8365 var propType = getPropType(propValue);
8366 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8367 }
8368 return null;
8369 }
8370 return createChainableTypeChecker(validate);
8371 }
8372
8373 function createInstanceTypeChecker(expectedClass) {
8374 function validate(props, propName, componentName, location, propFullName) {
8375 if (!(props[propName] instanceof expectedClass)) {
8376 var expectedClassName = expectedClass.name || ANONYMOUS;
8377 var actualClassName = getClassName(props[propName]);
8378 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8379 }
8380 return null;
8381 }
8382 return createChainableTypeChecker(validate);
8383 }
8384
8385 function createEnumTypeChecker(expectedValues) {
8386 if (!Array.isArray(expectedValues)) {
8387 if (true) {
8388 if (arguments.length > 1) {
8389 printWarning(
8390 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8391 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8392 );
8393 } else {
8394 printWarning('Invalid argument supplied to oneOf, expected an array.');
8395 }
8396 }
8397 return emptyFunctionThatReturnsNull;
8398 }
8399
8400 function validate(props, propName, componentName, location, propFullName) {
8401 var propValue = props[propName];
8402 for (var i = 0; i < expectedValues.length; i++) {
8403 if (is(propValue, expectedValues[i])) {
8404 return null;
8405 }
8406 }
8407
8408 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8409 var type = getPreciseType(value);
8410 if (type === 'symbol') {
8411 return String(value);
8412 }
8413 return value;
8414 });
8415 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8416 }
8417 return createChainableTypeChecker(validate);
8418 }
8419
8420 function createObjectOfTypeChecker(typeChecker) {
8421 function validate(props, propName, componentName, location, propFullName) {
8422 if (typeof typeChecker !== 'function') {
8423 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8424 }
8425 var propValue = props[propName];
8426 var propType = getPropType(propValue);
8427 if (propType !== 'object') {
8428 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8429 }
8430 for (var key in propValue) {
8431 if (has(propValue, key)) {
8432 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8433 if (error instanceof Error) {
8434 return error;
8435 }
8436 }
8437 }
8438 return null;
8439 }
8440 return createChainableTypeChecker(validate);
8441 }
8442
8443 function createUnionTypeChecker(arrayOfTypeCheckers) {
8444 if (!Array.isArray(arrayOfTypeCheckers)) {
8445 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8446 return emptyFunctionThatReturnsNull;
8447 }
8448
8449 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8450 var checker = arrayOfTypeCheckers[i];
8451 if (typeof checker !== 'function') {
8452 printWarning(
8453 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8454 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8455 );
8456 return emptyFunctionThatReturnsNull;
8457 }
8458 }
8459
8460 function validate(props, propName, componentName, location, propFullName) {
8461 var expectedTypes = [];
8462 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8463 var checker = arrayOfTypeCheckers[i];
8464 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8465 if (checkerResult == null) {
8466 return null;
8467 }
8468 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8469 expectedTypes.push(checkerResult.data.expectedType);
8470 }
8471 }
8472 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8473 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8474 }
8475 return createChainableTypeChecker(validate);
8476 }
8477
8478 function createNodeChecker() {
8479 function validate(props, propName, componentName, location, propFullName) {
8480 if (!isNode(props[propName])) {
8481 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8482 }
8483 return null;
8484 }
8485 return createChainableTypeChecker(validate);
8486 }
8487
8488 function invalidValidatorError(componentName, location, propFullName, key, type) {
8489 return new PropTypeError(
8490 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8491 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8492 );
8493 }
8494
8495 function createShapeTypeChecker(shapeTypes) {
8496 function validate(props, propName, componentName, location, propFullName) {
8497 var propValue = props[propName];
8498 var propType = getPropType(propValue);
8499 if (propType !== 'object') {
8500 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8501 }
8502 for (var key in shapeTypes) {
8503 var checker = shapeTypes[key];
8504 if (typeof checker !== 'function') {
8505 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8506 }
8507 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8508 if (error) {
8509 return error;
8510 }
8511 }
8512 return null;
8513 }
8514 return createChainableTypeChecker(validate);
8515 }
8516
8517 function createStrictShapeTypeChecker(shapeTypes) {
8518 function validate(props, propName, componentName, location, propFullName) {
8519 var propValue = props[propName];
8520 var propType = getPropType(propValue);
8521 if (propType !== 'object') {
8522 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8523 }
8524 // We need to check all keys in case some are required but missing from props.
8525 var allKeys = assign({}, props[propName], shapeTypes);
8526 for (var key in allKeys) {
8527 var checker = shapeTypes[key];
8528 if (has(shapeTypes, key) && typeof checker !== 'function') {
8529 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8530 }
8531 if (!checker) {
8532 return new PropTypeError(
8533 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8534 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8535 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8536 );
8537 }
8538 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8539 if (error) {
8540 return error;
8541 }
8542 }
8543 return null;
8544 }
8545
8546 return createChainableTypeChecker(validate);
8547 }
8548
8549 function isNode(propValue) {
8550 switch (typeof propValue) {
8551 case 'number':
8552 case 'string':
8553 case 'undefined':
8554 return true;
8555 case 'boolean':
8556 return !propValue;
8557 case 'object':
8558 if (Array.isArray(propValue)) {
8559 return propValue.every(isNode);
8560 }
8561 if (propValue === null || isValidElement(propValue)) {
8562 return true;
8563 }
8564
8565 var iteratorFn = getIteratorFn(propValue);
8566 if (iteratorFn) {
8567 var iterator = iteratorFn.call(propValue);
8568 var step;
8569 if (iteratorFn !== propValue.entries) {
8570 while (!(step = iterator.next()).done) {
8571 if (!isNode(step.value)) {
8572 return false;
8573 }
8574 }
8575 } else {
8576 // Iterator will provide entry [k,v] tuples rather than values.
8577 while (!(step = iterator.next()).done) {
8578 var entry = step.value;
8579 if (entry) {
8580 if (!isNode(entry[1])) {
8581 return false;
8582 }
8583 }
8584 }
8585 }
8586 } else {
8587 return false;
8588 }
8589
8590 return true;
8591 default:
8592 return false;
8593 }
8594 }
8595
8596 function isSymbol(propType, propValue) {
8597 // Native Symbol.
8598 if (propType === 'symbol') {
8599 return true;
8600 }
8601
8602 // falsy value can't be a Symbol
8603 if (!propValue) {
8604 return false;
8605 }
8606
8607 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8608 if (propValue['@@toStringTag'] === 'Symbol') {
8609 return true;
8610 }
8611
8612 // Fallback for non-spec compliant Symbols which are polyfilled.
8613 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8614 return true;
8615 }
8616
8617 return false;
8618 }
8619
8620 // Equivalent of `typeof` but with special handling for array and regexp.
8621 function getPropType(propValue) {
8622 var propType = typeof propValue;
8623 if (Array.isArray(propValue)) {
8624 return 'array';
8625 }
8626 if (propValue instanceof RegExp) {
8627 // Old webkits (at least until Android 4.0) return 'function' rather than
8628 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8629 // passes PropTypes.object.
8630 return 'object';
8631 }
8632 if (isSymbol(propType, propValue)) {
8633 return 'symbol';
8634 }
8635 return propType;
8636 }
8637
8638 // This handles more types than `getPropType`. Only used for error messages.
8639 // See `createPrimitiveTypeChecker`.
8640 function getPreciseType(propValue) {
8641 if (typeof propValue === 'undefined' || propValue === null) {
8642 return '' + propValue;
8643 }
8644 var propType = getPropType(propValue);
8645 if (propType === 'object') {
8646 if (propValue instanceof Date) {
8647 return 'date';
8648 } else if (propValue instanceof RegExp) {
8649 return 'regexp';
8650 }
8651 }
8652 return propType;
8653 }
8654
8655 // Returns a string that is postfixed to a warning about an invalid type.
8656 // For example, "undefined" or "of type array"
8657 function getPostfixForTypeWarning(value) {
8658 var type = getPreciseType(value);
8659 switch (type) {
8660 case 'array':
8661 case 'object':
8662 return 'an ' + type;
8663 case 'boolean':
8664 case 'date':
8665 case 'regexp':
8666 return 'a ' + type;
8667 default:
8668 return type;
8669 }
8670 }
8671
8672 // Returns class name of the object, if any.
8673 function getClassName(propValue) {
8674 if (!propValue.constructor || !propValue.constructor.name) {
8675 return ANONYMOUS;
8676 }
8677 return propValue.constructor.name;
8678 }
8679
8680 ReactPropTypes.checkPropTypes = checkPropTypes;
8681 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8682 ReactPropTypes.PropTypes = ReactPropTypes;
8683
8684 return ReactPropTypes;
8685 };
8686
8687
8688 /***/ }),
8689
8690 /***/ "../node_modules/prop-types/index.js":
8691 /*!*******************************************!*\
8692 !*** ../node_modules/prop-types/index.js ***!
8693 \*******************************************/
8694 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8695
8696 /**
8697 * Copyright (c) 2013-present, Facebook, Inc.
8698 *
8699 * This source code is licensed under the MIT license found in the
8700 * LICENSE file in the root directory of this source tree.
8701 */
8702
8703 if (true) {
8704 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8705
8706 // By explicitly using `prop-types` you are opting into new development behavior.
8707 // http://fb.me/prop-types-in-prod
8708 var throwOnDirectAccess = true;
8709 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8710 } else {}
8711
8712
8713 /***/ }),
8714
8715 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8716 /*!**************************************************************!*\
8717 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8718 \**************************************************************/
8719 /***/ ((module) => {
8720
8721 "use strict";
8722 /**
8723 * Copyright (c) 2013-present, Facebook, Inc.
8724 *
8725 * This source code is licensed under the MIT license found in the
8726 * LICENSE file in the root directory of this source tree.
8727 */
8728
8729
8730
8731 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8732
8733 module.exports = ReactPropTypesSecret;
8734
8735
8736 /***/ }),
8737
8738 /***/ "../node_modules/prop-types/lib/has.js":
8739 /*!*********************************************!*\
8740 !*** ../node_modules/prop-types/lib/has.js ***!
8741 \*********************************************/
8742 /***/ ((module) => {
8743
8744 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8745
8746
8747 /***/ }),
8748
8749 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8750 /*!************************************************************************************!*\
8751 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8752 \************************************************************************************/
8753 /***/ ((__unused_webpack_module, exports) => {
8754
8755 "use strict";
8756 /** @license React v16.13.1
8757 * react-is.development.js
8758 *
8759 * Copyright (c) Facebook, Inc. and its affiliates.
8760 *
8761 * This source code is licensed under the MIT license found in the
8762 * LICENSE file in the root directory of this source tree.
8763 */
8764
8765
8766
8767
8768
8769 if (true) {
8770 (function() {
8771 'use strict';
8772
8773 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
8774 // nor polyfill, then a plain number is used for performance.
8775 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
8776 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
8777 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
8778 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
8779 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
8780 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
8781 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
8782 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
8783 // (unstable) APIs that have been removed. Can we remove the symbols?
8784
8785 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
8786 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
8787 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
8788 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
8789 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
8790 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
8791 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
8792 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
8793 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
8794 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
8795 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
8796
8797 function isValidElementType(type) {
8798 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
8799 type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (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_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
8800 }
8801
8802 function typeOf(object) {
8803 if (typeof object === 'object' && object !== null) {
8804 var $$typeof = object.$$typeof;
8805
8806 switch ($$typeof) {
8807 case REACT_ELEMENT_TYPE:
8808 var type = object.type;
8809
8810 switch (type) {
8811 case REACT_ASYNC_MODE_TYPE:
8812 case REACT_CONCURRENT_MODE_TYPE:
8813 case REACT_FRAGMENT_TYPE:
8814 case REACT_PROFILER_TYPE:
8815 case REACT_STRICT_MODE_TYPE:
8816 case REACT_SUSPENSE_TYPE:
8817 return type;
8818
8819 default:
8820 var $$typeofType = type && type.$$typeof;
8821
8822 switch ($$typeofType) {
8823 case REACT_CONTEXT_TYPE:
8824 case REACT_FORWARD_REF_TYPE:
8825 case REACT_LAZY_TYPE:
8826 case REACT_MEMO_TYPE:
8827 case REACT_PROVIDER_TYPE:
8828 return $$typeofType;
8829
8830 default:
8831 return $$typeof;
8832 }
8833
8834 }
8835
8836 case REACT_PORTAL_TYPE:
8837 return $$typeof;
8838 }
8839 }
8840
8841 return undefined;
8842 } // AsyncMode is deprecated along with isAsyncMode
8843
8844 var AsyncMode = REACT_ASYNC_MODE_TYPE;
8845 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
8846 var ContextConsumer = REACT_CONTEXT_TYPE;
8847 var ContextProvider = REACT_PROVIDER_TYPE;
8848 var Element = REACT_ELEMENT_TYPE;
8849 var ForwardRef = REACT_FORWARD_REF_TYPE;
8850 var Fragment = REACT_FRAGMENT_TYPE;
8851 var Lazy = REACT_LAZY_TYPE;
8852 var Memo = REACT_MEMO_TYPE;
8853 var Portal = REACT_PORTAL_TYPE;
8854 var Profiler = REACT_PROFILER_TYPE;
8855 var StrictMode = REACT_STRICT_MODE_TYPE;
8856 var Suspense = REACT_SUSPENSE_TYPE;
8857 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
8858
8859 function isAsyncMode(object) {
8860 {
8861 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
8862 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
8863
8864 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
8865 }
8866 }
8867
8868 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
8869 }
8870 function isConcurrentMode(object) {
8871 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
8872 }
8873 function isContextConsumer(object) {
8874 return typeOf(object) === REACT_CONTEXT_TYPE;
8875 }
8876 function isContextProvider(object) {
8877 return typeOf(object) === REACT_PROVIDER_TYPE;
8878 }
8879 function isElement(object) {
8880 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
8881 }
8882 function isForwardRef(object) {
8883 return typeOf(object) === REACT_FORWARD_REF_TYPE;
8884 }
8885 function isFragment(object) {
8886 return typeOf(object) === REACT_FRAGMENT_TYPE;
8887 }
8888 function isLazy(object) {
8889 return typeOf(object) === REACT_LAZY_TYPE;
8890 }
8891 function isMemo(object) {
8892 return typeOf(object) === REACT_MEMO_TYPE;
8893 }
8894 function isPortal(object) {
8895 return typeOf(object) === REACT_PORTAL_TYPE;
8896 }
8897 function isProfiler(object) {
8898 return typeOf(object) === REACT_PROFILER_TYPE;
8899 }
8900 function isStrictMode(object) {
8901 return typeOf(object) === REACT_STRICT_MODE_TYPE;
8902 }
8903 function isSuspense(object) {
8904 return typeOf(object) === REACT_SUSPENSE_TYPE;
8905 }
8906
8907 exports.AsyncMode = AsyncMode;
8908 exports.ConcurrentMode = ConcurrentMode;
8909 exports.ContextConsumer = ContextConsumer;
8910 exports.ContextProvider = ContextProvider;
8911 exports.Element = Element;
8912 exports.ForwardRef = ForwardRef;
8913 exports.Fragment = Fragment;
8914 exports.Lazy = Lazy;
8915 exports.Memo = Memo;
8916 exports.Portal = Portal;
8917 exports.Profiler = Profiler;
8918 exports.StrictMode = StrictMode;
8919 exports.Suspense = Suspense;
8920 exports.isAsyncMode = isAsyncMode;
8921 exports.isConcurrentMode = isConcurrentMode;
8922 exports.isContextConsumer = isContextConsumer;
8923 exports.isContextProvider = isContextProvider;
8924 exports.isElement = isElement;
8925 exports.isForwardRef = isForwardRef;
8926 exports.isFragment = isFragment;
8927 exports.isLazy = isLazy;
8928 exports.isMemo = isMemo;
8929 exports.isPortal = isPortal;
8930 exports.isProfiler = isProfiler;
8931 exports.isStrictMode = isStrictMode;
8932 exports.isSuspense = isSuspense;
8933 exports.isValidElementType = isValidElementType;
8934 exports.typeOf = typeOf;
8935 })();
8936 }
8937
8938
8939 /***/ }),
8940
8941 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
8942 /*!*****************************************************************!*\
8943 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
8944 \*****************************************************************/
8945 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8946
8947 "use strict";
8948
8949
8950 if (false) {} else {
8951 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
8952 }
8953
8954
8955 /***/ }),
8956
8957 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
8958 /*!**************************************************************!*\
8959 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
8960 \**************************************************************/
8961 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8962
8963 "use strict";
8964
8965
8966 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
8967
8968 Object.defineProperty(exports, "__esModule", ({
8969 value: true
8970 }));
8971 Object.defineProperty(exports, "DraggableCore", ({
8972 enumerable: true,
8973 get: function get() {
8974 return _DraggableCore.default;
8975 }
8976 }));
8977 exports["default"] = void 0;
8978
8979 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8980
8981 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8982
8983 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
8984
8985 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
8986
8987 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
8988
8989 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
8990
8991 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
8992
8993 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
8994
8995 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
8996
8997 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
8998
8999 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9000
9001 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9002
9003 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
9004
9005 function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9006
9007 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; }
9008
9009 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; }
9010
9011 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; }
9012
9013 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; }
9014
9015 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9016
9017 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."); }
9018
9019 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); }
9020
9021 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; }
9022
9023 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; }
9024
9025 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9026
9027 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9028
9029 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); } }
9030
9031 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9032
9033 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
9034
9035 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9036
9037 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9038
9039 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
9040
9041 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9042
9043 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
9044
9045 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9046
9047 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; }
9048
9049 //
9050 // Define <Draggable>
9051 //
9052 var Draggable = /*#__PURE__*/function (_React$Component) {
9053 _inherits(Draggable, _React$Component);
9054
9055 var _super = _createSuper(Draggable);
9056
9057 function Draggable(props
9058 /*: DraggableProps*/
9059 ) {
9060 var _this;
9061
9062 _classCallCheck(this, Draggable);
9063
9064 _this = _super.call(this, props);
9065
9066 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9067 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9068
9069 var shouldStart = _this.props.onStart(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData)); // Kills start event on core as well, so move handlers are never bound.
9070
9071
9072 if (shouldStart === false) return false;
9073
9074 _this.setState({
9075 dragging: true,
9076 dragged: true
9077 });
9078 });
9079
9080 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9081 if (!_this.state.dragging) return false;
9082 (0, _log.default)('Draggable: onDrag: %j', coreData);
9083 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9084 var newState
9085 /*: $Shape<DraggableState>*/
9086 = {
9087 x: uiData.x,
9088 y: uiData.y
9089 }; // Keep within bounds.
9090
9091 if (_this.props.bounds) {
9092 // Save original x and y.
9093 var x = newState.x,
9094 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9095 // we start removing slack, the element won't react to it right away until it's been
9096 // completely removed.
9097
9098 newState.x += _this.state.slackX;
9099 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9100
9101 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9102 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9103 newStateX = _getBoundPosition2[0],
9104 newStateY = _getBoundPosition2[1];
9105
9106 newState.x = newStateX;
9107 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9108
9109 newState.slackX = _this.state.slackX + (x - newState.x);
9110 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9111
9112 uiData.x = newState.x;
9113 uiData.y = newState.y;
9114 uiData.deltaX = newState.x - _this.state.x;
9115 uiData.deltaY = newState.y - _this.state.y;
9116 } // Short-circuit if user's callback killed it.
9117
9118
9119 var shouldUpdate = _this.props.onDrag(e, uiData);
9120
9121 if (shouldUpdate === false) return false;
9122
9123 _this.setState(newState);
9124 });
9125
9126 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9127 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9128
9129 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9130
9131 if (shouldContinue === false) return false;
9132 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9133 var newState
9134 /*: $Shape<DraggableState>*/
9135 = {
9136 dragging: false,
9137 slackX: 0,
9138 slackY: 0
9139 }; // If this is a controlled component, the result of this operation will be to
9140 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9141
9142 var controlled = Boolean(_this.props.position);
9143
9144 if (controlled) {
9145 var _this$props$position = _this.props.position,
9146 x = _this$props$position.x,
9147 y = _this$props$position.y;
9148 newState.x = x;
9149 newState.y = y;
9150 }
9151
9152 _this.setState(newState);
9153 });
9154
9155 _this.state = {
9156 // Whether or not we are currently dragging.
9157 dragging: false,
9158 // Whether or not we have been dragged before.
9159 dragged: false,
9160 // Current transform x and y.
9161 x: props.position ? props.position.x : props.defaultPosition.x,
9162 y: props.position ? props.position.y : props.defaultPosition.y,
9163 prevPropsPosition: _objectSpread({}, props.position),
9164 // Used for compensating for out-of-bounds drags
9165 slackX: 0,
9166 slackY: 0,
9167 // Can only determine if SVG after mounting
9168 isElementSVG: false
9169 };
9170
9171 if (props.position && !(props.onDrag || props.onStop)) {
9172 // eslint-disable-next-line no-console
9173 console.warn('A `position` was applied to this <Draggable>, without drag handlers. This will make this ' + 'component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the ' + '`position` of this element.');
9174 }
9175
9176 return _this;
9177 }
9178
9179 _createClass(Draggable, [{
9180 key: "componentDidMount",
9181 value: function componentDidMount() {
9182 // Check to see if the element passed is an instanceof SVGElement
9183 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9184 this.setState({
9185 isElementSVG: true
9186 });
9187 }
9188 }
9189 }, {
9190 key: "componentWillUnmount",
9191 value: function componentWillUnmount() {
9192 this.setState({
9193 dragging: false
9194 }); // prevents invariant if unmounted while dragging
9195 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9196 // the underlying DOM node ourselves. See the README for more information.
9197
9198 }, {
9199 key: "findDOMNode",
9200 value: function findDOMNode()
9201 /*: ?HTMLElement*/
9202 {
9203 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9204
9205 return (_this$props$nodeRef$c = (_this$props = this.props) === null || _this$props === void 0 ? void 0 : (_this$props$nodeRef = _this$props.nodeRef) === null || _this$props$nodeRef === void 0 ? void 0 : _this$props$nodeRef.current) !== null && _this$props$nodeRef$c !== void 0 ? _this$props$nodeRef$c : _reactDom.default.findDOMNode(this);
9206 }
9207 }, {
9208 key: "render",
9209 value: function render()
9210 /*: ReactElement<any>*/
9211 {
9212 var _clsx;
9213
9214 var _this$props2 = this.props,
9215 axis = _this$props2.axis,
9216 bounds = _this$props2.bounds,
9217 children = _this$props2.children,
9218 defaultPosition = _this$props2.defaultPosition,
9219 defaultClassName = _this$props2.defaultClassName,
9220 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9221 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9222 position = _this$props2.position,
9223 positionOffset = _this$props2.positionOffset,
9224 scale = _this$props2.scale,
9225 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9226
9227 var style = {};
9228 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9229
9230 var controlled = Boolean(position);
9231 var draggable = !controlled || this.state.dragging;
9232 var validPosition = position || defaultPosition;
9233 var transformOpts = {
9234 // Set left if horizontal drag is enabled
9235 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9236 // Set top if vertical drag is enabled
9237 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9238 }; // If this element was SVG, we use the `transform` attribute.
9239
9240 if (this.state.isElementSVG) {
9241 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9242 } else {
9243 // Add a CSS transform to move the element around. This allows us to move the element around
9244 // without worrying about whether or not it is relatively or absolutely positioned.
9245 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9246 // has a clean slate.
9247 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9248 } // Mark with class while dragging
9249
9250
9251 var className = (0, _clsx2.default)(children.props.className || '', defaultClassName, (_clsx = {}, _defineProperty(_clsx, defaultClassNameDragging, this.state.dragging), _defineProperty(_clsx, defaultClassNameDragged, this.state.dragged), _clsx)); // Reuse the child provided
9252 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9253
9254 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9255 onStart: this.onDragStart,
9256 onDrag: this.onDrag,
9257 onStop: this.onDragStop
9258 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9259 className: className,
9260 style: _objectSpread(_objectSpread({}, children.props.style), style),
9261 transform: svgTransform
9262 }));
9263 }
9264 }], [{
9265 key: "getDerivedStateFromProps",
9266 value: // React 16.3+
9267 // Arity (props, state)
9268 function getDerivedStateFromProps(_ref, _ref2)
9269 /*: ?$Shape<DraggableState>*/
9270 {
9271 var position = _ref.position;
9272 var prevPropsPosition = _ref2.prevPropsPosition;
9273
9274 // Set x/y if a new position is provided in props that is different than the previous.
9275 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9276 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9277 position: position,
9278 prevPropsPosition: prevPropsPosition
9279 });
9280 return {
9281 x: position.x,
9282 y: position.y,
9283 prevPropsPosition: _objectSpread({}, position)
9284 };
9285 }
9286
9287 return null;
9288 }
9289 }]);
9290
9291 return Draggable;
9292 }(React.Component);
9293
9294 exports["default"] = Draggable;
9295
9296 _defineProperty(Draggable, "displayName", 'Draggable');
9297
9298 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9299 /**
9300 * `axis` determines which axis the draggable can move.
9301 *
9302 * Note that all callbacks will still return data as normal. This only
9303 * controls flushing to the DOM.
9304 *
9305 * 'both' allows movement horizontally and vertically.
9306 * 'x' limits movement to horizontal axis.
9307 * 'y' limits movement to vertical axis.
9308 * 'none' limits all movement.
9309 *
9310 * Defaults to 'both'.
9311 */
9312 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9313
9314 /**
9315 * `bounds` determines the range of movement available to the element.
9316 * Available values are:
9317 *
9318 * 'parent' restricts movement within the Draggable's parent node.
9319 *
9320 * Alternatively, pass an object with the following properties, all of which are optional:
9321 *
9322 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9323 *
9324 * All values are in px.
9325 *
9326 * Example:
9327 *
9328 * ```jsx
9329 * let App = React.createClass({
9330 * render: function () {
9331 * return (
9332 * <Draggable bounds={{right: 300, bottom: 300}}>
9333 * <div>Content</div>
9334 * </Draggable>
9335 * );
9336 * }
9337 * });
9338 * ```
9339 */
9340 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9341 left: _propTypes.default.number,
9342 right: _propTypes.default.number,
9343 top: _propTypes.default.number,
9344 bottom: _propTypes.default.number
9345 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9346 defaultClassName: _propTypes.default.string,
9347 defaultClassNameDragging: _propTypes.default.string,
9348 defaultClassNameDragged: _propTypes.default.string,
9349
9350 /**
9351 * `defaultPosition` specifies the x and y that the dragged item should start at
9352 *
9353 * Example:
9354 *
9355 * ```jsx
9356 * let App = React.createClass({
9357 * render: function () {
9358 * return (
9359 * <Draggable defaultPosition={{x: 25, y: 25}}>
9360 * <div>I start with transformX: 25px and transformY: 25px;</div>
9361 * </Draggable>
9362 * );
9363 * }
9364 * });
9365 * ```
9366 */
9367 defaultPosition: _propTypes.default.shape({
9368 x: _propTypes.default.number,
9369 y: _propTypes.default.number
9370 }),
9371 positionOffset: _propTypes.default.shape({
9372 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9373 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9374 }),
9375
9376 /**
9377 * `position`, if present, defines the current position of the element.
9378 *
9379 * This is similar to how form elements in React work - if no `position` is supplied, the component
9380 * is uncontrolled.
9381 *
9382 * Example:
9383 *
9384 * ```jsx
9385 * let App = React.createClass({
9386 * render: function () {
9387 * return (
9388 * <Draggable position={{x: 25, y: 25}}>
9389 * <div>I start with transformX: 25px and transformY: 25px;</div>
9390 * </Draggable>
9391 * );
9392 * }
9393 * });
9394 * ```
9395 */
9396 position: _propTypes.default.shape({
9397 x: _propTypes.default.number,
9398 y: _propTypes.default.number
9399 }),
9400
9401 /**
9402 * These properties should be defined on the child, not here.
9403 */
9404 className: _shims.dontSetMe,
9405 style: _shims.dontSetMe,
9406 transform: _shims.dontSetMe
9407 }));
9408
9409 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9410 axis: 'both',
9411 bounds: false,
9412 defaultClassName: 'react-draggable',
9413 defaultClassNameDragging: 'react-draggable-dragging',
9414 defaultClassNameDragged: 'react-draggable-dragged',
9415 defaultPosition: {
9416 x: 0,
9417 y: 0
9418 },
9419 scale: 1
9420 }));
9421
9422 /***/ }),
9423
9424 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9425 /*!******************************************************************!*\
9426 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9427 \******************************************************************/
9428 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9429
9430 "use strict";
9431
9432
9433 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
9434
9435 Object.defineProperty(exports, "__esModule", ({
9436 value: true
9437 }));
9438 exports["default"] = void 0;
9439
9440 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9441
9442 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9443
9444 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9445
9446 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9447
9448 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9449
9450 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9451
9452 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9453
9454 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9455
9456 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9457
9458 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
9459
9460 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9461
9462 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."); }
9463
9464 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); }
9465
9466 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; }
9467
9468 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; }
9469
9470 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9471
9472 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9473
9474 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); } }
9475
9476 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9477
9478 function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
9479
9480 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9481
9482 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
9483
9484 function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
9485
9486 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9487
9488 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
9489
9490 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9491
9492 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; }
9493
9494 // Simple abstraction for dragging events names.
9495 var eventsFor = {
9496 touch: {
9497 start: 'touchstart',
9498 move: 'touchmove',
9499 stop: 'touchend'
9500 },
9501 mouse: {
9502 start: 'mousedown',
9503 move: 'mousemove',
9504 stop: 'mouseup'
9505 }
9506 }; // Default to mouse events.
9507
9508 var dragEventFor = eventsFor.mouse;
9509 /*:: type DraggableCoreState = {
9510 dragging: boolean,
9511 lastX: number,
9512 lastY: number,
9513 touchIdentifier: ?number
9514 };*/
9515
9516 /*:: export type DraggableData = {
9517 node: HTMLElement,
9518 x: number, y: number,
9519 deltaX: number, deltaY: number,
9520 lastX: number, lastY: number,
9521 };*/
9522
9523 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9524
9525 /*:: export type ControlPosition = {x: number, y: number};*/
9526
9527 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9528
9529 /*:: export type DraggableCoreDefaultProps = {
9530 allowAnyClick: boolean,
9531 disabled: boolean,
9532 enableUserSelectHack: boolean,
9533 onStart: DraggableEventHandler,
9534 onDrag: DraggableEventHandler,
9535 onStop: DraggableEventHandler,
9536 onMouseDown: (e: MouseEvent) => void,
9537 scale: number,
9538 };*/
9539
9540 /*:: export type DraggableCoreProps = {
9541 ...DraggableCoreDefaultProps,
9542 cancel: string,
9543 children: ReactElement<any>,
9544 offsetParent: HTMLElement,
9545 grid: [number, number],
9546 handle: string,
9547 nodeRef?: ?React.ElementRef<any>,
9548 };*/
9549
9550 //
9551 // Define <DraggableCore>.
9552 //
9553 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9554 // work well with libraries that require more control over the element.
9555 //
9556 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9557 _inherits(DraggableCore, _React$Component);
9558
9559 var _super = _createSuper(DraggableCore);
9560
9561 function DraggableCore() {
9562 var _this;
9563
9564 _classCallCheck(this, DraggableCore);
9565
9566 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9567 args[_key] = arguments[_key];
9568 }
9569
9570 _this = _super.call.apply(_super, [this].concat(args));
9571
9572 _defineProperty(_assertThisInitialized(_this), "state", {
9573 dragging: false,
9574 // Used while dragging to determine deltas.
9575 lastX: NaN,
9576 lastY: NaN,
9577 touchIdentifier: null
9578 });
9579
9580 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9581
9582 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9583 // Make it possible to attach event handlers on top of this one.
9584 _this.props.onMouseDown(e); // Only accept left-clicks.
9585
9586
9587 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9588
9589 var thisNode = _this.findDOMNode();
9590
9591 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9592 throw new Error('<DraggableCore> not mounted on DragStart!');
9593 }
9594
9595 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9596
9597 if (_this.props.disabled || !(e.target instanceof ownerDocument.defaultView.Node) || _this.props.handle && !(0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.handle, thisNode) || _this.props.cancel && (0, _domFns.matchesSelectorAndParentsTo)(e.target, _this.props.cancel, thisNode)) {
9598 return;
9599 } // Prevent scrolling on mobile devices, like ipad/iphone.
9600 // Important that this is after handle/cancel.
9601
9602
9603 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9604 // distinguish between individual touches on multitouch screens by identifying which
9605 // touchpoint was set to this element.
9606
9607 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9608
9609 _this.setState({
9610 touchIdentifier: touchIdentifier
9611 }); // Get the current drag point from the event. This is used as the offset.
9612
9613
9614 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9615 if (position == null) return; // not possible but satisfies flow
9616
9617 var x = position.x,
9618 y = position.y; // Create an event object with all the data parents need to make a decision here.
9619
9620 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9621 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9622
9623 (0, _log.default)('calling', _this.props.onStart);
9624
9625 var shouldUpdate = _this.props.onStart(e, coreEvent);
9626
9627 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9628 // being selected all over the page.
9629
9630 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9631 // so we know how much we've moved during the drag. This allows us
9632 // to drag elements around even if they have been moved, without issue.
9633
9634 _this.setState({
9635 dragging: true,
9636 lastX: x,
9637 lastY: y
9638 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9639 // this element. We use different events depending on whether or not we have detected that this
9640 // is a touch-capable device.
9641
9642
9643 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9644 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9645 });
9646
9647 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9648 // Get the current drag point from the event. This is used as the offset.
9649 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9650 if (position == null) return;
9651 var x = position.x,
9652 y = position.y; // Snap to grid if prop has been provided
9653
9654 if (Array.isArray(_this.props.grid)) {
9655 var deltaX = x - _this.state.lastX,
9656 deltaY = y - _this.state.lastY;
9657
9658 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9659
9660 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9661
9662 deltaX = _snapToGrid2[0];
9663 deltaY = _snapToGrid2[1];
9664 if (!deltaX && !deltaY) return; // skip useless drag
9665
9666 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9667 }
9668
9669 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9670 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9671
9672 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9673
9674 if (shouldUpdate === false || _this.mounted === false) {
9675 try {
9676 // $FlowIgnore
9677 _this.handleDragStop(new MouseEvent('mouseup'));
9678 } catch (err) {
9679 // Old browsers
9680 var event = ((document.createEvent('MouseEvents')
9681 /*: any*/
9682 )
9683 /*: MouseTouchEvent*/
9684 ); // I see why this insanity was deprecated
9685 // $FlowIgnore
9686
9687 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9688
9689 _this.handleDragStop(event);
9690 }
9691
9692 return;
9693 }
9694
9695 _this.setState({
9696 lastX: x,
9697 lastY: y
9698 });
9699 });
9700
9701 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9702 if (!_this.state.dragging) return;
9703 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9704 if (position == null) return;
9705 var x = position.x,
9706 y = position.y; // Snap to grid if prop has been provided
9707
9708 if (Array.isArray(_this.props.grid)) {
9709 var deltaX = x - _this.state.lastX || 0;
9710 var deltaY = y - _this.state.lastY || 0;
9711
9712 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9713
9714 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9715
9716 deltaX = _snapToGrid4[0];
9717 deltaY = _snapToGrid4[1];
9718 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9719 }
9720
9721 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9722
9723 var shouldContinue = _this.props.onStop(e, coreEvent);
9724
9725 if (shouldContinue === false || _this.mounted === false) return false;
9726
9727 var thisNode = _this.findDOMNode();
9728
9729 if (thisNode) {
9730 // Remove user-select hack
9731 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
9732 }
9733
9734 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
9735
9736 _this.setState({
9737 dragging: false,
9738 lastX: NaN,
9739 lastY: NaN
9740 });
9741
9742 if (thisNode) {
9743 // Remove event handlers
9744 (0, _log.default)('DraggableCore: Removing handlers');
9745 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
9746 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
9747 }
9748 });
9749
9750 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
9751 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
9752
9753 return _this.handleDragStart(e);
9754 });
9755
9756 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
9757 dragEventFor = eventsFor.mouse;
9758 return _this.handleDragStop(e);
9759 });
9760
9761 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
9762 // We're on a touch device now, so change the event handlers
9763 dragEventFor = eventsFor.touch;
9764 return _this.handleDragStart(e);
9765 });
9766
9767 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
9768 // We're on a touch device now, so change the event handlers
9769 dragEventFor = eventsFor.touch;
9770 return _this.handleDragStop(e);
9771 });
9772
9773 return _this;
9774 }
9775
9776 _createClass(DraggableCore, [{
9777 key: "componentDidMount",
9778 value: function componentDidMount() {
9779 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
9780 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9781
9782 var thisNode = this.findDOMNode();
9783
9784 if (thisNode) {
9785 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9786 passive: false
9787 });
9788 }
9789 }
9790 }, {
9791 key: "componentWillUnmount",
9792 value: function componentWillUnmount() {
9793 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
9794 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
9795
9796 var thisNode = this.findDOMNode();
9797
9798 if (thisNode) {
9799 var ownerDocument = thisNode.ownerDocument;
9800 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
9801 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
9802 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
9803 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
9804 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9805 passive: false
9806 });
9807 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
9808 }
9809 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9810 // the underlying DOM node ourselves. See the README for more information.
9811
9812 }, {
9813 key: "findDOMNode",
9814 value: function findDOMNode()
9815 /*: ?HTMLElement*/
9816 {
9817 var _this$props, _this$props2, _this$props2$nodeRef;
9818
9819 return (_this$props = this.props) !== null && _this$props !== void 0 && _this$props.nodeRef ? (_this$props2 = this.props) === null || _this$props2 === void 0 ? void 0 : (_this$props2$nodeRef = _this$props2.nodeRef) === null || _this$props2$nodeRef === void 0 ? void 0 : _this$props2$nodeRef.current : _reactDom.default.findDOMNode(this);
9820 }
9821 }, {
9822 key: "render",
9823 value: function render()
9824 /*: React.Element<any>*/
9825 {
9826 // Reuse the child provided
9827 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9828 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
9829 // Note: mouseMove handler is attached to document so it will still function
9830 // when the user drags quickly and leaves the bounds of the element.
9831 onMouseDown: this.onMouseDown,
9832 onMouseUp: this.onMouseUp,
9833 // onTouchStart is added on `componentDidMount` so they can be added with
9834 // {passive: false}, which allows it to cancel. See
9835 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9836 onTouchEnd: this.onTouchEnd
9837 });
9838 }
9839 }]);
9840
9841 return DraggableCore;
9842 }(React.Component);
9843
9844 exports["default"] = DraggableCore;
9845
9846 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
9847
9848 _defineProperty(DraggableCore, "propTypes", {
9849 /**
9850 * `allowAnyClick` allows dragging using any mouse button.
9851 * By default, we only accept the left button.
9852 *
9853 * Defaults to `false`.
9854 */
9855 allowAnyClick: _propTypes.default.bool,
9856
9857 /**
9858 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
9859 * with the exception of `onMouseDown`, will not fire.
9860 */
9861 disabled: _propTypes.default.bool,
9862
9863 /**
9864 * By default, we add 'user-select:none' attributes to the document body
9865 * to prevent ugly text selection during drag. If this is causing problems
9866 * for your app, set this to `false`.
9867 */
9868 enableUserSelectHack: _propTypes.default.bool,
9869
9870 /**
9871 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
9872 * instead of using the parent node.
9873 */
9874 offsetParent: function offsetParent(props
9875 /*: DraggableCoreProps*/
9876 , propName
9877 /*: $Keys<DraggableCoreProps>*/
9878 ) {
9879 if (props[propName] && props[propName].nodeType !== 1) {
9880 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
9881 }
9882 },
9883
9884 /**
9885 * `grid` specifies the x and y that dragging should snap to.
9886 */
9887 grid: _propTypes.default.arrayOf(_propTypes.default.number),
9888
9889 /**
9890 * `handle` specifies a selector to be used as the handle that initiates drag.
9891 *
9892 * Example:
9893 *
9894 * ```jsx
9895 * let App = React.createClass({
9896 * render: function () {
9897 * return (
9898 * <Draggable handle=".handle">
9899 * <div>
9900 * <div className="handle">Click me to drag</div>
9901 * <div>This is some other content</div>
9902 * </div>
9903 * </Draggable>
9904 * );
9905 * }
9906 * });
9907 * ```
9908 */
9909 handle: _propTypes.default.string,
9910
9911 /**
9912 * `cancel` specifies a selector to be used to prevent drag initialization.
9913 *
9914 * Example:
9915 *
9916 * ```jsx
9917 * let App = React.createClass({
9918 * render: function () {
9919 * return(
9920 * <Draggable cancel=".cancel">
9921 * <div>
9922 * <div className="cancel">You can't drag from here</div>
9923 * <div>Dragging here works fine</div>
9924 * </div>
9925 * </Draggable>
9926 * );
9927 * }
9928 * });
9929 * ```
9930 */
9931 cancel: _propTypes.default.string,
9932
9933 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
9934 * Unfortunately, in order for <Draggable> to work properly, we need raw access
9935 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
9936 * as in this example:
9937 *
9938 * function MyComponent() {
9939 * const nodeRef = React.useRef(null);
9940 * return (
9941 * <Draggable nodeRef={nodeRef}>
9942 * <div ref={nodeRef}>Example Target</div>
9943 * </Draggable>
9944 * );
9945 * }
9946 *
9947 * This can be used for arbitrarily nested components, so long as the ref ends up
9948 * pointing to the actual child DOM node and not a custom component.
9949 */
9950 nodeRef: _propTypes.default.object,
9951
9952 /**
9953 * Called when dragging starts.
9954 * If this function returns the boolean false, dragging will be canceled.
9955 */
9956 onStart: _propTypes.default.func,
9957
9958 /**
9959 * Called while dragging.
9960 * If this function returns the boolean false, dragging will be canceled.
9961 */
9962 onDrag: _propTypes.default.func,
9963
9964 /**
9965 * Called when dragging stops.
9966 * If this function returns the boolean false, the drag will remain active.
9967 */
9968 onStop: _propTypes.default.func,
9969
9970 /**
9971 * A workaround option which can be passed if onMouseDown needs to be accessed,
9972 * since it'll always be blocked (as there is internal use of onMouseDown)
9973 */
9974 onMouseDown: _propTypes.default.func,
9975
9976 /**
9977 * `scale`, if set, applies scaling while dragging an element
9978 */
9979 scale: _propTypes.default.number,
9980
9981 /**
9982 * These properties should be defined on the child, not here.
9983 */
9984 className: _shims.dontSetMe,
9985 style: _shims.dontSetMe,
9986 transform: _shims.dontSetMe
9987 });
9988
9989 _defineProperty(DraggableCore, "defaultProps", {
9990 allowAnyClick: false,
9991 // by default only accept left click
9992 disabled: false,
9993 enableUserSelectHack: true,
9994 onStart: function onStart() {},
9995 onDrag: function onDrag() {},
9996 onStop: function onStop() {},
9997 onMouseDown: function onMouseDown() {},
9998 scale: 1
9999 });
10000
10001 /***/ }),
10002
10003 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10004 /*!********************************************************!*\
10005 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10006 \********************************************************/
10007 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10008
10009 "use strict";
10010
10011
10012 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10013 Draggable = _require.default,
10014 DraggableCore = _require.DraggableCore; // Previous versions of this lib exported <Draggable> as the root export. As to no-// them, or TypeScript, we export *both* as the root and as 'default'.
10015 // See https://github.com/mzabriskie/react-draggable/pull/254
10016 // and https://github.com/mzabriskie/react-draggable/issues/266
10017
10018
10019 module.exports = Draggable;
10020 module.exports["default"] = Draggable;
10021 module.exports.DraggableCore = DraggableCore;
10022
10023 /***/ }),
10024
10025 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10026 /*!*****************************************************************!*\
10027 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10028 \*****************************************************************/
10029 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10030
10031 "use strict";
10032
10033
10034 function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10035
10036 Object.defineProperty(exports, "__esModule", ({
10037 value: true
10038 }));
10039 exports.addClassName = addClassName;
10040 exports.addEvent = addEvent;
10041 exports.addUserSelectStyles = addUserSelectStyles;
10042 exports.createCSSTransform = createCSSTransform;
10043 exports.createSVGTransform = createSVGTransform;
10044 exports.getTouch = getTouch;
10045 exports.getTouchIdentifier = getTouchIdentifier;
10046 exports.getTranslation = getTranslation;
10047 exports.innerHeight = innerHeight;
10048 exports.innerWidth = innerWidth;
10049 exports.matchesSelector = matchesSelector;
10050 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10051 exports.offsetXYFromParent = offsetXYFromParent;
10052 exports.outerHeight = outerHeight;
10053 exports.outerWidth = outerWidth;
10054 exports.removeClassName = removeClassName;
10055 exports.removeEvent = removeEvent;
10056 exports.removeUserSelectStyles = removeUserSelectStyles;
10057
10058 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10059
10060 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10061
10062 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10063
10064 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10065
10066 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; }
10067
10068 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; }
10069
10070 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; }
10071
10072 var matchesSelectorFunc = '';
10073
10074 function matchesSelector(el
10075 /*: Node*/
10076 , selector
10077 /*: string*/
10078 )
10079 /*: boolean*/
10080 {
10081 if (!matchesSelectorFunc) {
10082 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10083 // $FlowIgnore: Doesn't think elements are indexable
10084 return (0, _shims.isFunction)(el[method]);
10085 });
10086 } // Might not be found entirely (not an Element?) - in that case, bail
10087 // $FlowIgnore: Doesn't think elements are indexable
10088
10089
10090 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10091
10092 return el[matchesSelectorFunc](selector);
10093 } // Works up the tree to the draggable itself attempting to match selector.
10094
10095
10096 function matchesSelectorAndParentsTo(el
10097 /*: Node*/
10098 , selector
10099 /*: string*/
10100 , baseNode
10101 /*: Node*/
10102 )
10103 /*: boolean*/
10104 {
10105 var node = el;
10106
10107 do {
10108 if (matchesSelector(node, selector)) return true;
10109 if (node === baseNode) return false;
10110 node = node.parentNode;
10111 } while (node);
10112
10113 return false;
10114 }
10115
10116 function addEvent(el
10117 /*: ?Node*/
10118 , event
10119 /*: string*/
10120 , handler
10121 /*: Function*/
10122 , inputOptions
10123 /*: Object*/
10124 )
10125 /*: void*/
10126 {
10127 if (!el) return;
10128
10129 var options = _objectSpread({
10130 capture: true
10131 }, inputOptions); // $FlowIgnore[method-unbinding]
10132
10133
10134 if (el.addEventListener) {
10135 el.addEventListener(event, handler, options);
10136 } else if (el.attachEvent) {
10137 el.attachEvent('on' + event, handler);
10138 } else {
10139 // $FlowIgnore: Doesn't think elements are indexable
10140 el['on' + event] = handler;
10141 }
10142 }
10143
10144 function removeEvent(el
10145 /*: ?Node*/
10146 , event
10147 /*: string*/
10148 , handler
10149 /*: Function*/
10150 , inputOptions
10151 /*: Object*/
10152 )
10153 /*: void*/
10154 {
10155 if (!el) return;
10156
10157 var options = _objectSpread({
10158 capture: true
10159 }, inputOptions); // $FlowIgnore[method-unbinding]
10160
10161
10162 if (el.removeEventListener) {
10163 el.removeEventListener(event, handler, options);
10164 } else if (el.detachEvent) {
10165 el.detachEvent('on' + event, handler);
10166 } else {
10167 // $FlowIgnore: Doesn't think elements are indexable
10168 el['on' + event] = null;
10169 }
10170 }
10171
10172 function outerHeight(node
10173 /*: HTMLElement*/
10174 )
10175 /*: number*/
10176 {
10177 // This is deliberately excluding margin for our calculations, since we are using
10178 // offsetTop which is including margin. See getBoundPosition
10179 var height = node.clientHeight;
10180 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10181 height += (0, _shims.int)(computedStyle.borderTopWidth);
10182 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10183 return height;
10184 }
10185
10186 function outerWidth(node
10187 /*: HTMLElement*/
10188 )
10189 /*: number*/
10190 {
10191 // This is deliberately excluding margin for our calculations, since we are using
10192 // offsetLeft which is including margin. See getBoundPosition
10193 var width = node.clientWidth;
10194 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10195 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10196 width += (0, _shims.int)(computedStyle.borderRightWidth);
10197 return width;
10198 }
10199
10200 function innerHeight(node
10201 /*: HTMLElement*/
10202 )
10203 /*: number*/
10204 {
10205 var height = node.clientHeight;
10206 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10207 height -= (0, _shims.int)(computedStyle.paddingTop);
10208 height -= (0, _shims.int)(computedStyle.paddingBottom);
10209 return height;
10210 }
10211
10212 function innerWidth(node
10213 /*: HTMLElement*/
10214 )
10215 /*: number*/
10216 {
10217 var width = node.clientWidth;
10218 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10219 width -= (0, _shims.int)(computedStyle.paddingLeft);
10220 width -= (0, _shims.int)(computedStyle.paddingRight);
10221 return width;
10222 }
10223 /*:: interface EventWithOffset {
10224 clientX: number, clientY: number
10225 }*/
10226
10227
10228 // Get from offsetParent
10229 function offsetXYFromParent(evt
10230 /*: EventWithOffset*/
10231 , offsetParent
10232 /*: HTMLElement*/
10233 , scale
10234 /*: number*/
10235 )
10236 /*: ControlPosition*/
10237 {
10238 var isBody = offsetParent === offsetParent.ownerDocument.body;
10239 var offsetParentRect = isBody ? {
10240 left: 0,
10241 top: 0
10242 } : offsetParent.getBoundingClientRect();
10243 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10244 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10245 return {
10246 x: x,
10247 y: y
10248 };
10249 }
10250
10251 function createCSSTransform(controlPos
10252 /*: ControlPosition*/
10253 , positionOffset
10254 /*: PositionOffsetControlPosition*/
10255 )
10256 /*: Object*/
10257 {
10258 var translation = getTranslation(controlPos, positionOffset, 'px');
10259 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10260 }
10261
10262 function createSVGTransform(controlPos
10263 /*: ControlPosition*/
10264 , positionOffset
10265 /*: PositionOffsetControlPosition*/
10266 )
10267 /*: string*/
10268 {
10269 var translation = getTranslation(controlPos, positionOffset, '');
10270 return translation;
10271 }
10272
10273 function getTranslation(_ref2, positionOffset
10274 /*: PositionOffsetControlPosition*/
10275 , unitSuffix
10276 /*: string*/
10277 )
10278 /*: string*/
10279 {
10280 var x = _ref2.x,
10281 y = _ref2.y;
10282 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10283
10284 if (positionOffset) {
10285 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10286 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10287 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10288 }
10289
10290 return translation;
10291 }
10292
10293 function getTouch(e
10294 /*: MouseTouchEvent*/
10295 , identifier
10296 /*: number*/
10297 )
10298 /*: ?{clientX: number, clientY: number}*/
10299 {
10300 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10301 return identifier === t.identifier;
10302 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10303 return identifier === t.identifier;
10304 });
10305 }
10306
10307 function getTouchIdentifier(e
10308 /*: MouseTouchEvent*/
10309 )
10310 /*: ?number*/
10311 {
10312 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10313 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10314 } // User-select Hacks:
10315 //
10316 // Useful for preventing blue highlights all over everything when dragging.
10317 // Note we're passing `document` b/c we could be iframed
10318
10319
10320 function addUserSelectStyles(doc
10321 /*: ?Document*/
10322 ) {
10323 if (!doc) return;
10324 var styleEl = doc.getElementById('react-draggable-style-el');
10325
10326 if (!styleEl) {
10327 styleEl = doc.createElement('style');
10328 styleEl.type = 'text/css';
10329 styleEl.id = 'react-draggable-style-el';
10330 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10331 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10332 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10333 }
10334
10335 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10336 }
10337
10338 function removeUserSelectStyles(doc
10339 /*: ?Document*/
10340 ) {
10341 if (!doc) return;
10342
10343 try {
10344 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10345
10346 if (doc.selection) {
10347 // $FlowIgnore: IE
10348 doc.selection.empty();
10349 } else {
10350 // Remove selection caused by scroll, unless it's a focused input
10351 // (we use doc.defaultView in case we're in an iframe)
10352 var selection = (doc.defaultView || window).getSelection();
10353
10354 if (selection && selection.type !== 'Caret') {
10355 selection.removeAllRanges();
10356 }
10357 }
10358 } catch (e) {// probably IE
10359 }
10360 }
10361
10362 function addClassName(el
10363 /*: HTMLElement*/
10364 , className
10365 /*: string*/
10366 ) {
10367 if (el.classList) {
10368 el.classList.add(className);
10369 } else {
10370 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10371 el.className += " ".concat(className);
10372 }
10373 }
10374 }
10375
10376 function removeClassName(el
10377 /*: HTMLElement*/
10378 , className
10379 /*: string*/
10380 ) {
10381 if (el.classList) {
10382 el.classList.remove(className);
10383 } else {
10384 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10385 }
10386 }
10387
10388 /***/ }),
10389
10390 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10391 /*!********************************************************************!*\
10392 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10393 \********************************************************************/
10394 /***/ ((__unused_webpack_module, exports) => {
10395
10396 "use strict";
10397
10398
10399 Object.defineProperty(exports, "__esModule", ({
10400 value: true
10401 }));
10402 exports.browserPrefixToKey = browserPrefixToKey;
10403 exports.browserPrefixToStyle = browserPrefixToStyle;
10404 exports["default"] = void 0;
10405 exports.getPrefix = getPrefix;
10406 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10407
10408 function getPrefix()
10409 /*: string*/
10410 {
10411 var _window$document, _window$document$docu;
10412
10413 var prop
10414 /*: string*/
10415 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10416 // Ensure we're running in an environment where there is actually a global
10417 // `window` obj
10418 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10419 // path may not exist, so bail out if it doesn't.
10420
10421 var style = (_window$document = window.document) === null || _window$document === void 0 ? void 0 : (_window$document$docu = _window$document.documentElement) === null || _window$document$docu === void 0 ? void 0 : _window$document$docu.style;
10422 if (!style) return '';
10423 if (prop in style) return '';
10424
10425 for (var i = 0; i < prefixes.length; i++) {
10426 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10427 }
10428
10429 return '';
10430 }
10431
10432 function browserPrefixToKey(prop
10433 /*: string*/
10434 , prefix
10435 /*: string*/
10436 )
10437 /*: string*/
10438 {
10439 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10440 }
10441
10442 function browserPrefixToStyle(prop
10443 /*: string*/
10444 , prefix
10445 /*: string*/
10446 )
10447 /*: string*/
10448 {
10449 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10450 }
10451
10452 function kebabToTitleCase(str
10453 /*: string*/
10454 )
10455 /*: string*/
10456 {
10457 var out = '';
10458 var shouldCapitalize = true;
10459
10460 for (var i = 0; i < str.length; i++) {
10461 if (shouldCapitalize) {
10462 out += str[i].toUpperCase();
10463 shouldCapitalize = false;
10464 } else if (str[i] === '-') {
10465 shouldCapitalize = true;
10466 } else {
10467 out += str[i];
10468 }
10469 }
10470
10471 return out;
10472 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10473 // Note that you may have to re-test for certain things; for instance, Chrome 50
10474 // can handle unprefixed `transform`, but not unprefixed `user-select`
10475
10476
10477 var _default = (getPrefix()
10478 /*: string*/
10479 );
10480
10481 exports["default"] = _default;
10482
10483 /***/ }),
10484
10485 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10486 /*!**************************************************************!*\
10487 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10488 \**************************************************************/
10489 /***/ ((__unused_webpack_module, exports) => {
10490
10491 "use strict";
10492
10493
10494 Object.defineProperty(exports, "__esModule", ({
10495 value: true
10496 }));
10497 exports["default"] = log;
10498
10499 /*eslint no-console:0*/
10500 function log() {
10501 var _console;
10502
10503 if (false) {}
10504 }
10505
10506 /***/ }),
10507
10508 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10509 /*!**********************************************************************!*\
10510 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10511 \**********************************************************************/
10512 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10513
10514 "use strict";
10515
10516
10517 Object.defineProperty(exports, "__esModule", ({
10518 value: true
10519 }));
10520 exports.canDragX = canDragX;
10521 exports.canDragY = canDragY;
10522 exports.createCoreData = createCoreData;
10523 exports.createDraggableData = createDraggableData;
10524 exports.getBoundPosition = getBoundPosition;
10525 exports.getControlPosition = getControlPosition;
10526 exports.snapToGrid = snapToGrid;
10527
10528 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10529
10530 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10531
10532 function getBoundPosition(draggable
10533 /*: Draggable*/
10534 , x
10535 /*: number*/
10536 , y
10537 /*: number*/
10538 )
10539 /*: [number, number]*/
10540 {
10541 // If no bounds, short-circuit and move on
10542 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10543
10544 var bounds = draggable.props.bounds;
10545 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10546 var node = findDOMNode(draggable);
10547
10548 if (typeof bounds === 'string') {
10549 var ownerDocument = node.ownerDocument;
10550 var ownerWindow = ownerDocument.defaultView;
10551 var boundNode;
10552
10553 if (bounds === 'parent') {
10554 boundNode = node.parentNode;
10555 } else {
10556 boundNode = ownerDocument.querySelector(bounds);
10557 }
10558
10559 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10560 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10561 }
10562
10563 var boundNodeEl
10564 /*: HTMLElement*/
10565 = boundNode; // for Flow, can't seem to refine correctly
10566
10567 var nodeStyle = ownerWindow.getComputedStyle(node);
10568 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10569
10570 bounds = {
10571 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10572 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10573 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10574 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10575 };
10576 } // Keep x and y below right and bottom limits...
10577
10578
10579 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10580 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10581
10582 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10583 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10584 return [x, y];
10585 }
10586
10587 function snapToGrid(grid
10588 /*: [number, number]*/
10589 , pendingX
10590 /*: number*/
10591 , pendingY
10592 /*: number*/
10593 )
10594 /*: [number, number]*/
10595 {
10596 var x = Math.round(pendingX / grid[0]) * grid[0];
10597 var y = Math.round(pendingY / grid[1]) * grid[1];
10598 return [x, y];
10599 }
10600
10601 function canDragX(draggable
10602 /*: Draggable*/
10603 )
10604 /*: boolean*/
10605 {
10606 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10607 }
10608
10609 function canDragY(draggable
10610 /*: Draggable*/
10611 )
10612 /*: boolean*/
10613 {
10614 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10615 } // Get {x, y} positions from event.
10616
10617
10618 function getControlPosition(e
10619 /*: MouseTouchEvent*/
10620 , touchIdentifier
10621 /*: ?number*/
10622 , draggableCore
10623 /*: DraggableCore*/
10624 )
10625 /*: ?ControlPosition*/
10626 {
10627 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10628 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10629
10630 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10631
10632 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10633 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10634 } // Create an data object exposed by <DraggableCore>'s events
10635
10636
10637 function createCoreData(draggable
10638 /*: DraggableCore*/
10639 , x
10640 /*: number*/
10641 , y
10642 /*: number*/
10643 )
10644 /*: DraggableData*/
10645 {
10646 var state = draggable.state;
10647 var isStart = !(0, _shims.isNum)(state.lastX);
10648 var node = findDOMNode(draggable);
10649
10650 if (isStart) {
10651 // If this is our first move, use the x and y as last coords.
10652 return {
10653 node: node,
10654 deltaX: 0,
10655 deltaY: 0,
10656 lastX: x,
10657 lastY: y,
10658 x: x,
10659 y: y
10660 };
10661 } else {
10662 // Otherwise calculate proper values.
10663 return {
10664 node: node,
10665 deltaX: x - state.lastX,
10666 deltaY: y - state.lastY,
10667 lastX: state.lastX,
10668 lastY: state.lastY,
10669 x: x,
10670 y: y
10671 };
10672 }
10673 } // Create an data exposed by <Draggable>'s events
10674
10675
10676 function createDraggableData(draggable
10677 /*: Draggable*/
10678 , coreData
10679 /*: DraggableData*/
10680 )
10681 /*: DraggableData*/
10682 {
10683 var scale = draggable.props.scale;
10684 return {
10685 node: coreData.node,
10686 x: draggable.state.x + coreData.deltaX / scale,
10687 y: draggable.state.y + coreData.deltaY / scale,
10688 deltaX: coreData.deltaX / scale,
10689 deltaY: coreData.deltaY / scale,
10690 lastX: draggable.state.x,
10691 lastY: draggable.state.y
10692 };
10693 } // A lot faster than stringify/parse
10694
10695
10696 function cloneBounds(bounds
10697 /*: Bounds*/
10698 )
10699 /*: Bounds*/
10700 {
10701 return {
10702 left: bounds.left,
10703 top: bounds.top,
10704 right: bounds.right,
10705 bottom: bounds.bottom
10706 };
10707 }
10708
10709 function findDOMNode(draggable
10710 /*: Draggable | DraggableCore*/
10711 )
10712 /*: HTMLElement*/
10713 {
10714 var node = draggable.findDOMNode();
10715
10716 if (!node) {
10717 throw new Error('<DraggableCore>: Unmounted during event!');
10718 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10719
10720
10721 return node;
10722 }
10723
10724 /***/ }),
10725
10726 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10727 /*!****************************************************************!*\
10728 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10729 \****************************************************************/
10730 /***/ ((__unused_webpack_module, exports) => {
10731
10732 "use strict";
10733
10734
10735 Object.defineProperty(exports, "__esModule", ({
10736 value: true
10737 }));
10738 exports.dontSetMe = dontSetMe;
10739 exports.findInArray = findInArray;
10740 exports.int = int;
10741 exports.isFunction = isFunction;
10742 exports.isNum = isNum;
10743
10744 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
10745 function findInArray(array
10746 /*: Array<any> | TouchList*/
10747 , callback
10748 /*: Function*/
10749 )
10750 /*: any*/
10751 {
10752 for (var i = 0, length = array.length; i < length; i++) {
10753 if (callback.apply(callback, [array[i], i, array])) return array[i];
10754 }
10755 }
10756
10757 function isFunction(func
10758 /*: any*/
10759 )
10760 /*: boolean %checks*/
10761 {
10762 // $FlowIgnore[method-unbinding]
10763 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
10764 }
10765
10766 function isNum(num
10767 /*: any*/
10768 )
10769 /*: boolean %checks*/
10770 {
10771 return typeof num === 'number' && !isNaN(num);
10772 }
10773
10774 function int(a
10775 /*: string*/
10776 )
10777 /*: number*/
10778 {
10779 return parseInt(a, 10);
10780 }
10781
10782 function dontSetMe(props
10783 /*: Object*/
10784 , propName
10785 /*: string*/
10786 , componentName
10787 /*: string*/
10788 )
10789 /*: ?Error*/
10790 {
10791 if (props[propName]) {
10792 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
10793 }
10794 }
10795
10796 /***/ }),
10797
10798 /***/ "../node_modules/react-is/cjs/react-is.development.js":
10799 /*!************************************************************!*\
10800 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
10801 \************************************************************/
10802 /***/ ((__unused_webpack_module, exports) => {
10803
10804 "use strict";
10805 /**
10806 * @license React
10807 * react-is.development.js
10808 *
10809 * Copyright (c) Facebook, Inc. and its affiliates.
10810 *
10811 * This source code is licensed under the MIT license found in the
10812 * LICENSE file in the root directory of this source tree.
10813 */
10814
10815
10816
10817 if (true) {
10818 (function() {
10819 'use strict';
10820
10821 // ATTENTION
10822 // When adding new symbols to this file,
10823 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
10824 // The Symbol used to tag the ReactElement-like types.
10825 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
10826 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
10827 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
10828 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
10829 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
10830 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
10831 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
10832 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
10833 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
10834 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
10835 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
10836 var REACT_MEMO_TYPE = Symbol.for('react.memo');
10837 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
10838 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
10839
10840 // -----------------------------------------------------------------------------
10841
10842 var enableScopeAPI = false; // Experimental Create Event Handle API.
10843 var enableCacheElement = false;
10844 var enableTransitionTracing = false; // No known bugs, but needs performance testing
10845
10846 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
10847 // stuff. Intended to enable React core members to more easily debug scheduling
10848 // issues in DEV builds.
10849
10850 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
10851
10852 var REACT_MODULE_REFERENCE;
10853
10854 {
10855 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
10856 }
10857
10858 function isValidElementType(type) {
10859 if (typeof type === 'string' || typeof type === 'function') {
10860 return true;
10861 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
10862
10863
10864 if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {
10865 return true;
10866 }
10867
10868 if (typeof type === 'object' && type !== null) {
10869 if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
10870 // types supported by any Flight configuration anywhere since
10871 // we don't know which Flight build this will end up being used
10872 // with.
10873 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
10874 return true;
10875 }
10876 }
10877
10878 return false;
10879 }
10880
10881 function typeOf(object) {
10882 if (typeof object === 'object' && object !== null) {
10883 var $$typeof = object.$$typeof;
10884
10885 switch ($$typeof) {
10886 case REACT_ELEMENT_TYPE:
10887 var type = object.type;
10888
10889 switch (type) {
10890 case REACT_FRAGMENT_TYPE:
10891 case REACT_PROFILER_TYPE:
10892 case REACT_STRICT_MODE_TYPE:
10893 case REACT_SUSPENSE_TYPE:
10894 case REACT_SUSPENSE_LIST_TYPE:
10895 return type;
10896
10897 default:
10898 var $$typeofType = type && type.$$typeof;
10899
10900 switch ($$typeofType) {
10901 case REACT_SERVER_CONTEXT_TYPE:
10902 case REACT_CONTEXT_TYPE:
10903 case REACT_FORWARD_REF_TYPE:
10904 case REACT_LAZY_TYPE:
10905 case REACT_MEMO_TYPE:
10906 case REACT_PROVIDER_TYPE:
10907 return $$typeofType;
10908
10909 default:
10910 return $$typeof;
10911 }
10912
10913 }
10914
10915 case REACT_PORTAL_TYPE:
10916 return $$typeof;
10917 }
10918 }
10919
10920 return undefined;
10921 }
10922 var ContextConsumer = REACT_CONTEXT_TYPE;
10923 var ContextProvider = REACT_PROVIDER_TYPE;
10924 var Element = REACT_ELEMENT_TYPE;
10925 var ForwardRef = REACT_FORWARD_REF_TYPE;
10926 var Fragment = REACT_FRAGMENT_TYPE;
10927 var Lazy = REACT_LAZY_TYPE;
10928 var Memo = REACT_MEMO_TYPE;
10929 var Portal = REACT_PORTAL_TYPE;
10930 var Profiler = REACT_PROFILER_TYPE;
10931 var StrictMode = REACT_STRICT_MODE_TYPE;
10932 var Suspense = REACT_SUSPENSE_TYPE;
10933 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
10934 var hasWarnedAboutDeprecatedIsAsyncMode = false;
10935 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
10936
10937 function isAsyncMode(object) {
10938 {
10939 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
10940 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
10941
10942 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
10943 }
10944 }
10945
10946 return false;
10947 }
10948 function isConcurrentMode(object) {
10949 {
10950 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
10951 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
10952
10953 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
10954 }
10955 }
10956
10957 return false;
10958 }
10959 function isContextConsumer(object) {
10960 return typeOf(object) === REACT_CONTEXT_TYPE;
10961 }
10962 function isContextProvider(object) {
10963 return typeOf(object) === REACT_PROVIDER_TYPE;
10964 }
10965 function isElement(object) {
10966 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
10967 }
10968 function isForwardRef(object) {
10969 return typeOf(object) === REACT_FORWARD_REF_TYPE;
10970 }
10971 function isFragment(object) {
10972 return typeOf(object) === REACT_FRAGMENT_TYPE;
10973 }
10974 function isLazy(object) {
10975 return typeOf(object) === REACT_LAZY_TYPE;
10976 }
10977 function isMemo(object) {
10978 return typeOf(object) === REACT_MEMO_TYPE;
10979 }
10980 function isPortal(object) {
10981 return typeOf(object) === REACT_PORTAL_TYPE;
10982 }
10983 function isProfiler(object) {
10984 return typeOf(object) === REACT_PROFILER_TYPE;
10985 }
10986 function isStrictMode(object) {
10987 return typeOf(object) === REACT_STRICT_MODE_TYPE;
10988 }
10989 function isSuspense(object) {
10990 return typeOf(object) === REACT_SUSPENSE_TYPE;
10991 }
10992 function isSuspenseList(object) {
10993 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
10994 }
10995
10996 exports.ContextConsumer = ContextConsumer;
10997 exports.ContextProvider = ContextProvider;
10998 exports.Element = Element;
10999 exports.ForwardRef = ForwardRef;
11000 exports.Fragment = Fragment;
11001 exports.Lazy = Lazy;
11002 exports.Memo = Memo;
11003 exports.Portal = Portal;
11004 exports.Profiler = Profiler;
11005 exports.StrictMode = StrictMode;
11006 exports.Suspense = Suspense;
11007 exports.SuspenseList = SuspenseList;
11008 exports.isAsyncMode = isAsyncMode;
11009 exports.isConcurrentMode = isConcurrentMode;
11010 exports.isContextConsumer = isContextConsumer;
11011 exports.isContextProvider = isContextProvider;
11012 exports.isElement = isElement;
11013 exports.isForwardRef = isForwardRef;
11014 exports.isFragment = isFragment;
11015 exports.isLazy = isLazy;
11016 exports.isMemo = isMemo;
11017 exports.isPortal = isPortal;
11018 exports.isProfiler = isProfiler;
11019 exports.isStrictMode = isStrictMode;
11020 exports.isSuspense = isSuspense;
11021 exports.isSuspenseList = isSuspenseList;
11022 exports.isValidElementType = isValidElementType;
11023 exports.typeOf = typeOf;
11024 })();
11025 }
11026
11027
11028 /***/ }),
11029
11030 /***/ "../node_modules/react-is/index.js":
11031 /*!*****************************************!*\
11032 !*** ../node_modules/react-is/index.js ***!
11033 \*****************************************/
11034 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11035
11036 "use strict";
11037
11038
11039 if (false) {} else {
11040 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11041 }
11042
11043
11044 /***/ }),
11045
11046 /***/ "../node_modules/shallowequal/index.js":
11047 /*!*********************************************!*\
11048 !*** ../node_modules/shallowequal/index.js ***!
11049 \*********************************************/
11050 /***/ ((module) => {
11051
11052 //
11053
11054 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11055 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11056
11057 if (ret !== void 0) {
11058 return !!ret;
11059 }
11060
11061 if (objA === objB) {
11062 return true;
11063 }
11064
11065 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11066 return false;
11067 }
11068
11069 var keysA = Object.keys(objA);
11070 var keysB = Object.keys(objB);
11071
11072 if (keysA.length !== keysB.length) {
11073 return false;
11074 }
11075
11076 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11077
11078 // Test for A's keys different from B.
11079 for (var idx = 0; idx < keysA.length; idx++) {
11080 var key = keysA[idx];
11081
11082 if (!bHasOwnProperty(key)) {
11083 return false;
11084 }
11085
11086 var valueA = objA[key];
11087 var valueB = objB[key];
11088
11089 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11090
11091 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11092 return false;
11093 }
11094 }
11095
11096 return true;
11097 };
11098
11099
11100 /***/ }),
11101
11102 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11103 /*!*******************************************************************************!*\
11104 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11105 \*******************************************************************************/
11106 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11107
11108 "use strict";
11109 __webpack_require__.r(__webpack_exports__);
11110 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11111 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11112 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11113 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11114 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11115 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11116 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11117 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11118 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11119 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11120 /* harmony export */ css: () => (/* binding */ Ae),
11121 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11122 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11123 /* harmony export */ keyframes: () => (/* binding */ We),
11124 /* harmony export */ useTheme: () => (/* binding */ Xe),
11125 /* harmony export */ version: () => (/* binding */ A),
11126 /* harmony export */ withTheme: () => (/* binding */ Je)
11127 /* harmony export */ });
11128 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11129 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11130 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11131 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11132 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11133 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11134 /* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @emotion/unitless */ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js");
11135 /* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @emotion/is-prop-valid */ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js");
11136 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! hoist-non-react-statics */ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js");
11137 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11138 function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var v=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},g=function(t){return null!==t&&"object"==typeof t&&"[object Object]"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!(0,react_is__WEBPACK_IMPORTED_MODULE_0__.typeOf)(t)},S=Object.freeze([]),w=Object.freeze({});function E(e){return"function"==typeof e}function b(e){return true&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function _(e){return e&&"string"==typeof e.styledComponentId}var N="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",A="5.3.11",C="undefined"!=typeof window&&"HTMLElement"in window,I=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!=="development")),P={},O= true?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n"}:0;function R(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw false?0:new Error(R.apply(void 0,[O[e]].concat(n)).trim())}var j=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&D(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=this.tag.getRule(s)+"/*!sc*/\n";return t},e}(),T=new Map,x=new Map,k=1,V=function(e){if(T.has(e))return T.get(e);for(;x.has(k);)k++;var t=k++;return true&&((0|t)<0||t>1<<30)&&D(16,""+t),T.set(e,t),x.set(t,e),t},B=function(e){return x.get(e)},z=function(e,t){t>=k&&(k=t+1),T.set(e,t),x.set(t,e)},M="style["+N+'][data-styled-version="5.3.11"]',G=new RegExp("^"+N+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),L=function(e,t,n){for(var r,o=n.split(","),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},F=function(e,t){for(var n=(t.textContent||"").split("/*!sc*/\n"),r=[],o=0,s=n.length;o<s;o++){var i=n[o].trim();if(i){var a=i.match(G);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(z(u,c),L(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(i)}}},Y=function(){return true?__webpack_require__.nc:0},q=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(N))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(N,"active"),r.setAttribute("data-styled-version","5.3.11");var i=Y();return i&&r.setAttribute("nonce",i),n.insertBefore(r,s),r},H=function(){function e(e){var t=this.element=q(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}D(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),$=function(){function e(e){var t=this.element=q(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),W=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),U=C,J={isServer:!C,useCSSOMInjection:!I},X=function(){function e(e,t,n){void 0===e&&(e=w),void 0===t&&(t={}),this.options=y({},J,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&C&&U&&(U=!1,function(e){for(var t=document.querySelectorAll(M),n=0,r=t.length;n<r;n++){var o=t[n];o&&"active"!==o.getAttribute(N)&&(F(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return V(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(y({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new W(o):r?new H(o):new $(o),new j(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(V(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(V(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(V(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=0;o<n;o++){var s=B(o);if(void 0!==s){var i=e.names.get(s),a=t.getGroup(o);if(i&&a&&i.size){var c=N+".g"+o+'[id="'+s+'"]',u="";void 0!==i&&i.forEach((function(e){e.length>0&&(u+=e+",")})),r+=""+a+c+'{content:"'+u+'"}/*!sc*/\n'}}}return r}(this)},e}(),Z=/(a)(d)/gi,K=function(e){return String.fromCharCode(e+(e>25?39:97))};function Q(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=K(t%52)+n;return(K(t%52)+n).replace(Z,"$1-$2")}var ee=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},te=function(e){return ee(5381,e)};function ne(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(E(n)&&!_(n))return!1}return!0}var re=te("5.3.11"),oe=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic= false&&0,this.componentId=t,this.baseHash=ee(re,t),this.baseStyle=n,X.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var s=_e(this.rules,e,t,n).join(""),i=Q(ee(this.baseHash,s)>>>0);if(!t.hasNameForId(r,i)){var a=n(s,"."+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=ee(this.baseHash,n.hash),l="",d=0;d<c;d++){var h=this.rules[d];if("string"==typeof h)l+=h, true&&(u=ee(u,h+d));else if(h){var p=_e(h,e,t,n),f=Array.isArray(p)?p.join(""):p;u=ee(u,f+d),l+=f}}if(l){var m=Q(u>>>0);if(!t.hasNameForId(r,m)){var y=n(l,"."+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(" ")},e}(),se=/^\s*\/\/.*$/gm,ie=[":","[",".","#"];function ae(e){var t,n,r,o,s=void 0===e?w:e,i=s.options,a=void 0===i?w:i,c=s.plugins,u=void 0===c?S:c,l=new _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__["default"](a),d=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===u)return r+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),"";default:return r+(0===d?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ie.indexOf(s[n.length])||s.match(o)?e:"."+t};function m(e,s,i,a){void 0===a&&(a="&");var c=e.replace(se,""),u=s&&i?i+" "+s+" { "+c+" }":c;return t=a,n=s,r=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),l(i||!s?"":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},p,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||D(15),ee(e,t.name)}),5381).toString():"",m}var ce=react__WEBPACK_IMPORTED_MODULE_1___default().createContext(),ue=ce.Consumer,le=react__WEBPACK_IMPORTED_MODULE_1___default().createContext(),de=(le.Consumer,new X),he=ae();function pe(){return (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(ce)||de}function fe(){return (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(le)||he}function me(e){var t=(0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(e.stylisPlugins),n=t[0],s=t[1],c=pe(),u=(0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=(0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)((function(){return ae({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)((function(){shallowequal__WEBPACK_IMPORTED_MODULE_2___default()(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),react__WEBPACK_IMPORTED_MODULE_1___default().createElement(ce.Provider,{value:u},react__WEBPACK_IMPORTED_MODULE_1___default().createElement(le.Provider,{value:l}, true?react__WEBPACK_IMPORTED_MODULE_1___default().Children.only(e.children):0))}var ye=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=he);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return D(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=he),this.name+e.hash},e}(),ve=/([A-Z])/,ge=/([A-Z])/g,Se=/^ms-/,we=function(e){return"-"+e.toLowerCase()};function Ee(e){return ve.test(e)?e.replace(ge,we).replace(Se,"-ms-"):e}var be=function(e){return null==e||!1===e||""===e};function _e(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a<c;a+=1)""!==(s=_e(e[a],n,r,o))&&(Array.isArray(s)?i.push.apply(i,s):i.push(s));return i}if(be(e))return"";if(_(e))return"."+e.styledComponentId;if(E(e)){if("function"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return true&&(0,react_is__WEBPACK_IMPORTED_MODULE_0__.isElement)(u)&&console.warn(b(e)+" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details."),_e(u,n,r,o)}var l;return e instanceof ye?r?(e.inject(r,o),e.getName(o)):e:g(e)?function e(t,n){var r,o,s=[];for(var i in t)t.hasOwnProperty(i)&&!be(t[i])&&(Array.isArray(t[i])&&t[i].isCss||E(t[i])?s.push(Ee(i)+":",t[i],";"):g(t[i])?s.push.apply(s,e(t[i],i)):s.push(Ee(i)+": "+(r=i,null==(o=t[i])||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||r in _emotion_unitless__WEBPACK_IMPORTED_MODULE_4__["default"]||r.startsWith("--")?String(o).trim():o+"px")+";"));return n?[n+" {"].concat(s,["}"]):s}(e):e.toString()}var Ne=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Ae(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return E(e)||g(e)?Ne(_e(v(S,[e].concat(n)))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:Ne(_e(v(e,n)))}var Ce=/invalid hook call/i,Ie=new Set,Pe=function(e,t){if(true){var n="The component "+e+(t?' with the id of "'+t+'"':"")+" has been created dynamically.\nYou may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.",r=console.error;try{var o=!0;console.error=function(e){if(Ce.test(e))o=!1,Ie.delete(n);else{for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];r.apply(void 0,[e].concat(s))}},(0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(),o&&!Ie.has(n)&&(console.warn(n),Ie.add(n))}catch(e){Ce.test(e.message)&&Ie.delete(n)}finally{console.error=r}}},Oe=function(e,t,n){return void 0===n&&(n=w),e.theme!==n.theme&&e.theme||t||n.theme},Re=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,De=/(^-|-$)/g;function je(e){return e.replace(Re,"-").replace(De,"")}var Te=function(e){return Q(te(e)>>>0)};function xe(e){return"string"==typeof e&&( false||e.charAt(0)===e.charAt(0).toLowerCase())}var ke=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},Ve=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Be(e,t,n){var r=e[n];ke(t)&&ke(r)?ze(r,t):e[n]=t}function ze(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,s=n;o<s.length;o++){var i=s[o];if(ke(i))for(var a in i)Ve(a)&&Be(e,i[a],a)}return e}var Me=react__WEBPACK_IMPORTED_MODULE_1___default().createContext(),Ge=Me.Consumer;function Le(e){var t=(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(Me),n=(0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)((function(){return function(e,t){if(!e)return D(14);if(E(e)){var n=e(t);return false||null!==n&&!Array.isArray(n)&&"object"==typeof n?n:D(7)}return Array.isArray(e)||"object"!=typeof e?D(8):t?y({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?react__WEBPACK_IMPORTED_MODULE_1___default().createElement(Me.Provider,{value:n},e.children):null}var Fe={};function Ye(e,t,n){var o=_(e),i=!xe(e),a=t.attrs,c=void 0===a?S:a,l=t.componentId,d=void 0===l?function(e,t){var n="string"!=typeof e?"sc":je(e);Fe[n]=(Fe[n]||0)+1;var r=n+"-"+Te("5.3.11"+n+Fe[n]);return t?t+"-"+r:r}(t.displayName,t.parentComponentId):l,h=t.displayName,p=void 0===h?function(e){return xe(e)?"styled."+e:"Styled("+b(e)+")"}(e):h,v=t.displayName&&t.componentId?je(t.displayName)+"-"+t.componentId:t.componentId||d,g=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,N=t.shouldForwardProp;o&&e.shouldForwardProp&&(N=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var A,C=new oe(n,v,o?e.componentStyle:void 0),I=C.isStatic&&0===c.length,P=function(e,t){return function(e,t,n,r){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,l=e.shouldForwardProp,d=e.styledComponentId,h=e.target,p=function(e,t,n){void 0===e&&(e=w);var r=y({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,s,i=e;for(t in E(i)&&(i=i(r)),i)r[t]=o[t]="className"===t?(n=o[t],s=i[t],n&&s?n+" "+s:n||s):i[t]})),[r,o]}(Oe(t,(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(Me),a)||w,t,o),m=p[0],v=p[1],g=function(e,t,n,r){var o=pe(),s=fe(),i=t?e.generateAndInjectStyles(w,o,s):e.generateAndInjectStyles(n,o,s);return true&&!t&&r&&r(i),i}(i,r,m, true?e.warnTooManyClasses:0),S=n,b=v.$as||t.$as||v.as||t.as||h,_=xe(b),N=v!==t?y({},t,{},v):t,A={};for(var C in N)"$"!==C[0]&&"as"!==C&&("forwardedAs"===C?A.as=N[C]:(l?l(C,_emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_5__["default"],b):!_||(0,_emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_5__["default"])(C))&&(A[C]=N[C]));return t.style&&v.style!==t.style&&(A.style=y({},t.style,{},v.style)),A.className=Array.prototype.concat(c,d,g!==d?g:null,t.className,v.className).filter(Boolean).join(" "),A.ref=S,(0,react__WEBPACK_IMPORTED_MODULE_1__.createElement)(b,A)}(A,e,t,I)};return P.displayName=p,(A=react__WEBPACK_IMPORTED_MODULE_1___default().forwardRef(P)).attrs=g,A.componentStyle=C,A.displayName=p,A.shouldForwardProp=N,A.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):S,A.styledComponentId=v,A.target=o?e.target:e,A.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["componentId"]),s=r&&r+"-"+(xe(e)?e:je(b(e)));return Ye(e,y({},o,{attrs:g,componentId:s}),n)},Object.defineProperty(A,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?ze({},e.defaultProps,t):t}}), true&&(Pe(p,v),A.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of "'+t+'"':"";console.warn("Over 200 classes were generated for component "+e+s+".\nConsider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"),r=!0,n={}}}}(p,v)),Object.defineProperty(A,"toString",{value:function(){return"."+A.styledComponentId}}),i&&hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default()(A,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),A}var qe=function(e){return function e(t,r,o){if(void 0===o&&(o=w),!(0,react_is__WEBPACK_IMPORTED_MODULE_0__.isValidElementType)(r))return D(1,String(r));var s=function(){return t(r,o,Ae.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,y({},o,{},n))},s.attrs=function(n){return e(t,r,y({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(Ye,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){qe[e]=qe(e)}));var He=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=ne(e),X.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(_e(this.rules,t,n,r).join(""),""),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&X.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function $e(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=Ae.apply(void 0,[e].concat(n)),a="sc-global-"+Te(JSON.stringify(i)),u=new He(i,a);function d(e){var t=pe(),n=fe(),o=(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(Me),d=(0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(t.allocateGSInstance(a)).current;return true&&react__WEBPACK_IMPORTED_MODULE_1___default().Children.count(e.children)&&console.warn("The global style component "+a+" was given child JSX. createGlobalStyle does not render children."), true&&i.some((function(e){return"string"==typeof e&&-1!==e.indexOf("@import")}))&&console.warn("Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app."),t.server&&h(d,e,t,o,n),(0,react__WEBPACK_IMPORTED_MODULE_1__.useLayoutEffect)((function(){if(!t.server)return h(d,e,t,o,n),function(){return u.removeStyles(d,t)}}),[d,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,P,n,o);else{var s=y({},t,{theme:Oe(t,r,d.defaultProps)});u.renderStyles(e,s,n,o)}}return true&&Pe(a),react__WEBPACK_IMPORTED_MODULE_1___default().memo(d)}function We(e){ true&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ae.apply(void 0,[e].concat(n)).join(""),s=Te(o);return new ye(s,o)}var Ue=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=Y();return"<style "+[n&&'nonce="'+n+'"',N+'="true"','data-styled-version="5.3.11"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?D(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return D(2);var n=((t={})[N]="",t["data-styled-version"]="5.3.11",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=Y();return o&&(n.nonce=o),[react__WEBPACK_IMPORTED_MODULE_1___default().createElement("style",y({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new X({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?D(2):react__WEBPACK_IMPORTED_MODULE_1___default().createElement(me,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return D(3)},e}(),Je=function(e){var t=react__WEBPACK_IMPORTED_MODULE_1___default().forwardRef((function(t,n){var o=(0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(Me),i=e.defaultProps,a=Oe(t,o,i);return true&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class "'+b(e)+'"'),react__WEBPACK_IMPORTED_MODULE_1___default().createElement(e,y({},t,{theme:a,ref:n}))}));return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default()(t,e),t.displayName="WithTheme("+b(e)+")",t},Xe=function(){return (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(Me)},Ze={StyleSheet:X,masterSheet:de}; true&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native"), true&&"undefined"!=typeof window&&(window["__styled-components-init__"]=window["__styled-components-init__"]||0,1===window["__styled-components-init__"]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window["__styled-components-init__"]+=1);/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (qe);
11139 //# sourceMappingURL=styled-components.browser.esm.js.map
11140
11141
11142 /***/ }),
11143
11144 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11145 /*!*****************************************************************************************************!*\
11146 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11147 \*****************************************************************************************************/
11148 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11149
11150 "use strict";
11151 __webpack_require__.r(__webpack_exports__);
11152 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11153 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11154 /* harmony export */ });
11155 var unitlessKeys = {
11156 animationIterationCount: 1,
11157 borderImageOutset: 1,
11158 borderImageSlice: 1,
11159 borderImageWidth: 1,
11160 boxFlex: 1,
11161 boxFlexGroup: 1,
11162 boxOrdinalGroup: 1,
11163 columnCount: 1,
11164 columns: 1,
11165 flex: 1,
11166 flexGrow: 1,
11167 flexPositive: 1,
11168 flexShrink: 1,
11169 flexNegative: 1,
11170 flexOrder: 1,
11171 gridRow: 1,
11172 gridRowEnd: 1,
11173 gridRowSpan: 1,
11174 gridRowStart: 1,
11175 gridColumn: 1,
11176 gridColumnEnd: 1,
11177 gridColumnSpan: 1,
11178 gridColumnStart: 1,
11179 msGridRow: 1,
11180 msGridRowSpan: 1,
11181 msGridColumn: 1,
11182 msGridColumnSpan: 1,
11183 fontWeight: 1,
11184 lineHeight: 1,
11185 opacity: 1,
11186 order: 1,
11187 orphans: 1,
11188 tabSize: 1,
11189 widows: 1,
11190 zIndex: 1,
11191 zoom: 1,
11192 WebkitLineClamp: 1,
11193 // SVG-related properties
11194 fillOpacity: 1,
11195 floodOpacity: 1,
11196 stopOpacity: 1,
11197 strokeDasharray: 1,
11198 strokeDashoffset: 1,
11199 strokeMiterlimit: 1,
11200 strokeOpacity: 1,
11201 strokeWidth: 1
11202 };
11203
11204 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11205
11206
11207 /***/ }),
11208
11209 /***/ "../node_modules/validator/lib/isFQDN.js":
11210 /*!***********************************************!*\
11211 !*** ../node_modules/validator/lib/isFQDN.js ***!
11212 \***********************************************/
11213 /***/ ((module, exports, __webpack_require__) => {
11214
11215 "use strict";
11216
11217
11218 Object.defineProperty(exports, "__esModule", ({
11219 value: true
11220 }));
11221 exports["default"] = isFQDN;
11222
11223 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11224
11225 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11226
11227 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11228
11229 var default_fqdn_options = {
11230 require_tld: true,
11231 allow_underscores: false,
11232 allow_trailing_dot: false,
11233 allow_numeric_tld: false,
11234 allow_wildcard: false,
11235 ignore_max_length: false
11236 };
11237
11238 function isFQDN(str, options) {
11239 (0, _assertString.default)(str);
11240 options = (0, _merge.default)(options, default_fqdn_options);
11241 /* Remove the optional trailing dot before checking validity */
11242
11243 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11244 str = str.substring(0, str.length - 1);
11245 }
11246 /* Remove the optional wildcard before checking validity */
11247
11248
11249 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11250 str = str.substring(2);
11251 }
11252
11253 var parts = str.split('.');
11254 var tld = parts[parts.length - 1];
11255
11256 if (options.require_tld) {
11257 // disallow fqdns without tld
11258 if (parts.length < 2) {
11259 return false;
11260 }
11261
11262 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11263 return false;
11264 } // disallow spaces
11265
11266
11267 if (/\s/.test(tld)) {
11268 return false;
11269 }
11270 } // reject numeric TLDs
11271
11272
11273 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11274 return false;
11275 }
11276
11277 return parts.every(function (part) {
11278 if (part.length > 63 && !options.ignore_max_length) {
11279 return false;
11280 }
11281
11282 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11283 return false;
11284 } // disallow full-width chars
11285
11286
11287 if (/[\uff01-\uff5e]/.test(part)) {
11288 return false;
11289 } // disallow parts starting or ending with hyphen
11290
11291
11292 if (/^-|-$/.test(part)) {
11293 return false;
11294 }
11295
11296 if (!options.allow_underscores && /_/.test(part)) {
11297 return false;
11298 }
11299
11300 return true;
11301 });
11302 }
11303
11304 module.exports = exports.default;
11305 module.exports["default"] = exports.default;
11306
11307 /***/ }),
11308
11309 /***/ "../node_modules/validator/lib/isIP.js":
11310 /*!*********************************************!*\
11311 !*** ../node_modules/validator/lib/isIP.js ***!
11312 \*********************************************/
11313 /***/ ((module, exports, __webpack_require__) => {
11314
11315 "use strict";
11316
11317
11318 Object.defineProperty(exports, "__esModule", ({
11319 value: true
11320 }));
11321 exports["default"] = isIP;
11322
11323 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11324
11325 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11326
11327 /**
11328 11.3. Examples
11329
11330 The following addresses
11331
11332 fe80::1234 (on the 1st link of the node)
11333 ff02::5678 (on the 5th link of the node)
11334 ff08::9abc (on the 10th organization of the node)
11335
11336 would be represented as follows:
11337
11338 fe80::1234%1
11339 ff02::5678%5
11340 ff08::9abc%10
11341
11342 (Here we assume a natural translation from a zone index to the
11343 <zone_id> part, where the Nth zone of any scope is translated into
11344 "N".)
11345
11346 If we use interface names as <zone_id>, those addresses could also be
11347 represented as follows:
11348
11349 fe80::1234%ne0
11350 ff02::5678%pvc1.3
11351 ff08::9abc%interface10
11352
11353 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11354 to the 5th link, and "interface10" belongs to the 10th organization.
11355 * * */
11356 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11357 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11358 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11359 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11360 var IPv6AddressRegExp = new RegExp('^(' + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ')(%[0-9a-zA-Z-.:]{1,})?$');
11361
11362 function isIP(str) {
11363 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11364 (0, _assertString.default)(str);
11365 version = String(version);
11366
11367 if (!version) {
11368 return isIP(str, 4) || isIP(str, 6);
11369 }
11370
11371 if (version === '4') {
11372 return IPv4AddressRegExp.test(str);
11373 }
11374
11375 if (version === '6') {
11376 return IPv6AddressRegExp.test(str);
11377 }
11378
11379 return false;
11380 }
11381
11382 module.exports = exports.default;
11383 module.exports["default"] = exports.default;
11384
11385 /***/ }),
11386
11387 /***/ "../node_modules/validator/lib/isURL.js":
11388 /*!**********************************************!*\
11389 !*** ../node_modules/validator/lib/isURL.js ***!
11390 \**********************************************/
11391 /***/ ((module, exports, __webpack_require__) => {
11392
11393 "use strict";
11394
11395
11396 Object.defineProperty(exports, "__esModule", ({
11397 value: true
11398 }));
11399 exports["default"] = isURL;
11400
11401 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11402
11403 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11404
11405 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11406
11407 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11408
11409 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11410
11411 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11412
11413 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."); }
11414
11415 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); }
11416
11417 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; }
11418
11419 function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_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; }
11420
11421 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11422
11423 /*
11424 options for isURL method
11425
11426 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11427 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11428 protocols - valid protocols can be modified with this option
11429 require_host - if set as false isURL will not check if host is present in the URL
11430 require_port - if set as true isURL will check if port is present in the URL
11431 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11432 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11433
11434 */
11435 var default_url_options = {
11436 protocols: ['http', 'https', 'ftp'],
11437 require_tld: true,
11438 require_protocol: false,
11439 require_host: true,
11440 require_port: false,
11441 require_valid_protocol: true,
11442 allow_underscores: false,
11443 allow_trailing_dot: false,
11444 allow_protocol_relative_urls: false,
11445 allow_fragments: true,
11446 allow_query_components: true,
11447 validate_length: true
11448 };
11449 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11450
11451 function isRegExp(obj) {
11452 return Object.prototype.toString.call(obj) === '[object RegExp]';
11453 }
11454
11455 function checkHost(host, matches) {
11456 for (var i = 0; i < matches.length; i++) {
11457 var match = matches[i];
11458
11459 if (host === match || isRegExp(match) && match.test(host)) {
11460 return true;
11461 }
11462 }
11463
11464 return false;
11465 }
11466
11467 function isURL(url, options) {
11468 (0, _assertString.default)(url);
11469
11470 if (!url || /[\s<>]/.test(url)) {
11471 return false;
11472 }
11473
11474 if (url.indexOf('mailto:') === 0) {
11475 return false;
11476 }
11477
11478 options = (0, _merge.default)(options, default_url_options);
11479
11480 if (options.validate_length && url.length >= 2083) {
11481 return false;
11482 }
11483
11484 if (!options.allow_fragments && url.includes('#')) {
11485 return false;
11486 }
11487
11488 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11489 return false;
11490 }
11491
11492 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11493 split = url.split('#');
11494 url = split.shift();
11495 split = url.split('?');
11496 url = split.shift();
11497 split = url.split('://');
11498
11499 if (split.length > 1) {
11500 protocol = split.shift().toLowerCase();
11501
11502 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11503 return false;
11504 }
11505 } else if (options.require_protocol) {
11506 return false;
11507 } else if (url.slice(0, 2) === '//') {
11508 if (!options.allow_protocol_relative_urls) {
11509 return false;
11510 }
11511
11512 split[0] = url.slice(2);
11513 }
11514
11515 url = split.join('://');
11516
11517 if (url === '') {
11518 return false;
11519 }
11520
11521 split = url.split('/');
11522 url = split.shift();
11523
11524 if (url === '' && !options.require_host) {
11525 return true;
11526 }
11527
11528 split = url.split('@');
11529
11530 if (split.length > 1) {
11531 if (options.disallow_auth) {
11532 return false;
11533 }
11534
11535 if (split[0] === '') {
11536 return false;
11537 }
11538
11539 auth = split.shift();
11540
11541 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11542 return false;
11543 }
11544
11545 var _auth$split = auth.split(':'),
11546 _auth$split2 = _slicedToArray(_auth$split, 2),
11547 user = _auth$split2[0],
11548 password = _auth$split2[1];
11549
11550 if (user === '' && password === '') {
11551 return false;
11552 }
11553 }
11554
11555 hostname = split.join('@');
11556 port_str = null;
11557 ipv6 = null;
11558 var ipv6_match = hostname.match(wrapped_ipv6);
11559
11560 if (ipv6_match) {
11561 host = '';
11562 ipv6 = ipv6_match[1];
11563 port_str = ipv6_match[2] || null;
11564 } else {
11565 split = hostname.split(':');
11566 host = split.shift();
11567
11568 if (split.length) {
11569 port_str = split.join(':');
11570 }
11571 }
11572
11573 if (port_str !== null && port_str.length > 0) {
11574 port = parseInt(port_str, 10);
11575
11576 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11577 return false;
11578 }
11579 } else if (options.require_port) {
11580 return false;
11581 }
11582
11583 if (options.host_whitelist) {
11584 return checkHost(host, options.host_whitelist);
11585 }
11586
11587 if (host === '' && !options.require_host) {
11588 return true;
11589 }
11590
11591 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11592 return false;
11593 }
11594
11595 host = host || ipv6;
11596
11597 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11598 return false;
11599 }
11600
11601 return true;
11602 }
11603
11604 module.exports = exports.default;
11605 module.exports["default"] = exports.default;
11606
11607 /***/ }),
11608
11609 /***/ "../node_modules/validator/lib/util/assertString.js":
11610 /*!**********************************************************!*\
11611 !*** ../node_modules/validator/lib/util/assertString.js ***!
11612 \**********************************************************/
11613 /***/ ((module, exports) => {
11614
11615 "use strict";
11616
11617
11618 Object.defineProperty(exports, "__esModule", ({
11619 value: true
11620 }));
11621 exports["default"] = assertString;
11622
11623 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
11624
11625 function assertString(input) {
11626 var isString = typeof input === 'string' || input instanceof String;
11627
11628 if (!isString) {
11629 var invalidType = _typeof(input);
11630
11631 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11632 throw new TypeError("Expected a string but received a ".concat(invalidType));
11633 }
11634 }
11635
11636 module.exports = exports.default;
11637 module.exports["default"] = exports.default;
11638
11639 /***/ }),
11640
11641 /***/ "../node_modules/validator/lib/util/merge.js":
11642 /*!***************************************************!*\
11643 !*** ../node_modules/validator/lib/util/merge.js ***!
11644 \***************************************************/
11645 /***/ ((module, exports) => {
11646
11647 "use strict";
11648
11649
11650 Object.defineProperty(exports, "__esModule", ({
11651 value: true
11652 }));
11653 exports["default"] = merge;
11654
11655 function merge() {
11656 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11657 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11658
11659 for (var key in defaults) {
11660 if (typeof obj[key] === 'undefined') {
11661 obj[key] = defaults[key];
11662 }
11663 }
11664
11665 return obj;
11666 }
11667
11668 module.exports = exports.default;
11669 module.exports["default"] = exports.default;
11670
11671 /***/ }),
11672
11673 /***/ "react":
11674 /*!************************!*\
11675 !*** external "React" ***!
11676 \************************/
11677 /***/ ((module) => {
11678
11679 "use strict";
11680 module.exports = React;
11681
11682 /***/ }),
11683
11684 /***/ "react-dom":
11685 /*!***************************!*\
11686 !*** external "ReactDOM" ***!
11687 \***************************/
11688 /***/ ((module) => {
11689
11690 "use strict";
11691 module.exports = ReactDOM;
11692
11693 /***/ }),
11694
11695 /***/ "@elementor/icons":
11696 /*!************************************!*\
11697 !*** external "elementorV2.icons" ***!
11698 \************************************/
11699 /***/ ((module) => {
11700
11701 "use strict";
11702 module.exports = elementorV2.icons;
11703
11704 /***/ }),
11705
11706 /***/ "@elementor/ui":
11707 /*!*********************************!*\
11708 !*** external "elementorV2.ui" ***!
11709 \*********************************/
11710 /***/ ((module) => {
11711
11712 "use strict";
11713 module.exports = elementorV2.ui;
11714
11715 /***/ }),
11716
11717 /***/ "@wordpress/i18n":
11718 /*!**************************!*\
11719 !*** external "wp.i18n" ***!
11720 \**************************/
11721 /***/ ((module) => {
11722
11723 "use strict";
11724 module.exports = wp.i18n;
11725
11726 /***/ }),
11727
11728 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11729 /*!******************************************************************!*\
11730 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
11731 \******************************************************************/
11732 /***/ ((module) => {
11733
11734 function _arrayLikeToArray(arr, len) {
11735 if (len == null || len > arr.length) len = arr.length;
11736 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11737 return arr2;
11738 }
11739 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11740
11741 /***/ }),
11742
11743 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
11744 /*!****************************************************************!*\
11745 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
11746 \****************************************************************/
11747 /***/ ((module) => {
11748
11749 function _arrayWithHoles(arr) {
11750 if (Array.isArray(arr)) return arr;
11751 }
11752 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11753
11754 /***/ }),
11755
11756 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
11757 /*!*******************************************************************!*\
11758 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
11759 \*******************************************************************/
11760 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11761
11762 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
11763 function _arrayWithoutHoles(arr) {
11764 if (Array.isArray(arr)) return arrayLikeToArray(arr);
11765 }
11766 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11767
11768 /***/ }),
11769
11770 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
11771 /*!***********************************************************************!*\
11772 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
11773 \***********************************************************************/
11774 /***/ ((module) => {
11775
11776 function _assertThisInitialized(self) {
11777 if (self === void 0) {
11778 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
11779 }
11780 return self;
11781 }
11782 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
11783
11784 /***/ }),
11785
11786 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
11787 /*!******************************************************************!*\
11788 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
11789 \******************************************************************/
11790 /***/ ((module) => {
11791
11792 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11793 try {
11794 var info = gen[key](arg);
11795 var value = info.value;
11796 } catch (error) {
11797 reject(error);
11798 return;
11799 }
11800 if (info.done) {
11801 resolve(value);
11802 } else {
11803 Promise.resolve(value).then(_next, _throw);
11804 }
11805 }
11806 function _asyncToGenerator(fn) {
11807 return function () {
11808 var self = this,
11809 args = arguments;
11810 return new Promise(function (resolve, reject) {
11811 var gen = fn.apply(self, args);
11812 function _next(value) {
11813 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
11814 }
11815 function _throw(err) {
11816 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
11817 }
11818 _next(undefined);
11819 });
11820 };
11821 }
11822 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
11823
11824 /***/ }),
11825
11826 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
11827 /*!****************************************************************!*\
11828 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
11829 \****************************************************************/
11830 /***/ ((module) => {
11831
11832 function _classCallCheck(instance, Constructor) {
11833 if (!(instance instanceof Constructor)) {
11834 throw new TypeError("Cannot call a class as a function");
11835 }
11836 }
11837 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
11838
11839 /***/ }),
11840
11841 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
11842 /*!*************************************************************!*\
11843 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
11844 \*************************************************************/
11845 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11846
11847 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11848 function _defineProperties(target, props) {
11849 for (var i = 0; i < props.length; i++) {
11850 var descriptor = props[i];
11851 descriptor.enumerable = descriptor.enumerable || false;
11852 descriptor.configurable = true;
11853 if ("value" in descriptor) descriptor.writable = true;
11854 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
11855 }
11856 }
11857 function _createClass(Constructor, protoProps, staticProps) {
11858 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
11859 if (staticProps) _defineProperties(Constructor, staticProps);
11860 Object.defineProperty(Constructor, "prototype", {
11861 writable: false
11862 });
11863 return Constructor;
11864 }
11865 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
11866
11867 /***/ }),
11868
11869 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
11870 /*!****************************************************************!*\
11871 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
11872 \****************************************************************/
11873 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11874
11875 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11876 function _defineProperty(obj, key, value) {
11877 key = toPropertyKey(key);
11878 if (key in obj) {
11879 Object.defineProperty(obj, key, {
11880 value: value,
11881 enumerable: true,
11882 configurable: true,
11883 writable: true
11884 });
11885 } else {
11886 obj[key] = value;
11887 }
11888 return obj;
11889 }
11890 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
11891
11892 /***/ }),
11893
11894 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
11895 /*!*********************************************************!*\
11896 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
11897 \*********************************************************/
11898 /***/ ((module) => {
11899
11900 function _extends() {
11901 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
11902 for (var i = 1; i < arguments.length; i++) {
11903 var source = arguments[i];
11904 for (var key in source) {
11905 if (Object.prototype.hasOwnProperty.call(source, key)) {
11906 target[key] = source[key];
11907 }
11908 }
11909 }
11910 return target;
11911 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
11912 return _extends.apply(this, arguments);
11913 }
11914 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
11915
11916 /***/ }),
11917
11918 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
11919 /*!****************************************************************!*\
11920 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
11921 \****************************************************************/
11922 /***/ ((module) => {
11923
11924 function _getPrototypeOf(o) {
11925 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
11926 return o.__proto__ || Object.getPrototypeOf(o);
11927 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
11928 return _getPrototypeOf(o);
11929 }
11930 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
11931
11932 /***/ }),
11933
11934 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
11935 /*!**********************************************************!*\
11936 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
11937 \**********************************************************/
11938 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11939
11940 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
11941 function _inherits(subClass, superClass) {
11942 if (typeof superClass !== "function" && superClass !== null) {
11943 throw new TypeError("Super expression must either be null or a function");
11944 }
11945 subClass.prototype = Object.create(superClass && superClass.prototype, {
11946 constructor: {
11947 value: subClass,
11948 writable: true,
11949 configurable: true
11950 }
11951 });
11952 Object.defineProperty(subClass, "prototype", {
11953 writable: false
11954 });
11955 if (superClass) setPrototypeOf(subClass, superClass);
11956 }
11957 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
11958
11959 /***/ }),
11960
11961 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
11962 /*!***********************************************************************!*\
11963 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
11964 \***********************************************************************/
11965 /***/ ((module) => {
11966
11967 function _interopRequireDefault(obj) {
11968 return obj && obj.__esModule ? obj : {
11969 "default": obj
11970 };
11971 }
11972 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
11973
11974 /***/ }),
11975
11976 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
11977 /*!*****************************************************************!*\
11978 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
11979 \*****************************************************************/
11980 /***/ ((module) => {
11981
11982 function _iterableToArray(iter) {
11983 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11984 }
11985 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11986
11987 /***/ }),
11988
11989 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
11990 /*!**********************************************************************!*\
11991 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
11992 \**********************************************************************/
11993 /***/ ((module) => {
11994
11995 function _iterableToArrayLimit(r, l) {
11996 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
11997 if (null != t) {
11998 var e,
11999 n,
12000 i,
12001 u,
12002 a = [],
12003 f = !0,
12004 o = !1;
12005 try {
12006 if (i = (t = t.call(r)).next, 0 === l) {
12007 if (Object(t) !== t) return;
12008 f = !1;
12009 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12010 } catch (r) {
12011 o = !0, n = r;
12012 } finally {
12013 try {
12014 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12015 } finally {
12016 if (o) throw n;
12017 }
12018 }
12019 return a;
12020 }
12021 }
12022 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12023
12024 /***/ }),
12025
12026 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12027 /*!*****************************************************************!*\
12028 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12029 \*****************************************************************/
12030 /***/ ((module) => {
12031
12032 function _nonIterableRest() {
12033 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12034 }
12035 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12036
12037 /***/ }),
12038
12039 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12040 /*!*******************************************************************!*\
12041 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12042 \*******************************************************************/
12043 /***/ ((module) => {
12044
12045 function _nonIterableSpread() {
12046 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12047 }
12048 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12049
12050 /***/ }),
12051
12052 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12053 /*!*************************************************************************!*\
12054 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12055 \*************************************************************************/
12056 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12057
12058 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12059 function _objectWithoutProperties(source, excluded) {
12060 if (source == null) return {};
12061 var target = objectWithoutPropertiesLoose(source, excluded);
12062 var key, i;
12063 if (Object.getOwnPropertySymbols) {
12064 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12065 for (i = 0; i < sourceSymbolKeys.length; i++) {
12066 key = sourceSymbolKeys[i];
12067 if (excluded.indexOf(key) >= 0) continue;
12068 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12069 target[key] = source[key];
12070 }
12071 }
12072 return target;
12073 }
12074 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12075
12076 /***/ }),
12077
12078 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12079 /*!******************************************************************************!*\
12080 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12081 \******************************************************************************/
12082 /***/ ((module) => {
12083
12084 function _objectWithoutPropertiesLoose(source, excluded) {
12085 if (source == null) return {};
12086 var target = {};
12087 var sourceKeys = Object.keys(source);
12088 var key, i;
12089 for (i = 0; i < sourceKeys.length; i++) {
12090 key = sourceKeys[i];
12091 if (excluded.indexOf(key) >= 0) continue;
12092 target[key] = source[key];
12093 }
12094 return target;
12095 }
12096 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12097
12098 /***/ }),
12099
12100 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12101 /*!***************************************************************************!*\
12102 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12103 \***************************************************************************/
12104 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12105
12106 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12107 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12108 function _possibleConstructorReturn(self, call) {
12109 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12110 return call;
12111 } else if (call !== void 0) {
12112 throw new TypeError("Derived constructors may only return object or undefined");
12113 }
12114 return assertThisInitialized(self);
12115 }
12116 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12117
12118 /***/ }),
12119
12120 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12121 /*!********************************************************************!*\
12122 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12123 \********************************************************************/
12124 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12125
12126 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12127 function _regeneratorRuntime() {
12128 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12129 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12130 return e;
12131 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12132 var t,
12133 e = {},
12134 r = Object.prototype,
12135 n = r.hasOwnProperty,
12136 o = Object.defineProperty || function (t, e, r) {
12137 t[e] = r.value;
12138 },
12139 i = "function" == typeof Symbol ? Symbol : {},
12140 a = i.iterator || "@@iterator",
12141 c = i.asyncIterator || "@@asyncIterator",
12142 u = i.toStringTag || "@@toStringTag";
12143 function define(t, e, r) {
12144 return Object.defineProperty(t, e, {
12145 value: r,
12146 enumerable: !0,
12147 configurable: !0,
12148 writable: !0
12149 }), t[e];
12150 }
12151 try {
12152 define({}, "");
12153 } catch (t) {
12154 define = function define(t, e, r) {
12155 return t[e] = r;
12156 };
12157 }
12158 function wrap(t, e, r, n) {
12159 var i = e && e.prototype instanceof Generator ? e : Generator,
12160 a = Object.create(i.prototype),
12161 c = new Context(n || []);
12162 return o(a, "_invoke", {
12163 value: makeInvokeMethod(t, r, c)
12164 }), a;
12165 }
12166 function tryCatch(t, e, r) {
12167 try {
12168 return {
12169 type: "normal",
12170 arg: t.call(e, r)
12171 };
12172 } catch (t) {
12173 return {
12174 type: "throw",
12175 arg: t
12176 };
12177 }
12178 }
12179 e.wrap = wrap;
12180 var h = "suspendedStart",
12181 l = "suspendedYield",
12182 f = "executing",
12183 s = "completed",
12184 y = {};
12185 function Generator() {}
12186 function GeneratorFunction() {}
12187 function GeneratorFunctionPrototype() {}
12188 var p = {};
12189 define(p, a, function () {
12190 return this;
12191 });
12192 var d = Object.getPrototypeOf,
12193 v = d && d(d(values([])));
12194 v && v !== r && n.call(v, a) && (p = v);
12195 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12196 function defineIteratorMethods(t) {
12197 ["next", "throw", "return"].forEach(function (e) {
12198 define(t, e, function (t) {
12199 return this._invoke(e, t);
12200 });
12201 });
12202 }
12203 function AsyncIterator(t, e) {
12204 function invoke(r, o, i, a) {
12205 var c = tryCatch(t[r], t, o);
12206 if ("throw" !== c.type) {
12207 var u = c.arg,
12208 h = u.value;
12209 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12210 invoke("next", t, i, a);
12211 }, function (t) {
12212 invoke("throw", t, i, a);
12213 }) : e.resolve(h).then(function (t) {
12214 u.value = t, i(u);
12215 }, function (t) {
12216 return invoke("throw", t, i, a);
12217 });
12218 }
12219 a(c.arg);
12220 }
12221 var r;
12222 o(this, "_invoke", {
12223 value: function value(t, n) {
12224 function callInvokeWithMethodAndArg() {
12225 return new e(function (e, r) {
12226 invoke(t, n, e, r);
12227 });
12228 }
12229 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12230 }
12231 });
12232 }
12233 function makeInvokeMethod(e, r, n) {
12234 var o = h;
12235 return function (i, a) {
12236 if (o === f) throw new Error("Generator is already running");
12237 if (o === s) {
12238 if ("throw" === i) throw a;
12239 return {
12240 value: t,
12241 done: !0
12242 };
12243 }
12244 for (n.method = i, n.arg = a;;) {
12245 var c = n.delegate;
12246 if (c) {
12247 var u = maybeInvokeDelegate(c, n);
12248 if (u) {
12249 if (u === y) continue;
12250 return u;
12251 }
12252 }
12253 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12254 if (o === h) throw o = s, n.arg;
12255 n.dispatchException(n.arg);
12256 } else "return" === n.method && n.abrupt("return", n.arg);
12257 o = f;
12258 var p = tryCatch(e, r, n);
12259 if ("normal" === p.type) {
12260 if (o = n.done ? s : l, p.arg === y) continue;
12261 return {
12262 value: p.arg,
12263 done: n.done
12264 };
12265 }
12266 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12267 }
12268 };
12269 }
12270 function maybeInvokeDelegate(e, r) {
12271 var n = r.method,
12272 o = e.iterator[n];
12273 if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
12274 var i = tryCatch(o, e.iterator, r.arg);
12275 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12276 var a = i.arg;
12277 return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
12278 }
12279 function pushTryEntry(t) {
12280 var e = {
12281 tryLoc: t[0]
12282 };
12283 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12284 }
12285 function resetTryEntry(t) {
12286 var e = t.completion || {};
12287 e.type = "normal", delete e.arg, t.completion = e;
12288 }
12289 function Context(t) {
12290 this.tryEntries = [{
12291 tryLoc: "root"
12292 }], t.forEach(pushTryEntry, this), this.reset(!0);
12293 }
12294 function values(e) {
12295 if (e || "" === e) {
12296 var r = e[a];
12297 if (r) return r.call(e);
12298 if ("function" == typeof e.next) return e;
12299 if (!isNaN(e.length)) {
12300 var o = -1,
12301 i = function next() {
12302 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12303 return next.value = t, next.done = !0, next;
12304 };
12305 return i.next = i;
12306 }
12307 }
12308 throw new TypeError(_typeof(e) + " is not iterable");
12309 }
12310 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12311 value: GeneratorFunctionPrototype,
12312 configurable: !0
12313 }), o(GeneratorFunctionPrototype, "constructor", {
12314 value: GeneratorFunction,
12315 configurable: !0
12316 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12317 var e = "function" == typeof t && t.constructor;
12318 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12319 }, e.mark = function (t) {
12320 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12321 }, e.awrap = function (t) {
12322 return {
12323 __await: t
12324 };
12325 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12326 return this;
12327 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12328 void 0 === i && (i = Promise);
12329 var a = new AsyncIterator(wrap(t, r, n, o), i);
12330 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12331 return t.done ? t.value : a.next();
12332 });
12333 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12334 return this;
12335 }), define(g, "toString", function () {
12336 return "[object Generator]";
12337 }), e.keys = function (t) {
12338 var e = Object(t),
12339 r = [];
12340 for (var n in e) r.push(n);
12341 return r.reverse(), function next() {
12342 for (; r.length;) {
12343 var t = r.pop();
12344 if (t in e) return next.value = t, next.done = !1, next;
12345 }
12346 return next.done = !0, next;
12347 };
12348 }, e.values = values, Context.prototype = {
12349 constructor: Context,
12350 reset: function reset(e) {
12351 if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
12352 },
12353 stop: function stop() {
12354 this.done = !0;
12355 var t = this.tryEntries[0].completion;
12356 if ("throw" === t.type) throw t.arg;
12357 return this.rval;
12358 },
12359 dispatchException: function dispatchException(e) {
12360 if (this.done) throw e;
12361 var r = this;
12362 function handle(n, o) {
12363 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12364 }
12365 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12366 var i = this.tryEntries[o],
12367 a = i.completion;
12368 if ("root" === i.tryLoc) return handle("end");
12369 if (i.tryLoc <= this.prev) {
12370 var c = n.call(i, "catchLoc"),
12371 u = n.call(i, "finallyLoc");
12372 if (c && u) {
12373 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12374 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12375 } else if (c) {
12376 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12377 } else {
12378 if (!u) throw new Error("try statement without catch or finally");
12379 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12380 }
12381 }
12382 }
12383 },
12384 abrupt: function abrupt(t, e) {
12385 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12386 var o = this.tryEntries[r];
12387 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12388 var i = o;
12389 break;
12390 }
12391 }
12392 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12393 var a = i ? i.completion : {};
12394 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12395 },
12396 complete: function complete(t, e) {
12397 if ("throw" === t.type) throw t.arg;
12398 return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
12399 },
12400 finish: function finish(t) {
12401 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12402 var r = this.tryEntries[e];
12403 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12404 }
12405 },
12406 "catch": function _catch(t) {
12407 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12408 var r = this.tryEntries[e];
12409 if (r.tryLoc === t) {
12410 var n = r.completion;
12411 if ("throw" === n.type) {
12412 var o = n.arg;
12413 resetTryEntry(r);
12414 }
12415 return o;
12416 }
12417 }
12418 throw new Error("illegal catch attempt");
12419 },
12420 delegateYield: function delegateYield(e, r, n) {
12421 return this.delegate = {
12422 iterator: values(e),
12423 resultName: r,
12424 nextLoc: n
12425 }, "next" === this.method && (this.arg = t), y;
12426 }
12427 }, e;
12428 }
12429 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12430
12431 /***/ }),
12432
12433 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12434 /*!****************************************************************!*\
12435 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12436 \****************************************************************/
12437 /***/ ((module) => {
12438
12439 function _setPrototypeOf(o, p) {
12440 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12441 o.__proto__ = p;
12442 return o;
12443 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12444 return _setPrototypeOf(o, p);
12445 }
12446 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12447
12448 /***/ }),
12449
12450 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12451 /*!***************************************************************!*\
12452 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12453 \***************************************************************/
12454 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12455
12456 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12457 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12458 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12459 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12460 function _slicedToArray(arr, i) {
12461 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12462 }
12463 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12464
12465 /***/ }),
12466
12467 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12468 /*!***********************************************************************!*\
12469 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12470 \***********************************************************************/
12471 /***/ ((module) => {
12472
12473 function _taggedTemplateLiteral(strings, raw) {
12474 if (!raw) {
12475 raw = strings.slice(0);
12476 }
12477 return Object.freeze(Object.defineProperties(strings, {
12478 raw: {
12479 value: Object.freeze(raw)
12480 }
12481 }));
12482 }
12483 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12484
12485 /***/ }),
12486
12487 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12488 /*!*******************************************************************!*\
12489 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12490 \*******************************************************************/
12491 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12492
12493 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12494 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12495 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12496 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12497 function _toConsumableArray(arr) {
12498 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12499 }
12500 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12501
12502 /***/ }),
12503
12504 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12505 /*!*************************************************************!*\
12506 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12507 \*************************************************************/
12508 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12509
12510 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12511 function _toPrimitive(input, hint) {
12512 if (_typeof(input) !== "object" || input === null) return input;
12513 var prim = input[Symbol.toPrimitive];
12514 if (prim !== undefined) {
12515 var res = prim.call(input, hint || "default");
12516 if (_typeof(res) !== "object") return res;
12517 throw new TypeError("@@toPrimitive must return a primitive value.");
12518 }
12519 return (hint === "string" ? String : Number)(input);
12520 }
12521 module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12522
12523 /***/ }),
12524
12525 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12526 /*!***************************************************************!*\
12527 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12528 \***************************************************************/
12529 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12530
12531 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12532 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12533 function _toPropertyKey(arg) {
12534 var key = toPrimitive(arg, "string");
12535 return _typeof(key) === "symbol" ? key : String(key);
12536 }
12537 module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12538
12539 /***/ }),
12540
12541 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12542 /*!********************************************************!*\
12543 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12544 \********************************************************/
12545 /***/ ((module) => {
12546
12547 function _typeof(o) {
12548 "@babel/helpers - typeof";
12549
12550 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12551 return typeof o;
12552 } : function (o) {
12553 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12554 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12555 }
12556 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12557
12558 /***/ }),
12559
12560 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12561 /*!****************************************************************************!*\
12562 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12563 \****************************************************************************/
12564 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12565
12566 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12567 function _unsupportedIterableToArray(o, minLen) {
12568 if (!o) return;
12569 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12570 var n = Object.prototype.toString.call(o).slice(8, -1);
12571 if (n === "Object" && o.constructor) n = o.constructor.name;
12572 if (n === "Map" || n === "Set") return Array.from(o);
12573 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12574 }
12575 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12576
12577 /***/ }),
12578
12579 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12580 /*!***********************************************************!*\
12581 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12582 \***********************************************************/
12583 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12584
12585 // TODO(Babel 8): Remove this file.
12586
12587 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12588 module.exports = runtime;
12589
12590 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12591 try {
12592 regeneratorRuntime = runtime;
12593 } catch (accidentalStrictMode) {
12594 if (typeof globalThis === "object") {
12595 globalThis.regeneratorRuntime = runtime;
12596 } else {
12597 Function("r", "regeneratorRuntime = r")(runtime);
12598 }
12599 }
12600
12601
12602 /***/ })
12603
12604 /******/ });
12605 /************************************************************************/
12606 /******/ // The module cache
12607 /******/ var __webpack_module_cache__ = {};
12608 /******/
12609 /******/ // The require function
12610 /******/ function __webpack_require__(moduleId) {
12611 /******/ // Check if module is in cache
12612 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12613 /******/ if (cachedModule !== undefined) {
12614 /******/ return cachedModule.exports;
12615 /******/ }
12616 /******/ // Create a new module (and put it into the cache)
12617 /******/ var module = __webpack_module_cache__[moduleId] = {
12618 /******/ // no module.id needed
12619 /******/ // no module.loaded needed
12620 /******/ exports: {}
12621 /******/ };
12622 /******/
12623 /******/ // Execute the module function
12624 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12625 /******/
12626 /******/ // Return the exports of the module
12627 /******/ return module.exports;
12628 /******/ }
12629 /******/
12630 /************************************************************************/
12631 /******/ /* webpack/runtime/compat get default export */
12632 /******/ (() => {
12633 /******/ // getDefaultExport function for compatibility with non-harmony modules
12634 /******/ __webpack_require__.n = (module) => {
12635 /******/ var getter = module && module.__esModule ?
12636 /******/ () => (module['default']) :
12637 /******/ () => (module);
12638 /******/ __webpack_require__.d(getter, { a: getter });
12639 /******/ return getter;
12640 /******/ };
12641 /******/ })();
12642 /******/
12643 /******/ /* webpack/runtime/define property getters */
12644 /******/ (() => {
12645 /******/ // define getter functions for harmony exports
12646 /******/ __webpack_require__.d = (exports, definition) => {
12647 /******/ for(var key in definition) {
12648 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12649 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12650 /******/ }
12651 /******/ }
12652 /******/ };
12653 /******/ })();
12654 /******/
12655 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12656 /******/ (() => {
12657 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12658 /******/ })();
12659 /******/
12660 /******/ /* webpack/runtime/make namespace object */
12661 /******/ (() => {
12662 /******/ // define __esModule on exports
12663 /******/ __webpack_require__.r = (exports) => {
12664 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12665 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12666 /******/ }
12667 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12668 /******/ };
12669 /******/ })();
12670 /******/
12671 /******/ /* webpack/runtime/nonce */
12672 /******/ (() => {
12673 /******/ __webpack_require__.nc = undefined;
12674 /******/ })();
12675 /******/
12676 /************************************************************************/
12677 var __webpack_exports__ = {};
12678 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12679 (() => {
12680 "use strict";
12681 var exports = __webpack_exports__;
12682 /*!*******************************************************!*\
12683 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12684 \*******************************************************/
12685
12686
12687 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12688 Object.defineProperty(exports, "__esModule", ({
12689 value: true
12690 }));
12691 exports["default"] = exports.AI_ATTACHMENT = void 0;
12692 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12693 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12694 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12695 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12696 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12697 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12698 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12699 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12700 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12701 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12702 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12703 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12704 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12705 var _applyTemplateForAiBehavior = _interopRequireDefault(__webpack_require__(/*! ./integration/library/apply-template-for-ai-behavior */ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js"));
12706 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12707 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
12708 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12709 var AI_ATTACHMENT = 'ai-attachment';
12710 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12711 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12712 (0, _inherits2.default)(Module, _elementorModules$edi);
12713 var _super = _createSuper(Module);
12714 function Module() {
12715 var _this;
12716 (0, _classCallCheck2.default)(this, Module);
12717 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12718 args[_key] = arguments[_key];
12719 }
12720 _this = _super.call.apply(_super, [this].concat(args));
12721 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12722 var _ElementorAiConfig, _ElementorAiConfig$us;
12723 var saveGroup = groups.find(function (group) {
12724 return 'save' === group.name;
12725 });
12726 if (!saveGroup) {
12727 return groups;
12728 }
12729 var contextMenu = {
12730 name: 'ai',
12731 icon: 'eicon-ai',
12732 isEnabled: function isEnabled() {
12733 return 0 !== currentElement.getContainer().children.length;
12734 },
12735 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
12736 callback: function () {
12737 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
12738 var container, json, attachments;
12739 return _regenerator.default.wrap(function _callee$(_context) {
12740 while (1) switch (_context.prev = _context.next) {
12741 case 0:
12742 container = currentElement.getContainer();
12743 json = container.model.toJSON({
12744 remove: ['default']
12745 });
12746 attachments = [{
12747 type: 'json',
12748 previewHTML: '',
12749 content: json,
12750 label: container.model.get('title'),
12751 source: _attachments.USER_VARIATION_SOURCE
12752 }];
12753 (0, _editorIntegration.renderLayoutApp)({
12754 parentContainer: container.parent,
12755 mode: _config.MODE_VARIATION,
12756 at: container.view._index,
12757 attachments: attachments,
12758 onSelect: function onSelect() {
12759 container.view.$el.hide();
12760 },
12761 onClose: function onClose() {
12762 container.view.$el.show();
12763 },
12764 onInsert: function onInsert(template) {
12765 (0, _editorIntegration.importToEditor)({
12766 parentContainer: container.parent,
12767 at: container.view._index,
12768 template: template,
12769 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
12770 replace: true
12771 });
12772 }
12773 });
12774 case 4:
12775 case "end":
12776 return _context.stop();
12777 }
12778 }, _callee);
12779 }));
12780 function callback() {
12781 return _callback.apply(this, arguments);
12782 }
12783 return callback;
12784 }()
12785 };
12786 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
12787 var svg = "\n\t\t\t<svg viewBox=\"0 0 24 24\">\n\t\t\t\t<path d=\"M12 5.25C12.2508 5.25 12.485 5.37533 12.6241 5.58397L16.1703 10.9033L20.5315 7.41435C20.7777\n\t\t\t\t7.21743 21.1207 7.19544 21.39 7.35933C21.6592 7.52321 21.7973 7.83798 21.7355 8.14709L19.7355\n\t\t\t\t18.1471C19.6654 18.4977 19.3576 18.75 19 18.75H5.00004C4.64253 18.75 4.33472 18.4977 4.26461\n\t\t\t\t18.1471L2.2646 8.14709C2.20278 7.83798 2.34084 7.52321 2.61012 7.35933C2.8794 7.19544 3.22241\n\t\t\t\t7.21743 3.46856 7.41435L7.82977 10.9033L11.376 5.58397C11.5151 5.37533 11.7493 5.25 12 5.25ZM12\n\t\t\t\t7.35208L8.62408 12.416C8.50748 12.5909 8.32282 12.7089 8.1151 12.7411C7.90738 12.7734 7.69566\n\t\t\t\t12.717 7.53152 12.5857L4.13926 9.87185L5.61489 17.25H18.3852L19.8608 9.87185L16.4686 12.5857C16.3044\n\t\t\t\t12.717 16.0927 12.7734 15.885 12.7411C15.6773 12.7089 15.4926 12.5909 15.376 12.416L12 7.35208Z\">\n\t\t\t\t</path>\n \t\t</svg>";
12788 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
12789 }
12790
12791 // Add on top of save group actions
12792 saveGroup.actions.unshift(contextMenu);
12793 return groups;
12794 });
12795 return _this;
12796 }
12797 (0, _createClass2.default)(Module, [{
12798 key: "onElementorInit",
12799 value: function onElementorInit() {
12800 var _this2 = this;
12801 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
12802 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
12803 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
12804 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
12805 $e.commands.register('library', 'generate-ai-variation', function (args) {
12806 return _this2.applyTemplate(args);
12807 });
12808 }
12809 }, {
12810 key: "applyTemplate",
12811 value: function applyTemplate(args) {
12812 window.postMessage({
12813 type: 'library/attach:start'
12814 });
12815 $e.components.get('library').downloadTemplate(args, function (data) {
12816 var model = args.model;
12817 window.postMessage({
12818 type: 'library/attach',
12819 json: data.content[0],
12820 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
12821 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
12822 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
12823 }, window.location.origin);
12824 });
12825 }
12826 }, {
12827 key: "registerLibraryActionButtonBehavior",
12828 value: function registerLibraryActionButtonBehavior(behaviors) {
12829 behaviors.applyAiTemplate = {
12830 behaviorClass: _applyTemplateForAiBehavior.default
12831 };
12832 return behaviors;
12833 }
12834 }, {
12835 key: "registerAiLayoutBehavior",
12836 value: function registerAiLayoutBehavior(behaviors) {
12837 behaviors.ai = {
12838 behaviorClass: _aiLayoutBehavior.default
12839 };
12840 return behaviors;
12841 }
12842 }, {
12843 key: "filterLibraryActionButtonTemplate",
12844 value: function filterLibraryActionButtonTemplate(viewId) {
12845 var modalConfig = $e.components.get('library').manager.modalConfig;
12846 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
12847 if (originalCoreViewId !== viewId) {
12848 return viewId;
12849 }
12850 if ($e.routes.current.library !== 'library/templates/blocks') {
12851 return viewId;
12852 }
12853 if (AI_ATTACHMENT === modalConfig.mode) {
12854 viewId = '#tmpl-elementor-template-library-apply-ai-button';
12855 } else {
12856 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
12857 }
12858 return viewId;
12859 }
12860 }]);
12861 return Module;
12862 }(elementorModules.editor.utils.Module);
12863 exports["default"] = Module;
12864 new Module();
12865 })();
12866
12867 /******/ })()
12868 ;
12869 //# sourceMappingURL=ai-layout.js.map