PluginProbe
Elementor Website Builder – more than just a page builder / 3.20.3
Elementor Website Builder – more than just a page builder v3.20.3
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 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 All 457 releases
elementor / assets / js / ai-layout.js

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

13,008 lines 577.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.20.0 - 26-03-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 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1313
1314
1315 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1316 Object.defineProperty(exports, "__esModule", ({
1317 value: true
1318 }));
1319 exports["default"] = void 0;
1320 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1321 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1322 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1323 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1324 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1325 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1326 var _excluded = ["error", "onRetry", "actionPosition"];
1327 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1328 var error = _ref.error,
1329 _ref$onRetry = _ref.onRetry,
1330 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1331 _ref$actionPosition = _ref.actionPosition,
1332 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1333 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1334 function getQuotaReachedTrailMessage(featureName) {
1335 if (!featureName) {
1336 return {
1337 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1338 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1339 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1340 buttonAction: function buttonAction() {
1341 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1342 }
1343 };
1344 }
1345 return {
1346 // Translators: %s is the feature name.
1347 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1348 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1349 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1350 buttonAction: function buttonAction() {
1351 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1352 }
1353 };
1354 }
1355 function getErrorMessage() {
1356 var _error$extra_data;
1357 var errMsg = error.message || error;
1358 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1359 var messages = {
1360 default: {
1361 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Unknown error. Please try again later.', 'elementor')),
1362 description: (0, _i18n.__)('Error code:', 'elementor') + ' ' + error,
1363 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1364 buttonAction: onRetry
1365 },
1366 service_outage_internal: {
1367 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Elementor AI is temporarily unavailable', 'elementor')),
1368 description: (0, _i18n.__)('Seems like we are experiencing technical difficulty. We should be up and running shortly.', 'elementor'),
1369 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1370 buttonAction: onRetry
1371 },
1372 invalid_connect_data: {
1373 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Reconnect your account', 'elementor')),
1374 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", {
1375 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1376 target: "_blank",
1377 rel: "noreferrer"
1378 }, (0, _i18n.__)('Show me how', 'elementor'))),
1379 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1380 buttonAction: function buttonAction() {
1381 return window.open(window.ElementorAiConfig.connect_url);
1382 }
1383 },
1384 not_connected: {
1385 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1386 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1387 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1388 buttonAction: function buttonAction() {
1389 return window.open(window.ElementorAiConfig.connect_url);
1390 }
1391 },
1392 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1393 quota_reached_subscription: {
1394 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1395 description: (0, _i18n.__)('Love Elementor AI? Upgrade to continue creating with built-in image, text and custom code generators.', 'elementor'),
1396 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1397 buttonAction: function buttonAction() {
1398 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1399 }
1400 },
1401 rate_limit_network: {
1402 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1403 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1404 },
1405 invalid_prompts: {
1406 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1407 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1408 }
1409 };
1410 return messages[errMsg] || messages.default;
1411 }
1412 var message = getErrorMessage();
1413 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1414 color: "inherit",
1415 size: "small",
1416 variant: "outlined",
1417 onClick: message.buttonAction
1418 }, message.buttonText);
1419 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1420 severity: message.severity || 'error',
1421 action: 'default' === actionPosition && action
1422 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1423 sx: {
1424 mt: 1
1425 }
1426 }, action));
1427 };
1428 PromptErrorMessage.propTypes = {
1429 error: _propTypes.default.string,
1430 onRetry: _propTypes.default.func,
1431 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1432 };
1433 var _default = PromptErrorMessage;
1434 exports["default"] = _default;
1435
1436 /***/ }),
1437
1438 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1439 /*!************************************************************************!*\
1440 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1441 \************************************************************************/
1442 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1443
1444 "use strict";
1445
1446
1447 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1448 Object.defineProperty(exports, "__esModule", ({
1449 value: true
1450 }));
1451 exports["default"] = void 0;
1452 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1453 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1454 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1455 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1456 var PromptLibraryLink = function PromptLibraryLink(props) {
1457 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1458 variant: "body2",
1459 color: "text.secondary"
1460 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1461 href: props.libraryLink,
1462 className: "elementor-clickable",
1463 target: "_blank"
1464 }, (0, _i18n.__)('prompt library')));
1465 };
1466 PromptLibraryLink.propTypes = {
1467 libraryLink: _propTypes.default.string
1468 };
1469 var _default = PromptLibraryLink;
1470 exports["default"] = _default;
1471
1472 /***/ }),
1473
1474 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1475 /*!*****************************************************************!*\
1476 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1477 \*****************************************************************/
1478 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1479
1480 "use strict";
1481
1482
1483 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1484 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1485 Object.defineProperty(exports, "__esModule", ({
1486 value: true
1487 }));
1488 exports["default"] = void 0;
1489 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1490 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1491 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1492 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1493 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1494 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1495 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); }
1496 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; }
1497 var popoverId = 'e-ai-upgrade-popover';
1498 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1499 var theme = _ref.theme;
1500 return {
1501 position: 'relative',
1502 '[data-popper-placement="top"] &': {
1503 marginBottom: theme.spacing(2.5)
1504 },
1505 '[data-popper-placement="bottom"] &': {
1506 marginTop: theme.spacing(2.5)
1507 },
1508 padding: theme.spacing(3),
1509 boxShadow: theme.shadows[4],
1510 zIndex: '9999'
1511 };
1512 });
1513 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1514 var theme = _ref2.theme;
1515 return {
1516 width: theme.spacing(5),
1517 height: theme.spacing(2.5),
1518 position: 'absolute',
1519 overflow: 'hidden',
1520 // Override Popper inline styles.
1521 left: '50% !important',
1522 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1523 '[data-popper-placement="top"] &': {
1524 top: '100%'
1525 },
1526 '[data-popper-placement="bottom"] &': {
1527 '--rotate': '180deg',
1528 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1529 },
1530 '&::after': {
1531 backgroundColor: theme.palette.background.paper,
1532 content: '""',
1533 display: 'block',
1534 position: 'absolute',
1535 width: theme.spacing(2.5),
1536 height: theme.spacing(2.5),
1537 top: 0,
1538 left: '50%',
1539 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1540 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1541 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1542 }
1543 };
1544 });
1545 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')];
1546 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1547 return {
1548 '& .MuiChip-label': {
1549 lineHeight: 1.5
1550 },
1551 '& .MuiSvgIcon-root.MuiChip-icon': {
1552 fontSize: '1.25rem'
1553 }
1554 };
1555 });
1556 var UpgradeChip = function UpgradeChip(_ref3) {
1557 var _ref3$hasSubscription = _ref3.hasSubscription,
1558 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1559 _ref3$usagePercentage = _ref3.usagePercentage,
1560 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1561 var _useState = (0, _react.useState)(false),
1562 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1563 isPopoverOpen = _useState2[0],
1564 setIsPopoverOpen = _useState2[1];
1565 var anchorEl = (0, _react.useRef)(null);
1566 var arrowEl = (0, _react.useRef)(null);
1567 var showPopover = function showPopover() {
1568 return setIsPopoverOpen(true);
1569 };
1570 var hidePopover = function hidePopover() {
1571 return setIsPopoverOpen(false);
1572 };
1573 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1574 if (hasSubscription) {
1575 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1576 }
1577 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1578 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1579 component: "span",
1580 "aria-owns": isPopoverOpen ? popoverId : undefined,
1581 "aria-haspopup": "true",
1582 onMouseEnter: showPopover,
1583 onMouseLeave: hidePopover,
1584 ref: anchorEl,
1585 display: "flex",
1586 alignItems: "center"
1587 }, /*#__PURE__*/_react.default.createElement(Chip, {
1588 color: "promotion",
1589 label: (0, _i18n.__)('Upgrade', 'elementor'),
1590 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1591 size: "small"
1592 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1593 open: isPopoverOpen,
1594 anchorEl: anchorEl.current,
1595 sx: {
1596 zIndex: '9999',
1597 maxWidth: 300
1598 },
1599 modifiers: [{
1600 name: 'arrow',
1601 enabled: true,
1602 options: {
1603 element: arrowEl.current
1604 }
1605 }]
1606 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1607 ref: arrowEl
1608 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1609 variant: "h5",
1610 color: "text.primary"
1611 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1612 sx: {
1613 mb: 1
1614 }
1615 }, upgradeBullets.map(function (bullet, index) {
1616 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1617 key: index,
1618 disableGutters: true,
1619 sx: {
1620 alignItems: 'flex-start'
1621 }
1622 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1623 sx: {
1624 m: 0
1625 }
1626 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1627 variant: "body2"
1628 }, bullet)));
1629 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1630 variant: "contained",
1631 color: "promotion",
1632 size: "small",
1633 href: actionUrl,
1634 target: "_blank",
1635 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1636 sx: {
1637 '&:hover': {
1638 color: 'promotion.contrastText'
1639 }
1640 }
1641 }, actionLabel))));
1642 };
1643 var _default = UpgradeChip;
1644 exports["default"] = _default;
1645 UpgradeChip.propTypes = {
1646 hasSubscription: _propTypes.default.bool,
1647 usagePercentage: _propTypes.default.number
1648 };
1649
1650 /***/ }),
1651
1652 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
1653 /*!**************************************************************************!*\
1654 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
1655 \**************************************************************************/
1656 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1657
1658 "use strict";
1659 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1660 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1661
1662
1663 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1664 Object.defineProperty(exports, "__esModule", ({
1665 value: true
1666 }));
1667 exports["default"] = exports.VoicePromotionAlert = void 0;
1668 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1669 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1670 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1671 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
1672 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
1673 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; }
1674 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; }
1675 var VoicePromotionAlert = function VoicePromotionAlert(props) {
1676 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
1677 isViewed = _useIntroduction.isViewed,
1678 markAsViewed = _useIntroduction.markAsViewed;
1679 if (!isViewed) {
1680 return null;
1681 }
1682 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1683 sx: _objectSpread({
1684 mt: 2
1685 }, props.sx),
1686 alignItems: "top"
1687 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
1688 severity: "info",
1689 variant: "standard",
1690 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
1691 sx: {
1692 alignSelf: 'flex-start'
1693 }
1694 }),
1695 onClose: markAsViewed
1696 }, __('Get improved results from AI by adding some personal context. Go to Site Settings > AI Context to get started.')));
1697 };
1698 exports.VoicePromotionAlert = VoicePromotionAlert;
1699 VoicePromotionAlert.propTypes = {
1700 sx: PropTypes.object,
1701 introductionKey: PropTypes.string
1702 };
1703 var _default = VoicePromotionAlert;
1704 exports["default"] = _default;
1705
1706 /***/ }),
1707
1708 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1709 /*!******************************************************************!*\
1710 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1711 \******************************************************************/
1712 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1713
1714 "use strict";
1715
1716
1717 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1718 Object.defineProperty(exports, "__esModule", ({
1719 value: true
1720 }));
1721 exports["default"] = void 0;
1722 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1723 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1724 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1725 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1726 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1727 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1728 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1729 var _excluded = ["sx"];
1730 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; }
1731 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; }
1732 var WizardDialog = function WizardDialog(props) {
1733 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1734 open: true,
1735 onClose: props.onClose,
1736 fullWidth: true,
1737 hideBackdrop: true,
1738 maxWidth: "lg",
1739 PaperProps: {
1740 sx: {
1741 height: '88vh'
1742 }
1743 },
1744 sx: {
1745 zIndex: 9999
1746 }
1747 }, props.children);
1748 };
1749 WizardDialog.propTypes = {
1750 onClose: _propTypes.default.func.isRequired,
1751 children: _propTypes.default.node.isRequired
1752 };
1753 var WizardDialogContent = function WizardDialogContent(_ref) {
1754 var _ref$sx = _ref.sx,
1755 sx = _ref$sx === void 0 ? {} : _ref$sx,
1756 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1757 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1758 sx: _objectSpread({
1759 display: 'flex',
1760 flexDirection: 'column',
1761 justifyContent: 'center'
1762 }, sx)
1763 }));
1764 };
1765 WizardDialogContent.propTypes = {
1766 sx: _propTypes.default.object
1767 };
1768 WizardDialog.Header = _dialogHeader.default;
1769 WizardDialog.Content = WizardDialogContent;
1770 var _default = WizardDialog;
1771 exports["default"] = _default;
1772
1773 /***/ }),
1774
1775 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1776 /*!**************************************************************!*\
1777 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1778 \**************************************************************/
1779 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1780
1781 "use strict";
1782
1783
1784 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1785 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1786 Object.defineProperty(exports, "__esModule", ({
1787 value: true
1788 }));
1789 exports["default"] = exports.RequestIdsProvider = void 0;
1790 exports.generateIds = generateIds;
1791 exports.useRequestIds = exports.getUniqueId = void 0;
1792 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1793 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1794 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); }
1795 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; }
1796 var Context = (0, _react.createContext)({});
1797 var useRequestIds = function useRequestIds() {
1798 var context = (0, _react.useContext)(Context);
1799 if (!context) {
1800 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1801 }
1802 return context;
1803 };
1804 exports.useRequestIds = useRequestIds;
1805 var getUniqueId = function getUniqueId(prefix) {
1806 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1807 };
1808 exports.getUniqueId = getUniqueId;
1809 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
1810 function generateIds(template) {
1811 var _template$elements;
1812 template.id = getUniqueId().toString();
1813 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1814 template.elements.map(function (child) {
1815 return generateIds(child);
1816 });
1817 }
1818 return template;
1819 }
1820 var RequestIdsProvider = function RequestIdsProvider(props) {
1821 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1822 var sessionId = (0, _react.useRef)('');
1823 var generateId = (0, _react.useRef)('');
1824 var batchId = (0, _react.useRef)('');
1825 var requestId = (0, _react.useRef)('');
1826 sessionId.current = getUniqueId('session');
1827 var setGenerate = function setGenerate() {
1828 generateId.current = getUniqueId('generate');
1829 return generateId;
1830 };
1831 var setBatch = function setBatch() {
1832 batchId.current = getUniqueId('batch');
1833 return batchId;
1834 };
1835 var setRequest = function setRequest() {
1836 requestId.current = getUniqueId('request');
1837 return requestId;
1838 };
1839 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1840 value: {
1841 editorSessionId: editorSessionId,
1842 sessionId: sessionId,
1843 generateId: generateId,
1844 batchId: batchId,
1845 requestId: requestId,
1846 setGenerate: setGenerate,
1847 setBatch: setBatch,
1848 setRequest: setRequest
1849 }
1850 }, props.children);
1851 };
1852 exports.RequestIdsProvider = RequestIdsProvider;
1853 RequestIdsProvider.propTypes = {
1854 children: _propTypes.default.node.isRequired
1855 };
1856 var _default = Context;
1857 exports["default"] = _default;
1858
1859 /***/ }),
1860
1861 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1862 /*!****************************************************************!*\
1863 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1864 \****************************************************************/
1865 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1866
1867 "use strict";
1868
1869
1870 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1871 Object.defineProperty(exports, "__esModule", ({
1872 value: true
1873 }));
1874 exports["default"] = useIntroduction;
1875 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1876 var _react = __webpack_require__(/*! react */ "react");
1877 function useIntroduction(key) {
1878 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1879 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;
1880 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1881 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1882 isViewed = _useState2[0],
1883 setIsViewed = _useState2[1];
1884 function markAsViewed() {
1885 if (!key) {
1886 return Promise.reject();
1887 }
1888 return new Promise(function (resolve, reject) {
1889 if (isViewed) {
1890 reject();
1891 }
1892 setIsViewed(true);
1893 elementorCommon.ajax.addRequest('introduction_viewed', {
1894 data: {
1895 introductionKey: key
1896 },
1897 error: function error() {
1898 setIsViewed(false);
1899 reject();
1900 },
1901 success: function success() {
1902 setIsViewed(true);
1903 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1904 globalConfig.introduction[key] = true;
1905 }
1906 resolve();
1907 }
1908 });
1909 });
1910 }
1911 return {
1912 isViewed: isViewed,
1913 markAsViewed: markAsViewed
1914 };
1915 }
1916
1917 /***/ }),
1918
1919 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
1920 /*!*******************************************************************!*\
1921 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
1922 \*******************************************************************/
1923 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1924
1925 "use strict";
1926
1927
1928 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1929 Object.defineProperty(exports, "__esModule", ({
1930 value: true
1931 }));
1932 exports["default"] = void 0;
1933 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1934 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
1935 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1936 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
1937 var getResult = function getResult(prompt, type, enhanceType) {
1938 if (!enhancePromptMap.has(type)) {
1939 throw new Error("Invalid prompt type: ".concat(type));
1940 }
1941 return enhancePromptMap.get(type)(prompt, enhanceType);
1942 };
1943
1944 /**
1945 * Hook to enhance a prompt.
1946 *
1947 * @param {string} prompt
1948 * @param {'media' | 'layout'} type
1949 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
1950 */
1951 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
1952 var _useConfig = (0, _config.useConfig)(),
1953 mode = _useConfig.mode;
1954 var _usePrompt = (0, _usePrompt2.default)(function () {
1955 return getResult(prompt, type, mode);
1956 }, prompt),
1957 enhancedData = _usePrompt.data,
1958 isEnhancing = _usePrompt.isLoading,
1959 enhance = _usePrompt.send;
1960 return {
1961 enhance: enhance,
1962 isEnhancing: isEnhancing,
1963 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
1964 };
1965 };
1966 var _default = usePromptEnhancer;
1967 exports["default"] = _default;
1968
1969 /***/ }),
1970
1971 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
1972 /*!**********************************************************!*\
1973 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
1974 \**********************************************************/
1975 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1976
1977 "use strict";
1978
1979
1980 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1981 Object.defineProperty(exports, "__esModule", ({
1982 value: true
1983 }));
1984 exports["default"] = void 0;
1985 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1986 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1987 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1988 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1989 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1990 var _react = __webpack_require__(/*! react */ "react");
1991 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1992 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
1993 var _excluded = ["text", "response_id", "usage", "images"];
1994 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; }
1995 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; }
1996 var normalizeResponse = function normalizeResponse(_ref) {
1997 var text = _ref.text,
1998 responseId = _ref.response_id,
1999 usage = _ref.usage,
2000 images = _ref.images,
2001 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2002 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
2003 var credits = Math.max(creditsData, 0);
2004 var result = text || images;
2005 var normalized = {
2006 result: result,
2007 responseId: responseId,
2008 credits: credits
2009 };
2010 if (optional.base_template_id) {
2011 normalized.baseTemplateId = optional.base_template_id;
2012 }
2013 normalized.type = optional.template_type;
2014 return normalized;
2015 };
2016 var usePrompt = function usePrompt(fetchData, initialState) {
2017 var _useState = (0, _react.useState)(false),
2018 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2019 isLoading = _useState2[0],
2020 setIsLoading = _useState2[1];
2021 var _useState3 = (0, _react.useState)(''),
2022 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2023 error = _useState4[0],
2024 setError = _useState4[1];
2025 var _useState5 = (0, _react.useState)(initialState),
2026 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2027 data = _useState6[0],
2028 setData = _useState6[1];
2029 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
2030 setRequest = _useRequestIds.setRequest,
2031 editorSessionId = _useRequestIds.editorSessionId,
2032 sessionId = _useRequestIds.sessionId,
2033 generateId = _useRequestIds.generateId,
2034 batchId = _useRequestIds.batchId;
2035 var send = /*#__PURE__*/function () {
2036 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
2037 return _regenerator.default.wrap(function _callee$(_context) {
2038 while (1) switch (_context.prev = _context.next) {
2039 case 0:
2040 return _context.abrupt("return", new Promise(function (resolve, reject) {
2041 setError('');
2042 setIsLoading(true);
2043 var requestId = setRequest();
2044 var requestIds = {
2045 editorSessionId: editorSessionId.current,
2046 sessionId: sessionId.current,
2047 generateId: generateId.current,
2048 batchId: batchId.current,
2049 requestId: requestId.current
2050 };
2051 payload = _objectSpread(_objectSpread({}, payload), {}, {
2052 requestIds: requestIds
2053 });
2054 fetchData(payload).then(function (result) {
2055 var normalizedData = normalizeResponse(result);
2056 setData(normalizedData);
2057 resolve(normalizedData);
2058 }).catch(function (err) {
2059 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
2060 setError(finalError);
2061 reject(finalError);
2062 }).finally(function () {
2063 return setIsLoading(false);
2064 });
2065 }));
2066 case 1:
2067 case "end":
2068 return _context.stop();
2069 }
2070 }, _callee);
2071 }));
2072 return function send(_x) {
2073 return _ref2.apply(this, arguments);
2074 };
2075 }();
2076 var sendUsageData = function sendUsageData() {
2077 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2078 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2079 };
2080 var reset = function reset() {
2081 setData(function (_ref3) {
2082 var credits = _ref3.credits;
2083 return {
2084 credits: credits,
2085 result: '',
2086 responseId: ''
2087 };
2088 });
2089 setError('');
2090 setIsLoading(false);
2091 };
2092 var setResult = function setResult(result) {
2093 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2094 var updatedResult = _objectSpread({}, data);
2095 updatedResult.result = result;
2096 if (responseId) {
2097 updatedResult.responseId = responseId;
2098 }
2099 setData(updatedResult);
2100 };
2101 return {
2102 isLoading: isLoading,
2103 error: error,
2104 data: data,
2105 setResult: setResult,
2106 reset: reset,
2107 send: send,
2108 sendUsageData: sendUsageData
2109 };
2110 };
2111 var _default = usePrompt;
2112 exports["default"] = _default;
2113
2114 /***/ }),
2115
2116 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2117 /*!***********************************************************!*\
2118 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2119 \***********************************************************/
2120 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2121
2122 "use strict";
2123
2124
2125 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2126 Object.defineProperty(exports, "__esModule", ({
2127 value: true
2128 }));
2129 exports.useTimeout = void 0;
2130 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2131 var _react = __webpack_require__(/*! react */ "react");
2132 var useTimeout = function useTimeout(delay) {
2133 var _useState = (0, _react.useState)(false),
2134 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2135 isTimeout = _useState2[0],
2136 setIsTimeout = _useState2[1];
2137 var timeoutIdRef = (0, _react.useRef)(null);
2138 var turnOffTimeout = function turnOffTimeout() {
2139 clearTimeout(timeoutIdRef.current);
2140 setIsTimeout(false);
2141 };
2142 (0, _react.useEffect)(function () {
2143 timeoutIdRef.current = setTimeout(function () {
2144 setIsTimeout(true);
2145 }, delay);
2146 return function () {
2147 clearTimeout(timeoutIdRef.current);
2148 };
2149 }, [delay]);
2150 return [isTimeout, turnOffTimeout];
2151 };
2152 exports.useTimeout = useTimeout;
2153
2154 /***/ }),
2155
2156 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2157 /*!*************************************************************!*\
2158 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2159 \*************************************************************/
2160 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2161
2162 "use strict";
2163
2164
2165 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2166 Object.defineProperty(exports, "__esModule", ({
2167 value: true
2168 }));
2169 exports["default"] = void 0;
2170 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2171 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2172 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2173 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2174 var _react = __webpack_require__(/*! react */ "react");
2175 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2176 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; }
2177 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; }
2178 var useUserInfo = function useUserInfo() {
2179 var _useState = (0, _react.useState)(false),
2180 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2181 isLoaded = _useState2[0],
2182 setIsLoaded = _useState2[1];
2183 var _useState3 = (0, _react.useState)(false),
2184 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2185 isLoading = _useState4[0],
2186 setIsLoading = _useState4[1];
2187 var _useState5 = (0, _react.useState)({
2188 is_connected: false,
2189 is_get_started: false,
2190 connect_url: '',
2191 usage: {
2192 hasAiSubscription: false,
2193 quota: 0,
2194 usedQuota: 0
2195 }
2196 }),
2197 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2198 userInfo = _useState6[0],
2199 setUserInfo = _useState6[1];
2200 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2201 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2202 var fetchData = /*#__PURE__*/function () {
2203 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2204 var userInfoResult;
2205 return _regenerator.default.wrap(function _callee$(_context) {
2206 while (1) switch (_context.prev = _context.next) {
2207 case 0:
2208 setIsLoading(true);
2209 _context.next = 3;
2210 return (0, _api.getUserInformation)();
2211 case 3:
2212 userInfoResult = _context.sent;
2213 setUserInfo(function (prevState) {
2214 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2215 });
2216 setIsLoaded(true);
2217 setIsLoading(false);
2218 case 7:
2219 case "end":
2220 return _context.stop();
2221 }
2222 }, _callee);
2223 }));
2224 return function fetchData() {
2225 return _ref.apply(this, arguments);
2226 };
2227 }();
2228 if (!isLoaded && !isLoading) {
2229 fetchData();
2230 }
2231 return {
2232 isLoading: isLoading,
2233 isLoaded: isLoaded,
2234 isConnected: userInfo.is_connected,
2235 isGetStarted: userInfo.is_get_started,
2236 connectUrl: userInfo.connect_url,
2237 builderUrl: userInfo.usage.builderUrl,
2238 hasSubscription: userInfo.usage.hasAiSubscription,
2239 credits: credits < 0 ? 0 : credits,
2240 usagePercentage: Math.round(usagePercentage),
2241 fetchData: fetchData
2242 };
2243 };
2244 var _default = useUserInfo;
2245 exports["default"] = _default;
2246
2247 /***/ }),
2248
2249 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2250 /*!***************************************************************!*\
2251 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2252 \***************************************************************/
2253 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2254
2255 "use strict";
2256
2257
2258 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2259 Object.defineProperty(exports, "__esModule", ({
2260 value: true
2261 }));
2262 exports["default"] = void 0;
2263 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2264 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2265 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2266 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2267 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2268 viewBox: "0 0 24 24"
2269 }, props, {
2270 ref: ref
2271 }), /*#__PURE__*/_react.default.createElement("path", {
2272 fillRule: "evenodd",
2273 clipRule: "evenodd",
2274 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"
2275 }));
2276 });
2277 var _default = ArrowLeftIcon;
2278 exports["default"] = _default;
2279
2280 /***/ }),
2281
2282 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
2283 /*!*********************************************************!*\
2284 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
2285 \*********************************************************/
2286 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2287
2288 "use strict";
2289
2290
2291 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2292 Object.defineProperty(exports, "__esModule", ({
2293 value: true
2294 }));
2295 exports["default"] = void 0;
2296 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2297 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2298 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2299 var BulbIcon = _react.default.forwardRef(function (props, ref) {
2300 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
2301 ref: ref
2302 }), /*#__PURE__*/_react.default.createElement("svg", {
2303 width: "22",
2304 height: "22",
2305 viewBox: "0 0 22 22",
2306 fill: "none",
2307 xmlns: "http://www.w3.org/2000/svg"
2308 }, /*#__PURE__*/_react.default.createElement("g", {
2309 clipPath: "url(#clip0_10743_8902)"
2310 }, /*#__PURE__*/_react.default.createElement("path", {
2311 d: "M2.75 10.0833H3.66667M11 2.75V3.66667M18.3333 10.0833H19.25M5.13333 5.13333L5.775 5.775M16.8667 5.13333L16.225 5.775",
2312 stroke: "#2563EB",
2313 strokeWidth: "1.5",
2314 strokeLinecap: "round",
2315 strokeLinejoin: "round"
2316 }), /*#__PURE__*/_react.default.createElement("path", {
2317 d: "M9.16675 16.041C8.70841 15.1243 6.91205 13.2842 6.62523 12.366C6.3384 11.4477 6.34775 10.4626 6.65195 9.54997C6.95615 8.63738 7.53978 7.84362 8.32016 7.28116C9.10054 6.71869 10.0381 6.41602 11.0001 6.41602C11.962 6.41602 12.8996 6.71869 13.68 7.28116C14.4604 7.84362 15.044 8.63738 15.3482 9.54997C15.6524 10.4626 15.6618 11.4477 15.3749 12.366C15.0881 13.2842 13.2917 15.1243 12.8334 16.041C12.8334 16.041 12.7597 17.3762 12.8334 17.8743C12.8334 18.3606 12.6403 18.8269 12.2964 19.1707C11.9526 19.5145 11.4863 19.7077 11.0001 19.7077C10.5139 19.7077 10.0475 19.5145 9.70372 19.1707C9.3599 18.8269 9.16675 18.3606 9.16675 17.8743C9.2405 17.3762 9.16675 16.041 9.16675 16.041Z",
2318 stroke: "#2563EB",
2319 strokeWidth: "1.5",
2320 strokeLinecap: "round",
2321 strokeLinejoin: "round"
2322 }), /*#__PURE__*/_react.default.createElement("path", {
2323 d: "M10.0833 16.5H11.9166",
2324 stroke: "#2563EB",
2325 strokeWidth: "1.5",
2326 strokeLinecap: "round",
2327 strokeLinejoin: "round"
2328 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
2329 id: "clip0_10743_8902"
2330 }, /*#__PURE__*/_react.default.createElement("rect", {
2331 width: "22",
2332 height: "22",
2333 fill: "white"
2334 })))));
2335 });
2336 var _default = BulbIcon;
2337 exports["default"] = _default;
2338
2339 /***/ }),
2340
2341 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2342 /*!**************************************************************!*\
2343 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2344 \**************************************************************/
2345 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2346
2347 "use strict";
2348
2349
2350 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2351 Object.defineProperty(exports, "__esModule", ({
2352 value: true
2353 }));
2354 exports["default"] = void 0;
2355 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2356 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2357 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2358 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2359 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2360 viewBox: "0 0 24 24"
2361 }, props, {
2362 ref: ref
2363 }), /*#__PURE__*/_react.default.createElement("path", {
2364 fillRule: "evenodd",
2365 clipRule: "evenodd",
2366 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"
2367 }));
2368 });
2369 var _default = CopyPageIcon;
2370 exports["default"] = _default;
2371
2372 /***/ }),
2373
2374 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2375 /*!*********************************************************!*\
2376 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2377 \*********************************************************/
2378 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2379
2380 "use strict";
2381
2382
2383 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2384 Object.defineProperty(exports, "__esModule", ({
2385 value: true
2386 }));
2387 exports["default"] = void 0;
2388 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2389 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2390 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2391 var EditIcon = _react.default.forwardRef(function (props, ref) {
2392 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2393 viewBox: "0 0 24 24"
2394 }, props, {
2395 ref: ref
2396 }), /*#__PURE__*/_react.default.createElement("path", {
2397 fillRule: "evenodd",
2398 clipRule: "evenodd",
2399 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"
2400 }), /*#__PURE__*/_react.default.createElement("path", {
2401 fillRule: "evenodd",
2402 clipRule: "evenodd",
2403 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"
2404 }));
2405 });
2406 var _default = EditIcon;
2407 exports["default"] = _default;
2408
2409 /***/ }),
2410
2411 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2412 /*!********************************************************************!*\
2413 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-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 ExpandDiagonalIcon = _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: "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"
2437 }));
2438 });
2439 var _default = ExpandDiagonalIcon;
2440 exports["default"] = _default;
2441
2442 /***/ }),
2443
2444 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2445 /*!*********************************************************!*\
2446 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2447 \*********************************************************/
2448 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2449
2450 "use strict";
2451
2452
2453 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2454 Object.defineProperty(exports, "__esModule", ({
2455 value: true
2456 }));
2457 exports["default"] = void 0;
2458 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2459 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2460 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2461 var LockIcon = _react.default.forwardRef(function (props, ref) {
2462 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2463 viewBox: "0 0 24 24"
2464 }, props, {
2465 ref: ref
2466 }), /*#__PURE__*/_react.default.createElement("path", {
2467 fillRule: "evenodd",
2468 clipRule: "evenodd",
2469 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"
2470 }), /*#__PURE__*/_react.default.createElement("path", {
2471 fillRule: "evenodd",
2472 clipRule: "evenodd",
2473 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"
2474 }), /*#__PURE__*/_react.default.createElement("path", {
2475 d: "M6 12H19V20H6V12Z"
2476 }));
2477 });
2478 var _default = LockIcon;
2479 exports["default"] = _default;
2480
2481 /***/ }),
2482
2483 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2484 /*!**********************************************************************!*\
2485 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2486 \**********************************************************************/
2487 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2488
2489 "use strict";
2490
2491
2492 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2493 Object.defineProperty(exports, "__esModule", ({
2494 value: true
2495 }));
2496 exports["default"] = void 0;
2497 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2498 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2499 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2500 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2501 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2502 viewBox: "0 0 24 24"
2503 }, props, {
2504 ref: ref
2505 }), /*#__PURE__*/_react.default.createElement("path", {
2506 fillRule: "evenodd",
2507 clipRule: "evenodd",
2508 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"
2509 }));
2510 });
2511 var _default = MinimizeDiagonalIcon;
2512 exports["default"] = _default;
2513
2514 /***/ }),
2515
2516 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2517 /*!****************************************************************!*\
2518 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2519 \****************************************************************/
2520 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2521
2522 "use strict";
2523
2524
2525 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2526 Object.defineProperty(exports, "__esModule", ({
2527 value: true
2528 }));
2529 exports["default"] = void 0;
2530 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2531 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2532 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2533 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2534 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2535 viewBox: "0 0 24 24"
2536 }, props, {
2537 ref: ref
2538 }), /*#__PURE__*/_react.default.createElement("path", {
2539 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"
2540 }));
2541 });
2542 var _default = PlusCircleIcon;
2543 exports["default"] = _default;
2544
2545 /***/ }),
2546
2547 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2548 /*!************************************************************!*\
2549 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2550 \************************************************************/
2551 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2552
2553 "use strict";
2554
2555
2556 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2557 Object.defineProperty(exports, "__esModule", ({
2558 value: true
2559 }));
2560 exports["default"] = void 0;
2561 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2562 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2563 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2564 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2565 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2566 viewBox: "0 0 24 24"
2567 }, props, {
2568 ref: ref
2569 }), /*#__PURE__*/_react.default.createElement("path", {
2570 fillRule: "evenodd",
2571 clipRule: "evenodd",
2572 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"
2573 }), /*#__PURE__*/_react.default.createElement("path", {
2574 fillRule: "evenodd",
2575 clipRule: "evenodd",
2576 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"
2577 }));
2578 });
2579 var _default = RefreshIcon;
2580 exports["default"] = _default;
2581
2582 /***/ }),
2583
2584 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2585 /*!*********************************************************!*\
2586 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2587 \*********************************************************/
2588 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2589
2590 "use strict";
2591
2592
2593 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2594 Object.defineProperty(exports, "__esModule", ({
2595 value: true
2596 }));
2597 exports["default"] = void 0;
2598 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2599 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2600 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2601 var WandIcon = _react.default.forwardRef(function (props, ref) {
2602 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2603 viewBox: "0 0 24 24"
2604 }, props, {
2605 ref: ref
2606 }), /*#__PURE__*/_react.default.createElement("path", {
2607 fillRule: "evenodd",
2608 clipRule: "evenodd",
2609 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"
2610 }), /*#__PURE__*/_react.default.createElement("path", {
2611 fillRule: "evenodd",
2612 clipRule: "evenodd",
2613 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"
2614 }), /*#__PURE__*/_react.default.createElement("path", {
2615 fillRule: "evenodd",
2616 clipRule: "evenodd",
2617 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"
2618 }));
2619 });
2620 var _default = WandIcon;
2621 exports["default"] = _default;
2622
2623 /***/ }),
2624
2625 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2626 /*!************************************************************!*\
2627 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2628 \************************************************************/
2629 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2630
2631 "use strict";
2632
2633
2634 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2635 Object.defineProperty(exports, "__esModule", ({
2636 value: true
2637 }));
2638 exports["default"] = void 0;
2639 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2640 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2641 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2642 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2643 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2644 viewBox: "0 0 24 24"
2645 }, props, {
2646 ref: ref
2647 }), /*#__PURE__*/_react.default.createElement("path", {
2648 fillRule: "evenodd",
2649 clipRule: "evenodd",
2650 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"
2651 }));
2652 });
2653 var _default = WebsiteIcon;
2654 exports["default"] = _default;
2655
2656 /***/ }),
2657
2658 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2659 /*!*************************************************************!*\
2660 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2661 \*************************************************************/
2662 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2663
2664 "use strict";
2665
2666
2667 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2668 Object.defineProperty(exports, "__esModule", ({
2669 value: true
2670 }));
2671 exports["default"] = void 0;
2672 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2673 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2674 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2675 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2676 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2677 viewBox: "0 0 24 24"
2678 }, props, {
2679 ref: ref
2680 }), /*#__PURE__*/_react.default.createElement("path", {
2681 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"
2682 }));
2683 });
2684 var _default = XCircleIcon;
2685 exports["default"] = _default;
2686
2687 /***/ }),
2688
2689 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2690 /*!********************************************************************************************!*\
2691 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2692 \********************************************************************************************/
2693 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2694
2695 "use strict";
2696
2697
2698 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2699 renderLayoutApp = _require.renderLayoutApp,
2700 importToEditor = _require.importToEditor;
2701 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2702 MODE_VARIATION = _require2.MODE_VARIATION;
2703 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2704 __ = _require3.__;
2705 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2706 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2707 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2708 var ApplyTemplateForAiBehavior;
2709 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2710 ui: {
2711 applyButton: '.elementor-template-library-template-apply-ai',
2712 generateVariation: '.elementor-template-library-template-generate-variation'
2713 },
2714 events: {
2715 'click @ui.applyButton': 'onApplyButtonClick',
2716 'click @ui.generateVariation': 'onGenerateVariationClick'
2717 },
2718 onGenerateVariationClick: function onGenerateVariationClick() {
2719 var _libraryComponent$man, _libraryComponent$man2;
2720 var args = {
2721 model: this.view.model
2722 };
2723 var libraryComponent = $e.components.get('library');
2724 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;
2725 libraryComponent.downloadTemplate(args, function (data) {
2726 var model = args.model;
2727 var attachment = {
2728 type: ATTACHMENT_TYPE_JSON,
2729 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2730 content: data.content[0],
2731 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2732 source: ELEMENTOR_LIBRARY_SOURCE
2733 };
2734 renderLayoutApp({
2735 parentContainer: elementor.getPreviewContainer(),
2736 mode: MODE_VARIATION,
2737 at: at,
2738 attachments: [attachment],
2739 onInsert: function onInsert(template) {
2740 importToEditor({
2741 parentContainer: elementor.getPreviewContainer(),
2742 at: at,
2743 template: template,
2744 historyTitle: __('AI Variation from library', 'elementor')
2745 });
2746 }
2747 });
2748 $e.run('library/close');
2749 });
2750 },
2751 onApplyButtonClick: function onApplyButtonClick() {
2752 var args = {
2753 model: this.view.model
2754 };
2755 this.ui.applyButton.addClass('elementor-disabled');
2756 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2757 $e.route('library/connect', args);
2758 return;
2759 }
2760 $e.run('library/generate-ai-variation', args);
2761 }
2762 });
2763 module.exports = ApplyTemplateForAiBehavior;
2764
2765 /***/ }),
2766
2767 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2768 /*!************************************************************!*\
2769 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2770 \************************************************************/
2771 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2772
2773 "use strict";
2774
2775
2776 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2777 Object.defineProperty(exports, "__esModule", ({
2778 value: true
2779 }));
2780 exports["default"] = void 0;
2781 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2782 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2783 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2784 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2785 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2786 rtl: props.isRTL
2787 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2788 colorScheme: props.colorScheme
2789 }, props.children));
2790 };
2791 LayoutAppWrapper.propTypes = {
2792 children: _propTypes.default.node,
2793 isRTL: _propTypes.default.bool,
2794 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2795 };
2796 var _default = LayoutAppWrapper;
2797 exports["default"] = _default;
2798
2799 /***/ }),
2800
2801 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2802 /*!****************************************************!*\
2803 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2804 \****************************************************/
2805 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2806
2807 "use strict";
2808
2809
2810 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2811 Object.defineProperty(exports, "__esModule", ({
2812 value: true
2813 }));
2814 exports["default"] = void 0;
2815 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2816 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2817 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2818 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2819 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2820 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2821 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2822 var LayoutApp = function LayoutApp(props) {
2823 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2824 onError: props.onClose
2825 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2826 mode: props.mode,
2827 attachmentsTypes: props.attachmentsTypes,
2828 onClose: props.onClose,
2829 onConnect: props.onConnect,
2830 onData: props.onData,
2831 onInsert: props.onInsert,
2832 onSelect: props.onSelect,
2833 onGenerate: props.onGenerate,
2834 currentContext: props.currentContext,
2835 hasPro: props.hasPro
2836 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2837 attachments: props.attachments
2838 }))));
2839 };
2840 LayoutApp.propTypes = {
2841 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2842 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2843 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2844 onClose: _propTypes.default.func.isRequired,
2845 onConnect: _propTypes.default.func.isRequired,
2846 onData: _propTypes.default.func.isRequired,
2847 onInsert: _propTypes.default.func.isRequired,
2848 onSelect: _propTypes.default.func.isRequired,
2849 onGenerate: _propTypes.default.func.isRequired,
2850 currentContext: _propTypes.default.object,
2851 hasPro: _propTypes.default.bool
2852 };
2853 var _default = LayoutApp;
2854 exports["default"] = _default;
2855
2856 /***/ }),
2857
2858 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2859 /*!********************************************************!*\
2860 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2861 \********************************************************/
2862 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2863
2864 "use strict";
2865
2866
2867 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2868 Object.defineProperty(exports, "__esModule", ({
2869 value: true
2870 }));
2871 exports["default"] = void 0;
2872 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2873 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
2874 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
2875 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
2876 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
2877 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
2878 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
2879 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
2880 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
2881 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2882 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2883 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2884 var LayoutContent = function LayoutContent(props) {
2885 var _useUserInfo = (0, _useUserInfo2.default)(),
2886 isLoading = _useUserInfo.isLoading,
2887 isConnected = _useUserInfo.isConnected,
2888 isGetStarted = _useUserInfo.isGetStarted,
2889 connectUrl = _useUserInfo.connectUrl,
2890 fetchData = _useUserInfo.fetchData,
2891 hasSubscription = _useUserInfo.hasSubscription,
2892 usagePercentage = _useUserInfo.usagePercentage;
2893 var _useConfig = (0, _config.useConfig)(),
2894 onClose = _useConfig.onClose,
2895 onConnect = _useConfig.onConnect;
2896 if (isLoading) {
2897 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2898 onClose: onClose
2899 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
2900 onClose: onClose
2901 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
2902 dividers: true
2903 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
2904 BoxProps: {
2905 sx: {
2906 px: 3
2907 }
2908 }
2909 })));
2910 }
2911 if (!isConnected) {
2912 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2913 onClose: onClose
2914 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2915 onClose: onClose
2916 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2917 dividers: true
2918 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
2919 connectUrl: connectUrl,
2920 onSuccess: function onSuccess(data) {
2921 onConnect(data);
2922 fetchData();
2923 }
2924 })));
2925 }
2926 if (!isGetStarted) {
2927 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2928 onClose: onClose
2929 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2930 onClose: onClose
2931 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2932 dividers: true
2933 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
2934 onSuccess: fetchData
2935 })));
2936 }
2937 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
2938 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
2939 attachments: props.attachments,
2940 DialogHeaderProps: {
2941 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
2942 hasSubscription: hasSubscription,
2943 usagePercentage: usagePercentage
2944 })
2945 }
2946 });
2947 };
2948 LayoutContent.propTypes = {
2949 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
2950 };
2951 var _default = LayoutContent;
2952 exports["default"] = _default;
2953
2954 /***/ }),
2955
2956 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
2957 /*!*************************************************************!*\
2958 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
2959 \*************************************************************/
2960 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2961
2962 "use strict";
2963
2964
2965 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2966 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2967 Object.defineProperty(exports, "__esModule", ({
2968 value: true
2969 }));
2970 exports["default"] = void 0;
2971 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2972 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2973 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2974 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2975 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2976 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); }
2977 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; }
2978 var Connect = function Connect(_ref) {
2979 var connectUrl = _ref.connectUrl,
2980 onSuccess = _ref.onSuccess;
2981 var approveButtonRef = (0, _react.useRef)();
2982 (0, _react.useEffect)(function () {
2983 // On local dev (as a standalone app), the connect lib is not loaded.
2984 if (!jQuery.fn.elementorConnect) {
2985 return;
2986 }
2987 jQuery(approveButtonRef.current).elementorConnect({
2988 success: function success(_, data) {
2989 return onSuccess(data);
2990 },
2991 error: function error() {
2992 throw new Error('Elementor AI: Failed to connect.');
2993 }
2994 });
2995 }, []);
2996 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2997 alignItems: "center",
2998 gap: 2
2999 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3000 sx: {
3001 color: 'text.primary',
3002 fontSize: '60px',
3003 mb: 1
3004 }
3005 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3006 variant: "h4",
3007 sx: {
3008 color: 'text.primary'
3009 }
3010 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3011 variant: "body2"
3012 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3013 variant: "caption",
3014 sx: {
3015 maxWidth: 520,
3016 textAlign: 'center'
3017 }
3018 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
3019 href: "https://go.elementor.com/ai-terms/",
3020 target: "_blank",
3021 color: "info.main"
3022 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
3023 href: "https://go.elementor.com/ai-privacy-policy/",
3024 target: "_blank",
3025 color: "info.main"
3026 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3027 ref: approveButtonRef,
3028 href: connectUrl,
3029 variant: "contained",
3030 sx: {
3031 mt: 1,
3032 '&:hover': {
3033 color: 'primary.contrastText'
3034 }
3035 }
3036 }, (0, _i18n.__)('Connect', 'elementor')));
3037 };
3038 Connect.propTypes = {
3039 connectUrl: _propTypes.default.string.isRequired,
3040 onSuccess: _propTypes.default.func.isRequired
3041 };
3042 var _default = Connect;
3043 exports["default"] = _default;
3044
3045 /***/ }),
3046
3047 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
3048 /*!**********************************************************************************!*\
3049 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
3050 \**********************************************************************************/
3051 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3052
3053 "use strict";
3054
3055
3056 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3057 Object.defineProperty(exports, "__esModule", ({
3058 value: true
3059 }));
3060 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;
3061 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3062 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3063 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
3064 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
3065 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
3066 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
3067 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
3068 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3069 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3070 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3071 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3072 var ATTACHMENT_TYPE_JSON = 'json';
3073 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
3074 var ATTACHMENT_TYPE_URL = 'url';
3075 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
3076 var MENU_TYPE_LIBRARY = 'library';
3077 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
3078 var USER_VARIATION_SOURCE = 'user-variation';
3079 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
3080 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
3081 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
3082 var USER_URL_SOURCE = 'user-url';
3083 exports.USER_URL_SOURCE = USER_URL_SOURCE;
3084 var Attachments = function Attachments(props) {
3085 if (!props.attachments.length) {
3086 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
3087 disabled: props.disabled,
3088 onAttach: props.onAttach,
3089 items: [{
3090 title: (0, _i18n.__)('Reference a website', 'elementor'),
3091 icon: _websiteIcon.default,
3092 type: ATTACHMENT_TYPE_URL
3093 }, {
3094 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
3095 icon: _copyPageIcon.default,
3096 type: MENU_TYPE_LIBRARY
3097 }]
3098 });
3099 }
3100 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3101 direction: "row",
3102 spacing: 1
3103 }, props.attachments.map(function (attachment, index) {
3104 switch (attachment.type) {
3105 case ATTACHMENT_TYPE_JSON:
3106 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
3107 key: index
3108 }, props));
3109 case ATTACHMENT_TYPE_URL:
3110 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
3111 key: index
3112 }, props));
3113 default:
3114 return null;
3115 }
3116 }));
3117 };
3118 Attachments.propTypes = {
3119 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3120 onAttach: _propTypes.default.func.isRequired,
3121 onDetach: _propTypes.default.func,
3122 disabled: _propTypes.default.bool
3123 };
3124 var _default = Attachments;
3125 exports["default"] = _default;
3126
3127 /***/ }),
3128
3129 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
3130 /*!************************************************************************************************!*\
3131 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
3132 \************************************************************************************************/
3133 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3134
3135 "use strict";
3136
3137
3138 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3139 Object.defineProperty(exports, "__esModule", ({
3140 value: true
3141 }));
3142 exports["default"] = exports.AttachDialog = void 0;
3143 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3144 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3145 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3146 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3147 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3148 var AttachDialog = function AttachDialog(props) {
3149 var type = props.type;
3150 var url = props.url;
3151 switch (type) {
3152 case _attachments.ATTACHMENT_TYPE_URL:
3153 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3154 url: url,
3155 onAttach: props.onAttach,
3156 onClose: props.onClose
3157 });
3158 case _attachments.MENU_TYPE_LIBRARY:
3159 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3160 onAttach: props.onAttach,
3161 onClose: props.onClose
3162 });
3163 }
3164 return null;
3165 };
3166 exports.AttachDialog = AttachDialog;
3167 AttachDialog.propTypes = {
3168 type: _propTypes.default.string,
3169 onAttach: _propTypes.default.func,
3170 onClose: _propTypes.default.func,
3171 url: _propTypes.default.string
3172 };
3173 var _default = AttachDialog;
3174 exports["default"] = _default;
3175
3176 /***/ }),
3177
3178 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3179 /*!*************************************************************************************************!*\
3180 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3181 \*************************************************************************************************/
3182 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3183
3184 "use strict";
3185
3186
3187 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3188 Object.defineProperty(exports, "__esModule", ({
3189 value: true
3190 }));
3191 exports.LibraryDialog = void 0;
3192 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3193 var _react = __webpack_require__(/*! react */ "react");
3194 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3195 var LibraryDialog = function LibraryDialog(props) {
3196 var isApplyingTemplate = (0, _react.useRef)(false);
3197 (0, _react.useEffect)(function () {
3198 var onLibraryHide = function onLibraryHide() {
3199 if (isApplyingTemplate.current) {
3200 return;
3201 }
3202 props.onClose();
3203 };
3204 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3205 return function () {
3206 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3207 };
3208 }, [props]);
3209 (0, _react.useEffect)(function () {
3210 var onMessage = function onMessage(event) {
3211 var _event$data = event.data,
3212 type = _event$data.type,
3213 json = _event$data.json,
3214 html = _event$data.html,
3215 label = _event$data.label,
3216 source = _event$data.source;
3217 switch (type) {
3218 case 'library/attach:start':
3219 isApplyingTemplate.current = true;
3220 break;
3221 case 'library/attach':
3222 props.onAttach([{
3223 type: _attachments.ATTACHMENT_TYPE_JSON,
3224 previewHTML: html,
3225 content: json,
3226 label: label,
3227 source: source
3228 }]);
3229 isApplyingTemplate.current = false;
3230 props.onClose();
3231 break;
3232 }
3233 };
3234 window.addEventListener('message', onMessage);
3235 return function () {
3236 window.removeEventListener('message', onMessage);
3237 };
3238 });
3239 $e.run('library/open', {
3240 toDefault: true,
3241 mode: 'ai-attachment'
3242 });
3243 isApplyingTemplate.current = false;
3244 return null;
3245 };
3246 exports.LibraryDialog = LibraryDialog;
3247 LibraryDialog.propTypes = {
3248 onAttach: _propTypes.default.func.isRequired,
3249 onClose: _propTypes.default.func.isRequired
3250 };
3251
3252 /***/ }),
3253
3254 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3255 /*!***************************************************************************************!*\
3256 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3257 \***************************************************************************************/
3258 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3259
3260 "use strict";
3261
3262
3263 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3264 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3265 Object.defineProperty(exports, "__esModule", ({
3266 value: true
3267 }));
3268 exports.Menu = void 0;
3269 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3270 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3271 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3272 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3273 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3274 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3275 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3276 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3277 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); }
3278 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; }
3279 var Menu = function Menu(props) {
3280 var _useState = (0, _react.useState)(false),
3281 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3282 isOpen = _useState2[0],
3283 setIsOpen = _useState2[1];
3284 var _useState3 = (0, _react.useState)(null),
3285 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3286 selectedType = _useState4[0],
3287 setSelectedType = _useState4[1];
3288 var _useTheme = (0, _ui.useTheme)(),
3289 direction = _useTheme.direction;
3290 var anchorRef = (0, _react.useRef)(null);
3291 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3292 isViewed = _useIntroduction.isViewed,
3293 markAsViewed = _useIntroduction.markAsViewed;
3294 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3295 size: "small",
3296 ref: anchorRef,
3297 disabled: props.disabled,
3298 onClick: function onClick() {
3299 setIsOpen(true);
3300 markAsViewed();
3301 },
3302 color: "secondary"
3303 }, function () {
3304 if (isOpen) {
3305 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3306 fontSize: "small"
3307 });
3308 } else if (isViewed) {
3309 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3310 fontSize: "small"
3311 });
3312 }
3313 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3314 color: "primary",
3315 badgeContent: " ",
3316 variant: "dot"
3317 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3318 fontSize: "small"
3319 }));
3320 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3321 open: isOpen,
3322 anchorEl: anchorRef.current,
3323 onClose: function onClose() {
3324 return setIsOpen(false);
3325 },
3326 anchorOrigin: {
3327 vertical: 'bottom',
3328 horizontal: 'rtl' === direction ? 'right' : 'left'
3329 },
3330 transformOrigin: {
3331 vertical: 'top',
3332 horizontal: 'rtl' === direction ? 'right' : 'left'
3333 }
3334 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3335 sx: {
3336 width: 440
3337 }
3338 }, props.items.map(function (item) {
3339 var IconComponent = item.icon;
3340 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3341 key: item.type,
3342 onClick: function onClick() {
3343 setSelectedType(item.type);
3344 setIsOpen(false);
3345 }
3346 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3347 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3348 type: selectedType,
3349 onAttach: props.onAttach,
3350 onClose: function onClose() {
3351 setIsOpen(false);
3352 setSelectedType(null);
3353 }
3354 }));
3355 };
3356 exports.Menu = Menu;
3357 Menu.propTypes = {
3358 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3359 title: _propTypes.default.string.isRequired,
3360 type: _propTypes.default.string.isRequired,
3361 icon: _propTypes.default.elementType
3362 })).isRequired,
3363 onAttach: _propTypes.default.func.isRequired,
3364 disabled: _propTypes.default.bool
3365 };
3366
3367 /***/ }),
3368
3369 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3370 /*!******************************************************************************************************!*\
3371 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3372 \******************************************************************************************************/
3373 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3374
3375 "use strict";
3376
3377
3378 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3379 Object.defineProperty(exports, "__esModule", ({
3380 value: true
3381 }));
3382 exports.PromptPowerNotice = void 0;
3383 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3384 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3385 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3386 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3387 var PromptPowerNotice = function PromptPowerNotice() {
3388 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3389 isViewed = _useIntroduction.isViewed,
3390 markAsViewed = _useIntroduction.markAsViewed;
3391 if (isViewed) {
3392 return null;
3393 }
3394 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3395 sx: {
3396 pt: 2,
3397 px: 2,
3398 pb: 0
3399 }
3400 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3401 severity: "info",
3402 onClose: function onClose() {
3403 return markAsViewed();
3404 }
3405 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3406 variant: "body2",
3407 display: "inline-block",
3408 sx: {
3409 paddingInlineEnd: 1
3410 }
3411 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3412 variant: "body2",
3413 display: "inline-block"
3414 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3415 };
3416 exports.PromptPowerNotice = PromptPowerNotice;
3417
3418 /***/ }),
3419
3420 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3421 /*!*************************************************************************************************!*\
3422 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3423 \*************************************************************************************************/
3424 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3425
3426 "use strict";
3427
3428
3429 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3430 Object.defineProperty(exports, "__esModule", ({
3431 value: true
3432 }));
3433 exports["default"] = exports.ThumbnailJson = void 0;
3434 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3435 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3436 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3437 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3438 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3439 var ThumbnailJson = function ThumbnailJson(props) {
3440 var _props$attachments;
3441 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3442 return 'json' === item.type;
3443 });
3444 if (!attachment) {
3445 return null;
3446 }
3447 if (!attachment.previewHTML) {
3448 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3449 animation: "wave",
3450 variant: "rounded",
3451 width: 60,
3452 height: 60
3453 });
3454 }
3455 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3456 html: attachment.previewHTML,
3457 disabled: props.disabled
3458 });
3459 };
3460 exports.ThumbnailJson = ThumbnailJson;
3461 ThumbnailJson.propTypes = {
3462 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3463 disabled: _propTypes.default.bool
3464 };
3465 var _default = ThumbnailJson;
3466 exports["default"] = _default;
3467
3468 /***/ }),
3469
3470 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3471 /*!************************************************************************************************!*\
3472 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3473 \************************************************************************************************/
3474 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3475
3476 "use strict";
3477
3478
3479 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3480 Object.defineProperty(exports, "__esModule", ({
3481 value: true
3482 }));
3483 exports["default"] = exports.ThumbnailUrl = void 0;
3484 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3485 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3486 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3487 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3488 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3489 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3490 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3491 var ThumbnailUrl = function ThumbnailUrl(props) {
3492 var _props$attachments;
3493 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3494 return 'url' === item.type;
3495 });
3496 if (!attachment) {
3497 return null;
3498 }
3499 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3500 sx: {
3501 position: 'relative',
3502 '&:hover::before': {
3503 content: '""',
3504 position: 'absolute',
3505 userSelect: 'none',
3506 inset: 0,
3507 backgroundColor: 'rgba(0,0,0,0.6)',
3508 borderRadius: 1,
3509 zIndex: 1
3510 },
3511 '&:hover .remove-attachment': {
3512 display: 'flex'
3513 }
3514 }
3515 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3516 className: "remove-attachment",
3517 size: "small",
3518 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3519 disabled: props.disabled,
3520 onClick: function onClick(event) {
3521 event.stopPropagation();
3522 props.onDetach();
3523 },
3524 sx: {
3525 display: 'none',
3526 position: 'absolute',
3527 insetInlineEnd: 4,
3528 insetBlockStart: 4,
3529 backgroundColor: 'secondary.main',
3530 zIndex: 1,
3531 borderRadius: 1,
3532 p: '3px',
3533 '&:hover': {
3534 backgroundColor: 'secondary.dark'
3535 }
3536 }
3537 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3538 sx: {
3539 fontSize: '1.125rem',
3540 color: 'common.white'
3541 }
3542 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3543 disabled: props.disabled,
3544 html: attachment.previewHTML
3545 }));
3546 };
3547 exports.ThumbnailUrl = ThumbnailUrl;
3548 ThumbnailUrl.propTypes = {
3549 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3550 disabled: _propTypes.default.bool,
3551 onDetach: _propTypes.default.func
3552 };
3553 var _default = ThumbnailUrl;
3554 exports["default"] = _default;
3555
3556 /***/ }),
3557
3558 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3559 /*!********************************************************************************************!*\
3560 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3561 \********************************************************************************************/
3562 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3563
3564 "use strict";
3565
3566
3567 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3568 Object.defineProperty(exports, "__esModule", ({
3569 value: true
3570 }));
3571 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3572 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3573 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3574 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3575 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3576 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3577 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3578 var _templateObject;
3579 var THUMBNAIL_SIZE = 64;
3580 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3581 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);
3582 var Thumbnail = function Thumbnail(props) {
3583 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3584 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;
3585 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;
3586 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3587 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3588 var scaleFactor = Math.min(height, width);
3589 var scale = THUMBNAIL_SIZE / scaleFactor;
3590
3591 // Center the preview
3592 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3593 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3594 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3595 dir: "ltr",
3596 sx: {
3597 position: 'relative',
3598 cursor: 'default',
3599 overflow: 'hidden',
3600 border: '1px solid',
3601 borderColor: 'grey.300',
3602 borderRadius: 1,
3603 boxSizing: 'border-box',
3604 width: THUMBNAIL_SIZE,
3605 height: THUMBNAIL_SIZE,
3606 opacity: props.disabled ? 0.5 : 1
3607 }
3608 }, /*#__PURE__*/_react.default.createElement("iframe", {
3609 title: (0, _i18n.__)('Preview', 'elementor'),
3610 sandbox: "",
3611 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3612 style: {
3613 border: 'none',
3614 overflow: 'hidden',
3615 width: width,
3616 height: height,
3617 transform: "scale(".concat(scale, ")"),
3618 transformOrigin: "".concat(left, "px ").concat(top, "px")
3619 }
3620 }));
3621 };
3622 exports.Thumbnail = Thumbnail;
3623 Thumbnail.propTypes = {
3624 html: _propTypes.default.string.isRequired,
3625 disabled: _propTypes.default.bool
3626 };
3627
3628 /***/ }),
3629
3630 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3631 /*!*********************************************************************************************!*\
3632 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3633 \*********************************************************************************************/
3634 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3635
3636 "use strict";
3637
3638
3639 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3640 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3641 Object.defineProperty(exports, "__esModule", ({
3642 value: true
3643 }));
3644 exports.UrlDialog = void 0;
3645 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3646 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3647 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3648 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3649 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3650 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3651 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3652 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3653 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3654 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3655 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3656 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); }
3657 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; }
3658 var UrlDialog = function UrlDialog(props) {
3659 var iframeRef = (0, _react.useRef)(null);
3660 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3661 targetUrl: props.url
3662 }),
3663 iframeSource = _useAttachUrlService.iframeSource;
3664 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3665 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3666 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3667 isTimeout = _useTimeout2[0],
3668 turnOffTimeout = _useTimeout2[1];
3669 var _useUserInfo = (0, _useUserInfo2.default)(),
3670 isConnected = _useUserInfo.isConnected,
3671 hasSubscription = _useUserInfo.hasSubscription,
3672 credits = _useUserInfo.credits,
3673 usagePercentage = _useUserInfo.usagePercentage;
3674 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3675 isLoaded = _useRemoteConfig.isLoaded,
3676 isError = _useRemoteConfig.isError,
3677 remoteConfig = _useRemoteConfig.remoteConfig;
3678 (0, _react.useEffect)(function () {
3679 var onMessage = function onMessage(event) {
3680 if (event.origin !== iframeOrigin) {
3681 return;
3682 }
3683 var _event$data = event.data,
3684 type = _event$data.type,
3685 html = _event$data.html,
3686 url = _event$data.url;
3687 switch (type) {
3688 case 'element-selector/close':
3689 props.onClose();
3690 break;
3691 case 'element-selector/loaded':
3692 turnOffTimeout();
3693 break;
3694 case 'element-selector/attach':
3695 props.onAttach([{
3696 type: 'url',
3697 previewHTML: html,
3698 content: html,
3699 label: url ? new URL(url).host : '',
3700 source: _attachments.USER_URL_SOURCE
3701 }]);
3702 break;
3703 }
3704 };
3705 window.addEventListener('message', onMessage);
3706 return function () {
3707 window.removeEventListener('message', onMessage);
3708 };
3709 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3710 if (!iframeSource) {
3711 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3712 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3713 onClose: props.onClose
3714 });
3715 }
3716 if (!isLoaded || isError) {
3717 return null;
3718 }
3719 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3720 open: true,
3721 fullScreen: true,
3722 hideBackdrop: true,
3723 maxWidth: "md",
3724 sx: {
3725 '& .MuiPaper-root': {
3726 backgroundColor: 'transparent'
3727 }
3728 }
3729 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3730 sx: {
3731 padding: 0
3732 }
3733 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3734 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3735 onClose: props.onClose
3736 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3737 ref: iframeRef,
3738 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3739 src: iframeSource,
3740 onLoad: function onLoad() {
3741 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3742 accessLevel = _window$elementorAppC.access_level,
3743 accessTier = _window$elementorAppC.access_tier,
3744 isPro = _window$elementorAppC.is_pro;
3745 iframeRef.current.contentWindow.postMessage({
3746 type: 'referrer/info',
3747 info: {
3748 page: {
3749 url: window.location.href
3750 },
3751 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3752 products: {
3753 core: {
3754 version: window.elementor.config.version
3755 },
3756 pro: {
3757 isPro: isPro,
3758 accessLevel: accessLevel,
3759 accessTier: accessTier
3760 },
3761 ai: {
3762 isConnected: isConnected,
3763 hasSubscription: hasSubscription,
3764 credits: credits,
3765 usagePercentage: usagePercentage
3766 }
3767 },
3768 user: {
3769 isAdmin: window.elementor.config.user.is_administrator
3770 }
3771 }
3772 }, iframeOrigin);
3773 },
3774 style: {
3775 border: 'none',
3776 overflow: 'scroll',
3777 width: '100%',
3778 height: '100%',
3779 backgroundColor: 'rgba(255,255,255,0.6)'
3780 }
3781 })));
3782 };
3783 exports.UrlDialog = UrlDialog;
3784 UrlDialog.propTypes = {
3785 onAttach: _propTypes.default.func.isRequired,
3786 onClose: _propTypes.default.func.isRequired,
3787 url: _propTypes.default.string
3788 };
3789
3790 /***/ }),
3791
3792 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3793 /*!************************************************************************************!*\
3794 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3795 \************************************************************************************/
3796 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3797
3798 "use strict";
3799
3800
3801 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3802 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3803 Object.defineProperty(exports, "__esModule", ({
3804 value: true
3805 }));
3806 exports["default"] = void 0;
3807 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3808 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3809 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3810 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3811 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3812 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3813 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3814 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3815 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3816 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3817 var _excluded = ["sx", "PaperProps"];
3818 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); }
3819 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; }
3820 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; }
3821 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; }
3822 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3823 return {
3824 '& .MuiDialog-container': {
3825 marginTop: 0,
3826 alignItems: 'flex-end',
3827 paddingBottom: '16vh'
3828 },
3829 '& .MuiPaper-root': {
3830 margin: 0,
3831 maxHeight: '55vh'
3832 }
3833 };
3834 });
3835 var DialogHeader = function DialogHeader(_ref) {
3836 var onClose = _ref.onClose,
3837 children = _ref.children;
3838 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3839 sx: {
3840 fontWeight: 'normal'
3841 },
3842 color: "transparent",
3843 position: "relative"
3844 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3845 variant: "dense"
3846 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3847 sx: {
3848 mr: 1
3849 }
3850 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3851 component: "span",
3852 variant: "subtitle2",
3853 sx: {
3854 fontWeight: 'bold',
3855 textTransform: 'uppercase'
3856 }
3857 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3858 label: (0, _i18n.__)('Beta', 'elementor'),
3859 color: "default",
3860 size: "small",
3861 sx: {
3862 ml: 1
3863 }
3864 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3865 direction: "row",
3866 spacing: 1,
3867 alignItems: "center",
3868 sx: {
3869 ml: 'auto'
3870 }
3871 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3872 size: "small",
3873 "aria-label": "close",
3874 onClick: onClose,
3875 sx: {
3876 '&.MuiButtonBase-root': {
3877 mr: -1
3878 }
3879 }
3880 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
3881 };
3882 DialogHeader.propTypes = {
3883 children: _propTypes.default.node,
3884 onClose: _propTypes.default.func.isRequired
3885 };
3886 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
3887 return {
3888 '&.MuiDialogContent-root': {
3889 padding: 0
3890 }
3891 };
3892 });
3893 var LayoutDialog = function LayoutDialog(_ref2) {
3894 var _ref2$sx = _ref2.sx,
3895 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
3896 _ref2$PaperProps = _ref2.PaperProps,
3897 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
3898 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
3899 var _useState = (0, _react.useState)({
3900 pointerEvents: 'none'
3901 }),
3902 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3903 sxStyle = _useState2[0],
3904 setSxStyle = _useState2[1];
3905 var timeoutRef = (0, _react.useRef)(null);
3906
3907 /**
3908 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
3909 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
3910 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
3911 */
3912 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
3913 maxWidth: "md",
3914 PaperProps: _objectSpread({
3915 sx: {
3916 pointerEvents: 'auto'
3917 },
3918 onMouseEnter: function onMouseEnter() {
3919 clearTimeout(timeoutRef.current);
3920 setSxStyle({
3921 pointerEvents: 'all'
3922 });
3923 },
3924 onMouseLeave: function onMouseLeave() {
3925 clearTimeout(timeoutRef.current);
3926 timeoutRef.current = setTimeout(function () {
3927 setSxStyle({
3928 pointerEvents: 'none'
3929 });
3930 }, 200);
3931 }
3932 }, PaperProps)
3933 }, props, {
3934 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
3935 }));
3936 };
3937 LayoutDialog.propTypes = {
3938 sx: _propTypes.default.object,
3939 PaperProps: _propTypes.default.object
3940 };
3941 LayoutDialog.Header = DialogHeader;
3942 LayoutDialog.Content = StyledDialogContent;
3943 var _default = LayoutDialog;
3944 exports["default"] = _default;
3945
3946 /***/ }),
3947
3948 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
3949 /*!*********************************************************************************************!*\
3950 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
3951 \*********************************************************************************************/
3952 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3953
3954 "use strict";
3955
3956
3957 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3958 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3959 Object.defineProperty(exports, "__esModule", ({
3960 value: true
3961 }));
3962 exports.ProTemplateIndicator = void 0;
3963 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3964 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3965 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3966 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3967 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3968 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); }
3969 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; }
3970 var popoverId = 'e-pro-upgrade-popover';
3971 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
3972 var theme = _ref.theme;
3973 return {
3974 position: 'relative',
3975 padding: theme.spacing(3),
3976 boxShadow: theme.shadows[4],
3977 zIndex: '9999'
3978 };
3979 });
3980 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
3981 var theme = _ref2.theme;
3982 return {
3983 position: 'absolute',
3984 width: theme.spacing(5),
3985 height: theme.spacing(5),
3986 overflow: 'hidden',
3987 // Override Popper inline styles.
3988 left: '100% !important',
3989 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
3990 '&::after': {
3991 backgroundColor: theme.palette.background.paper,
3992 content: '""',
3993 display: 'block',
3994 position: 'absolute',
3995 width: theme.spacing(2.5),
3996 height: theme.spacing(2.5),
3997 top: '50%',
3998 left: '50%',
3999 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
4000 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
4001 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
4002 }
4003 };
4004 });
4005 var ProTemplateIndicator = function ProTemplateIndicator() {
4006 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
4007 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
4008 var _useState = (0, _react.useState)(false),
4009 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4010 isPopoverOpen = _useState2[0],
4011 setIsPopoverOpen = _useState2[1];
4012 var anchorEl = (0, _react.useRef)(null);
4013 var arrowEl = (0, _react.useRef)(null);
4014 var showPopover = function showPopover() {
4015 return setIsPopoverOpen(true);
4016 };
4017 var hidePopover = function hidePopover() {
4018 return setIsPopoverOpen(false);
4019 };
4020 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4021 flexDirection: "row-reverse",
4022 component: "span",
4023 display: "flex",
4024 onMouseLeave: hidePopover,
4025 alignItems: "center"
4026 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4027 ref: anchorEl,
4028 onMouseEnter: showPopover,
4029 onClick: function onClick(e) {
4030 return e.stopPropagation();
4031 } /* Do nothing */,
4032 "aria-owns": isPopoverOpen ? popoverId : undefined,
4033 "aria-haspopup": "true",
4034 sx: {
4035 m: 1,
4036 '&:hover': {
4037 backgroundColor: 'action.selected'
4038 }
4039 }
4040 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
4041 sx: {
4042 color: 'text.primary'
4043 }
4044 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
4045 open: isPopoverOpen,
4046 popperOptions: {
4047 placement: 'left-start',
4048 modifiers: [{
4049 name: 'arrow',
4050 enabled: true,
4051 options: {
4052 element: arrowEl.current,
4053 padding: 5
4054 }
4055 }, {
4056 name: 'offset',
4057 options: {
4058 offset: [0, 10]
4059 }
4060 }]
4061 },
4062 anchorEl: anchorEl.current,
4063 sx: {
4064 zIndex: '9999',
4065 maxWidth: 300
4066 }
4067 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
4068 ref: arrowEl
4069 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4070 alignItems: "start",
4071 spacing: 2
4072 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4073 color: "promotion",
4074 variant: "outlined",
4075 size: "small",
4076 label: (0, _i18n.__)('Pro', 'elementor'),
4077 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
4078 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4079 variant: "body2"
4080 }, (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, {
4081 variant: "contained",
4082 color: "promotion",
4083 size: "small",
4084 href: actionUrl,
4085 target: "_blank",
4086 sx: {
4087 alignSelf: 'flex-end'
4088 }
4089 }, actionLabel)))));
4090 };
4091 exports.ProTemplateIndicator = ProTemplateIndicator;
4092
4093 /***/ }),
4094
4095 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
4096 /*!*****************************************************************************************!*\
4097 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
4098 \*****************************************************************************************/
4099 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4100
4101 "use strict";
4102
4103
4104 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4105 Object.defineProperty(exports, "__esModule", ({
4106 value: true
4107 }));
4108 exports.ProWidgetsNotice = void 0;
4109 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4110 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4111 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4112 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4113 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
4114 var ProWidgetsNotice = function ProWidgetsNotice() {
4115 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-pro-widget'),
4116 isViewed = _useIntroduction.isViewed,
4117 markAsViewed = _useIntroduction.markAsViewed;
4118 if (isViewed) {
4119 return null;
4120 }
4121 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4122 sx: {
4123 pt: 2,
4124 px: 2,
4125 pb: 0
4126 }
4127 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
4128 severity: "info",
4129 variant: "filled",
4130 color: "promotion",
4131 onClose: function onClose() {
4132 return markAsViewed();
4133 },
4134 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
4135 sx: {
4136 '& .MuiAlert-message': {
4137 width: '100%'
4138 }
4139 }
4140 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4141 flexDirection: "row",
4142 alignItems: "baseline",
4143 justifyContent: "space-between"
4144 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4145 variant: "body2",
4146 component: "span",
4147 sx: {
4148 paddingInlineEnd: 0.5
4149 }
4150 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4151 variant: "subtitle2",
4152 component: "span",
4153 sx: {
4154 paddingInlineEnd: 1
4155 }
4156 }, (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, {
4157 variant: "outlined",
4158 size: "small",
4159 onClick: function onClick() {
4160 return window.open('https://go.elementor.com/upgrade-pro/', '_blank');
4161 },
4162 color: "inherit"
4163 }, (0, _i18n.__)('Go Pro', 'elementor')))));
4164 };
4165 exports.ProWidgetsNotice = ProWidgetsNotice;
4166
4167 /***/ }),
4168
4169 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4170 /*!******************************************************************************************!*\
4171 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4172 \******************************************************************************************/
4173 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4174
4175 "use strict";
4176
4177
4178 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4179 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4180 Object.defineProperty(exports, "__esModule", ({
4181 value: true
4182 }));
4183 exports["default"] = void 0;
4184 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4185 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4186 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4187 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4188 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4189 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4190 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4191 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4192 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4193 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4194 var _excluded = ["onSubmit"];
4195 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); }
4196 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; }
4197 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; }
4198 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; }
4199 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4200 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4201 // eslint-disable-next-line jsx-a11y/no-autofocus
4202 , (0, _extends2.default)({
4203 autoFocus: true,
4204 multiline: true,
4205 size: "small",
4206 maxRows: 3,
4207 color: "secondary",
4208 variant: "standard"
4209 }, props, {
4210 inputRef: ref,
4211 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4212 type: 'search',
4213 sx: {
4214 pt: 0
4215 }
4216 })
4217 }));
4218 });
4219 TextInput.propTypes = {
4220 InputProps: _propTypes.default.object
4221 };
4222 var PaperComponent = function PaperComponent(props) {
4223 var _useConfig = (0, _config.useConfig)(),
4224 mode = _useConfig.mode;
4225 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4226 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4227 elevation: 8,
4228 sx: {
4229 borderRadius: 2
4230 }
4231 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4232 component: _ui.Box,
4233 color: function color(theme) {
4234 return theme.palette.text.tertiary;
4235 },
4236 variant: "caption",
4237 paddingX: 2,
4238 paddingY: 1
4239 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4240 sx: {
4241 m: 2
4242 }
4243 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4244 libraryLink: libraryLink
4245 })));
4246 };
4247 PaperComponent.propTypes = {
4248 children: _propTypes.default.node
4249 };
4250 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4251 var onSubmit = _ref.onSubmit,
4252 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4253 var _useState = (0, _react.useState)(false),
4254 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4255 showSuggestions = _useState2[0],
4256 setShowSuggestions = _useState2[1];
4257 var theme = (0, _ui.useTheme)();
4258 var itemHeight = parseInt(theme.spacing(4));
4259 var maxItems = 5;
4260 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4261 PaperComponent: PaperComponent,
4262 ListboxProps: {
4263 sx: {
4264 maxHeight: maxItems * itemHeight
4265 }
4266 },
4267 renderOption: function renderOption(optionProps, option) {
4268 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4269 title: option.text,
4270 noWrap: true,
4271 variant: "body2",
4272 component: _ui.Box,
4273 sx: {
4274 '&.MuiAutocomplete-option': {
4275 display: 'block',
4276 minHeight: itemHeight
4277 }
4278 }
4279 }), option.text);
4280 },
4281 freeSolo: true,
4282 fullWidth: true,
4283 disableClearable: true,
4284 open: showSuggestions,
4285 onClose: function onClose(e) {
4286 var _e$relatedTarget;
4287 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4288 },
4289 onKeyDown: function onKeyDown(e) {
4290 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4291 onSubmit(e);
4292 } else if ('/' === e.key && '' === e.target.value) {
4293 e.preventDefault();
4294 setShowSuggestions(true);
4295 }
4296 }
4297 }, props));
4298 };
4299 PromptAutocomplete.propTypes = {
4300 onSubmit: _propTypes.default.func.isRequired
4301 };
4302 PromptAutocomplete.TextInput = TextInput;
4303 var _default = PromptAutocomplete;
4304 exports["default"] = _default;
4305
4306 /***/ }),
4307
4308 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4309 /*!**********************************************************************************!*\
4310 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4311 \**********************************************************************************/
4312 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4313
4314 "use strict";
4315
4316
4317 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4318 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4319 Object.defineProperty(exports, "__esModule", ({
4320 value: true
4321 }));
4322 exports["default"] = void 0;
4323 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4324 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4325 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4326 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4327 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4328 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4329 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4330 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4331 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4332 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4333 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4334 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4335 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4336 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4337 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4338 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4339 var _excluded = ["tooltip"];
4340 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); }
4341 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; }
4342 var PROMPT_SUGGESTIONS = Object.freeze([{
4343 text: (0, _i18n.__)('Services section with list layout, icons, and service descriptions for [topic]', 'elementor')
4344 }, {
4345 text: (0, _i18n.__)('Accordion-style FAQ block with clickable questions about [topic]', 'elementor')
4346 }, {
4347 text: (0, _i18n.__)('Hero section with image, heading, subheading, and CTA button about [topic]', 'elementor')
4348 }, {
4349 text: (0, _i18n.__)('Full-width call-to-action with background image and overlay text about [topic]', 'elementor')
4350 }, {
4351 text: (0, _i18n.__)('Carousel testimonial block with user images, names, and feedback about [topic]', 'elementor')
4352 }, {
4353 text: (0, _i18n.__)('Features block showcasing feature title and brief description about [topic]', 'elementor')
4354 }, {
4355 text: (0, _i18n.__)('Multi-column minimalistic About Us section with icons for [topic]', 'elementor')
4356 }, {
4357 text: (0, _i18n.__)('Section with contact form and social media icons for [topic]', 'elementor')
4358 }, {
4359 text: (0, _i18n.__)('Statistics display in a 3-column layout with numbers and icons for [topic]', 'elementor')
4360 }, {
4361 text: (0, _i18n.__)('Pricing table section with highlighted option for [topic]', 'elementor')
4362 }, {
4363 text: (0, _i18n.__)('About Us section combining company history and values for [topic]', 'elementor')
4364 }]);
4365 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4366 var tooltip = _ref.tooltip,
4367 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4368 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4369 title: tooltip
4370 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4371 component: "span",
4372 sx: {
4373 cursor: props.disabled ? 'default' : 'pointer'
4374 }
4375 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4376 };
4377 IconButtonWithTooltip.propTypes = {
4378 tooltip: _propTypes.default.string,
4379 disabled: _propTypes.default.bool
4380 };
4381 var BackButton = function BackButton(props) {
4382 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4383 size: "small",
4384 color: "secondary",
4385 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4386 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4387 };
4388 var EditButton = function EditButton(props) {
4389 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4390 size: "small",
4391 color: "primary",
4392 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4393 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4394 };
4395 var GenerateButton = function GenerateButton(props) {
4396 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4397 size: "small",
4398 fullWidth: false
4399 }, props), (0, _i18n.__)('Generate', 'elementor'));
4400 };
4401 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4402 var _attachments$;
4403 var attachments = _ref2.attachments,
4404 isActive = _ref2.isActive,
4405 isLoading = _ref2.isLoading,
4406 _ref2$showActions = _ref2.showActions,
4407 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4408 onAttach = _ref2.onAttach,
4409 onDetach = _ref2.onDetach,
4410 _onSubmit = _ref2.onSubmit,
4411 onBack = _ref2.onBack,
4412 onEdit = _ref2.onEdit,
4413 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4414 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4415 var _useState = (0, _react.useState)(''),
4416 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4417 prompt = _useState2[0],
4418 setPrompt = _useState2[1];
4419 (0, _react.useEffect)(function () {
4420 if (shouldResetPrompt) {
4421 setPrompt('');
4422 }
4423 }, [shouldResetPrompt]);
4424 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4425 isEnhancing = _usePromptEnhancer.isEnhancing,
4426 enhance = _usePromptEnhancer.enhance;
4427 var previousPrompt = (0, _react.useRef)('');
4428 var _useConfig = (0, _config.useConfig)(),
4429 attachmentsTypes = _useConfig.attachmentsTypes;
4430 var isInputDisabled = isLoading || isEnhancing || !isActive;
4431 var isInputEmpty = '' === prompt && !attachments.length;
4432 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4433 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4434 var attachmentsConfig = attachmentsTypes[attachmentsType];
4435 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4436 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');
4437 var handleBack = function handleBack() {
4438 setPrompt(previousPrompt.current);
4439 onBack();
4440 };
4441 var handleEdit = function handleEdit() {
4442 previousPrompt.current = prompt;
4443 onEdit();
4444 };
4445 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4446 component: "form",
4447 onSubmit: function onSubmit(e) {
4448 return _onSubmit(e, prompt);
4449 },
4450 direction: "row",
4451 sx: {
4452 p: 3
4453 },
4454 alignItems: "start",
4455 gap: 1
4456 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4457 direction: "row",
4458 alignItems: "start",
4459 flexGrow: 1,
4460 spacing: 2
4461 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4462 disabled: isLoading || isEnhancing,
4463 onClick: handleBack
4464 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4465 disabled: isLoading,
4466 onClick: handleEdit
4467 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4468 attachments: attachments,
4469 onAttach: onAttach,
4470 onDetach: onDetach,
4471 disabled: isInputDisabled
4472 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4473 value: prompt,
4474 disabled: isInputDisabled,
4475 onSubmit: function onSubmit(e) {
4476 return _onSubmit(e, prompt);
4477 },
4478 options: promptSuggestions,
4479 onChange: function onChange(_, selectedValue) {
4480 return setPrompt(selectedValue.text + ' ');
4481 },
4482 renderInput: function renderInput(params) {
4483 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4484 ref: ref,
4485 onChange: function onChange(e) {
4486 return setPrompt(e.target.value);
4487 },
4488 placeholder: promptPlaceholder
4489 }));
4490 }
4491 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4492 size: "small",
4493 disabled: isGenerateDisabled || '' === prompt,
4494 isLoading: isEnhancing,
4495 onClick: function onClick() {
4496 return enhance().then(function (_ref3) {
4497 var result = _ref3.result;
4498 return setPrompt(result);
4499 });
4500 }
4501 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4502 disabled: isGenerateDisabled
4503 }));
4504 });
4505 PromptForm.propTypes = {
4506 isActive: _propTypes.default.bool,
4507 onAttach: _propTypes.default.func,
4508 onDetach: _propTypes.default.func,
4509 isLoading: _propTypes.default.bool,
4510 showActions: _propTypes.default.bool,
4511 onSubmit: _propTypes.default.func.isRequired,
4512 onBack: _propTypes.default.func.isRequired,
4513 onEdit: _propTypes.default.func.isRequired,
4514 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4515 shouldResetPrompt: _propTypes.default.bool
4516 };
4517 var _default = PromptForm;
4518 exports["default"] = _default;
4519
4520 /***/ }),
4521
4522 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4523 /*!*******************************************************************************************!*\
4524 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4525 \*******************************************************************************************/
4526 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4527
4528 "use strict";
4529
4530
4531 Object.defineProperty(exports, "__esModule", ({
4532 value: true
4533 }));
4534 exports["default"] = void 0;
4535 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4536 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4537 shouldForwardProp: function shouldForwardProp(prop) {
4538 return prop !== 'outlineOffset';
4539 }
4540 })(function (_ref) {
4541 var theme = _ref.theme,
4542 selected = _ref.selected,
4543 height = _ref.height,
4544 disabled = _ref.disabled,
4545 _ref$outlineOffset = _ref.outlineOffset,
4546 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4547 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4548 var outline = "2px solid ".concat(outlineColor);
4549 return {
4550 height: height,
4551 cursor: disabled ? 'default' : 'pointer',
4552 overflow: 'hidden',
4553 boxSizing: 'border-box',
4554 backgroundPosition: 'top center',
4555 backgroundSize: '100% auto',
4556 backgroundRepeat: 'no-repeat',
4557 backgroundColor: theme.palette.common.white,
4558 borderRadius: theme.shape.borderRadius * 0.5,
4559 outlineOffset: outlineOffset,
4560 outline: outline,
4561 opacity: disabled ? '0.4' : '1',
4562 transition: "all 50ms linear",
4563 '&:hover': disabled ? {} : {
4564 outlineColor: theme.palette.text.primary
4565 }
4566 };
4567 });
4568 var _default = ScreenshotContainer;
4569 exports["default"] = _default;
4570
4571 /***/ }),
4572
4573 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4574 /*!*********************************************************************************************!*\
4575 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.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"] = ScreenshotUnavailable;
4587 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4588 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4589 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4590 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4591 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4592 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4593 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; }
4594 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; }
4595 function ScreenshotUnavailable(props) {
4596 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4597 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4598 display: 'flex',
4599 alignItems: 'center',
4600 justifyContent: 'center',
4601 backgroundColor: 'background.paper',
4602 color: 'text.tertiary',
4603 fontStyle: 'italic',
4604 fontSize: '12px',
4605 paddingInline: 12,
4606 textAlign: 'center',
4607 lineHeight: 1.5
4608 })
4609 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4610 }
4611 ScreenshotUnavailable.propTypes = {
4612 sx: _propTypes.default.object
4613 };
4614
4615 /***/ }),
4616
4617 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4618 /*!*********************************************************************************!*\
4619 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4620 \*********************************************************************************/
4621 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4622
4623 "use strict";
4624
4625
4626 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4627 Object.defineProperty(exports, "__esModule", ({
4628 value: true
4629 }));
4630 exports["default"] = void 0;
4631 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4632 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4633 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4634 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4635 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4636 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4637 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4638 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; }
4639 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; }
4640 var SCREENSHOT_HEIGHT = '138px';
4641 var Screenshot = function Screenshot(_ref) {
4642 var url = _ref.url,
4643 type = _ref.type,
4644 _ref$isLoading = _ref.isLoading,
4645 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4646 _ref$isSelected = _ref.isSelected,
4647 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4648 isPlaceholder = _ref.isPlaceholder,
4649 disabled = _ref.disabled,
4650 onClick = _ref.onClick,
4651 _ref$sx = _ref.sx,
4652 sx = _ref$sx === void 0 ? {} : _ref$sx,
4653 outlineOffset = _ref.outlineOffset;
4654 if (isPlaceholder) {
4655 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4656 sx: _objectSpread({
4657 height: SCREENSHOT_HEIGHT
4658 }, sx)
4659 });
4660 }
4661 if (isLoading) {
4662 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4663 width: "100%",
4664 animation: "wave",
4665 variant: "rounded",
4666 height: SCREENSHOT_HEIGHT,
4667 sx: sx
4668 });
4669 }
4670 if (!url) {
4671 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4672 selected: isSelected,
4673 disabled: disabled,
4674 sx: sx,
4675 onClick: onClick,
4676 height: SCREENSHOT_HEIGHT,
4677 outlineOffset: outlineOffset
4678 });
4679 }
4680 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4681 selected: isSelected,
4682 disabled: disabled,
4683 sx: _objectSpread({
4684 backgroundImage: "url('".concat(url, "')")
4685 }, sx),
4686 onClick: onClick,
4687 height: SCREENSHOT_HEIGHT,
4688 outlineOffset: outlineOffset
4689 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4690 type: type
4691 }));
4692 };
4693 Screenshot.propTypes = {
4694 isSelected: _propTypes.default.bool,
4695 isLoading: _propTypes.default.bool,
4696 isPlaceholder: _propTypes.default.bool,
4697 disabled: _propTypes.default.bool,
4698 onClick: _propTypes.default.func.isRequired,
4699 url: _propTypes.default.string,
4700 type: _propTypes.default.string,
4701 sx: _propTypes.default.object,
4702 outlineOffset: _propTypes.default.string
4703 };
4704 var _default = Screenshot;
4705 exports["default"] = _default;
4706
4707 /***/ }),
4708
4709 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4710 /*!*************************************************************************************!*\
4711 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4712 \*************************************************************************************/
4713 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4714
4715 "use strict";
4716
4717
4718 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4719 Object.defineProperty(exports, "__esModule", ({
4720 value: true
4721 }));
4722 exports["default"] = void 0;
4723 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4724 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4725 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4726 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4727 var TemplateBadge = function TemplateBadge(props) {
4728 var _useConfig = (0, _config.useConfig)(),
4729 hasPro = _useConfig.hasPro;
4730 if ('Pro' === props.type && !hasPro) {
4731 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4732 }
4733 return null;
4734 };
4735 var _default = TemplateBadge;
4736 exports["default"] = _default;
4737 TemplateBadge.propTypes = {
4738 type: _propTypes.default.string
4739 };
4740
4741 /***/ }),
4742
4743 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4744 /*!********************************************************************************************!*\
4745 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4746 \********************************************************************************************/
4747 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4748
4749 "use strict";
4750
4751
4752 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4753 Object.defineProperty(exports, "__esModule", ({
4754 value: true
4755 }));
4756 exports["default"] = void 0;
4757 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4758 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4759 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4760 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4761 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4762 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4763 var _excluded = ["onClose", "onCancel", "title", "text"];
4764 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4765 var onClose = _ref.onClose,
4766 onCancel = _ref.onCancel,
4767 title = _ref.title,
4768 text = _ref.text,
4769 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4770 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4771 "aria-labelledby": "unsaved-changes-alert-title",
4772 "aria-describedby": "unsaved-changes-alert-description"
4773 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4774 id: "unsaved-changes-alert-title"
4775 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4776 id: "unsaved-changes-alert-description"
4777 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4778 onClick: onCancel,
4779 color: "secondary"
4780 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4781 onClick: onClose,
4782 color: "error",
4783 variant: "contained"
4784 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4785 };
4786 UnsavedChangesAlert.propTypes = {
4787 title: _propTypes.default.string,
4788 text: _propTypes.default.string,
4789 onCancel: _propTypes.default.func,
4790 onClose: _propTypes.default.func
4791 };
4792 var _default = UnsavedChangesAlert;
4793 exports["default"] = _default;
4794
4795 /***/ }),
4796
4797 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4798 /*!**************************************************************************!*\
4799 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4800 \**************************************************************************/
4801 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4802
4803 "use strict";
4804
4805
4806 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4807 Object.defineProperty(exports, "__esModule", ({
4808 value: true
4809 }));
4810 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4811 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4812 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4813 var MODE_LAYOUT = 'layout';
4814 exports.MODE_LAYOUT = MODE_LAYOUT;
4815 var MODE_VARIATION = 'variation';
4816 exports.MODE_VARIATION = MODE_VARIATION;
4817 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4818 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4819 var ConfigContext = _react.default.createContext({});
4820 var useConfig = function useConfig() {
4821 return _react.default.useContext(ConfigContext);
4822 };
4823 exports.useConfig = useConfig;
4824 var ConfigProvider = function ConfigProvider(props) {
4825 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4826 value: {
4827 mode: props.mode,
4828 attachmentsTypes: props.attachmentsTypes,
4829 onClose: props.onClose,
4830 onConnect: props.onConnect,
4831 onData: props.onData,
4832 onInsert: props.onInsert,
4833 onSelect: props.onSelect,
4834 onGenerate: props.onGenerate,
4835 currentContext: props.currentContext,
4836 hasPro: props.hasPro
4837 }
4838 }, props.children);
4839 };
4840 exports.ConfigProvider = ConfigProvider;
4841 ConfigProvider.propTypes = {
4842 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4843 children: _propTypes.default.node.isRequired,
4844 attachmentsTypes: _propTypes.default.object.isRequired,
4845 onClose: _propTypes.default.func.isRequired,
4846 onConnect: _propTypes.default.func.isRequired,
4847 onData: _propTypes.default.func.isRequired,
4848 onInsert: _propTypes.default.func.isRequired,
4849 onSelect: _propTypes.default.func.isRequired,
4850 onGenerate: _propTypes.default.func.isRequired,
4851 currentContext: _propTypes.default.object,
4852 hasPro: _propTypes.default.bool
4853 };
4854 var _default = ConfigContext;
4855 exports["default"] = _default;
4856
4857 /***/ }),
4858
4859 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4860 /*!*********************************************************************************!*\
4861 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4862 \*********************************************************************************/
4863 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4864
4865 "use strict";
4866
4867
4868 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4869 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4870 Object.defineProperty(exports, "__esModule", ({
4871 value: true
4872 }));
4873 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4874 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4875 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4876 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4877 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4878 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4879 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4880 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); }
4881 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; }
4882 var RemoteConfigContext = _react.default.createContext({});
4883 var useRemoteConfig = function useRemoteConfig() {
4884 return _react.default.useContext(RemoteConfigContext);
4885 };
4886 exports.useRemoteConfig = useRemoteConfig;
4887 var CONFIG_KEYS = {
4888 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4889 AUTH_TOKEN: 'jwt'
4890 };
4891 exports.CONFIG_KEYS = CONFIG_KEYS;
4892 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4893 var _useState = (0, _react.useState)(false),
4894 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4895 isLoading = _useState2[0],
4896 setIsLoading = _useState2[1];
4897 var _useState3 = (0, _react.useState)(false),
4898 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4899 isLoaded = _useState4[0],
4900 setIsLoaded = _useState4[1];
4901 var _useState5 = (0, _react.useState)(false),
4902 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4903 isError = _useState6[0],
4904 setIsError = _useState6[1];
4905 var _useState7 = (0, _react.useState)({}),
4906 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4907 remoteConfig = _useState8[0],
4908 setRemoteConfig = _useState8[1];
4909 var fetchData = /*#__PURE__*/function () {
4910 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4911 var result;
4912 return _regenerator.default.wrap(function _callee$(_context) {
4913 while (1) switch (_context.prev = _context.next) {
4914 case 0:
4915 setIsLoading(true);
4916 _context.prev = 1;
4917 _context.next = 4;
4918 return (0, _api.getRemoteConfig)().finally(function () {
4919 setIsLoaded(true);
4920 setIsLoading(false);
4921 });
4922 case 4:
4923 result = _context.sent;
4924 if (result.config) {
4925 _context.next = 7;
4926 break;
4927 }
4928 throw new Error('Invalid remote config');
4929 case 7:
4930 setRemoteConfig(result.config);
4931 _context.next = 15;
4932 break;
4933 case 10:
4934 _context.prev = 10;
4935 _context.t0 = _context["catch"](1);
4936 setIsError(true);
4937 setIsLoaded(true);
4938 setIsLoading(false);
4939 case 15:
4940 case "end":
4941 return _context.stop();
4942 }
4943 }, _callee, null, [[1, 10]]);
4944 }));
4945 return function fetchData() {
4946 return _ref.apply(this, arguments);
4947 };
4948 }();
4949 if (!isLoaded && !isLoading) {
4950 fetchData();
4951 }
4952 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
4953 value: {
4954 isLoading: isLoading,
4955 isLoaded: isLoaded,
4956 isError: isError,
4957 remoteConfig: remoteConfig
4958 }
4959 }, props.children);
4960 };
4961 exports.RemoteConfigProvider = RemoteConfigProvider;
4962 RemoteConfigProvider.propTypes = {
4963 children: _propTypes.default.node.isRequired,
4964 onError: _propTypes.default.func.isRequired
4965 };
4966
4967 /***/ }),
4968
4969 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
4970 /*!****************************************************************************************!*\
4971 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
4972 \****************************************************************************************/
4973 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4974
4975 "use strict";
4976
4977
4978 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4979 Object.defineProperty(exports, "__esModule", ({
4980 value: true
4981 }));
4982 exports.useAttachUrlService = void 0;
4983 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4984 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4985 var _react = __webpack_require__(/*! react */ "react");
4986 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
4987 var useAttachUrlService = function useAttachUrlService(args) {
4988 var _window$elementorComm, _window$elementorComm2;
4989 var _useState = (0, _react.useState)(args.targetUrl),
4990 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4991 currentUrl = _useState2[0],
4992 setCurrentUrl = _useState2[1];
4993 var theme = (0, _ui.useTheme)();
4994 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
4995 isLoaded = _useRemoteConfig.isLoaded,
4996 isError = _useRemoteConfig.isError,
4997 remoteConfig = _useRemoteConfig.remoteConfig;
4998 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
4999 return {
5000 iframeSource: '',
5001 currentUrl: currentUrl,
5002 setCurrentUrl: setCurrentUrl
5003 };
5004 }
5005 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
5006 urlObject.searchParams.append('colorScheme', theme.palette.mode);
5007 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
5008 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);
5009 if (currentUrl) {
5010 urlObject.searchParams.append('url', currentUrl);
5011 }
5012 return {
5013 iframeSource: urlObject.toString(),
5014 currentUrl: currentUrl,
5015 setCurrentUrl: setCurrentUrl
5016 };
5017 };
5018 exports.useAttachUrlService = useAttachUrlService;
5019
5020 /***/ }),
5021
5022 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
5023 /*!***********************************************************************************!*\
5024 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
5025 \***********************************************************************************/
5026 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5027
5028 "use strict";
5029
5030
5031 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5032 Object.defineProperty(exports, "__esModule", ({
5033 value: true
5034 }));
5035 exports["default"] = void 0;
5036 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
5037 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
5038 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
5039 return (0, _usePrompt.default)(function (requestBody, signal) {
5040 requestBody.variationType = type;
5041 return (0, _api.generateLayout)(requestBody, signal);
5042 }, initialValue);
5043 };
5044 var _default = useLayoutPrompt;
5045 exports["default"] = _default;
5046
5047 /***/ }),
5048
5049 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
5050 /*!********************************************************************************!*\
5051 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
5052 \********************************************************************************/
5053 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5054
5055 "use strict";
5056
5057
5058 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5059 Object.defineProperty(exports, "__esModule", ({
5060 value: true
5061 }));
5062 exports["default"] = void 0;
5063 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5064 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5065 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5066 var _react = __webpack_require__(/*! react */ "react");
5067 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
5068 var ERROR_INITIAL_VALUE = '';
5069 var useScreenshot = function useScreenshot(type, onData) {
5070 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
5071 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5072 error = _useState2[0],
5073 setError = _useState2[1];
5074 var _useState3 = (0, _react.useState)(false),
5075 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5076 isLoading = _useState4[0],
5077 setIsLoading = _useState4[1];
5078 var layoutData = (0, _useLayoutPrompt.default)(type, null);
5079 var generate = function generate(requestBody, signal) {
5080 setIsLoading(true);
5081 setError(ERROR_INITIAL_VALUE);
5082 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
5083 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
5084 var createdScreenshot;
5085 return _regenerator.default.wrap(function _callee$(_context) {
5086 while (1) switch (_context.prev = _context.next) {
5087 case 0:
5088 _context.next = 2;
5089 return onData(data.result);
5090 case 2:
5091 createdScreenshot = _context.sent;
5092 createdScreenshot.sendUsageData = function () {
5093 return layoutData.sendUsageData(data);
5094 };
5095 createdScreenshot.baseTemplateId = data.baseTemplateId;
5096 createdScreenshot.type = data.type;
5097 return _context.abrupt("return", createdScreenshot);
5098 case 7:
5099 case "end":
5100 return _context.stop();
5101 }
5102 }, _callee);
5103 }));
5104 return function (_x) {
5105 return _ref.apply(this, arguments);
5106 };
5107 }()).catch(function (err) {
5108 setError(err.extra_data ? err : err.message || err);
5109 throw err;
5110 }).finally(function () {
5111 return setIsLoading(false);
5112 });
5113 };
5114 return {
5115 generate: generate,
5116 error: error,
5117 isLoading: isLoading
5118 };
5119 };
5120 var _default = useScreenshot;
5121 exports["default"] = _default;
5122
5123 /***/ }),
5124
5125 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
5126 /*!*********************************************************************************!*\
5127 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
5128 \*********************************************************************************/
5129 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5130
5131 "use strict";
5132
5133
5134 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5135 Object.defineProperty(exports, "__esModule", ({
5136 value: true
5137 }));
5138 exports["default"] = void 0;
5139 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5140 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5141 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5142 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5143 var _react = __webpack_require__(/*! react */ "react");
5144 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5145 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5146 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5147 var PENDING_VALUE = {
5148 isPending: true
5149 };
5150 var useScreenshots = function useScreenshots(_ref) {
5151 var onData = _ref.onData;
5152 var _useState = (0, _react.useState)([]),
5153 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5154 screenshots = _useState2[0],
5155 setScreenshots = _useState2[1];
5156
5157 /**
5158 * The ids for each request are:
5159 * - editorSessionId: a unique id for each editor opening
5160 * - sessionId: a unique id for each session. (open the AI builder)
5161 * - generateId: a unique id for each generate request. (prompt change)
5162 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5163 * - requestId: a unique id for each generate request.
5164 */
5165
5166 var _useConfig = (0, _config.useConfig)(),
5167 currentContext = _useConfig.currentContext;
5168 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5169 editorSessionId = _useRequestIds.editorSessionId,
5170 sessionId = _useRequestIds.sessionId,
5171 setRequest = _useRequestIds.setRequest,
5172 setBatch = _useRequestIds.setBatch,
5173 setGenerate = _useRequestIds.setGenerate;
5174 var generateIdRef = (0, _react.useRef)('');
5175 var batchId = setBatch();
5176 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5177 var screenshotsGroupCount = screenshotsData.length;
5178 var error = screenshotsData.every(function (s) {
5179 return s === null || s === void 0 ? void 0 : s.error;
5180 }) ? screenshotsData[0].error : '';
5181 var isLoading = screenshotsData.some(function (s) {
5182 return s === null || s === void 0 ? void 0 : s.isLoading;
5183 });
5184 var abortController = (0, _react.useRef)(null);
5185 var abort = function abort() {
5186 var _abortController$curr;
5187 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5188 };
5189 var createScreenshots = /*#__PURE__*/function () {
5190 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5191 var onGenerate, onError, promises, results, isAllFailed;
5192 return _regenerator.default.wrap(function _callee$(_context) {
5193 while (1) switch (_context.prev = _context.next) {
5194 case 0:
5195 abortController.current = new AbortController();
5196 onGenerate = function onGenerate(screenshot) {
5197 setScreenshots(function (prev) {
5198 var updatedData = (0, _toConsumableArray2.default)(prev);
5199 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5200 updatedData[pendingIndex] = screenshot;
5201 return updatedData;
5202 });
5203 return true;
5204 };
5205 onError = function onError() {
5206 setScreenshots(function (prev) {
5207 var updatedData = (0, _toConsumableArray2.default)(prev);
5208 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5209 updatedData[pendingIndex] = {
5210 isError: true
5211 };
5212 return updatedData;
5213 });
5214 return false;
5215 };
5216 promises = screenshotsData.map(function (_ref3) {
5217 var generate = _ref3.generate;
5218 var prevGeneratedIds = screenshots.map(function (screenshot) {
5219 return screenshot.baseTemplateId || '';
5220 });
5221 var requestBody = {
5222 prompt: prompt,
5223 prevGeneratedIds: prevGeneratedIds,
5224 currentContext: currentContext,
5225 ids: {
5226 editorSessionId: editorSessionId.current,
5227 sessionId: sessionId.current,
5228 generateId: generateIdRef.current,
5229 batchId: batchId.current,
5230 requestId: setRequest().current
5231 },
5232 attachments: attachments.map(function (_ref4) {
5233 var type = _ref4.type,
5234 content = _ref4.content,
5235 label = _ref4.label,
5236 source = _ref4.source;
5237 // Send only the data that is needed for the generation.
5238 return {
5239 type: type,
5240 content: content,
5241 label: label,
5242 source: source
5243 };
5244 })
5245 };
5246 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5247 });
5248 _context.next = 6;
5249 return Promise.all(promises);
5250 case 6:
5251 results = _context.sent;
5252 isAllFailed = results.every(function (value) {
5253 return false === value;
5254 });
5255 if (isAllFailed) {
5256 setScreenshots(function (prev) {
5257 var updatedData = (0, _toConsumableArray2.default)(prev);
5258 updatedData.splice(screenshotsGroupCount * -1);
5259 return updatedData;
5260 });
5261 }
5262 case 9:
5263 case "end":
5264 return _context.stop();
5265 }
5266 }, _callee);
5267 }));
5268 return function createScreenshots(_x, _x2) {
5269 return _ref2.apply(this, arguments);
5270 };
5271 }();
5272 var generate = function generate(prompt, attachments) {
5273 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5274 generateIdRef.current = setGenerate().current;
5275 setScreenshots(placeholders);
5276 createScreenshots(prompt, attachments);
5277 };
5278 var regenerate = function regenerate(prompt, attachments) {
5279 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5280 setScreenshots(function (prev) {
5281 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5282 });
5283 createScreenshots(prompt, attachments);
5284 };
5285 return {
5286 generate: generate,
5287 regenerate: regenerate,
5288 screenshots: screenshots,
5289 isLoading: isLoading,
5290 error: error,
5291 abort: abort
5292 };
5293 };
5294 var _default = useScreenshots;
5295 exports["default"] = _default;
5296
5297 /***/ }),
5298
5299 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5300 /*!****************************************************************************!*\
5301 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5302 \****************************************************************************/
5303 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5304
5305 "use strict";
5306
5307
5308 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5309 Object.defineProperty(exports, "__esModule", ({
5310 value: true
5311 }));
5312 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5313 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5314 var _react = __webpack_require__(/*! react */ "react");
5315 var SCREENSHOTS_PER_PAGE = 3;
5316 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5317 var MAX_PAGES = 5;
5318 exports.MAX_PAGES = MAX_PAGES;
5319 var useSlider = function useSlider() {
5320 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5321 _ref$slidesCount = _ref.slidesCount,
5322 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5323 _ref$slidesPerPage = _ref.slidesPerPage,
5324 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5325 _ref$gapPercentage = _ref.gapPercentage,
5326 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5327 var _useState = (0, _react.useState)(1),
5328 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5329 currentPage = _useState2[0],
5330 setCurrentPage = _useState2[1];
5331 var gapsCount = slidesPerPage - 1;
5332 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5333 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5334 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5335 (0, _react.useEffect)(function () {
5336 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5337 if (currentPage > 1 && currentPage > pagesCount) {
5338 setCurrentPage(pagesCount);
5339 }
5340 }, [pagesCount]);
5341 return {
5342 currentPage: currentPage,
5343 setCurrentPage: setCurrentPage,
5344 pagesCount: pagesCount,
5345 slidesPerPage: slidesPerPage,
5346 gapPercentage: gapPercentage,
5347 offsetXPercentage: offsetXPercentage,
5348 slideWidthPercentage: slideWidthPercentage
5349 };
5350 };
5351 var _default = useSlider;
5352 exports["default"] = _default;
5353
5354 /***/ }),
5355
5356 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5357 /*!*****************************************************************!*\
5358 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5359 \*****************************************************************/
5360 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5361
5362 "use strict";
5363
5364
5365 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5366 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5367 Object.defineProperty(exports, "__esModule", ({
5368 value: true
5369 }));
5370 exports["default"] = void 0;
5371 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5372 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5373 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5374 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5375 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5376 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5377 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5378 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5379 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5380 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5381 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5382 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5383 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5384 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5385 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5386 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5387 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5388 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5389 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5390 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5391 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5392 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
5393 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5394 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5395 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5396 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5397 var _excluded = ["children"];
5398 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); }
5399 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; }
5400 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5401 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5402
5403 /**
5404 * @typedef {Object} Attachment
5405 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5406 * @property {string} previewHTML - HTML content as a string, representing a preview.
5407 * @property {string} content - Actual content of the attachment as a string.
5408 * @property {string} label - Label for the attachment.
5409 */
5410
5411 var RegenerateButton = function RegenerateButton(props) {
5412 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5413 size: "small",
5414 color: "secondary",
5415 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5416 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5417 };
5418 var UseLayoutButton = function UseLayoutButton(props) {
5419 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5420 size: "small",
5421 variant: "contained"
5422 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5423 };
5424 UseLayoutButton.propTypes = {
5425 sx: _propTypes.default.object
5426 };
5427 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5428 if (isLoading || isPromptFormActive) {
5429 return true;
5430 }
5431 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5432 };
5433 var FormLayout = function FormLayout(_ref) {
5434 var _screenshots$selected, _screenshots$2;
5435 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5436 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5437 _ref$DialogContentPro = _ref.DialogContentProps,
5438 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5439 initialAttachments = _ref.attachments;
5440 var _useConfig = (0, _config.useConfig)(),
5441 attachmentsTypes = _useConfig.attachmentsTypes,
5442 onData = _useConfig.onData,
5443 onInsert = _useConfig.onInsert,
5444 onSelect = _useConfig.onSelect,
5445 onClose = _useConfig.onClose,
5446 onGenerate = _useConfig.onGenerate,
5447 hasPro = _useConfig.hasPro;
5448 var _useScreenshots = (0, _useScreenshots2.default)({
5449 onData: onData
5450 }),
5451 screenshots = _useScreenshots.screenshots,
5452 generate = _useScreenshots.generate,
5453 regenerate = _useScreenshots.regenerate,
5454 isLoading = _useScreenshots.isLoading,
5455 error = _useScreenshots.error,
5456 abort = _useScreenshots.abort;
5457 var screenshotOutlineOffset = '2px';
5458 var _useSlider = (0, _useSlider2.default)({
5459 slidesCount: screenshots.length
5460 }),
5461 currentPage = _useSlider.currentPage,
5462 setCurrentPage = _useSlider.setCurrentPage,
5463 pagesCount = _useSlider.pagesCount,
5464 gapPercentage = _useSlider.gapPercentage,
5465 slidesPerPage = _useSlider.slidesPerPage,
5466 offsetXPercentage = _useSlider.offsetXPercentage,
5467 slideWidthPercentage = _useSlider.slideWidthPercentage;
5468 var _useState = (0, _react.useState)(-1),
5469 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5470 selectedScreenshotIndex = _useState2[0],
5471 setSelectedScreenshotIndex = _useState2[1];
5472 var _useState3 = (0, _react.useState)(false),
5473 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5474 showUnsavedChangesAlert = _useState4[0],
5475 setShowUnsavedChangesAlert = _useState4[1];
5476 var _useState5 = (0, _react.useState)(true),
5477 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5478 isPromptEditable = _useState6[0],
5479 setIsPromptEditable = _useState6[1];
5480 var _useState7 = (0, _react.useState)([]),
5481 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5482 attachments = _useState8[0],
5483 setAttachments = _useState8[1];
5484 var _useState9 = (0, _react.useState)(false),
5485 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5486 shouldRenderWebApp = _useState10[0],
5487 setShouldRenderWebApp = _useState10[1];
5488 var _useState11 = (0, _react.useState)(false),
5489 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5490 isMinimized = _useState12[0],
5491 setIsMinimized = _useState12[1];
5492 var lastRun = (0, _react.useRef)(function () {});
5493 var promptInputRef = (0, _react.useRef)(null);
5494 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5495 var dialogContentChildren = DialogContentProps.children,
5496 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5497
5498 // When there are no screenshots the prompt field should be editable.
5499 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5500 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5501 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
5502 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
5503 });
5504 var abortAndClose = function abortAndClose() {
5505 abort();
5506 onClose();
5507 };
5508 var onCloseIntent = function onCloseIntent() {
5509 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5510 if (hasUnsavedChanges) {
5511 return setShowUnsavedChangesAlert(true);
5512 }
5513 abortAndClose();
5514 };
5515 var handleGenerate = function handleGenerate(event, prompt) {
5516 event.preventDefault();
5517 if ('' === prompt.trim() && 0 === attachments.length) {
5518 return;
5519 }
5520 if ((0, _isURL.default)(prompt)) {
5521 setShouldRenderWebApp(true);
5522 return;
5523 }
5524 onGenerate();
5525 lastRun.current = function () {
5526 setSelectedScreenshotIndex(-1);
5527 generate(prompt, attachments);
5528 };
5529 lastRun.current();
5530 setIsPromptEditable(false);
5531 setCurrentPage(1);
5532 };
5533 var handleRegenerate = function handleRegenerate() {
5534 lastRun.current = function () {
5535 regenerate(promptInputRef.current.value, attachments);
5536 // Changing the current page to the next page number.
5537 setCurrentPage(pagesCount + 1);
5538 };
5539 lastRun.current();
5540 };
5541 var applyTemplate = function applyTemplate() {
5542 onInsert(selectedTemplate);
5543 screenshots[selectedScreenshotIndex].sendUsageData();
5544 abortAndClose();
5545 };
5546 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5547 return function () {
5548 if (isPromptFormActive) {
5549 return;
5550 }
5551 setSelectedScreenshotIndex(index);
5552 onSelect(template);
5553 };
5554 };
5555
5556 /**
5557 * @param {Attachment[]} items
5558 */
5559 var onAttach = function onAttach(items) {
5560 items.forEach(function (item) {
5561 if (!attachmentsTypes[item.type]) {
5562 throw new Error("Invalid attachment type: ".concat(item.type));
5563 }
5564 var typeConfig = attachmentsTypes[item.type];
5565 if (!item.previewHTML && typeConfig.previewGenerator) {
5566 typeConfig.previewGenerator(item.content).then(function (html) {
5567 item.previewHTML = html;
5568 setAttachments(function (prev) {
5569 // Replace the attachment with the updated one.
5570 return prev.map(function (attachment) {
5571 if (attachment.content === item.content) {
5572 return item;
5573 }
5574 return attachment;
5575 });
5576 });
5577 });
5578 }
5579 });
5580 setAttachments(items);
5581 setShouldRenderWebApp(false);
5582 setIsPromptEditable(true);
5583 };
5584 (0, _react.useEffect)(function () {
5585 var _screenshots$;
5586 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5587 if (isFirstTemplateExist) {
5588 onSelect(screenshots[0].template);
5589 setSelectedScreenshotIndex(0);
5590 }
5591 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5592 (0, _react.useEffect)(function () {
5593 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5594 onAttach(initialAttachments);
5595 }
5596 }, []);
5597 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5598 onClose: onCloseIntent
5599 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5600 onClose: onCloseIntent
5601 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5602 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5603 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5604 size: "small",
5605 "aria-label": "minimize",
5606 onClick: function onClick() {
5607 return setIsMinimized(function (prev) {
5608 return !prev;
5609 });
5610 }
5611 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5612 dividers: true
5613 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5614 in: !isMinimized
5615 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5616 sx: {
5617 pt: 2,
5618 px: 2,
5619 pb: 0
5620 }
5621 }, 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, {
5622 sx: {
5623 pt: 2,
5624 px: 2,
5625 pb: 0
5626 }
5627 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5628 error: error,
5629 onRetry: lastRun.current
5630 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5631 open: showUnsavedChangesAlert,
5632 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5633 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5634 onClose: abortAndClose,
5635 onCancel: function onCancel() {
5636 return setShowUnsavedChangesAlert(false);
5637 }
5638 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5639 type: _attachments.ATTACHMENT_TYPE_URL,
5640 url: promptInputRef.current.value,
5641 onAttach: onAttach,
5642 onClose: function onClose() {
5643 setShouldRenderWebApp(false);
5644 }
5645 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5646 shouldResetPrompt: shouldRenderWebApp,
5647 ref: promptInputRef,
5648 isActive: isPromptFormActive,
5649 isLoading: isLoading,
5650 showActions: screenshots.length > 0 || isLoading,
5651 attachmentsTypes: attachmentsTypes,
5652 attachments: attachments,
5653 onAttach: onAttach,
5654 onDetach: function onDetach(index) {
5655 setAttachments(function (prev) {
5656 var newAttachments = (0, _toConsumableArray2.default)(prev);
5657 newAttachments.splice(index, 1);
5658 return newAttachments;
5659 });
5660 setIsPromptEditable(true);
5661 },
5662 onSubmit: handleGenerate,
5663 onBack: function onBack() {
5664 return setIsPromptEditable(false);
5665 },
5666 onEdit: function onEdit() {
5667 return setIsPromptEditable(true);
5668 }
5669 }), (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, {
5670 sx: {
5671 p: 1.5
5672 }
5673 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5674 sx: {
5675 overflow: 'hidden',
5676 p: 0.5
5677 }
5678 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5679 sx: {
5680 display: 'flex',
5681 transition: 'all 0.4s ease',
5682 gap: "".concat(gapPercentage, "%"),
5683 transform: "translateX(".concat(offsetXPercentage, "%)")
5684 }
5685 }, screenshots.map(function (_ref2, index) {
5686 var screenshot = _ref2.screenshot,
5687 type = _ref2.type,
5688 template = _ref2.template,
5689 isError = _ref2.isError,
5690 isPending = _ref2.isPending;
5691 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5692 key: index,
5693 url: screenshot,
5694 type: type,
5695 disabled: isPromptFormActive,
5696 isPlaceholder: isError,
5697 isLoading: isPending,
5698 isSelected: selectedScreenshotIndex === index,
5699 onClick: handleScreenshotClick(index, template),
5700 outlineOffset: screenshotOutlineOffset,
5701 sx: {
5702 flex: "0 0 ".concat(slideWidthPercentage, "%")
5703 }
5704 });
5705 }))), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5706 introductionKey: "ai-context-layout-promotion"
5707 })), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5708 sx: {
5709 pt: 0,
5710 px: 2,
5711 pb: 2
5712 },
5713 display: "grid",
5714 gridTemplateColumns: "repeat(3, 1fr)",
5715 justifyItems: "center"
5716 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5717 onClick: handleRegenerate,
5718 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5719 sx: {
5720 justifySelf: 'start'
5721 }
5722 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5723 page: currentPage,
5724 count: pagesCount,
5725 disabled: isPromptFormActive,
5726 onChange: function onChange(_, page) {
5727 return setCurrentPage(page);
5728 }
5729 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5730 onClick: applyTemplate,
5731 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5732 sx: {
5733 justifySelf: 'end',
5734 gridColumn: 3
5735 }
5736 }))))));
5737 };
5738 FormLayout.propTypes = {
5739 DialogHeaderProps: _propTypes.default.object,
5740 DialogContentProps: _propTypes.default.object,
5741 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5742 };
5743 var _default = FormLayout;
5744 exports["default"] = _default;
5745
5746 /***/ }),
5747
5748 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5749 /*!************************************************************************************!*\
5750 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5751 \************************************************************************************/
5752 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5753
5754 "use strict";
5755
5756
5757 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5758 Object.defineProperty(exports, "__esModule", ({
5759 value: true
5760 }));
5761 exports["default"] = void 0;
5762 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5763 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5764 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5765 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5766 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5767 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5768 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5769 var _excluded = ["isLoading"];
5770 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5771 var EnhanceButton = function EnhanceButton(_ref) {
5772 var isLoading = _ref.isLoading,
5773 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5774 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5775 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5776 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5777 component: "span",
5778 sx: {
5779 cursor: props.disabled ? 'default' : 'pointer'
5780 }
5781 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5782 size: "small",
5783 color: "secondary"
5784 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5785 color: "secondary",
5786 size: 20
5787 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5788 fontSize: "small"
5789 }))));
5790 };
5791 EnhanceButton.propTypes = {
5792 disabled: _propTypes.default.bool,
5793 isLoading: _propTypes.default.bool
5794 };
5795 var _default = EnhanceButton;
5796 exports["default"] = _default;
5797
5798 /***/ }),
5799
5800 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5801 /*!*************************************************************************************!*\
5802 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5803 \*************************************************************************************/
5804 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5805
5806 "use strict";
5807
5808
5809 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5810 Object.defineProperty(exports, "__esModule", ({
5811 value: true
5812 }));
5813 exports["default"] = void 0;
5814 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5815 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5816 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5817 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5818 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5819 var GenerateSubmit = function GenerateSubmit(props) {
5820 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5821 fullWidth: true,
5822 size: "medium",
5823 type: "submit",
5824 variant: "contained"
5825 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5826 };
5827 GenerateSubmit.propTypes = {
5828 children: _propTypes.default.node
5829 };
5830 var _default = GenerateSubmit;
5831 exports["default"] = _default;
5832
5833 /***/ }),
5834
5835 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5836 /*!*****************************************************************!*\
5837 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5838 \*****************************************************************/
5839 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5840
5841 "use strict";
5842
5843
5844 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5845 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5846 Object.defineProperty(exports, "__esModule", ({
5847 value: true
5848 }));
5849 exports["default"] = void 0;
5850 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5851 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5852 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5853 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5854 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5855 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5856 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5857 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5858 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5859 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); }
5860 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; }
5861 var GetStarted = function GetStarted(_ref) {
5862 var onSuccess = _ref.onSuccess;
5863 var _useState = (0, _react.useState)(false),
5864 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5865 isTermsChecked = _useState2[0],
5866 setIsTermsChecked = _useState2[1];
5867 var onGetStartedClick = /*#__PURE__*/function () {
5868 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5869 return _regenerator.default.wrap(function _callee$(_context) {
5870 while (1) switch (_context.prev = _context.next) {
5871 case 0:
5872 _context.next = 2;
5873 return (0, _api.setGetStarted)();
5874 case 2:
5875 onSuccess();
5876 case 3:
5877 case "end":
5878 return _context.stop();
5879 }
5880 }, _callee);
5881 }));
5882 return function onGetStartedClick() {
5883 return _ref2.apply(this, arguments);
5884 };
5885 }();
5886 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5887 alignItems: "center",
5888 gap: 1.5
5889 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5890 sx: {
5891 color: 'text.primary',
5892 fontSize: '60px',
5893 mb: 1
5894 }
5895 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5896 variant: "h4",
5897 sx: {
5898 color: 'text.primary'
5899 }
5900 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5901 variant: "body2"
5902 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5903 direction: "row",
5904 gap: 1.5,
5905 alignItems: "flex-start"
5906 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5907 id: "e-ai-terms-approval",
5908 color: "secondary",
5909 sx: {
5910 p: 0
5911 },
5912 onChange: function onChange() {
5913 return setIsTermsChecked(function (prevState) {
5914 return !prevState;
5915 });
5916 }
5917 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5918 variant: "caption",
5919 sx: {
5920 maxWidth: 520
5921 },
5922 component: "label",
5923 htmlFor: "e-ai-terms-approval"
5924 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
5925 href: "https://go.elementor.com/ai-terms/",
5926 target: "_blank",
5927 color: "info.main"
5928 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
5929 href: "https://go.elementor.com/ai-privacy-policy/",
5930 target: "_blank",
5931 color: "info.main"
5932 }, (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, {
5933 disabled: !isTermsChecked,
5934 variant: "contained",
5935 onClick: onGetStartedClick,
5936 sx: {
5937 mt: 1,
5938 '&:hover': {
5939 color: 'primary.contrastText'
5940 }
5941 }
5942 }, (0, _i18n.__)('Get Started', 'elementor')));
5943 };
5944 GetStarted.propTypes = {
5945 onSuccess: _propTypes.default.func.isRequired
5946 };
5947 var _default = GetStarted;
5948 exports["default"] = _default;
5949
5950 /***/ }),
5951
5952 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
5953 /*!**********************************************************!*\
5954 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
5955 \**********************************************************/
5956 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5957
5958 "use strict";
5959
5960
5961 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5962 Object.defineProperty(exports, "__esModule", ({
5963 value: true
5964 }));
5965 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
5966 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5967 var AttachmentPropType = _propTypes.default.shape({
5968 type: _propTypes.default.string,
5969 previewHTML: _propTypes.default.string,
5970 content: _propTypes.default.string,
5971 label: _propTypes.default.string,
5972 source: _propTypes.default.string
5973 });
5974 exports.AttachmentPropType = AttachmentPropType;
5975 var AttachmentsTypesPropType = _propTypes.default.shape({
5976 type: _propTypes.default.shape({
5977 promptPlaceholder: _propTypes.default.string,
5978 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
5979 text: _propTypes.default.string.isRequired
5980 })),
5981 previewGenerator: _propTypes.default.func
5982 })
5983 });
5984 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
5985
5986 /***/ }),
5987
5988 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
5989 /*!******************************************************************!*\
5990 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
5991 \******************************************************************/
5992 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5993
5994 "use strict";
5995 /* provided dependency */ var ReactDOM = __webpack_require__(/*! react-dom */ "react-dom");
5996
5997
5998 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5999 Object.defineProperty(exports, "__esModule", ({
6000 value: true
6001 }));
6002 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
6003 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6004 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6005 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6006 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
6007 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
6008 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
6009 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6010 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6011 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
6012 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6013 var closePanel = function closePanel() {
6014 $e.run('panel/close');
6015 $e.components.get('panel').blockUserInteractions();
6016 };
6017 exports.closePanel = closePanel;
6018 var openPanel = function openPanel() {
6019 $e.run('panel/open');
6020 $e.components.get('panel').unblockUserInteractions();
6021 };
6022 exports.openPanel = openPanel;
6023 var onConnect = function onConnect(data) {
6024 elementorCommon.config.library_connect.is_connected = true;
6025 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
6026 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
6027 };
6028 exports.onConnect = onConnect;
6029 var getUiConfig = function getUiConfig() {
6030 var _elementor, _elementor$getPrefere;
6031 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';
6032 var isRTL = elementorCommon.config.isRTL;
6033 return {
6034 colorScheme: colorScheme,
6035 isRTL: isRTL
6036 };
6037 };
6038 exports.getUiConfig = getUiConfig;
6039 var VARIATIONS_PROMPTS = [{
6040 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
6041 }, {
6042 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
6043 }, {
6044 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
6045 }, {
6046 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
6047 }, {
6048 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
6049 }, {
6050 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
6051 }, {
6052 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
6053 }, {
6054 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
6055 }, {
6056 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
6057 }];
6058 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
6059 var renderLayoutApp = function renderLayoutApp() {
6060 var _options$onRenderApp;
6061 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6062 parentContainer: null,
6063 mode: '',
6064 at: null,
6065 onClose: null,
6066 onGenerate: null,
6067 onInsert: null,
6068 onRenderApp: null,
6069 onSelect: null,
6070 attachments: []
6071 };
6072 closePanel();
6073 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
6074 // Create the container at the "drag widget here" area position.
6075 at: options.at
6076 });
6077 var _getUiConfig = getUiConfig(),
6078 colorScheme = _getUiConfig.colorScheme,
6079 isRTL = _getUiConfig.isRTL;
6080 var rootElement = document.createElement('div');
6081 document.body.append(rootElement);
6082 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
6083 ReactDOM.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
6084 isRTL: isRTL,
6085 colorScheme: colorScheme
6086 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
6087 mode: options.mode,
6088 currentContext: {
6089 body: {
6090 backgroundColor: bodyStyle.backgroundColor,
6091 backgroundImage: bodyStyle.backgroundImage
6092 }
6093 },
6094 attachmentsTypes: {
6095 json: {
6096 promptSuggestions: VARIATIONS_PROMPTS,
6097 promptPlaceholder: PROMPT_PLACEHOLDER,
6098 previewGenerator: function () {
6099 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
6100 var screenshot;
6101 return _regenerator.default.wrap(function _callee$(_context) {
6102 while (1) switch (_context.prev = _context.next) {
6103 case 0:
6104 _context.next = 2;
6105 return (0, _screenshot.takeScreenshot)(json);
6106 case 2:
6107 screenshot = _context.sent;
6108 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
6109 case 4:
6110 case "end":
6111 return _context.stop();
6112 }
6113 }, _callee);
6114 }));
6115 function previewGenerator(_x) {
6116 return _previewGenerator.apply(this, arguments);
6117 }
6118 return previewGenerator;
6119 }()
6120 },
6121 url: {
6122 promptPlaceholder: PROMPT_PLACEHOLDER,
6123 promptSuggestions: VARIATIONS_PROMPTS
6124 }
6125 },
6126 attachments: options.attachments || [],
6127 onClose: function onClose() {
6128 var _options$onClose;
6129 previewContainer.destroy();
6130 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
6131 ReactDOM.unmountComponentAtNode(rootElement);
6132 rootElement.remove();
6133 openPanel();
6134 },
6135 onConnect: onConnect,
6136 onGenerate: function onGenerate() {
6137 var _options$onGenerate;
6138 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6139 previewContainer: previewContainer
6140 });
6141 },
6142 onData: /*#__PURE__*/function () {
6143 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6144 var screenshot;
6145 return _regenerator.default.wrap(function _callee2$(_context2) {
6146 while (1) switch (_context2.prev = _context2.next) {
6147 case 0:
6148 _context2.next = 2;
6149 return (0, _screenshot.takeScreenshot)(template);
6150 case 2:
6151 screenshot = _context2.sent;
6152 return _context2.abrupt("return", {
6153 screenshot: screenshot,
6154 template: template
6155 });
6156 case 4:
6157 case "end":
6158 return _context2.stop();
6159 }
6160 }, _callee2);
6161 }));
6162 return function (_x2) {
6163 return _ref.apply(this, arguments);
6164 };
6165 }(),
6166 onSelect: function onSelect(template) {
6167 var _options$onSelect;
6168 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6169 previewContainer.setContent(template);
6170 },
6171 onInsert: options.onInsert,
6172 hasPro: elementor.helpers.hasPro()
6173 })), rootElement);
6174 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6175 previewContainer: previewContainer
6176 });
6177 };
6178 exports.renderLayoutApp = renderLayoutApp;
6179 var importToEditor = function importToEditor(_ref2) {
6180 var parentContainer = _ref2.parentContainer,
6181 at = _ref2.at,
6182 template = _ref2.template,
6183 historyTitle = _ref2.historyTitle,
6184 _ref2$replace = _ref2.replace,
6185 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6186 var endHistoryLog = (0, _history.startHistoryLog)({
6187 type: 'import',
6188 title: historyTitle
6189 });
6190 if (replace) {
6191 $e.run('document/elements/delete', {
6192 container: parentContainer.children.at(at)
6193 });
6194 }
6195 $e.run('document/elements/create', {
6196 container: parentContainer,
6197 model: (0, _requestsIds.generateIds)(template),
6198 options: {
6199 at: at,
6200 edit: true
6201 }
6202 });
6203 endHistoryLog();
6204 };
6205 exports.importToEditor = importToEditor;
6206
6207 /***/ }),
6208
6209 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6210 /*!*******************************************************!*\
6211 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6212 \*******************************************************/
6213 /***/ ((__unused_webpack_module, exports) => {
6214
6215 "use strict";
6216
6217
6218 Object.defineProperty(exports, "__esModule", ({
6219 value: true
6220 }));
6221 exports.startHistoryLog = startHistoryLog;
6222 exports.toggleHistory = toggleHistory;
6223 function toggleHistory(isActive) {
6224 elementor.documents.getCurrent().history.setActive(isActive);
6225 }
6226
6227 /**
6228 * @param {Object} options
6229 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6230 * @param { string } options.title
6231 *
6232 * @return {*}
6233 */
6234 function startHistoryLog(_ref) {
6235 var type = _ref.type,
6236 title = _ref.title;
6237 var id = $e.internal('document/history/start-log', {
6238 type: type,
6239 title: title
6240 });
6241 return function () {
6242 return $e.internal('document/history/end-log', {
6243 id: id
6244 });
6245 };
6246 }
6247
6248 /***/ }),
6249
6250 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6251 /*!*****************************************************************!*\
6252 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6253 \*****************************************************************/
6254 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6255
6256 "use strict";
6257
6258
6259 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6260 Object.defineProperty(exports, "__esModule", ({
6261 value: true
6262 }));
6263 exports.createPreviewContainer = createPreviewContainer;
6264 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6265 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6266 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6267 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; }
6268 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; }
6269 /**
6270 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6271 */
6272
6273 var PREFIX = 'e-ai-preview-container';
6274 var CLASS_HIDDEN = PREFIX + '--hidden';
6275 var CLASS_IDLE = PREFIX + '--idle';
6276
6277 /**
6278 * @param {Container} parentContainer
6279 * @param {{}} containerOptions
6280 * @return {{init, setContent, reset, destroy}}
6281 */
6282
6283 function createPreviewContainer(parentContainer) {
6284 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6285 var createdContainers = new Map();
6286 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6287 function init() {
6288 showContainer(idleContainer);
6289 }
6290 function getAllContainers() {
6291 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6292 }
6293 function reset() {
6294 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6295 createdContainers.clear();
6296 showContainer(idleContainer);
6297 }
6298 function setContent(template) {
6299 if (!template) {
6300 return;
6301 }
6302 hideContainers(getAllContainers());
6303 if (!createdContainers.has(template)) {
6304 var newContainer = createContainer(parentContainer, template, containerOptions);
6305 createdContainers.set(template, newContainer);
6306 }
6307 showContainer(createdContainers.get(template));
6308 }
6309 function destroy() {
6310 deleteContainers(getAllContainers());
6311 createdContainers.clear();
6312 }
6313 return {
6314 init: init,
6315 reset: reset,
6316 setContent: setContent,
6317 destroy: destroy
6318 };
6319 }
6320
6321 /**
6322 * @param {Container} parentContainer
6323 * @param {{}} model
6324 * @param {{}} options
6325 * @return {*}
6326 */
6327 function createContainer(parentContainer, model) {
6328 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6329 (0, _history.toggleHistory)(false);
6330 var container = $e.run('document/elements/create', {
6331 container: parentContainer,
6332 model: _objectSpread(_objectSpread({}, model), {}, {
6333 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6334 }),
6335 options: _objectSpread(_objectSpread({}, options), {}, {
6336 edit: false
6337 })
6338 });
6339 (0, _history.toggleHistory)(true);
6340 container.view.$el.addClass(CLASS_HIDDEN);
6341 return container;
6342 }
6343
6344 /**
6345 * @param {Container} parentContainer
6346 * @param {{}} containerOptions
6347 * @return {*}
6348 */
6349 function createIdleContainer(parentContainer) {
6350 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6351 // Create an empty container that'll be used of UI purposes.
6352 var container = createContainer(parentContainer, {
6353 elType: 'container'
6354 }, containerOptions);
6355 container.view.$el.addClass(CLASS_IDLE);
6356 return container;
6357 }
6358 function hideContainers(containers) {
6359 containers.forEach(function (container) {
6360 container.view.$el.addClass(CLASS_HIDDEN);
6361 });
6362 }
6363 function showContainer(container) {
6364 container.view.$el.removeClass(CLASS_HIDDEN);
6365
6366 // Delay the scroll to avoid UI jumps when toggling between containers.
6367 setTimeout(function () {
6368 container.view.$el[0].scrollIntoView({
6369 behavior: 'smooth',
6370 block: 'start'
6371 });
6372 });
6373 }
6374 function deleteContainers(containers) {
6375 (0, _history.toggleHistory)(false);
6376 $e.run('document/elements/delete', {
6377 containers: containers
6378 });
6379 (0, _history.toggleHistory)(true);
6380 }
6381
6382 /***/ }),
6383
6384 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6385 /*!**********************************************************!*\
6386 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6387 \**********************************************************/
6388 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6389
6390 "use strict";
6391
6392
6393 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6394 Object.defineProperty(exports, "__esModule", ({
6395 value: true
6396 }));
6397 exports.takeScreenshot = void 0;
6398 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6399 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6400 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6401 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6402 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6403 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6404 var takeScreenshot = /*#__PURE__*/function () {
6405 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6406 var hiddenWrapper, container, screenshot;
6407 return _regenerator.default.wrap(function _callee$(_context) {
6408 while (1) switch (_context.prev = _context.next) {
6409 case 0:
6410 if (template) {
6411 _context.next = 2;
6412 break;
6413 }
6414 return _context.abrupt("return", '');
6415 case 2:
6416 // Disable history so the Editor won't show our hidden container as a user action.
6417 (0, _history.toggleHistory)(false);
6418 hiddenWrapper = createHiddenWrapper();
6419 container = createContainer(template);
6420 wrapContainer(container, hiddenWrapper);
6421 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6422
6423 // Wait for the container to render.
6424 _context.next = 9;
6425 return waitForContainer(container.id);
6426 case 9:
6427 if (!template.elements.length) {
6428 _context.next = 12;
6429 break;
6430 }
6431 _context.next = 12;
6432 return Promise.all(template.elements.map(function (child) {
6433 return waitForContainer(child.id);
6434 }));
6435 case 12:
6436 _context.prev = 12;
6437 _context.next = 15;
6438 return screenshotNode(container.view.$el[0]);
6439 case 15:
6440 screenshot = _context.sent;
6441 _context.next = 21;
6442 break;
6443 case 18:
6444 _context.prev = 18;
6445 _context.t0 = _context["catch"](12);
6446 // Return an empty image url if the screenshot failed.
6447 screenshot = '';
6448 case 21:
6449 deleteContainer(container);
6450 hiddenWrapper.remove();
6451 (0, _history.toggleHistory)(true);
6452 return _context.abrupt("return", screenshot);
6453 case 25:
6454 case "end":
6455 return _context.stop();
6456 }
6457 }, _callee, null, [[12, 18]]);
6458 }));
6459 return function takeScreenshot(_x) {
6460 return _ref.apply(this, arguments);
6461 };
6462 }();
6463 exports.takeScreenshot = takeScreenshot;
6464 function screenshotNode(node) {
6465 return toWebp(node, {
6466 quality: 0.01,
6467 // Transparent 1x1 pixel.
6468 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6469 });
6470 }
6471 function toWebp(_x2) {
6472 return _toWebp.apply(this, arguments);
6473 }
6474 function _toWebp() {
6475 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6476 var _options$quality;
6477 var options,
6478 canvas,
6479 _args3 = arguments;
6480 return _regenerator.default.wrap(function _callee3$(_context3) {
6481 while (1) switch (_context3.prev = _context3.next) {
6482 case 0:
6483 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6484 _context3.next = 3;
6485 return (0, _htmlToImage.toCanvas)(node, options);
6486 case 3:
6487 canvas = _context3.sent;
6488 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6489 case 5:
6490 case "end":
6491 return _context3.stop();
6492 }
6493 }, _callee3);
6494 }));
6495 return _toWebp.apply(this, arguments);
6496 }
6497 function createHiddenWrapper() {
6498 var wrapper = document.createElement('div');
6499 wrapper.style.position = 'fixed';
6500 wrapper.style.opacity = '0';
6501 wrapper.style.inset = '0';
6502 return wrapper;
6503 }
6504 function createContainer(template) {
6505 var model = (0, _requestsIds.generateIds)(template);
6506
6507 // Set a custom ID, so it can be used later on in the backend.
6508 model.id = "e-ai-screenshot-container-".concat(model.id);
6509 return $e.run('document/elements/create', {
6510 container: elementor.getPreviewContainer(),
6511 model: model,
6512 options: {
6513 edit: false
6514 }
6515 });
6516 }
6517 function deleteContainer(container) {
6518 return $e.run('document/elements/delete', {
6519 container: container
6520 });
6521 }
6522 function waitForContainer(id) {
6523 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6524 var timeoutPromise = sleep(timeout);
6525 var waitPromise = new Promise(function (resolve) {
6526 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6527 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6528 var images;
6529 return _regenerator.default.wrap(function _callee2$(_context2) {
6530 while (1) switch (_context2.prev = _context2.next) {
6531 case 0:
6532 if (!($element.data('id') === id)) {
6533 _context2.next = 5;
6534 break;
6535 }
6536 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6537 _context2.next = 4;
6538 return Promise.all(images.map(waitForImage));
6539 case 4:
6540 resolve();
6541 case 5:
6542 case "end":
6543 return _context2.stop();
6544 }
6545 }, _callee2);
6546 }));
6547 return function (_x3) {
6548 return _ref2.apply(this, arguments);
6549 };
6550 }());
6551 });
6552 return Promise.any([timeoutPromise, waitPromise]);
6553 }
6554 function waitForImage(image) {
6555 if (image.complete) {
6556 return Promise.resolve();
6557 }
6558 return new Promise(function (resolve) {
6559 image.addEventListener('load', resolve);
6560 image.addEventListener('error', function () {
6561 // Remove the image to make sure it won't break the screenshot.
6562 image.remove();
6563 resolve();
6564 });
6565 });
6566 }
6567 function sleep(ms) {
6568 return new Promise(function (resolve) {
6569 return setTimeout(resolve, ms);
6570 });
6571 }
6572 function wrapContainer(container, wrapper) {
6573 var el = container.view.$el[0];
6574 el.parentNode.insertBefore(wrapper, el);
6575 wrapper.appendChild(el);
6576 }
6577
6578 /***/ }),
6579
6580 /***/ "../node_modules/clsx/dist/clsx.m.js":
6581 /*!*******************************************!*\
6582 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6583 \*******************************************/
6584 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6585
6586 "use strict";
6587 __webpack_require__.r(__webpack_exports__);
6588 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6589 /* harmony export */ clsx: () => (/* binding */ clsx),
6590 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6591 /* harmony export */ });
6592 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);
6593
6594 /***/ }),
6595
6596 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6597 /*!***********************************************************************************!*\
6598 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6599 \***********************************************************************************/
6600 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6601
6602 "use strict";
6603
6604
6605 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6606
6607 /**
6608 * Copyright 2015, Yahoo! Inc.
6609 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6610 */
6611 var REACT_STATICS = {
6612 childContextTypes: true,
6613 contextType: true,
6614 contextTypes: true,
6615 defaultProps: true,
6616 displayName: true,
6617 getDefaultProps: true,
6618 getDerivedStateFromError: true,
6619 getDerivedStateFromProps: true,
6620 mixins: true,
6621 propTypes: true,
6622 type: true
6623 };
6624 var KNOWN_STATICS = {
6625 name: true,
6626 length: true,
6627 prototype: true,
6628 caller: true,
6629 callee: true,
6630 arguments: true,
6631 arity: true
6632 };
6633 var FORWARD_REF_STATICS = {
6634 '$$typeof': true,
6635 render: true,
6636 defaultProps: true,
6637 displayName: true,
6638 propTypes: true
6639 };
6640 var MEMO_STATICS = {
6641 '$$typeof': true,
6642 compare: true,
6643 defaultProps: true,
6644 displayName: true,
6645 propTypes: true,
6646 type: true
6647 };
6648 var TYPE_STATICS = {};
6649 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6650 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6651
6652 function getStatics(component) {
6653 // React v16.11 and below
6654 if (reactIs.isMemo(component)) {
6655 return MEMO_STATICS;
6656 } // React v16.12 and above
6657
6658
6659 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6660 }
6661
6662 var defineProperty = Object.defineProperty;
6663 var getOwnPropertyNames = Object.getOwnPropertyNames;
6664 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6665 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6666 var getPrototypeOf = Object.getPrototypeOf;
6667 var objectPrototype = Object.prototype;
6668 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6669 if (typeof sourceComponent !== 'string') {
6670 // don't hoist over string (html) components
6671 if (objectPrototype) {
6672 var inheritedComponent = getPrototypeOf(sourceComponent);
6673
6674 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6675 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6676 }
6677 }
6678
6679 var keys = getOwnPropertyNames(sourceComponent);
6680
6681 if (getOwnPropertySymbols) {
6682 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6683 }
6684
6685 var targetStatics = getStatics(targetComponent);
6686 var sourceStatics = getStatics(sourceComponent);
6687
6688 for (var i = 0; i < keys.length; ++i) {
6689 var key = keys[i];
6690
6691 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6692 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6693
6694 try {
6695 // Avoid failures from read-only properties
6696 defineProperty(targetComponent, key, descriptor);
6697 } catch (e) {}
6698 }
6699 }
6700 }
6701
6702 return targetComponent;
6703 }
6704
6705 module.exports = hoistNonReactStatics;
6706
6707
6708 /***/ }),
6709
6710 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6711 /*!*************************************************************************************************!*\
6712 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6713 \*************************************************************************************************/
6714 /***/ ((__unused_webpack_module, exports) => {
6715
6716 "use strict";
6717 /** @license React v16.13.1
6718 * react-is.development.js
6719 *
6720 * Copyright (c) Facebook, Inc. and its affiliates.
6721 *
6722 * This source code is licensed under the MIT license found in the
6723 * LICENSE file in the root directory of this source tree.
6724 */
6725
6726
6727
6728
6729
6730 if (true) {
6731 (function() {
6732 'use strict';
6733
6734 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6735 // nor polyfill, then a plain number is used for performance.
6736 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6737 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6738 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6739 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6740 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6741 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6742 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6743 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6744 // (unstable) APIs that have been removed. Can we remove the symbols?
6745
6746 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6747 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6748 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6749 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6750 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6751 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6752 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6753 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6754 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6755 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6756 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6757
6758 function isValidElementType(type) {
6759 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6760 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);
6761 }
6762
6763 function typeOf(object) {
6764 if (typeof object === 'object' && object !== null) {
6765 var $$typeof = object.$$typeof;
6766
6767 switch ($$typeof) {
6768 case REACT_ELEMENT_TYPE:
6769 var type = object.type;
6770
6771 switch (type) {
6772 case REACT_ASYNC_MODE_TYPE:
6773 case REACT_CONCURRENT_MODE_TYPE:
6774 case REACT_FRAGMENT_TYPE:
6775 case REACT_PROFILER_TYPE:
6776 case REACT_STRICT_MODE_TYPE:
6777 case REACT_SUSPENSE_TYPE:
6778 return type;
6779
6780 default:
6781 var $$typeofType = type && type.$$typeof;
6782
6783 switch ($$typeofType) {
6784 case REACT_CONTEXT_TYPE:
6785 case REACT_FORWARD_REF_TYPE:
6786 case REACT_LAZY_TYPE:
6787 case REACT_MEMO_TYPE:
6788 case REACT_PROVIDER_TYPE:
6789 return $$typeofType;
6790
6791 default:
6792 return $$typeof;
6793 }
6794
6795 }
6796
6797 case REACT_PORTAL_TYPE:
6798 return $$typeof;
6799 }
6800 }
6801
6802 return undefined;
6803 } // AsyncMode is deprecated along with isAsyncMode
6804
6805 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6806 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6807 var ContextConsumer = REACT_CONTEXT_TYPE;
6808 var ContextProvider = REACT_PROVIDER_TYPE;
6809 var Element = REACT_ELEMENT_TYPE;
6810 var ForwardRef = REACT_FORWARD_REF_TYPE;
6811 var Fragment = REACT_FRAGMENT_TYPE;
6812 var Lazy = REACT_LAZY_TYPE;
6813 var Memo = REACT_MEMO_TYPE;
6814 var Portal = REACT_PORTAL_TYPE;
6815 var Profiler = REACT_PROFILER_TYPE;
6816 var StrictMode = REACT_STRICT_MODE_TYPE;
6817 var Suspense = REACT_SUSPENSE_TYPE;
6818 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6819
6820 function isAsyncMode(object) {
6821 {
6822 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6823 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6824
6825 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.');
6826 }
6827 }
6828
6829 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6830 }
6831 function isConcurrentMode(object) {
6832 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6833 }
6834 function isContextConsumer(object) {
6835 return typeOf(object) === REACT_CONTEXT_TYPE;
6836 }
6837 function isContextProvider(object) {
6838 return typeOf(object) === REACT_PROVIDER_TYPE;
6839 }
6840 function isElement(object) {
6841 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6842 }
6843 function isForwardRef(object) {
6844 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6845 }
6846 function isFragment(object) {
6847 return typeOf(object) === REACT_FRAGMENT_TYPE;
6848 }
6849 function isLazy(object) {
6850 return typeOf(object) === REACT_LAZY_TYPE;
6851 }
6852 function isMemo(object) {
6853 return typeOf(object) === REACT_MEMO_TYPE;
6854 }
6855 function isPortal(object) {
6856 return typeOf(object) === REACT_PORTAL_TYPE;
6857 }
6858 function isProfiler(object) {
6859 return typeOf(object) === REACT_PROFILER_TYPE;
6860 }
6861 function isStrictMode(object) {
6862 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6863 }
6864 function isSuspense(object) {
6865 return typeOf(object) === REACT_SUSPENSE_TYPE;
6866 }
6867
6868 exports.AsyncMode = AsyncMode;
6869 exports.ConcurrentMode = ConcurrentMode;
6870 exports.ContextConsumer = ContextConsumer;
6871 exports.ContextProvider = ContextProvider;
6872 exports.Element = Element;
6873 exports.ForwardRef = ForwardRef;
6874 exports.Fragment = Fragment;
6875 exports.Lazy = Lazy;
6876 exports.Memo = Memo;
6877 exports.Portal = Portal;
6878 exports.Profiler = Profiler;
6879 exports.StrictMode = StrictMode;
6880 exports.Suspense = Suspense;
6881 exports.isAsyncMode = isAsyncMode;
6882 exports.isConcurrentMode = isConcurrentMode;
6883 exports.isContextConsumer = isContextConsumer;
6884 exports.isContextProvider = isContextProvider;
6885 exports.isElement = isElement;
6886 exports.isForwardRef = isForwardRef;
6887 exports.isFragment = isFragment;
6888 exports.isLazy = isLazy;
6889 exports.isMemo = isMemo;
6890 exports.isPortal = isPortal;
6891 exports.isProfiler = isProfiler;
6892 exports.isStrictMode = isStrictMode;
6893 exports.isSuspense = isSuspense;
6894 exports.isValidElementType = isValidElementType;
6895 exports.typeOf = typeOf;
6896 })();
6897 }
6898
6899
6900 /***/ }),
6901
6902 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
6903 /*!******************************************************************************!*\
6904 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
6905 \******************************************************************************/
6906 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6907
6908 "use strict";
6909
6910
6911 if (false) {} else {
6912 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
6913 }
6914
6915
6916 /***/ }),
6917
6918 /***/ "../node_modules/html-to-image/es/apply-style.js":
6919 /*!*******************************************************!*\
6920 !*** ../node_modules/html-to-image/es/apply-style.js ***!
6921 \*******************************************************/
6922 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6923
6924 "use strict";
6925 __webpack_require__.r(__webpack_exports__);
6926 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6927 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
6928 /* harmony export */ });
6929 function applyStyle(node, options) {
6930 const { style } = node;
6931 if (options.backgroundColor) {
6932 style.backgroundColor = options.backgroundColor;
6933 }
6934 if (options.width) {
6935 style.width = `${options.width}px`;
6936 }
6937 if (options.height) {
6938 style.height = `${options.height}px`;
6939 }
6940 const manual = options.style;
6941 if (manual != null) {
6942 Object.keys(manual).forEach((key) => {
6943 style[key] = manual[key];
6944 });
6945 }
6946 return node;
6947 }
6948 //# sourceMappingURL=apply-style.js.map
6949
6950 /***/ }),
6951
6952 /***/ "../node_modules/html-to-image/es/clone-node.js":
6953 /*!******************************************************!*\
6954 !*** ../node_modules/html-to-image/es/clone-node.js ***!
6955 \******************************************************/
6956 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6957
6958 "use strict";
6959 __webpack_require__.r(__webpack_exports__);
6960 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6961 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
6962 /* harmony export */ });
6963 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
6964 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6965 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
6966 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
6967
6968
6969
6970
6971 async function cloneCanvasElement(canvas) {
6972 const dataURL = canvas.toDataURL();
6973 if (dataURL === 'data:,') {
6974 return canvas.cloneNode(false);
6975 }
6976 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6977 }
6978 async function cloneVideoElement(video, options) {
6979 if (video.currentSrc) {
6980 const canvas = document.createElement('canvas');
6981 const ctx = canvas.getContext('2d');
6982 canvas.width = video.clientWidth;
6983 canvas.height = video.clientHeight;
6984 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6985 const dataURL = canvas.toDataURL();
6986 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6987 }
6988 const poster = video.poster;
6989 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
6990 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
6991 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6992 }
6993 async function cloneIFrameElement(iframe) {
6994 var _a;
6995 try {
6996 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
6997 return (await cloneNode(iframe.contentDocument.body, {}, true));
6998 }
6999 }
7000 catch (_b) {
7001 // Failed to clone iframe
7002 }
7003 return iframe.cloneNode(false);
7004 }
7005 async function cloneSingleNode(node, options) {
7006 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
7007 return cloneCanvasElement(node);
7008 }
7009 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
7010 return cloneVideoElement(node, options);
7011 }
7012 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
7013 return cloneIFrameElement(node);
7014 }
7015 return node.cloneNode(false);
7016 }
7017 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
7018 async function cloneChildren(nativeNode, clonedNode, options) {
7019 var _a, _b;
7020 let children = [];
7021 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
7022 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
7023 }
7024 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7025 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
7026 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
7027 }
7028 else {
7029 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
7030 }
7031 if (children.length === 0 ||
7032 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
7033 return clonedNode;
7034 }
7035 await children.reduce((deferred, child) => deferred
7036 .then(() => cloneNode(child, options))
7037 .then((clonedChild) => {
7038 if (clonedChild) {
7039 clonedNode.appendChild(clonedChild);
7040 }
7041 }), Promise.resolve());
7042 return clonedNode;
7043 }
7044 function cloneCSSStyle(nativeNode, clonedNode) {
7045 const targetStyle = clonedNode.style;
7046 if (!targetStyle) {
7047 return;
7048 }
7049 const sourceStyle = window.getComputedStyle(nativeNode);
7050 if (sourceStyle.cssText) {
7051 targetStyle.cssText = sourceStyle.cssText;
7052 targetStyle.transformOrigin = sourceStyle.transformOrigin;
7053 }
7054 else {
7055 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
7056 let value = sourceStyle.getPropertyValue(name);
7057 if (name === 'font-size' && value.endsWith('px')) {
7058 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
7059 value = `${reducedFont}px`;
7060 }
7061 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7062 name === 'display' &&
7063 value === 'inline') {
7064 value = 'block';
7065 }
7066 if (name === 'd' && clonedNode.getAttribute('d')) {
7067 value = `path(${clonedNode.getAttribute('d')})`;
7068 }
7069 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
7070 });
7071 }
7072 }
7073 function cloneInputValue(nativeNode, clonedNode) {
7074 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
7075 clonedNode.innerHTML = nativeNode.value;
7076 }
7077 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
7078 clonedNode.setAttribute('value', nativeNode.value);
7079 }
7080 }
7081 function cloneSelectValue(nativeNode, clonedNode) {
7082 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
7083 const clonedSelect = clonedNode;
7084 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
7085 if (selectedOption) {
7086 selectedOption.setAttribute('selected', '');
7087 }
7088 }
7089 }
7090 function decorate(nativeNode, clonedNode) {
7091 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7092 cloneCSSStyle(nativeNode, clonedNode);
7093 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
7094 cloneInputValue(nativeNode, clonedNode);
7095 cloneSelectValue(nativeNode, clonedNode);
7096 }
7097 return clonedNode;
7098 }
7099 async function ensureSVGSymbols(clone, options) {
7100 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
7101 if (uses.length === 0) {
7102 return clone;
7103 }
7104 const processedDefs = {};
7105 for (let i = 0; i < uses.length; i++) {
7106 const use = uses[i];
7107 const id = use.getAttribute('xlink:href');
7108 if (id) {
7109 const exist = clone.querySelector(id);
7110 const definition = document.querySelector(id);
7111 if (!exist && definition && !processedDefs[id]) {
7112 // eslint-disable-next-line no-await-in-loop
7113 processedDefs[id] = (await cloneNode(definition, options, true));
7114 }
7115 }
7116 }
7117 const nodes = Object.values(processedDefs);
7118 if (nodes.length) {
7119 const ns = 'http://www.w3.org/1999/xhtml';
7120 const svg = document.createElementNS(ns, 'svg');
7121 svg.setAttribute('xmlns', ns);
7122 svg.style.position = 'absolute';
7123 svg.style.width = '0';
7124 svg.style.height = '0';
7125 svg.style.overflow = 'hidden';
7126 svg.style.display = 'none';
7127 const defs = document.createElementNS(ns, 'defs');
7128 svg.appendChild(defs);
7129 for (let i = 0; i < nodes.length; i++) {
7130 defs.appendChild(nodes[i]);
7131 }
7132 clone.appendChild(svg);
7133 }
7134 return clone;
7135 }
7136 async function cloneNode(node, options, isRoot) {
7137 if (!isRoot && options.filter && !options.filter(node)) {
7138 return null;
7139 }
7140 return Promise.resolve(node)
7141 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7142 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7143 .then((clonedNode) => decorate(node, clonedNode))
7144 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7145 }
7146 //# sourceMappingURL=clone-node.js.map
7147
7148 /***/ }),
7149
7150 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7151 /*!*********************************************************!*\
7152 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7153 \*********************************************************/
7154 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7155
7156 "use strict";
7157 __webpack_require__.r(__webpack_exports__);
7158 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7159 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7160 /* harmony export */ });
7161 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7162
7163 function formatCSSText(style) {
7164 const content = style.getPropertyValue('content');
7165 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7166 }
7167 function formatCSSProperties(style) {
7168 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7169 .map((name) => {
7170 const value = style.getPropertyValue(name);
7171 const priority = style.getPropertyPriority(name);
7172 return `${name}: ${value}${priority ? ' !important' : ''};`;
7173 })
7174 .join(' ');
7175 }
7176 function getPseudoElementStyle(className, pseudo, style) {
7177 const selector = `.${className}:${pseudo}`;
7178 const cssText = style.cssText
7179 ? formatCSSText(style)
7180 : formatCSSProperties(style);
7181 return document.createTextNode(`${selector}{${cssText}}`);
7182 }
7183 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7184 const style = window.getComputedStyle(nativeNode, pseudo);
7185 const content = style.getPropertyValue('content');
7186 if (content === '' || content === 'none') {
7187 return;
7188 }
7189 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7190 try {
7191 clonedNode.className = `${clonedNode.className} ${className}`;
7192 }
7193 catch (err) {
7194 return;
7195 }
7196 const styleElement = document.createElement('style');
7197 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7198 clonedNode.appendChild(styleElement);
7199 }
7200 function clonePseudoElements(nativeNode, clonedNode) {
7201 clonePseudoElement(nativeNode, clonedNode, ':before');
7202 clonePseudoElement(nativeNode, clonedNode, ':after');
7203 }
7204 //# sourceMappingURL=clone-pseudos.js.map
7205
7206 /***/ }),
7207
7208 /***/ "../node_modules/html-to-image/es/dataurl.js":
7209 /*!***************************************************!*\
7210 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7211 \***************************************************/
7212 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7213
7214 "use strict";
7215 __webpack_require__.r(__webpack_exports__);
7216 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7217 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7218 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7219 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7220 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7221 /* harmony export */ });
7222 function getContentFromDataUrl(dataURL) {
7223 return dataURL.split(/,/)[1];
7224 }
7225 function isDataUrl(url) {
7226 return url.search(/^(data:)/) !== -1;
7227 }
7228 function makeDataUrl(content, mimeType) {
7229 return `data:${mimeType};base64,${content}`;
7230 }
7231 async function fetchAsDataURL(url, init, process) {
7232 const res = await fetch(url, init);
7233 if (res.status === 404) {
7234 throw new Error(`Resource "${res.url}" not found`);
7235 }
7236 const blob = await res.blob();
7237 return new Promise((resolve, reject) => {
7238 const reader = new FileReader();
7239 reader.onerror = reject;
7240 reader.onloadend = () => {
7241 try {
7242 resolve(process({ res, result: reader.result }));
7243 }
7244 catch (error) {
7245 reject(error);
7246 }
7247 };
7248 reader.readAsDataURL(blob);
7249 });
7250 }
7251 const cache = {};
7252 function getCacheKey(url, contentType, includeQueryParams) {
7253 let key = url.replace(/\?.*/, '');
7254 if (includeQueryParams) {
7255 key = url;
7256 }
7257 // font resource
7258 if (/ttf|otf|eot|woff2?/i.test(key)) {
7259 key = key.replace(/.*\//, '');
7260 }
7261 return contentType ? `[${contentType}]${key}` : key;
7262 }
7263 async function resourceToDataURL(resourceUrl, contentType, options) {
7264 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7265 if (cache[cacheKey] != null) {
7266 return cache[cacheKey];
7267 }
7268 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7269 if (options.cacheBust) {
7270 // eslint-disable-next-line no-param-reassign
7271 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7272 }
7273 let dataURL;
7274 try {
7275 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7276 if (!contentType) {
7277 // eslint-disable-next-line no-param-reassign
7278 contentType = res.headers.get('Content-Type') || '';
7279 }
7280 return getContentFromDataUrl(result);
7281 });
7282 dataURL = makeDataUrl(content, contentType);
7283 }
7284 catch (error) {
7285 dataURL = options.imagePlaceholder || '';
7286 let msg = `Failed to fetch resource: ${resourceUrl}`;
7287 if (error) {
7288 msg = typeof error === 'string' ? error : error.message;
7289 }
7290 if (msg) {
7291 console.warn(msg);
7292 }
7293 }
7294 cache[cacheKey] = dataURL;
7295 return dataURL;
7296 }
7297 //# sourceMappingURL=dataurl.js.map
7298
7299 /***/ }),
7300
7301 /***/ "../node_modules/html-to-image/es/embed-images.js":
7302 /*!********************************************************!*\
7303 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7304 \********************************************************/
7305 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7306
7307 "use strict";
7308 __webpack_require__.r(__webpack_exports__);
7309 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7310 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7311 /* harmony export */ });
7312 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7313 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7314 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7315 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7316
7317
7318
7319
7320 async function embedProp(propName, node, options) {
7321 var _a;
7322 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7323 if (propValue) {
7324 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7325 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7326 return true;
7327 }
7328 return false;
7329 }
7330 async function embedBackground(clonedNode, options) {
7331 if (!(await embedProp('background', clonedNode, options))) {
7332 await embedProp('background-image', clonedNode, options);
7333 }
7334 if (!(await embedProp('mask', clonedNode, options))) {
7335 await embedProp('mask-image', clonedNode, options);
7336 }
7337 }
7338 async function embedImageNode(clonedNode, options) {
7339 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7340 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7341 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7342 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7343 return;
7344 }
7345 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7346 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7347 await new Promise((resolve, reject) => {
7348 clonedNode.onload = resolve;
7349 clonedNode.onerror = reject;
7350 const image = clonedNode;
7351 if (image.decode) {
7352 image.decode = resolve;
7353 }
7354 if (image.loading === 'lazy') {
7355 image.loading = 'eager';
7356 }
7357 if (isImageElement) {
7358 clonedNode.srcset = '';
7359 clonedNode.src = dataURL;
7360 }
7361 else {
7362 clonedNode.href.baseVal = dataURL;
7363 }
7364 });
7365 }
7366 async function embedChildren(clonedNode, options) {
7367 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7368 const deferreds = children.map((child) => embedImages(child, options));
7369 await Promise.all(deferreds).then(() => clonedNode);
7370 }
7371 async function embedImages(clonedNode, options) {
7372 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7373 await embedBackground(clonedNode, options);
7374 await embedImageNode(clonedNode, options);
7375 await embedChildren(clonedNode, options);
7376 }
7377 }
7378 //# sourceMappingURL=embed-images.js.map
7379
7380 /***/ }),
7381
7382 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7383 /*!***********************************************************!*\
7384 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7385 \***********************************************************/
7386 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7387
7388 "use strict";
7389 __webpack_require__.r(__webpack_exports__);
7390 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7391 /* harmony export */ embed: () => (/* binding */ embed),
7392 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7393 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7394 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7395 /* harmony export */ });
7396 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7397 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7398 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7399
7400
7401
7402 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7403 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7404 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7405 function toRegex(url) {
7406 // eslint-disable-next-line no-useless-escape
7407 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7408 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7409 }
7410 function parseURLs(cssText) {
7411 const urls = [];
7412 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7413 urls.push(url);
7414 return raw;
7415 });
7416 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7417 }
7418 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7419 try {
7420 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7421 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7422 let dataURL;
7423 if (getContentFromUrl) {
7424 const content = await getContentFromUrl(resolvedURL);
7425 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7426 }
7427 else {
7428 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7429 }
7430 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7431 }
7432 catch (error) {
7433 // pass
7434 }
7435 return cssText;
7436 }
7437 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7438 return !preferredFontFormat
7439 ? str
7440 : str.replace(FONT_SRC_REGEX, (match) => {
7441 // eslint-disable-next-line no-constant-condition
7442 while (true) {
7443 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7444 if (!format) {
7445 return '';
7446 }
7447 if (format === preferredFontFormat) {
7448 return `src: ${src};`;
7449 }
7450 }
7451 });
7452 }
7453 function shouldEmbed(url) {
7454 return url.search(URL_REGEX) !== -1;
7455 }
7456 async function embedResources(cssText, baseUrl, options) {
7457 if (!shouldEmbed(cssText)) {
7458 return cssText;
7459 }
7460 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7461 const urls = parseURLs(filteredCSSText);
7462 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7463 }
7464 //# sourceMappingURL=embed-resources.js.map
7465
7466 /***/ }),
7467
7468 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7469 /*!**********************************************************!*\
7470 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7471 \**********************************************************/
7472 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7473
7474 "use strict";
7475 __webpack_require__.r(__webpack_exports__);
7476 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7477 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7478 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7479 /* harmony export */ });
7480 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7481 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7482 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7483
7484
7485
7486 const cssFetchCache = {};
7487 async function fetchCSS(url) {
7488 let cache = cssFetchCache[url];
7489 if (cache != null) {
7490 return cache;
7491 }
7492 const res = await fetch(url);
7493 const cssText = await res.text();
7494 cache = { url, cssText };
7495 cssFetchCache[url] = cache;
7496 return cache;
7497 }
7498 async function embedFonts(data, options) {
7499 let cssText = data.cssText;
7500 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7501 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7502 const loadFonts = fontLocs.map(async (loc) => {
7503 let url = loc.replace(regexUrl, '$1');
7504 if (!url.startsWith('https://')) {
7505 url = new URL(url, data.url).href;
7506 }
7507 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7508 cssText = cssText.replace(loc, `url(${result})`);
7509 return [loc, result];
7510 });
7511 });
7512 return Promise.all(loadFonts).then(() => cssText);
7513 }
7514 function parseCSS(source) {
7515 if (source == null) {
7516 return [];
7517 }
7518 const result = [];
7519 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7520 // strip out comments
7521 let cssText = source.replace(commentsRegex, '');
7522 // eslint-disable-next-line prefer-regex-literals
7523 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7524 // eslint-disable-next-line no-constant-condition
7525 while (true) {
7526 const matches = keyframesRegex.exec(cssText);
7527 if (matches === null) {
7528 break;
7529 }
7530 result.push(matches[0]);
7531 }
7532 cssText = cssText.replace(keyframesRegex, '');
7533 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7534 // to match css & media queries together
7535 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7536 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7537 // unified regex
7538 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7539 // eslint-disable-next-line no-constant-condition
7540 while (true) {
7541 let matches = importRegex.exec(cssText);
7542 if (matches === null) {
7543 matches = unifiedRegex.exec(cssText);
7544 if (matches === null) {
7545 break;
7546 }
7547 else {
7548 importRegex.lastIndex = unifiedRegex.lastIndex;
7549 }
7550 }
7551 else {
7552 unifiedRegex.lastIndex = importRegex.lastIndex;
7553 }
7554 result.push(matches[0]);
7555 }
7556 return result;
7557 }
7558 async function getCSSRules(styleSheets, options) {
7559 const ret = [];
7560 const deferreds = [];
7561 // First loop inlines imports
7562 styleSheets.forEach((sheet) => {
7563 if ('cssRules' in sheet) {
7564 try {
7565 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7566 if (item.type === CSSRule.IMPORT_RULE) {
7567 let importIndex = index + 1;
7568 const url = item.href;
7569 const deferred = fetchCSS(url)
7570 .then((metadata) => embedFonts(metadata, options))
7571 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7572 try {
7573 sheet.insertRule(rule, rule.startsWith('@import')
7574 ? (importIndex += 1)
7575 : sheet.cssRules.length);
7576 }
7577 catch (error) {
7578 console.error('Error inserting rule from remote css', {
7579 rule,
7580 error,
7581 });
7582 }
7583 }))
7584 .catch((e) => {
7585 console.error('Error loading remote css', e.toString());
7586 });
7587 deferreds.push(deferred);
7588 }
7589 });
7590 }
7591 catch (e) {
7592 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7593 if (sheet.href != null) {
7594 deferreds.push(fetchCSS(sheet.href)
7595 .then((metadata) => embedFonts(metadata, options))
7596 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7597 inline.insertRule(rule, sheet.cssRules.length);
7598 }))
7599 .catch((err) => {
7600 console.error('Error loading remote stylesheet', err);
7601 }));
7602 }
7603 console.error('Error inlining remote css file', e);
7604 }
7605 }
7606 });
7607 return Promise.all(deferreds).then(() => {
7608 // Second loop parses rules
7609 styleSheets.forEach((sheet) => {
7610 if ('cssRules' in sheet) {
7611 try {
7612 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7613 ret.push(item);
7614 });
7615 }
7616 catch (e) {
7617 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7618 }
7619 }
7620 });
7621 return ret;
7622 });
7623 }
7624 function getWebFontRules(cssRules) {
7625 return cssRules
7626 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7627 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7628 }
7629 async function parseWebFontRules(node, options) {
7630 if (node.ownerDocument == null) {
7631 throw new Error('Provided element is not within a Document');
7632 }
7633 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7634 const cssRules = await getCSSRules(styleSheets, options);
7635 return getWebFontRules(cssRules);
7636 }
7637 async function getWebFontCSS(node, options) {
7638 const rules = await parseWebFontRules(node, options);
7639 const cssTexts = await Promise.all(rules.map((rule) => {
7640 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7641 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7642 }));
7643 return cssTexts.join('\n');
7644 }
7645 async function embedWebFonts(clonedNode, options) {
7646 const cssText = options.fontEmbedCSS != null
7647 ? options.fontEmbedCSS
7648 : options.skipFonts
7649 ? null
7650 : await getWebFontCSS(clonedNode, options);
7651 if (cssText) {
7652 const styleNode = document.createElement('style');
7653 const sytleContent = document.createTextNode(cssText);
7654 styleNode.appendChild(sytleContent);
7655 if (clonedNode.firstChild) {
7656 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7657 }
7658 else {
7659 clonedNode.appendChild(styleNode);
7660 }
7661 }
7662 }
7663 //# sourceMappingURL=embed-webfonts.js.map
7664
7665 /***/ }),
7666
7667 /***/ "../node_modules/html-to-image/es/index.js":
7668 /*!*************************************************!*\
7669 !*** ../node_modules/html-to-image/es/index.js ***!
7670 \*************************************************/
7671 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7672
7673 "use strict";
7674 __webpack_require__.r(__webpack_exports__);
7675 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7676 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7677 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7678 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7679 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7680 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7681 /* harmony export */ toPng: () => (/* binding */ toPng),
7682 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7683 /* harmony export */ });
7684 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7685 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7686 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7687 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7688 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7689
7690
7691
7692
7693
7694 async function toSvg(node, options = {}) {
7695 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7696 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7697 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7698 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7699 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7700 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7701 return datauri;
7702 }
7703 async function toCanvas(node, options = {}) {
7704 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7705 const svg = await toSvg(node, options);
7706 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7707 const canvas = document.createElement('canvas');
7708 const context = canvas.getContext('2d');
7709 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7710 const canvasWidth = options.canvasWidth || width;
7711 const canvasHeight = options.canvasHeight || height;
7712 canvas.width = canvasWidth * ratio;
7713 canvas.height = canvasHeight * ratio;
7714 if (!options.skipAutoScale) {
7715 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7716 }
7717 canvas.style.width = `${canvasWidth}`;
7718 canvas.style.height = `${canvasHeight}`;
7719 if (options.backgroundColor) {
7720 context.fillStyle = options.backgroundColor;
7721 context.fillRect(0, 0, canvas.width, canvas.height);
7722 }
7723 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7724 return canvas;
7725 }
7726 async function toPixelData(node, options = {}) {
7727 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7728 const canvas = await toCanvas(node, options);
7729 const ctx = canvas.getContext('2d');
7730 return ctx.getImageData(0, 0, width, height).data;
7731 }
7732 async function toPng(node, options = {}) {
7733 const canvas = await toCanvas(node, options);
7734 return canvas.toDataURL();
7735 }
7736 async function toJpeg(node, options = {}) {
7737 const canvas = await toCanvas(node, options);
7738 return canvas.toDataURL('image/jpeg', options.quality || 1);
7739 }
7740 async function toBlob(node, options = {}) {
7741 const canvas = await toCanvas(node, options);
7742 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7743 return blob;
7744 }
7745 async function getFontEmbedCSS(node, options = {}) {
7746 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7747 }
7748 //# sourceMappingURL=index.js.map
7749
7750 /***/ }),
7751
7752 /***/ "../node_modules/html-to-image/es/mimes.js":
7753 /*!*************************************************!*\
7754 !*** ../node_modules/html-to-image/es/mimes.js ***!
7755 \*************************************************/
7756 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7757
7758 "use strict";
7759 __webpack_require__.r(__webpack_exports__);
7760 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7761 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7762 /* harmony export */ });
7763 const WOFF = 'application/font-woff';
7764 const JPEG = 'image/jpeg';
7765 const mimes = {
7766 woff: WOFF,
7767 woff2: WOFF,
7768 ttf: 'application/font-truetype',
7769 eot: 'application/vnd.ms-fontobject',
7770 png: 'image/png',
7771 jpg: JPEG,
7772 jpeg: JPEG,
7773 gif: 'image/gif',
7774 tiff: 'image/tiff',
7775 svg: 'image/svg+xml',
7776 webp: 'image/webp',
7777 };
7778 function getExtension(url) {
7779 const match = /\.([^./]*?)$/g.exec(url);
7780 return match ? match[1] : '';
7781 }
7782 function getMimeType(url) {
7783 const extension = getExtension(url).toLowerCase();
7784 return mimes[extension] || '';
7785 }
7786 //# sourceMappingURL=mimes.js.map
7787
7788 /***/ }),
7789
7790 /***/ "../node_modules/html-to-image/es/util.js":
7791 /*!************************************************!*\
7792 !*** ../node_modules/html-to-image/es/util.js ***!
7793 \************************************************/
7794 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7795
7796 "use strict";
7797 __webpack_require__.r(__webpack_exports__);
7798 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7799 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7800 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7801 /* harmony export */ createImage: () => (/* binding */ createImage),
7802 /* harmony export */ delay: () => (/* binding */ delay),
7803 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7804 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7805 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7806 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7807 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7808 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7809 /* harmony export */ toArray: () => (/* binding */ toArray),
7810 /* harmony export */ uuid: () => (/* binding */ uuid)
7811 /* harmony export */ });
7812 function resolveUrl(url, baseUrl) {
7813 // url is absolute already
7814 if (url.match(/^[a-z]+:\/\//i)) {
7815 return url;
7816 }
7817 // url is absolute already, without protocol
7818 if (url.match(/^\/\//)) {
7819 return window.location.protocol + url;
7820 }
7821 // dataURI, mailto:, tel:, etc.
7822 if (url.match(/^[a-z]+:/i)) {
7823 return url;
7824 }
7825 const doc = document.implementation.createHTMLDocument();
7826 const base = doc.createElement('base');
7827 const a = doc.createElement('a');
7828 doc.head.appendChild(base);
7829 doc.body.appendChild(a);
7830 if (baseUrl) {
7831 base.href = baseUrl;
7832 }
7833 a.href = url;
7834 return a.href;
7835 }
7836 const uuid = (() => {
7837 // generate uuid for className of pseudo elements.
7838 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7839 let counter = 0;
7840 // ref: http://stackoverflow.com/a/6248722/2519373
7841 const random = () =>
7842 // eslint-disable-next-line no-bitwise
7843 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7844 return () => {
7845 counter += 1;
7846 return `u${random()}${counter}`;
7847 };
7848 })();
7849 function delay(ms) {
7850 return (args) => new Promise((resolve) => {
7851 setTimeout(() => resolve(args), ms);
7852 });
7853 }
7854 function toArray(arrayLike) {
7855 const arr = [];
7856 for (let i = 0, l = arrayLike.length; i < l; i++) {
7857 arr.push(arrayLike[i]);
7858 }
7859 return arr;
7860 }
7861 function px(node, styleProperty) {
7862 const win = node.ownerDocument.defaultView || window;
7863 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7864 return val ? parseFloat(val.replace('px', '')) : 0;
7865 }
7866 function getNodeWidth(node) {
7867 const leftBorder = px(node, 'border-left-width');
7868 const rightBorder = px(node, 'border-right-width');
7869 return node.clientWidth + leftBorder + rightBorder;
7870 }
7871 function getNodeHeight(node) {
7872 const topBorder = px(node, 'border-top-width');
7873 const bottomBorder = px(node, 'border-bottom-width');
7874 return node.clientHeight + topBorder + bottomBorder;
7875 }
7876 function getImageSize(targetNode, options = {}) {
7877 const width = options.width || getNodeWidth(targetNode);
7878 const height = options.height || getNodeHeight(targetNode);
7879 return { width, height };
7880 }
7881 function getPixelRatio() {
7882 let ratio;
7883 let FINAL_PROCESS;
7884 try {
7885 FINAL_PROCESS = process;
7886 }
7887 catch (e) {
7888 // pass
7889 }
7890 const val = FINAL_PROCESS && FINAL_PROCESS.env
7891 ? FINAL_PROCESS.env.devicePixelRatio
7892 : null;
7893 if (val) {
7894 ratio = parseInt(val, 10);
7895 if (Number.isNaN(ratio)) {
7896 ratio = 1;
7897 }
7898 }
7899 return ratio || window.devicePixelRatio || 1;
7900 }
7901 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
7902 const canvasDimensionLimit = 16384;
7903 function checkCanvasDimensions(canvas) {
7904 if (canvas.width > canvasDimensionLimit ||
7905 canvas.height > canvasDimensionLimit) {
7906 if (canvas.width > canvasDimensionLimit &&
7907 canvas.height > canvasDimensionLimit) {
7908 if (canvas.width > canvas.height) {
7909 canvas.height *= canvasDimensionLimit / canvas.width;
7910 canvas.width = canvasDimensionLimit;
7911 }
7912 else {
7913 canvas.width *= canvasDimensionLimit / canvas.height;
7914 canvas.height = canvasDimensionLimit;
7915 }
7916 }
7917 else if (canvas.width > canvasDimensionLimit) {
7918 canvas.height *= canvasDimensionLimit / canvas.width;
7919 canvas.width = canvasDimensionLimit;
7920 }
7921 else {
7922 canvas.width *= canvasDimensionLimit / canvas.height;
7923 canvas.height = canvasDimensionLimit;
7924 }
7925 }
7926 }
7927 function canvasToBlob(canvas, options = {}) {
7928 if (canvas.toBlob) {
7929 return new Promise((resolve) => {
7930 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
7931 });
7932 }
7933 return new Promise((resolve) => {
7934 const binaryString = window.atob(canvas
7935 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
7936 .split(',')[1]);
7937 const len = binaryString.length;
7938 const binaryArray = new Uint8Array(len);
7939 for (let i = 0; i < len; i += 1) {
7940 binaryArray[i] = binaryString.charCodeAt(i);
7941 }
7942 resolve(new Blob([binaryArray], {
7943 type: options.type ? options.type : 'image/png',
7944 }));
7945 });
7946 }
7947 function createImage(url) {
7948 return new Promise((resolve, reject) => {
7949 const img = new Image();
7950 img.decode = () => resolve(img);
7951 img.onload = () => resolve(img);
7952 img.onerror = reject;
7953 img.crossOrigin = 'anonymous';
7954 img.decoding = 'async';
7955 img.src = url;
7956 });
7957 }
7958 async function svgToDataURL(svg) {
7959 return Promise.resolve()
7960 .then(() => new XMLSerializer().serializeToString(svg))
7961 .then(encodeURIComponent)
7962 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
7963 }
7964 async function nodeToDataURL(node, width, height) {
7965 const xmlns = 'http://www.w3.org/2000/svg';
7966 const svg = document.createElementNS(xmlns, 'svg');
7967 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
7968 svg.setAttribute('width', `${width}`);
7969 svg.setAttribute('height', `${height}`);
7970 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
7971 foreignObject.setAttribute('width', '100%');
7972 foreignObject.setAttribute('height', '100%');
7973 foreignObject.setAttribute('x', '0');
7974 foreignObject.setAttribute('y', '0');
7975 foreignObject.setAttribute('externalResourcesRequired', 'true');
7976 svg.appendChild(foreignObject);
7977 foreignObject.appendChild(node);
7978 return svgToDataURL(svg);
7979 }
7980 const isInstanceOfElement = (node, instance) => {
7981 if (node instanceof instance)
7982 return true;
7983 const nodePrototype = Object.getPrototypeOf(node);
7984 if (nodePrototype === null)
7985 return false;
7986 return (nodePrototype.constructor.name === instance.name ||
7987 isInstanceOfElement(nodePrototype, instance));
7988 };
7989 //# sourceMappingURL=util.js.map
7990
7991 /***/ }),
7992
7993 /***/ "../node_modules/object-assign/index.js":
7994 /*!**********************************************!*\
7995 !*** ../node_modules/object-assign/index.js ***!
7996 \**********************************************/
7997 /***/ ((module) => {
7998
7999 "use strict";
8000 /*
8001 object-assign
8002 (c) Sindre Sorhus
8003 @license MIT
8004 */
8005
8006
8007 /* eslint-disable no-unused-vars */
8008 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
8009 var hasOwnProperty = Object.prototype.hasOwnProperty;
8010 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8011
8012 function toObject(val) {
8013 if (val === null || val === undefined) {
8014 throw new TypeError('Object.assign cannot be called with null or undefined');
8015 }
8016
8017 return Object(val);
8018 }
8019
8020 function shouldUseNative() {
8021 try {
8022 if (!Object.assign) {
8023 return false;
8024 }
8025
8026 // Detect buggy property enumeration order in older V8 versions.
8027
8028 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
8029 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
8030 test1[5] = 'de';
8031 if (Object.getOwnPropertyNames(test1)[0] === '5') {
8032 return false;
8033 }
8034
8035 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8036 var test2 = {};
8037 for (var i = 0; i < 10; i++) {
8038 test2['_' + String.fromCharCode(i)] = i;
8039 }
8040 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
8041 return test2[n];
8042 });
8043 if (order2.join('') !== '0123456789') {
8044 return false;
8045 }
8046
8047 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8048 var test3 = {};
8049 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
8050 test3[letter] = letter;
8051 });
8052 if (Object.keys(Object.assign({}, test3)).join('') !==
8053 'abcdefghijklmnopqrst') {
8054 return false;
8055 }
8056
8057 return true;
8058 } catch (err) {
8059 // We don't expect any of the above to throw, but better to be safe.
8060 return false;
8061 }
8062 }
8063
8064 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
8065 var from;
8066 var to = toObject(target);
8067 var symbols;
8068
8069 for (var s = 1; s < arguments.length; s++) {
8070 from = Object(arguments[s]);
8071
8072 for (var key in from) {
8073 if (hasOwnProperty.call(from, key)) {
8074 to[key] = from[key];
8075 }
8076 }
8077
8078 if (getOwnPropertySymbols) {
8079 symbols = getOwnPropertySymbols(from);
8080 for (var i = 0; i < symbols.length; i++) {
8081 if (propIsEnumerable.call(from, symbols[i])) {
8082 to[symbols[i]] = from[symbols[i]];
8083 }
8084 }
8085 }
8086 }
8087
8088 return to;
8089 };
8090
8091
8092 /***/ }),
8093
8094 /***/ "../node_modules/prop-types/checkPropTypes.js":
8095 /*!****************************************************!*\
8096 !*** ../node_modules/prop-types/checkPropTypes.js ***!
8097 \****************************************************/
8098 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8099
8100 "use strict";
8101 /**
8102 * Copyright (c) 2013-present, Facebook, Inc.
8103 *
8104 * This source code is licensed under the MIT license found in the
8105 * LICENSE file in the root directory of this source tree.
8106 */
8107
8108
8109
8110 var printWarning = function() {};
8111
8112 if (true) {
8113 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8114 var loggedTypeFailures = {};
8115 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8116
8117 printWarning = function(text) {
8118 var message = 'Warning: ' + text;
8119 if (typeof console !== 'undefined') {
8120 console.error(message);
8121 }
8122 try {
8123 // --- Welcome to debugging React ---
8124 // This error was thrown as a convenience so that you can use this stack
8125 // to find the callsite that caused this warning to fire.
8126 throw new Error(message);
8127 } catch (x) { /**/ }
8128 };
8129 }
8130
8131 /**
8132 * Assert that the values match with the type specs.
8133 * Error messages are memorized and will only be shown once.
8134 *
8135 * @param {object} typeSpecs Map of name to a ReactPropType
8136 * @param {object} values Runtime values that need to be type-checked
8137 * @param {string} location e.g. "prop", "context", "child context"
8138 * @param {string} componentName Name of the component for error messages.
8139 * @param {?Function} getStack Returns the component stack.
8140 * @private
8141 */
8142 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8143 if (true) {
8144 for (var typeSpecName in typeSpecs) {
8145 if (has(typeSpecs, typeSpecName)) {
8146 var error;
8147 // Prop type validation may throw. In case they do, we don't want to
8148 // fail the render phase where it didn't fail before. So we log it.
8149 // After these have been cleaned up, we'll let them throw.
8150 try {
8151 // This is intentionally an invariant that gets caught. It's the same
8152 // behavior as without this statement except with a better message.
8153 if (typeof typeSpecs[typeSpecName] !== 'function') {
8154 var err = Error(
8155 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8156 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8157 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8158 );
8159 err.name = 'Invariant Violation';
8160 throw err;
8161 }
8162 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8163 } catch (ex) {
8164 error = ex;
8165 }
8166 if (error && !(error instanceof Error)) {
8167 printWarning(
8168 (componentName || 'React class') + ': type specification of ' +
8169 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8170 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8171 'You may have forgotten to pass an argument to the type checker ' +
8172 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8173 'shape all require an argument).'
8174 );
8175 }
8176 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8177 // Only monitor this failure once because there tends to be a lot of the
8178 // same error.
8179 loggedTypeFailures[error.message] = true;
8180
8181 var stack = getStack ? getStack() : '';
8182
8183 printWarning(
8184 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8185 );
8186 }
8187 }
8188 }
8189 }
8190 }
8191
8192 /**
8193 * Resets warning cache when testing.
8194 *
8195 * @private
8196 */
8197 checkPropTypes.resetWarningCache = function() {
8198 if (true) {
8199 loggedTypeFailures = {};
8200 }
8201 }
8202
8203 module.exports = checkPropTypes;
8204
8205
8206 /***/ }),
8207
8208 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8209 /*!*************************************************************!*\
8210 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8211 \*************************************************************/
8212 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8213
8214 "use strict";
8215 /**
8216 * Copyright (c) 2013-present, Facebook, Inc.
8217 *
8218 * This source code is licensed under the MIT license found in the
8219 * LICENSE file in the root directory of this source tree.
8220 */
8221
8222
8223
8224 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8225 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8226
8227 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8228 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8229 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8230
8231 var printWarning = function() {};
8232
8233 if (true) {
8234 printWarning = function(text) {
8235 var message = 'Warning: ' + text;
8236 if (typeof console !== 'undefined') {
8237 console.error(message);
8238 }
8239 try {
8240 // --- Welcome to debugging React ---
8241 // This error was thrown as a convenience so that you can use this stack
8242 // to find the callsite that caused this warning to fire.
8243 throw new Error(message);
8244 } catch (x) {}
8245 };
8246 }
8247
8248 function emptyFunctionThatReturnsNull() {
8249 return null;
8250 }
8251
8252 module.exports = function(isValidElement, throwOnDirectAccess) {
8253 /* global Symbol */
8254 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8255 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8256
8257 /**
8258 * Returns the iterator method function contained on the iterable object.
8259 *
8260 * Be sure to invoke the function with the iterable as context:
8261 *
8262 * var iteratorFn = getIteratorFn(myIterable);
8263 * if (iteratorFn) {
8264 * var iterator = iteratorFn.call(myIterable);
8265 * ...
8266 * }
8267 *
8268 * @param {?object} maybeIterable
8269 * @return {?function}
8270 */
8271 function getIteratorFn(maybeIterable) {
8272 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8273 if (typeof iteratorFn === 'function') {
8274 return iteratorFn;
8275 }
8276 }
8277
8278 /**
8279 * Collection of methods that allow declaration and validation of props that are
8280 * supplied to React components. Example usage:
8281 *
8282 * var Props = require('ReactPropTypes');
8283 * var MyArticle = React.createClass({
8284 * propTypes: {
8285 * // An optional string prop named "description".
8286 * description: Props.string,
8287 *
8288 * // A required enum prop named "category".
8289 * category: Props.oneOf(['News','Photos']).isRequired,
8290 *
8291 * // A prop named "dialog" that requires an instance of Dialog.
8292 * dialog: Props.instanceOf(Dialog).isRequired
8293 * },
8294 * render: function() { ... }
8295 * });
8296 *
8297 * A more formal specification of how these methods are used:
8298 *
8299 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8300 * decl := ReactPropTypes.{type}(.isRequired)?
8301 *
8302 * Each and every declaration produces a function with the same signature. This
8303 * allows the creation of custom validation functions. For example:
8304 *
8305 * var MyLink = React.createClass({
8306 * propTypes: {
8307 * // An optional string or URI prop named "href".
8308 * href: function(props, propName, componentName) {
8309 * var propValue = props[propName];
8310 * if (propValue != null && typeof propValue !== 'string' &&
8311 * !(propValue instanceof URI)) {
8312 * return new Error(
8313 * 'Expected a string or an URI for ' + propName + ' in ' +
8314 * componentName
8315 * );
8316 * }
8317 * }
8318 * },
8319 * render: function() {...}
8320 * });
8321 *
8322 * @internal
8323 */
8324
8325 var ANONYMOUS = '<<anonymous>>';
8326
8327 // Important!
8328 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8329 var ReactPropTypes = {
8330 array: createPrimitiveTypeChecker('array'),
8331 bigint: createPrimitiveTypeChecker('bigint'),
8332 bool: createPrimitiveTypeChecker('boolean'),
8333 func: createPrimitiveTypeChecker('function'),
8334 number: createPrimitiveTypeChecker('number'),
8335 object: createPrimitiveTypeChecker('object'),
8336 string: createPrimitiveTypeChecker('string'),
8337 symbol: createPrimitiveTypeChecker('symbol'),
8338
8339 any: createAnyTypeChecker(),
8340 arrayOf: createArrayOfTypeChecker,
8341 element: createElementTypeChecker(),
8342 elementType: createElementTypeTypeChecker(),
8343 instanceOf: createInstanceTypeChecker,
8344 node: createNodeChecker(),
8345 objectOf: createObjectOfTypeChecker,
8346 oneOf: createEnumTypeChecker,
8347 oneOfType: createUnionTypeChecker,
8348 shape: createShapeTypeChecker,
8349 exact: createStrictShapeTypeChecker,
8350 };
8351
8352 /**
8353 * inlined Object.is polyfill to avoid requiring consumers ship their own
8354 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8355 */
8356 /*eslint-disable no-self-compare*/
8357 function is(x, y) {
8358 // SameValue algorithm
8359 if (x === y) {
8360 // Steps 1-5, 7-10
8361 // Steps 6.b-6.e: +0 != -0
8362 return x !== 0 || 1 / x === 1 / y;
8363 } else {
8364 // Step 6.a: NaN == NaN
8365 return x !== x && y !== y;
8366 }
8367 }
8368 /*eslint-enable no-self-compare*/
8369
8370 /**
8371 * We use an Error-like object for backward compatibility as people may call
8372 * PropTypes directly and inspect their output. However, we don't use real
8373 * Errors anymore. We don't inspect their stack anyway, and creating them
8374 * is prohibitively expensive if they are created too often, such as what
8375 * happens in oneOfType() for any type before the one that matched.
8376 */
8377 function PropTypeError(message, data) {
8378 this.message = message;
8379 this.data = data && typeof data === 'object' ? data: {};
8380 this.stack = '';
8381 }
8382 // Make `instanceof Error` still work for returned errors.
8383 PropTypeError.prototype = Error.prototype;
8384
8385 function createChainableTypeChecker(validate) {
8386 if (true) {
8387 var manualPropTypeCallCache = {};
8388 var manualPropTypeWarningCount = 0;
8389 }
8390 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8391 componentName = componentName || ANONYMOUS;
8392 propFullName = propFullName || propName;
8393
8394 if (secret !== ReactPropTypesSecret) {
8395 if (throwOnDirectAccess) {
8396 // New behavior only for users of `prop-types` package
8397 var err = new Error(
8398 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8399 'Use `PropTypes.checkPropTypes()` to call them. ' +
8400 'Read more at http://fb.me/use-check-prop-types'
8401 );
8402 err.name = 'Invariant Violation';
8403 throw err;
8404 } else if ( true && typeof console !== 'undefined') {
8405 // Old behavior for people using React.PropTypes
8406 var cacheKey = componentName + ':' + propName;
8407 if (
8408 !manualPropTypeCallCache[cacheKey] &&
8409 // Avoid spamming the console because they are often not actionable except for lib authors
8410 manualPropTypeWarningCount < 3
8411 ) {
8412 printWarning(
8413 'You are manually calling a React.PropTypes validation ' +
8414 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8415 'and will throw in the standalone `prop-types` package. ' +
8416 'You may be seeing this warning due to a third-party PropTypes ' +
8417 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8418 );
8419 manualPropTypeCallCache[cacheKey] = true;
8420 manualPropTypeWarningCount++;
8421 }
8422 }
8423 }
8424 if (props[propName] == null) {
8425 if (isRequired) {
8426 if (props[propName] === null) {
8427 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8428 }
8429 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8430 }
8431 return null;
8432 } else {
8433 return validate(props, propName, componentName, location, propFullName);
8434 }
8435 }
8436
8437 var chainedCheckType = checkType.bind(null, false);
8438 chainedCheckType.isRequired = checkType.bind(null, true);
8439
8440 return chainedCheckType;
8441 }
8442
8443 function createPrimitiveTypeChecker(expectedType) {
8444 function validate(props, propName, componentName, location, propFullName, secret) {
8445 var propValue = props[propName];
8446 var propType = getPropType(propValue);
8447 if (propType !== expectedType) {
8448 // `propValue` being instance of, say, date/regexp, pass the 'object'
8449 // check, but we can offer a more precise error message here rather than
8450 // 'of type `object`'.
8451 var preciseType = getPreciseType(propValue);
8452
8453 return new PropTypeError(
8454 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8455 {expectedType: expectedType}
8456 );
8457 }
8458 return null;
8459 }
8460 return createChainableTypeChecker(validate);
8461 }
8462
8463 function createAnyTypeChecker() {
8464 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8465 }
8466
8467 function createArrayOfTypeChecker(typeChecker) {
8468 function validate(props, propName, componentName, location, propFullName) {
8469 if (typeof typeChecker !== 'function') {
8470 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8471 }
8472 var propValue = props[propName];
8473 if (!Array.isArray(propValue)) {
8474 var propType = getPropType(propValue);
8475 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8476 }
8477 for (var i = 0; i < propValue.length; i++) {
8478 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8479 if (error instanceof Error) {
8480 return error;
8481 }
8482 }
8483 return null;
8484 }
8485 return createChainableTypeChecker(validate);
8486 }
8487
8488 function createElementTypeChecker() {
8489 function validate(props, propName, componentName, location, propFullName) {
8490 var propValue = props[propName];
8491 if (!isValidElement(propValue)) {
8492 var propType = getPropType(propValue);
8493 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8494 }
8495 return null;
8496 }
8497 return createChainableTypeChecker(validate);
8498 }
8499
8500 function createElementTypeTypeChecker() {
8501 function validate(props, propName, componentName, location, propFullName) {
8502 var propValue = props[propName];
8503 if (!ReactIs.isValidElementType(propValue)) {
8504 var propType = getPropType(propValue);
8505 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8506 }
8507 return null;
8508 }
8509 return createChainableTypeChecker(validate);
8510 }
8511
8512 function createInstanceTypeChecker(expectedClass) {
8513 function validate(props, propName, componentName, location, propFullName) {
8514 if (!(props[propName] instanceof expectedClass)) {
8515 var expectedClassName = expectedClass.name || ANONYMOUS;
8516 var actualClassName = getClassName(props[propName]);
8517 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8518 }
8519 return null;
8520 }
8521 return createChainableTypeChecker(validate);
8522 }
8523
8524 function createEnumTypeChecker(expectedValues) {
8525 if (!Array.isArray(expectedValues)) {
8526 if (true) {
8527 if (arguments.length > 1) {
8528 printWarning(
8529 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8530 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8531 );
8532 } else {
8533 printWarning('Invalid argument supplied to oneOf, expected an array.');
8534 }
8535 }
8536 return emptyFunctionThatReturnsNull;
8537 }
8538
8539 function validate(props, propName, componentName, location, propFullName) {
8540 var propValue = props[propName];
8541 for (var i = 0; i < expectedValues.length; i++) {
8542 if (is(propValue, expectedValues[i])) {
8543 return null;
8544 }
8545 }
8546
8547 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8548 var type = getPreciseType(value);
8549 if (type === 'symbol') {
8550 return String(value);
8551 }
8552 return value;
8553 });
8554 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8555 }
8556 return createChainableTypeChecker(validate);
8557 }
8558
8559 function createObjectOfTypeChecker(typeChecker) {
8560 function validate(props, propName, componentName, location, propFullName) {
8561 if (typeof typeChecker !== 'function') {
8562 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8563 }
8564 var propValue = props[propName];
8565 var propType = getPropType(propValue);
8566 if (propType !== 'object') {
8567 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8568 }
8569 for (var key in propValue) {
8570 if (has(propValue, key)) {
8571 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8572 if (error instanceof Error) {
8573 return error;
8574 }
8575 }
8576 }
8577 return null;
8578 }
8579 return createChainableTypeChecker(validate);
8580 }
8581
8582 function createUnionTypeChecker(arrayOfTypeCheckers) {
8583 if (!Array.isArray(arrayOfTypeCheckers)) {
8584 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8585 return emptyFunctionThatReturnsNull;
8586 }
8587
8588 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8589 var checker = arrayOfTypeCheckers[i];
8590 if (typeof checker !== 'function') {
8591 printWarning(
8592 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8593 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8594 );
8595 return emptyFunctionThatReturnsNull;
8596 }
8597 }
8598
8599 function validate(props, propName, componentName, location, propFullName) {
8600 var expectedTypes = [];
8601 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8602 var checker = arrayOfTypeCheckers[i];
8603 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8604 if (checkerResult == null) {
8605 return null;
8606 }
8607 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8608 expectedTypes.push(checkerResult.data.expectedType);
8609 }
8610 }
8611 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8612 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8613 }
8614 return createChainableTypeChecker(validate);
8615 }
8616
8617 function createNodeChecker() {
8618 function validate(props, propName, componentName, location, propFullName) {
8619 if (!isNode(props[propName])) {
8620 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8621 }
8622 return null;
8623 }
8624 return createChainableTypeChecker(validate);
8625 }
8626
8627 function invalidValidatorError(componentName, location, propFullName, key, type) {
8628 return new PropTypeError(
8629 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8630 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8631 );
8632 }
8633
8634 function createShapeTypeChecker(shapeTypes) {
8635 function validate(props, propName, componentName, location, propFullName) {
8636 var propValue = props[propName];
8637 var propType = getPropType(propValue);
8638 if (propType !== 'object') {
8639 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8640 }
8641 for (var key in shapeTypes) {
8642 var checker = shapeTypes[key];
8643 if (typeof checker !== 'function') {
8644 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8645 }
8646 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8647 if (error) {
8648 return error;
8649 }
8650 }
8651 return null;
8652 }
8653 return createChainableTypeChecker(validate);
8654 }
8655
8656 function createStrictShapeTypeChecker(shapeTypes) {
8657 function validate(props, propName, componentName, location, propFullName) {
8658 var propValue = props[propName];
8659 var propType = getPropType(propValue);
8660 if (propType !== 'object') {
8661 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8662 }
8663 // We need to check all keys in case some are required but missing from props.
8664 var allKeys = assign({}, props[propName], shapeTypes);
8665 for (var key in allKeys) {
8666 var checker = shapeTypes[key];
8667 if (has(shapeTypes, key) && typeof checker !== 'function') {
8668 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8669 }
8670 if (!checker) {
8671 return new PropTypeError(
8672 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8673 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8674 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8675 );
8676 }
8677 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8678 if (error) {
8679 return error;
8680 }
8681 }
8682 return null;
8683 }
8684
8685 return createChainableTypeChecker(validate);
8686 }
8687
8688 function isNode(propValue) {
8689 switch (typeof propValue) {
8690 case 'number':
8691 case 'string':
8692 case 'undefined':
8693 return true;
8694 case 'boolean':
8695 return !propValue;
8696 case 'object':
8697 if (Array.isArray(propValue)) {
8698 return propValue.every(isNode);
8699 }
8700 if (propValue === null || isValidElement(propValue)) {
8701 return true;
8702 }
8703
8704 var iteratorFn = getIteratorFn(propValue);
8705 if (iteratorFn) {
8706 var iterator = iteratorFn.call(propValue);
8707 var step;
8708 if (iteratorFn !== propValue.entries) {
8709 while (!(step = iterator.next()).done) {
8710 if (!isNode(step.value)) {
8711 return false;
8712 }
8713 }
8714 } else {
8715 // Iterator will provide entry [k,v] tuples rather than values.
8716 while (!(step = iterator.next()).done) {
8717 var entry = step.value;
8718 if (entry) {
8719 if (!isNode(entry[1])) {
8720 return false;
8721 }
8722 }
8723 }
8724 }
8725 } else {
8726 return false;
8727 }
8728
8729 return true;
8730 default:
8731 return false;
8732 }
8733 }
8734
8735 function isSymbol(propType, propValue) {
8736 // Native Symbol.
8737 if (propType === 'symbol') {
8738 return true;
8739 }
8740
8741 // falsy value can't be a Symbol
8742 if (!propValue) {
8743 return false;
8744 }
8745
8746 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8747 if (propValue['@@toStringTag'] === 'Symbol') {
8748 return true;
8749 }
8750
8751 // Fallback for non-spec compliant Symbols which are polyfilled.
8752 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8753 return true;
8754 }
8755
8756 return false;
8757 }
8758
8759 // Equivalent of `typeof` but with special handling for array and regexp.
8760 function getPropType(propValue) {
8761 var propType = typeof propValue;
8762 if (Array.isArray(propValue)) {
8763 return 'array';
8764 }
8765 if (propValue instanceof RegExp) {
8766 // Old webkits (at least until Android 4.0) return 'function' rather than
8767 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8768 // passes PropTypes.object.
8769 return 'object';
8770 }
8771 if (isSymbol(propType, propValue)) {
8772 return 'symbol';
8773 }
8774 return propType;
8775 }
8776
8777 // This handles more types than `getPropType`. Only used for error messages.
8778 // See `createPrimitiveTypeChecker`.
8779 function getPreciseType(propValue) {
8780 if (typeof propValue === 'undefined' || propValue === null) {
8781 return '' + propValue;
8782 }
8783 var propType = getPropType(propValue);
8784 if (propType === 'object') {
8785 if (propValue instanceof Date) {
8786 return 'date';
8787 } else if (propValue instanceof RegExp) {
8788 return 'regexp';
8789 }
8790 }
8791 return propType;
8792 }
8793
8794 // Returns a string that is postfixed to a warning about an invalid type.
8795 // For example, "undefined" or "of type array"
8796 function getPostfixForTypeWarning(value) {
8797 var type = getPreciseType(value);
8798 switch (type) {
8799 case 'array':
8800 case 'object':
8801 return 'an ' + type;
8802 case 'boolean':
8803 case 'date':
8804 case 'regexp':
8805 return 'a ' + type;
8806 default:
8807 return type;
8808 }
8809 }
8810
8811 // Returns class name of the object, if any.
8812 function getClassName(propValue) {
8813 if (!propValue.constructor || !propValue.constructor.name) {
8814 return ANONYMOUS;
8815 }
8816 return propValue.constructor.name;
8817 }
8818
8819 ReactPropTypes.checkPropTypes = checkPropTypes;
8820 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8821 ReactPropTypes.PropTypes = ReactPropTypes;
8822
8823 return ReactPropTypes;
8824 };
8825
8826
8827 /***/ }),
8828
8829 /***/ "../node_modules/prop-types/index.js":
8830 /*!*******************************************!*\
8831 !*** ../node_modules/prop-types/index.js ***!
8832 \*******************************************/
8833 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8834
8835 /**
8836 * Copyright (c) 2013-present, Facebook, Inc.
8837 *
8838 * This source code is licensed under the MIT license found in the
8839 * LICENSE file in the root directory of this source tree.
8840 */
8841
8842 if (true) {
8843 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8844
8845 // By explicitly using `prop-types` you are opting into new development behavior.
8846 // http://fb.me/prop-types-in-prod
8847 var throwOnDirectAccess = true;
8848 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8849 } else {}
8850
8851
8852 /***/ }),
8853
8854 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8855 /*!**************************************************************!*\
8856 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8857 \**************************************************************/
8858 /***/ ((module) => {
8859
8860 "use strict";
8861 /**
8862 * Copyright (c) 2013-present, Facebook, Inc.
8863 *
8864 * This source code is licensed under the MIT license found in the
8865 * LICENSE file in the root directory of this source tree.
8866 */
8867
8868
8869
8870 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8871
8872 module.exports = ReactPropTypesSecret;
8873
8874
8875 /***/ }),
8876
8877 /***/ "../node_modules/prop-types/lib/has.js":
8878 /*!*********************************************!*\
8879 !*** ../node_modules/prop-types/lib/has.js ***!
8880 \*********************************************/
8881 /***/ ((module) => {
8882
8883 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8884
8885
8886 /***/ }),
8887
8888 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8889 /*!************************************************************************************!*\
8890 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8891 \************************************************************************************/
8892 /***/ ((__unused_webpack_module, exports) => {
8893
8894 "use strict";
8895 /** @license React v16.13.1
8896 * react-is.development.js
8897 *
8898 * Copyright (c) Facebook, Inc. and its affiliates.
8899 *
8900 * This source code is licensed under the MIT license found in the
8901 * LICENSE file in the root directory of this source tree.
8902 */
8903
8904
8905
8906
8907
8908 if (true) {
8909 (function() {
8910 'use strict';
8911
8912 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
8913 // nor polyfill, then a plain number is used for performance.
8914 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
8915 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
8916 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
8917 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
8918 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
8919 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
8920 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
8921 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
8922 // (unstable) APIs that have been removed. Can we remove the symbols?
8923
8924 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
8925 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
8926 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
8927 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
8928 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
8929 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
8930 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
8931 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
8932 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
8933 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
8934 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
8935
8936 function isValidElementType(type) {
8937 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
8938 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);
8939 }
8940
8941 function typeOf(object) {
8942 if (typeof object === 'object' && object !== null) {
8943 var $$typeof = object.$$typeof;
8944
8945 switch ($$typeof) {
8946 case REACT_ELEMENT_TYPE:
8947 var type = object.type;
8948
8949 switch (type) {
8950 case REACT_ASYNC_MODE_TYPE:
8951 case REACT_CONCURRENT_MODE_TYPE:
8952 case REACT_FRAGMENT_TYPE:
8953 case REACT_PROFILER_TYPE:
8954 case REACT_STRICT_MODE_TYPE:
8955 case REACT_SUSPENSE_TYPE:
8956 return type;
8957
8958 default:
8959 var $$typeofType = type && type.$$typeof;
8960
8961 switch ($$typeofType) {
8962 case REACT_CONTEXT_TYPE:
8963 case REACT_FORWARD_REF_TYPE:
8964 case REACT_LAZY_TYPE:
8965 case REACT_MEMO_TYPE:
8966 case REACT_PROVIDER_TYPE:
8967 return $$typeofType;
8968
8969 default:
8970 return $$typeof;
8971 }
8972
8973 }
8974
8975 case REACT_PORTAL_TYPE:
8976 return $$typeof;
8977 }
8978 }
8979
8980 return undefined;
8981 } // AsyncMode is deprecated along with isAsyncMode
8982
8983 var AsyncMode = REACT_ASYNC_MODE_TYPE;
8984 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
8985 var ContextConsumer = REACT_CONTEXT_TYPE;
8986 var ContextProvider = REACT_PROVIDER_TYPE;
8987 var Element = REACT_ELEMENT_TYPE;
8988 var ForwardRef = REACT_FORWARD_REF_TYPE;
8989 var Fragment = REACT_FRAGMENT_TYPE;
8990 var Lazy = REACT_LAZY_TYPE;
8991 var Memo = REACT_MEMO_TYPE;
8992 var Portal = REACT_PORTAL_TYPE;
8993 var Profiler = REACT_PROFILER_TYPE;
8994 var StrictMode = REACT_STRICT_MODE_TYPE;
8995 var Suspense = REACT_SUSPENSE_TYPE;
8996 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
8997
8998 function isAsyncMode(object) {
8999 {
9000 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9001 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
9002
9003 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.');
9004 }
9005 }
9006
9007 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9008 }
9009 function isConcurrentMode(object) {
9010 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9011 }
9012 function isContextConsumer(object) {
9013 return typeOf(object) === REACT_CONTEXT_TYPE;
9014 }
9015 function isContextProvider(object) {
9016 return typeOf(object) === REACT_PROVIDER_TYPE;
9017 }
9018 function isElement(object) {
9019 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9020 }
9021 function isForwardRef(object) {
9022 return typeOf(object) === REACT_FORWARD_REF_TYPE;
9023 }
9024 function isFragment(object) {
9025 return typeOf(object) === REACT_FRAGMENT_TYPE;
9026 }
9027 function isLazy(object) {
9028 return typeOf(object) === REACT_LAZY_TYPE;
9029 }
9030 function isMemo(object) {
9031 return typeOf(object) === REACT_MEMO_TYPE;
9032 }
9033 function isPortal(object) {
9034 return typeOf(object) === REACT_PORTAL_TYPE;
9035 }
9036 function isProfiler(object) {
9037 return typeOf(object) === REACT_PROFILER_TYPE;
9038 }
9039 function isStrictMode(object) {
9040 return typeOf(object) === REACT_STRICT_MODE_TYPE;
9041 }
9042 function isSuspense(object) {
9043 return typeOf(object) === REACT_SUSPENSE_TYPE;
9044 }
9045
9046 exports.AsyncMode = AsyncMode;
9047 exports.ConcurrentMode = ConcurrentMode;
9048 exports.ContextConsumer = ContextConsumer;
9049 exports.ContextProvider = ContextProvider;
9050 exports.Element = Element;
9051 exports.ForwardRef = ForwardRef;
9052 exports.Fragment = Fragment;
9053 exports.Lazy = Lazy;
9054 exports.Memo = Memo;
9055 exports.Portal = Portal;
9056 exports.Profiler = Profiler;
9057 exports.StrictMode = StrictMode;
9058 exports.Suspense = Suspense;
9059 exports.isAsyncMode = isAsyncMode;
9060 exports.isConcurrentMode = isConcurrentMode;
9061 exports.isContextConsumer = isContextConsumer;
9062 exports.isContextProvider = isContextProvider;
9063 exports.isElement = isElement;
9064 exports.isForwardRef = isForwardRef;
9065 exports.isFragment = isFragment;
9066 exports.isLazy = isLazy;
9067 exports.isMemo = isMemo;
9068 exports.isPortal = isPortal;
9069 exports.isProfiler = isProfiler;
9070 exports.isStrictMode = isStrictMode;
9071 exports.isSuspense = isSuspense;
9072 exports.isValidElementType = isValidElementType;
9073 exports.typeOf = typeOf;
9074 })();
9075 }
9076
9077
9078 /***/ }),
9079
9080 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
9081 /*!*****************************************************************!*\
9082 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
9083 \*****************************************************************/
9084 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9085
9086 "use strict";
9087
9088
9089 if (false) {} else {
9090 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
9091 }
9092
9093
9094 /***/ }),
9095
9096 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
9097 /*!**************************************************************!*\
9098 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
9099 \**************************************************************/
9100 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9101
9102 "use strict";
9103
9104
9105 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); }
9106
9107 Object.defineProperty(exports, "__esModule", ({
9108 value: true
9109 }));
9110 Object.defineProperty(exports, "DraggableCore", ({
9111 enumerable: true,
9112 get: function get() {
9113 return _DraggableCore.default;
9114 }
9115 }));
9116 exports["default"] = void 0;
9117
9118 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9119
9120 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9121
9122 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9123
9124 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
9125
9126 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9127
9128 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9129
9130 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9131
9132 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
9133
9134 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9135
9136 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
9137
9138 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9139
9140 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); }
9141
9142 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; }
9143
9144 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); }
9145
9146 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; }
9147
9148 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; }
9149
9150 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; }
9151
9152 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; }
9153
9154 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9155
9156 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."); }
9157
9158 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); }
9159
9160 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; }
9161
9162 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; }
9163
9164 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9165
9166 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9167
9168 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); } }
9169
9170 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9171
9172 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); }
9173
9174 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9175
9176 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); }; }
9177
9178 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); }
9179
9180 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9181
9182 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; } }
9183
9184 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9185
9186 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; }
9187
9188 //
9189 // Define <Draggable>
9190 //
9191 var Draggable = /*#__PURE__*/function (_React$Component) {
9192 _inherits(Draggable, _React$Component);
9193
9194 var _super = _createSuper(Draggable);
9195
9196 function Draggable(props
9197 /*: DraggableProps*/
9198 ) {
9199 var _this;
9200
9201 _classCallCheck(this, Draggable);
9202
9203 _this = _super.call(this, props);
9204
9205 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9206 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9207
9208 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.
9209
9210
9211 if (shouldStart === false) return false;
9212
9213 _this.setState({
9214 dragging: true,
9215 dragged: true
9216 });
9217 });
9218
9219 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9220 if (!_this.state.dragging) return false;
9221 (0, _log.default)('Draggable: onDrag: %j', coreData);
9222 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9223 var newState
9224 /*: $Shape<DraggableState>*/
9225 = {
9226 x: uiData.x,
9227 y: uiData.y
9228 }; // Keep within bounds.
9229
9230 if (_this.props.bounds) {
9231 // Save original x and y.
9232 var x = newState.x,
9233 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9234 // we start removing slack, the element won't react to it right away until it's been
9235 // completely removed.
9236
9237 newState.x += _this.state.slackX;
9238 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9239
9240 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9241 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9242 newStateX = _getBoundPosition2[0],
9243 newStateY = _getBoundPosition2[1];
9244
9245 newState.x = newStateX;
9246 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9247
9248 newState.slackX = _this.state.slackX + (x - newState.x);
9249 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9250
9251 uiData.x = newState.x;
9252 uiData.y = newState.y;
9253 uiData.deltaX = newState.x - _this.state.x;
9254 uiData.deltaY = newState.y - _this.state.y;
9255 } // Short-circuit if user's callback killed it.
9256
9257
9258 var shouldUpdate = _this.props.onDrag(e, uiData);
9259
9260 if (shouldUpdate === false) return false;
9261
9262 _this.setState(newState);
9263 });
9264
9265 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9266 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9267
9268 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9269
9270 if (shouldContinue === false) return false;
9271 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9272 var newState
9273 /*: $Shape<DraggableState>*/
9274 = {
9275 dragging: false,
9276 slackX: 0,
9277 slackY: 0
9278 }; // If this is a controlled component, the result of this operation will be to
9279 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9280
9281 var controlled = Boolean(_this.props.position);
9282
9283 if (controlled) {
9284 var _this$props$position = _this.props.position,
9285 x = _this$props$position.x,
9286 y = _this$props$position.y;
9287 newState.x = x;
9288 newState.y = y;
9289 }
9290
9291 _this.setState(newState);
9292 });
9293
9294 _this.state = {
9295 // Whether or not we are currently dragging.
9296 dragging: false,
9297 // Whether or not we have been dragged before.
9298 dragged: false,
9299 // Current transform x and y.
9300 x: props.position ? props.position.x : props.defaultPosition.x,
9301 y: props.position ? props.position.y : props.defaultPosition.y,
9302 prevPropsPosition: _objectSpread({}, props.position),
9303 // Used for compensating for out-of-bounds drags
9304 slackX: 0,
9305 slackY: 0,
9306 // Can only determine if SVG after mounting
9307 isElementSVG: false
9308 };
9309
9310 if (props.position && !(props.onDrag || props.onStop)) {
9311 // eslint-disable-next-line no-console
9312 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.');
9313 }
9314
9315 return _this;
9316 }
9317
9318 _createClass(Draggable, [{
9319 key: "componentDidMount",
9320 value: function componentDidMount() {
9321 // Check to see if the element passed is an instanceof SVGElement
9322 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9323 this.setState({
9324 isElementSVG: true
9325 });
9326 }
9327 }
9328 }, {
9329 key: "componentWillUnmount",
9330 value: function componentWillUnmount() {
9331 this.setState({
9332 dragging: false
9333 }); // prevents invariant if unmounted while dragging
9334 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9335 // the underlying DOM node ourselves. See the README for more information.
9336
9337 }, {
9338 key: "findDOMNode",
9339 value: function findDOMNode()
9340 /*: ?HTMLElement*/
9341 {
9342 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9343
9344 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);
9345 }
9346 }, {
9347 key: "render",
9348 value: function render()
9349 /*: ReactElement<any>*/
9350 {
9351 var _clsx;
9352
9353 var _this$props2 = this.props,
9354 axis = _this$props2.axis,
9355 bounds = _this$props2.bounds,
9356 children = _this$props2.children,
9357 defaultPosition = _this$props2.defaultPosition,
9358 defaultClassName = _this$props2.defaultClassName,
9359 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9360 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9361 position = _this$props2.position,
9362 positionOffset = _this$props2.positionOffset,
9363 scale = _this$props2.scale,
9364 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9365
9366 var style = {};
9367 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9368
9369 var controlled = Boolean(position);
9370 var draggable = !controlled || this.state.dragging;
9371 var validPosition = position || defaultPosition;
9372 var transformOpts = {
9373 // Set left if horizontal drag is enabled
9374 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9375 // Set top if vertical drag is enabled
9376 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9377 }; // If this element was SVG, we use the `transform` attribute.
9378
9379 if (this.state.isElementSVG) {
9380 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9381 } else {
9382 // Add a CSS transform to move the element around. This allows us to move the element around
9383 // without worrying about whether or not it is relatively or absolutely positioned.
9384 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9385 // has a clean slate.
9386 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9387 } // Mark with class while dragging
9388
9389
9390 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
9391 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9392
9393 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9394 onStart: this.onDragStart,
9395 onDrag: this.onDrag,
9396 onStop: this.onDragStop
9397 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9398 className: className,
9399 style: _objectSpread(_objectSpread({}, children.props.style), style),
9400 transform: svgTransform
9401 }));
9402 }
9403 }], [{
9404 key: "getDerivedStateFromProps",
9405 value: // React 16.3+
9406 // Arity (props, state)
9407 function getDerivedStateFromProps(_ref, _ref2)
9408 /*: ?$Shape<DraggableState>*/
9409 {
9410 var position = _ref.position;
9411 var prevPropsPosition = _ref2.prevPropsPosition;
9412
9413 // Set x/y if a new position is provided in props that is different than the previous.
9414 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9415 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9416 position: position,
9417 prevPropsPosition: prevPropsPosition
9418 });
9419 return {
9420 x: position.x,
9421 y: position.y,
9422 prevPropsPosition: _objectSpread({}, position)
9423 };
9424 }
9425
9426 return null;
9427 }
9428 }]);
9429
9430 return Draggable;
9431 }(React.Component);
9432
9433 exports["default"] = Draggable;
9434
9435 _defineProperty(Draggable, "displayName", 'Draggable');
9436
9437 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9438 /**
9439 * `axis` determines which axis the draggable can move.
9440 *
9441 * Note that all callbacks will still return data as normal. This only
9442 * controls flushing to the DOM.
9443 *
9444 * 'both' allows movement horizontally and vertically.
9445 * 'x' limits movement to horizontal axis.
9446 * 'y' limits movement to vertical axis.
9447 * 'none' limits all movement.
9448 *
9449 * Defaults to 'both'.
9450 */
9451 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9452
9453 /**
9454 * `bounds` determines the range of movement available to the element.
9455 * Available values are:
9456 *
9457 * 'parent' restricts movement within the Draggable's parent node.
9458 *
9459 * Alternatively, pass an object with the following properties, all of which are optional:
9460 *
9461 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9462 *
9463 * All values are in px.
9464 *
9465 * Example:
9466 *
9467 * ```jsx
9468 * let App = React.createClass({
9469 * render: function () {
9470 * return (
9471 * <Draggable bounds={{right: 300, bottom: 300}}>
9472 * <div>Content</div>
9473 * </Draggable>
9474 * );
9475 * }
9476 * });
9477 * ```
9478 */
9479 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9480 left: _propTypes.default.number,
9481 right: _propTypes.default.number,
9482 top: _propTypes.default.number,
9483 bottom: _propTypes.default.number
9484 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9485 defaultClassName: _propTypes.default.string,
9486 defaultClassNameDragging: _propTypes.default.string,
9487 defaultClassNameDragged: _propTypes.default.string,
9488
9489 /**
9490 * `defaultPosition` specifies the x and y that the dragged item should start at
9491 *
9492 * Example:
9493 *
9494 * ```jsx
9495 * let App = React.createClass({
9496 * render: function () {
9497 * return (
9498 * <Draggable defaultPosition={{x: 25, y: 25}}>
9499 * <div>I start with transformX: 25px and transformY: 25px;</div>
9500 * </Draggable>
9501 * );
9502 * }
9503 * });
9504 * ```
9505 */
9506 defaultPosition: _propTypes.default.shape({
9507 x: _propTypes.default.number,
9508 y: _propTypes.default.number
9509 }),
9510 positionOffset: _propTypes.default.shape({
9511 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9512 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9513 }),
9514
9515 /**
9516 * `position`, if present, defines the current position of the element.
9517 *
9518 * This is similar to how form elements in React work - if no `position` is supplied, the component
9519 * is uncontrolled.
9520 *
9521 * Example:
9522 *
9523 * ```jsx
9524 * let App = React.createClass({
9525 * render: function () {
9526 * return (
9527 * <Draggable position={{x: 25, y: 25}}>
9528 * <div>I start with transformX: 25px and transformY: 25px;</div>
9529 * </Draggable>
9530 * );
9531 * }
9532 * });
9533 * ```
9534 */
9535 position: _propTypes.default.shape({
9536 x: _propTypes.default.number,
9537 y: _propTypes.default.number
9538 }),
9539
9540 /**
9541 * These properties should be defined on the child, not here.
9542 */
9543 className: _shims.dontSetMe,
9544 style: _shims.dontSetMe,
9545 transform: _shims.dontSetMe
9546 }));
9547
9548 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9549 axis: 'both',
9550 bounds: false,
9551 defaultClassName: 'react-draggable',
9552 defaultClassNameDragging: 'react-draggable-dragging',
9553 defaultClassNameDragged: 'react-draggable-dragged',
9554 defaultPosition: {
9555 x: 0,
9556 y: 0
9557 },
9558 scale: 1
9559 }));
9560
9561 /***/ }),
9562
9563 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9564 /*!******************************************************************!*\
9565 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9566 \******************************************************************/
9567 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9568
9569 "use strict";
9570
9571
9572 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); }
9573
9574 Object.defineProperty(exports, "__esModule", ({
9575 value: true
9576 }));
9577 exports["default"] = void 0;
9578
9579 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9580
9581 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9582
9583 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9584
9585 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9586
9587 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9588
9589 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9590
9591 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9592
9593 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9594
9595 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); }
9596
9597 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; }
9598
9599 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9600
9601 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."); }
9602
9603 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); }
9604
9605 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; }
9606
9607 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; }
9608
9609 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9610
9611 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9612
9613 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); } }
9614
9615 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9616
9617 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); }
9618
9619 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9620
9621 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); }; }
9622
9623 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); }
9624
9625 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9626
9627 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; } }
9628
9629 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9630
9631 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; }
9632
9633 // Simple abstraction for dragging events names.
9634 var eventsFor = {
9635 touch: {
9636 start: 'touchstart',
9637 move: 'touchmove',
9638 stop: 'touchend'
9639 },
9640 mouse: {
9641 start: 'mousedown',
9642 move: 'mousemove',
9643 stop: 'mouseup'
9644 }
9645 }; // Default to mouse events.
9646
9647 var dragEventFor = eventsFor.mouse;
9648 /*:: type DraggableCoreState = {
9649 dragging: boolean,
9650 lastX: number,
9651 lastY: number,
9652 touchIdentifier: ?number
9653 };*/
9654
9655 /*:: export type DraggableData = {
9656 node: HTMLElement,
9657 x: number, y: number,
9658 deltaX: number, deltaY: number,
9659 lastX: number, lastY: number,
9660 };*/
9661
9662 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9663
9664 /*:: export type ControlPosition = {x: number, y: number};*/
9665
9666 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9667
9668 /*:: export type DraggableCoreDefaultProps = {
9669 allowAnyClick: boolean,
9670 disabled: boolean,
9671 enableUserSelectHack: boolean,
9672 onStart: DraggableEventHandler,
9673 onDrag: DraggableEventHandler,
9674 onStop: DraggableEventHandler,
9675 onMouseDown: (e: MouseEvent) => void,
9676 scale: number,
9677 };*/
9678
9679 /*:: export type DraggableCoreProps = {
9680 ...DraggableCoreDefaultProps,
9681 cancel: string,
9682 children: ReactElement<any>,
9683 offsetParent: HTMLElement,
9684 grid: [number, number],
9685 handle: string,
9686 nodeRef?: ?React.ElementRef<any>,
9687 };*/
9688
9689 //
9690 // Define <DraggableCore>.
9691 //
9692 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9693 // work well with libraries that require more control over the element.
9694 //
9695 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9696 _inherits(DraggableCore, _React$Component);
9697
9698 var _super = _createSuper(DraggableCore);
9699
9700 function DraggableCore() {
9701 var _this;
9702
9703 _classCallCheck(this, DraggableCore);
9704
9705 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9706 args[_key] = arguments[_key];
9707 }
9708
9709 _this = _super.call.apply(_super, [this].concat(args));
9710
9711 _defineProperty(_assertThisInitialized(_this), "state", {
9712 dragging: false,
9713 // Used while dragging to determine deltas.
9714 lastX: NaN,
9715 lastY: NaN,
9716 touchIdentifier: null
9717 });
9718
9719 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9720
9721 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9722 // Make it possible to attach event handlers on top of this one.
9723 _this.props.onMouseDown(e); // Only accept left-clicks.
9724
9725
9726 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9727
9728 var thisNode = _this.findDOMNode();
9729
9730 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9731 throw new Error('<DraggableCore> not mounted on DragStart!');
9732 }
9733
9734 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9735
9736 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)) {
9737 return;
9738 } // Prevent scrolling on mobile devices, like ipad/iphone.
9739 // Important that this is after handle/cancel.
9740
9741
9742 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9743 // distinguish between individual touches on multitouch screens by identifying which
9744 // touchpoint was set to this element.
9745
9746 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9747
9748 _this.setState({
9749 touchIdentifier: touchIdentifier
9750 }); // Get the current drag point from the event. This is used as the offset.
9751
9752
9753 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9754 if (position == null) return; // not possible but satisfies flow
9755
9756 var x = position.x,
9757 y = position.y; // Create an event object with all the data parents need to make a decision here.
9758
9759 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9760 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9761
9762 (0, _log.default)('calling', _this.props.onStart);
9763
9764 var shouldUpdate = _this.props.onStart(e, coreEvent);
9765
9766 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9767 // being selected all over the page.
9768
9769 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9770 // so we know how much we've moved during the drag. This allows us
9771 // to drag elements around even if they have been moved, without issue.
9772
9773 _this.setState({
9774 dragging: true,
9775 lastX: x,
9776 lastY: y
9777 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9778 // this element. We use different events depending on whether or not we have detected that this
9779 // is a touch-capable device.
9780
9781
9782 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9783 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9784 });
9785
9786 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9787 // Get the current drag point from the event. This is used as the offset.
9788 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9789 if (position == null) return;
9790 var x = position.x,
9791 y = position.y; // Snap to grid if prop has been provided
9792
9793 if (Array.isArray(_this.props.grid)) {
9794 var deltaX = x - _this.state.lastX,
9795 deltaY = y - _this.state.lastY;
9796
9797 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9798
9799 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9800
9801 deltaX = _snapToGrid2[0];
9802 deltaY = _snapToGrid2[1];
9803 if (!deltaX && !deltaY) return; // skip useless drag
9804
9805 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9806 }
9807
9808 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9809 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9810
9811 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9812
9813 if (shouldUpdate === false || _this.mounted === false) {
9814 try {
9815 // $FlowIgnore
9816 _this.handleDragStop(new MouseEvent('mouseup'));
9817 } catch (err) {
9818 // Old browsers
9819 var event = ((document.createEvent('MouseEvents')
9820 /*: any*/
9821 )
9822 /*: MouseTouchEvent*/
9823 ); // I see why this insanity was deprecated
9824 // $FlowIgnore
9825
9826 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9827
9828 _this.handleDragStop(event);
9829 }
9830
9831 return;
9832 }
9833
9834 _this.setState({
9835 lastX: x,
9836 lastY: y
9837 });
9838 });
9839
9840 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9841 if (!_this.state.dragging) return;
9842 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9843 if (position == null) return;
9844 var x = position.x,
9845 y = position.y; // Snap to grid if prop has been provided
9846
9847 if (Array.isArray(_this.props.grid)) {
9848 var deltaX = x - _this.state.lastX || 0;
9849 var deltaY = y - _this.state.lastY || 0;
9850
9851 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9852
9853 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9854
9855 deltaX = _snapToGrid4[0];
9856 deltaY = _snapToGrid4[1];
9857 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9858 }
9859
9860 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9861
9862 var shouldContinue = _this.props.onStop(e, coreEvent);
9863
9864 if (shouldContinue === false || _this.mounted === false) return false;
9865
9866 var thisNode = _this.findDOMNode();
9867
9868 if (thisNode) {
9869 // Remove user-select hack
9870 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
9871 }
9872
9873 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
9874
9875 _this.setState({
9876 dragging: false,
9877 lastX: NaN,
9878 lastY: NaN
9879 });
9880
9881 if (thisNode) {
9882 // Remove event handlers
9883 (0, _log.default)('DraggableCore: Removing handlers');
9884 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
9885 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
9886 }
9887 });
9888
9889 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
9890 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
9891
9892 return _this.handleDragStart(e);
9893 });
9894
9895 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
9896 dragEventFor = eventsFor.mouse;
9897 return _this.handleDragStop(e);
9898 });
9899
9900 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
9901 // We're on a touch device now, so change the event handlers
9902 dragEventFor = eventsFor.touch;
9903 return _this.handleDragStart(e);
9904 });
9905
9906 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
9907 // We're on a touch device now, so change the event handlers
9908 dragEventFor = eventsFor.touch;
9909 return _this.handleDragStop(e);
9910 });
9911
9912 return _this;
9913 }
9914
9915 _createClass(DraggableCore, [{
9916 key: "componentDidMount",
9917 value: function componentDidMount() {
9918 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
9919 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9920
9921 var thisNode = this.findDOMNode();
9922
9923 if (thisNode) {
9924 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9925 passive: false
9926 });
9927 }
9928 }
9929 }, {
9930 key: "componentWillUnmount",
9931 value: function componentWillUnmount() {
9932 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
9933 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
9934
9935 var thisNode = this.findDOMNode();
9936
9937 if (thisNode) {
9938 var ownerDocument = thisNode.ownerDocument;
9939 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
9940 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
9941 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
9942 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
9943 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9944 passive: false
9945 });
9946 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
9947 }
9948 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9949 // the underlying DOM node ourselves. See the README for more information.
9950
9951 }, {
9952 key: "findDOMNode",
9953 value: function findDOMNode()
9954 /*: ?HTMLElement*/
9955 {
9956 var _this$props, _this$props2, _this$props2$nodeRef;
9957
9958 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);
9959 }
9960 }, {
9961 key: "render",
9962 value: function render()
9963 /*: React.Element<any>*/
9964 {
9965 // Reuse the child provided
9966 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9967 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
9968 // Note: mouseMove handler is attached to document so it will still function
9969 // when the user drags quickly and leaves the bounds of the element.
9970 onMouseDown: this.onMouseDown,
9971 onMouseUp: this.onMouseUp,
9972 // onTouchStart is added on `componentDidMount` so they can be added with
9973 // {passive: false}, which allows it to cancel. See
9974 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9975 onTouchEnd: this.onTouchEnd
9976 });
9977 }
9978 }]);
9979
9980 return DraggableCore;
9981 }(React.Component);
9982
9983 exports["default"] = DraggableCore;
9984
9985 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
9986
9987 _defineProperty(DraggableCore, "propTypes", {
9988 /**
9989 * `allowAnyClick` allows dragging using any mouse button.
9990 * By default, we only accept the left button.
9991 *
9992 * Defaults to `false`.
9993 */
9994 allowAnyClick: _propTypes.default.bool,
9995
9996 /**
9997 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
9998 * with the exception of `onMouseDown`, will not fire.
9999 */
10000 disabled: _propTypes.default.bool,
10001
10002 /**
10003 * By default, we add 'user-select:none' attributes to the document body
10004 * to prevent ugly text selection during drag. If this is causing problems
10005 * for your app, set this to `false`.
10006 */
10007 enableUserSelectHack: _propTypes.default.bool,
10008
10009 /**
10010 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
10011 * instead of using the parent node.
10012 */
10013 offsetParent: function offsetParent(props
10014 /*: DraggableCoreProps*/
10015 , propName
10016 /*: $Keys<DraggableCoreProps>*/
10017 ) {
10018 if (props[propName] && props[propName].nodeType !== 1) {
10019 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
10020 }
10021 },
10022
10023 /**
10024 * `grid` specifies the x and y that dragging should snap to.
10025 */
10026 grid: _propTypes.default.arrayOf(_propTypes.default.number),
10027
10028 /**
10029 * `handle` specifies a selector to be used as the handle that initiates drag.
10030 *
10031 * Example:
10032 *
10033 * ```jsx
10034 * let App = React.createClass({
10035 * render: function () {
10036 * return (
10037 * <Draggable handle=".handle">
10038 * <div>
10039 * <div className="handle">Click me to drag</div>
10040 * <div>This is some other content</div>
10041 * </div>
10042 * </Draggable>
10043 * );
10044 * }
10045 * });
10046 * ```
10047 */
10048 handle: _propTypes.default.string,
10049
10050 /**
10051 * `cancel` specifies a selector to be used to prevent drag initialization.
10052 *
10053 * Example:
10054 *
10055 * ```jsx
10056 * let App = React.createClass({
10057 * render: function () {
10058 * return(
10059 * <Draggable cancel=".cancel">
10060 * <div>
10061 * <div className="cancel">You can't drag from here</div>
10062 * <div>Dragging here works fine</div>
10063 * </div>
10064 * </Draggable>
10065 * );
10066 * }
10067 * });
10068 * ```
10069 */
10070 cancel: _propTypes.default.string,
10071
10072 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
10073 * Unfortunately, in order for <Draggable> to work properly, we need raw access
10074 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
10075 * as in this example:
10076 *
10077 * function MyComponent() {
10078 * const nodeRef = React.useRef(null);
10079 * return (
10080 * <Draggable nodeRef={nodeRef}>
10081 * <div ref={nodeRef}>Example Target</div>
10082 * </Draggable>
10083 * );
10084 * }
10085 *
10086 * This can be used for arbitrarily nested components, so long as the ref ends up
10087 * pointing to the actual child DOM node and not a custom component.
10088 */
10089 nodeRef: _propTypes.default.object,
10090
10091 /**
10092 * Called when dragging starts.
10093 * If this function returns the boolean false, dragging will be canceled.
10094 */
10095 onStart: _propTypes.default.func,
10096
10097 /**
10098 * Called while dragging.
10099 * If this function returns the boolean false, dragging will be canceled.
10100 */
10101 onDrag: _propTypes.default.func,
10102
10103 /**
10104 * Called when dragging stops.
10105 * If this function returns the boolean false, the drag will remain active.
10106 */
10107 onStop: _propTypes.default.func,
10108
10109 /**
10110 * A workaround option which can be passed if onMouseDown needs to be accessed,
10111 * since it'll always be blocked (as there is internal use of onMouseDown)
10112 */
10113 onMouseDown: _propTypes.default.func,
10114
10115 /**
10116 * `scale`, if set, applies scaling while dragging an element
10117 */
10118 scale: _propTypes.default.number,
10119
10120 /**
10121 * These properties should be defined on the child, not here.
10122 */
10123 className: _shims.dontSetMe,
10124 style: _shims.dontSetMe,
10125 transform: _shims.dontSetMe
10126 });
10127
10128 _defineProperty(DraggableCore, "defaultProps", {
10129 allowAnyClick: false,
10130 // by default only accept left click
10131 disabled: false,
10132 enableUserSelectHack: true,
10133 onStart: function onStart() {},
10134 onDrag: function onDrag() {},
10135 onStop: function onStop() {},
10136 onMouseDown: function onMouseDown() {},
10137 scale: 1
10138 });
10139
10140 /***/ }),
10141
10142 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10143 /*!********************************************************!*\
10144 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10145 \********************************************************/
10146 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10147
10148 "use strict";
10149
10150
10151 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10152 Draggable = _require.default,
10153 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'.
10154 // See https://github.com/mzabriskie/react-draggable/pull/254
10155 // and https://github.com/mzabriskie/react-draggable/issues/266
10156
10157
10158 module.exports = Draggable;
10159 module.exports["default"] = Draggable;
10160 module.exports.DraggableCore = DraggableCore;
10161
10162 /***/ }),
10163
10164 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10165 /*!*****************************************************************!*\
10166 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10167 \*****************************************************************/
10168 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10169
10170 "use strict";
10171
10172
10173 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); }
10174
10175 Object.defineProperty(exports, "__esModule", ({
10176 value: true
10177 }));
10178 exports.addClassName = addClassName;
10179 exports.addEvent = addEvent;
10180 exports.addUserSelectStyles = addUserSelectStyles;
10181 exports.createCSSTransform = createCSSTransform;
10182 exports.createSVGTransform = createSVGTransform;
10183 exports.getTouch = getTouch;
10184 exports.getTouchIdentifier = getTouchIdentifier;
10185 exports.getTranslation = getTranslation;
10186 exports.innerHeight = innerHeight;
10187 exports.innerWidth = innerWidth;
10188 exports.matchesSelector = matchesSelector;
10189 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10190 exports.offsetXYFromParent = offsetXYFromParent;
10191 exports.outerHeight = outerHeight;
10192 exports.outerWidth = outerWidth;
10193 exports.removeClassName = removeClassName;
10194 exports.removeEvent = removeEvent;
10195 exports.removeUserSelectStyles = removeUserSelectStyles;
10196
10197 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10198
10199 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10200
10201 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); }
10202
10203 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; }
10204
10205 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; }
10206
10207 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; }
10208
10209 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; }
10210
10211 var matchesSelectorFunc = '';
10212
10213 function matchesSelector(el
10214 /*: Node*/
10215 , selector
10216 /*: string*/
10217 )
10218 /*: boolean*/
10219 {
10220 if (!matchesSelectorFunc) {
10221 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10222 // $FlowIgnore: Doesn't think elements are indexable
10223 return (0, _shims.isFunction)(el[method]);
10224 });
10225 } // Might not be found entirely (not an Element?) - in that case, bail
10226 // $FlowIgnore: Doesn't think elements are indexable
10227
10228
10229 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10230
10231 return el[matchesSelectorFunc](selector);
10232 } // Works up the tree to the draggable itself attempting to match selector.
10233
10234
10235 function matchesSelectorAndParentsTo(el
10236 /*: Node*/
10237 , selector
10238 /*: string*/
10239 , baseNode
10240 /*: Node*/
10241 )
10242 /*: boolean*/
10243 {
10244 var node = el;
10245
10246 do {
10247 if (matchesSelector(node, selector)) return true;
10248 if (node === baseNode) return false;
10249 node = node.parentNode;
10250 } while (node);
10251
10252 return false;
10253 }
10254
10255 function addEvent(el
10256 /*: ?Node*/
10257 , event
10258 /*: string*/
10259 , handler
10260 /*: Function*/
10261 , inputOptions
10262 /*: Object*/
10263 )
10264 /*: void*/
10265 {
10266 if (!el) return;
10267
10268 var options = _objectSpread({
10269 capture: true
10270 }, inputOptions); // $FlowIgnore[method-unbinding]
10271
10272
10273 if (el.addEventListener) {
10274 el.addEventListener(event, handler, options);
10275 } else if (el.attachEvent) {
10276 el.attachEvent('on' + event, handler);
10277 } else {
10278 // $FlowIgnore: Doesn't think elements are indexable
10279 el['on' + event] = handler;
10280 }
10281 }
10282
10283 function removeEvent(el
10284 /*: ?Node*/
10285 , event
10286 /*: string*/
10287 , handler
10288 /*: Function*/
10289 , inputOptions
10290 /*: Object*/
10291 )
10292 /*: void*/
10293 {
10294 if (!el) return;
10295
10296 var options = _objectSpread({
10297 capture: true
10298 }, inputOptions); // $FlowIgnore[method-unbinding]
10299
10300
10301 if (el.removeEventListener) {
10302 el.removeEventListener(event, handler, options);
10303 } else if (el.detachEvent) {
10304 el.detachEvent('on' + event, handler);
10305 } else {
10306 // $FlowIgnore: Doesn't think elements are indexable
10307 el['on' + event] = null;
10308 }
10309 }
10310
10311 function outerHeight(node
10312 /*: HTMLElement*/
10313 )
10314 /*: number*/
10315 {
10316 // This is deliberately excluding margin for our calculations, since we are using
10317 // offsetTop which is including margin. See getBoundPosition
10318 var height = node.clientHeight;
10319 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10320 height += (0, _shims.int)(computedStyle.borderTopWidth);
10321 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10322 return height;
10323 }
10324
10325 function outerWidth(node
10326 /*: HTMLElement*/
10327 )
10328 /*: number*/
10329 {
10330 // This is deliberately excluding margin for our calculations, since we are using
10331 // offsetLeft which is including margin. See getBoundPosition
10332 var width = node.clientWidth;
10333 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10334 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10335 width += (0, _shims.int)(computedStyle.borderRightWidth);
10336 return width;
10337 }
10338
10339 function innerHeight(node
10340 /*: HTMLElement*/
10341 )
10342 /*: number*/
10343 {
10344 var height = node.clientHeight;
10345 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10346 height -= (0, _shims.int)(computedStyle.paddingTop);
10347 height -= (0, _shims.int)(computedStyle.paddingBottom);
10348 return height;
10349 }
10350
10351 function innerWidth(node
10352 /*: HTMLElement*/
10353 )
10354 /*: number*/
10355 {
10356 var width = node.clientWidth;
10357 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10358 width -= (0, _shims.int)(computedStyle.paddingLeft);
10359 width -= (0, _shims.int)(computedStyle.paddingRight);
10360 return width;
10361 }
10362 /*:: interface EventWithOffset {
10363 clientX: number, clientY: number
10364 }*/
10365
10366
10367 // Get from offsetParent
10368 function offsetXYFromParent(evt
10369 /*: EventWithOffset*/
10370 , offsetParent
10371 /*: HTMLElement*/
10372 , scale
10373 /*: number*/
10374 )
10375 /*: ControlPosition*/
10376 {
10377 var isBody = offsetParent === offsetParent.ownerDocument.body;
10378 var offsetParentRect = isBody ? {
10379 left: 0,
10380 top: 0
10381 } : offsetParent.getBoundingClientRect();
10382 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10383 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10384 return {
10385 x: x,
10386 y: y
10387 };
10388 }
10389
10390 function createCSSTransform(controlPos
10391 /*: ControlPosition*/
10392 , positionOffset
10393 /*: PositionOffsetControlPosition*/
10394 )
10395 /*: Object*/
10396 {
10397 var translation = getTranslation(controlPos, positionOffset, 'px');
10398 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10399 }
10400
10401 function createSVGTransform(controlPos
10402 /*: ControlPosition*/
10403 , positionOffset
10404 /*: PositionOffsetControlPosition*/
10405 )
10406 /*: string*/
10407 {
10408 var translation = getTranslation(controlPos, positionOffset, '');
10409 return translation;
10410 }
10411
10412 function getTranslation(_ref2, positionOffset
10413 /*: PositionOffsetControlPosition*/
10414 , unitSuffix
10415 /*: string*/
10416 )
10417 /*: string*/
10418 {
10419 var x = _ref2.x,
10420 y = _ref2.y;
10421 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10422
10423 if (positionOffset) {
10424 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10425 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10426 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10427 }
10428
10429 return translation;
10430 }
10431
10432 function getTouch(e
10433 /*: MouseTouchEvent*/
10434 , identifier
10435 /*: number*/
10436 )
10437 /*: ?{clientX: number, clientY: number}*/
10438 {
10439 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10440 return identifier === t.identifier;
10441 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10442 return identifier === t.identifier;
10443 });
10444 }
10445
10446 function getTouchIdentifier(e
10447 /*: MouseTouchEvent*/
10448 )
10449 /*: ?number*/
10450 {
10451 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10452 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10453 } // User-select Hacks:
10454 //
10455 // Useful for preventing blue highlights all over everything when dragging.
10456 // Note we're passing `document` b/c we could be iframed
10457
10458
10459 function addUserSelectStyles(doc
10460 /*: ?Document*/
10461 ) {
10462 if (!doc) return;
10463 var styleEl = doc.getElementById('react-draggable-style-el');
10464
10465 if (!styleEl) {
10466 styleEl = doc.createElement('style');
10467 styleEl.type = 'text/css';
10468 styleEl.id = 'react-draggable-style-el';
10469 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10470 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10471 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10472 }
10473
10474 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10475 }
10476
10477 function removeUserSelectStyles(doc
10478 /*: ?Document*/
10479 ) {
10480 if (!doc) return;
10481
10482 try {
10483 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10484
10485 if (doc.selection) {
10486 // $FlowIgnore: IE
10487 doc.selection.empty();
10488 } else {
10489 // Remove selection caused by scroll, unless it's a focused input
10490 // (we use doc.defaultView in case we're in an iframe)
10491 var selection = (doc.defaultView || window).getSelection();
10492
10493 if (selection && selection.type !== 'Caret') {
10494 selection.removeAllRanges();
10495 }
10496 }
10497 } catch (e) {// probably IE
10498 }
10499 }
10500
10501 function addClassName(el
10502 /*: HTMLElement*/
10503 , className
10504 /*: string*/
10505 ) {
10506 if (el.classList) {
10507 el.classList.add(className);
10508 } else {
10509 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10510 el.className += " ".concat(className);
10511 }
10512 }
10513 }
10514
10515 function removeClassName(el
10516 /*: HTMLElement*/
10517 , className
10518 /*: string*/
10519 ) {
10520 if (el.classList) {
10521 el.classList.remove(className);
10522 } else {
10523 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10524 }
10525 }
10526
10527 /***/ }),
10528
10529 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10530 /*!********************************************************************!*\
10531 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10532 \********************************************************************/
10533 /***/ ((__unused_webpack_module, exports) => {
10534
10535 "use strict";
10536
10537
10538 Object.defineProperty(exports, "__esModule", ({
10539 value: true
10540 }));
10541 exports.browserPrefixToKey = browserPrefixToKey;
10542 exports.browserPrefixToStyle = browserPrefixToStyle;
10543 exports["default"] = void 0;
10544 exports.getPrefix = getPrefix;
10545 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10546
10547 function getPrefix()
10548 /*: string*/
10549 {
10550 var _window$document, _window$document$docu;
10551
10552 var prop
10553 /*: string*/
10554 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10555 // Ensure we're running in an environment where there is actually a global
10556 // `window` obj
10557 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10558 // path may not exist, so bail out if it doesn't.
10559
10560 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;
10561 if (!style) return '';
10562 if (prop in style) return '';
10563
10564 for (var i = 0; i < prefixes.length; i++) {
10565 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10566 }
10567
10568 return '';
10569 }
10570
10571 function browserPrefixToKey(prop
10572 /*: string*/
10573 , prefix
10574 /*: string*/
10575 )
10576 /*: string*/
10577 {
10578 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10579 }
10580
10581 function browserPrefixToStyle(prop
10582 /*: string*/
10583 , prefix
10584 /*: string*/
10585 )
10586 /*: string*/
10587 {
10588 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10589 }
10590
10591 function kebabToTitleCase(str
10592 /*: string*/
10593 )
10594 /*: string*/
10595 {
10596 var out = '';
10597 var shouldCapitalize = true;
10598
10599 for (var i = 0; i < str.length; i++) {
10600 if (shouldCapitalize) {
10601 out += str[i].toUpperCase();
10602 shouldCapitalize = false;
10603 } else if (str[i] === '-') {
10604 shouldCapitalize = true;
10605 } else {
10606 out += str[i];
10607 }
10608 }
10609
10610 return out;
10611 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10612 // Note that you may have to re-test for certain things; for instance, Chrome 50
10613 // can handle unprefixed `transform`, but not unprefixed `user-select`
10614
10615
10616 var _default = (getPrefix()
10617 /*: string*/
10618 );
10619
10620 exports["default"] = _default;
10621
10622 /***/ }),
10623
10624 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10625 /*!**************************************************************!*\
10626 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10627 \**************************************************************/
10628 /***/ ((__unused_webpack_module, exports) => {
10629
10630 "use strict";
10631
10632
10633 Object.defineProperty(exports, "__esModule", ({
10634 value: true
10635 }));
10636 exports["default"] = log;
10637
10638 /*eslint no-console:0*/
10639 function log() {
10640 var _console;
10641
10642 if (false) {}
10643 }
10644
10645 /***/ }),
10646
10647 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10648 /*!**********************************************************************!*\
10649 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10650 \**********************************************************************/
10651 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10652
10653 "use strict";
10654
10655
10656 Object.defineProperty(exports, "__esModule", ({
10657 value: true
10658 }));
10659 exports.canDragX = canDragX;
10660 exports.canDragY = canDragY;
10661 exports.createCoreData = createCoreData;
10662 exports.createDraggableData = createDraggableData;
10663 exports.getBoundPosition = getBoundPosition;
10664 exports.getControlPosition = getControlPosition;
10665 exports.snapToGrid = snapToGrid;
10666
10667 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10668
10669 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10670
10671 function getBoundPosition(draggable
10672 /*: Draggable*/
10673 , x
10674 /*: number*/
10675 , y
10676 /*: number*/
10677 )
10678 /*: [number, number]*/
10679 {
10680 // If no bounds, short-circuit and move on
10681 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10682
10683 var bounds = draggable.props.bounds;
10684 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10685 var node = findDOMNode(draggable);
10686
10687 if (typeof bounds === 'string') {
10688 var ownerDocument = node.ownerDocument;
10689 var ownerWindow = ownerDocument.defaultView;
10690 var boundNode;
10691
10692 if (bounds === 'parent') {
10693 boundNode = node.parentNode;
10694 } else {
10695 boundNode = ownerDocument.querySelector(bounds);
10696 }
10697
10698 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10699 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10700 }
10701
10702 var boundNodeEl
10703 /*: HTMLElement*/
10704 = boundNode; // for Flow, can't seem to refine correctly
10705
10706 var nodeStyle = ownerWindow.getComputedStyle(node);
10707 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10708
10709 bounds = {
10710 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10711 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10712 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10713 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10714 };
10715 } // Keep x and y below right and bottom limits...
10716
10717
10718 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10719 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10720
10721 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10722 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10723 return [x, y];
10724 }
10725
10726 function snapToGrid(grid
10727 /*: [number, number]*/
10728 , pendingX
10729 /*: number*/
10730 , pendingY
10731 /*: number*/
10732 )
10733 /*: [number, number]*/
10734 {
10735 var x = Math.round(pendingX / grid[0]) * grid[0];
10736 var y = Math.round(pendingY / grid[1]) * grid[1];
10737 return [x, y];
10738 }
10739
10740 function canDragX(draggable
10741 /*: Draggable*/
10742 )
10743 /*: boolean*/
10744 {
10745 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10746 }
10747
10748 function canDragY(draggable
10749 /*: Draggable*/
10750 )
10751 /*: boolean*/
10752 {
10753 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10754 } // Get {x, y} positions from event.
10755
10756
10757 function getControlPosition(e
10758 /*: MouseTouchEvent*/
10759 , touchIdentifier
10760 /*: ?number*/
10761 , draggableCore
10762 /*: DraggableCore*/
10763 )
10764 /*: ?ControlPosition*/
10765 {
10766 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10767 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10768
10769 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10770
10771 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10772 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10773 } // Create an data object exposed by <DraggableCore>'s events
10774
10775
10776 function createCoreData(draggable
10777 /*: DraggableCore*/
10778 , x
10779 /*: number*/
10780 , y
10781 /*: number*/
10782 )
10783 /*: DraggableData*/
10784 {
10785 var state = draggable.state;
10786 var isStart = !(0, _shims.isNum)(state.lastX);
10787 var node = findDOMNode(draggable);
10788
10789 if (isStart) {
10790 // If this is our first move, use the x and y as last coords.
10791 return {
10792 node: node,
10793 deltaX: 0,
10794 deltaY: 0,
10795 lastX: x,
10796 lastY: y,
10797 x: x,
10798 y: y
10799 };
10800 } else {
10801 // Otherwise calculate proper values.
10802 return {
10803 node: node,
10804 deltaX: x - state.lastX,
10805 deltaY: y - state.lastY,
10806 lastX: state.lastX,
10807 lastY: state.lastY,
10808 x: x,
10809 y: y
10810 };
10811 }
10812 } // Create an data exposed by <Draggable>'s events
10813
10814
10815 function createDraggableData(draggable
10816 /*: Draggable*/
10817 , coreData
10818 /*: DraggableData*/
10819 )
10820 /*: DraggableData*/
10821 {
10822 var scale = draggable.props.scale;
10823 return {
10824 node: coreData.node,
10825 x: draggable.state.x + coreData.deltaX / scale,
10826 y: draggable.state.y + coreData.deltaY / scale,
10827 deltaX: coreData.deltaX / scale,
10828 deltaY: coreData.deltaY / scale,
10829 lastX: draggable.state.x,
10830 lastY: draggable.state.y
10831 };
10832 } // A lot faster than stringify/parse
10833
10834
10835 function cloneBounds(bounds
10836 /*: Bounds*/
10837 )
10838 /*: Bounds*/
10839 {
10840 return {
10841 left: bounds.left,
10842 top: bounds.top,
10843 right: bounds.right,
10844 bottom: bounds.bottom
10845 };
10846 }
10847
10848 function findDOMNode(draggable
10849 /*: Draggable | DraggableCore*/
10850 )
10851 /*: HTMLElement*/
10852 {
10853 var node = draggable.findDOMNode();
10854
10855 if (!node) {
10856 throw new Error('<DraggableCore>: Unmounted during event!');
10857 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10858
10859
10860 return node;
10861 }
10862
10863 /***/ }),
10864
10865 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10866 /*!****************************************************************!*\
10867 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10868 \****************************************************************/
10869 /***/ ((__unused_webpack_module, exports) => {
10870
10871 "use strict";
10872
10873
10874 Object.defineProperty(exports, "__esModule", ({
10875 value: true
10876 }));
10877 exports.dontSetMe = dontSetMe;
10878 exports.findInArray = findInArray;
10879 exports.int = int;
10880 exports.isFunction = isFunction;
10881 exports.isNum = isNum;
10882
10883 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
10884 function findInArray(array
10885 /*: Array<any> | TouchList*/
10886 , callback
10887 /*: Function*/
10888 )
10889 /*: any*/
10890 {
10891 for (var i = 0, length = array.length; i < length; i++) {
10892 if (callback.apply(callback, [array[i], i, array])) return array[i];
10893 }
10894 }
10895
10896 function isFunction(func
10897 /*: any*/
10898 )
10899 /*: boolean %checks*/
10900 {
10901 // $FlowIgnore[method-unbinding]
10902 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
10903 }
10904
10905 function isNum(num
10906 /*: any*/
10907 )
10908 /*: boolean %checks*/
10909 {
10910 return typeof num === 'number' && !isNaN(num);
10911 }
10912
10913 function int(a
10914 /*: string*/
10915 )
10916 /*: number*/
10917 {
10918 return parseInt(a, 10);
10919 }
10920
10921 function dontSetMe(props
10922 /*: Object*/
10923 , propName
10924 /*: string*/
10925 , componentName
10926 /*: string*/
10927 )
10928 /*: ?Error*/
10929 {
10930 if (props[propName]) {
10931 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
10932 }
10933 }
10934
10935 /***/ }),
10936
10937 /***/ "../node_modules/react-is/cjs/react-is.development.js":
10938 /*!************************************************************!*\
10939 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
10940 \************************************************************/
10941 /***/ ((__unused_webpack_module, exports) => {
10942
10943 "use strict";
10944 /**
10945 * @license React
10946 * react-is.development.js
10947 *
10948 * Copyright (c) Facebook, Inc. and its affiliates.
10949 *
10950 * This source code is licensed under the MIT license found in the
10951 * LICENSE file in the root directory of this source tree.
10952 */
10953
10954
10955
10956 if (true) {
10957 (function() {
10958 'use strict';
10959
10960 // ATTENTION
10961 // When adding new symbols to this file,
10962 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
10963 // The Symbol used to tag the ReactElement-like types.
10964 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
10965 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
10966 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
10967 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
10968 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
10969 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
10970 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
10971 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
10972 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
10973 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
10974 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
10975 var REACT_MEMO_TYPE = Symbol.for('react.memo');
10976 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
10977 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
10978
10979 // -----------------------------------------------------------------------------
10980
10981 var enableScopeAPI = false; // Experimental Create Event Handle API.
10982 var enableCacheElement = false;
10983 var enableTransitionTracing = false; // No known bugs, but needs performance testing
10984
10985 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
10986 // stuff. Intended to enable React core members to more easily debug scheduling
10987 // issues in DEV builds.
10988
10989 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
10990
10991 var REACT_MODULE_REFERENCE;
10992
10993 {
10994 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
10995 }
10996
10997 function isValidElementType(type) {
10998 if (typeof type === 'string' || typeof type === 'function') {
10999 return true;
11000 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
11001
11002
11003 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 ) {
11004 return true;
11005 }
11006
11007 if (typeof type === 'object' && type !== null) {
11008 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
11009 // types supported by any Flight configuration anywhere since
11010 // we don't know which Flight build this will end up being used
11011 // with.
11012 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
11013 return true;
11014 }
11015 }
11016
11017 return false;
11018 }
11019
11020 function typeOf(object) {
11021 if (typeof object === 'object' && object !== null) {
11022 var $$typeof = object.$$typeof;
11023
11024 switch ($$typeof) {
11025 case REACT_ELEMENT_TYPE:
11026 var type = object.type;
11027
11028 switch (type) {
11029 case REACT_FRAGMENT_TYPE:
11030 case REACT_PROFILER_TYPE:
11031 case REACT_STRICT_MODE_TYPE:
11032 case REACT_SUSPENSE_TYPE:
11033 case REACT_SUSPENSE_LIST_TYPE:
11034 return type;
11035
11036 default:
11037 var $$typeofType = type && type.$$typeof;
11038
11039 switch ($$typeofType) {
11040 case REACT_SERVER_CONTEXT_TYPE:
11041 case REACT_CONTEXT_TYPE:
11042 case REACT_FORWARD_REF_TYPE:
11043 case REACT_LAZY_TYPE:
11044 case REACT_MEMO_TYPE:
11045 case REACT_PROVIDER_TYPE:
11046 return $$typeofType;
11047
11048 default:
11049 return $$typeof;
11050 }
11051
11052 }
11053
11054 case REACT_PORTAL_TYPE:
11055 return $$typeof;
11056 }
11057 }
11058
11059 return undefined;
11060 }
11061 var ContextConsumer = REACT_CONTEXT_TYPE;
11062 var ContextProvider = REACT_PROVIDER_TYPE;
11063 var Element = REACT_ELEMENT_TYPE;
11064 var ForwardRef = REACT_FORWARD_REF_TYPE;
11065 var Fragment = REACT_FRAGMENT_TYPE;
11066 var Lazy = REACT_LAZY_TYPE;
11067 var Memo = REACT_MEMO_TYPE;
11068 var Portal = REACT_PORTAL_TYPE;
11069 var Profiler = REACT_PROFILER_TYPE;
11070 var StrictMode = REACT_STRICT_MODE_TYPE;
11071 var Suspense = REACT_SUSPENSE_TYPE;
11072 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
11073 var hasWarnedAboutDeprecatedIsAsyncMode = false;
11074 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
11075
11076 function isAsyncMode(object) {
11077 {
11078 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
11079 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
11080
11081 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11082 }
11083 }
11084
11085 return false;
11086 }
11087 function isConcurrentMode(object) {
11088 {
11089 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
11090 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
11091
11092 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11093 }
11094 }
11095
11096 return false;
11097 }
11098 function isContextConsumer(object) {
11099 return typeOf(object) === REACT_CONTEXT_TYPE;
11100 }
11101 function isContextProvider(object) {
11102 return typeOf(object) === REACT_PROVIDER_TYPE;
11103 }
11104 function isElement(object) {
11105 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
11106 }
11107 function isForwardRef(object) {
11108 return typeOf(object) === REACT_FORWARD_REF_TYPE;
11109 }
11110 function isFragment(object) {
11111 return typeOf(object) === REACT_FRAGMENT_TYPE;
11112 }
11113 function isLazy(object) {
11114 return typeOf(object) === REACT_LAZY_TYPE;
11115 }
11116 function isMemo(object) {
11117 return typeOf(object) === REACT_MEMO_TYPE;
11118 }
11119 function isPortal(object) {
11120 return typeOf(object) === REACT_PORTAL_TYPE;
11121 }
11122 function isProfiler(object) {
11123 return typeOf(object) === REACT_PROFILER_TYPE;
11124 }
11125 function isStrictMode(object) {
11126 return typeOf(object) === REACT_STRICT_MODE_TYPE;
11127 }
11128 function isSuspense(object) {
11129 return typeOf(object) === REACT_SUSPENSE_TYPE;
11130 }
11131 function isSuspenseList(object) {
11132 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
11133 }
11134
11135 exports.ContextConsumer = ContextConsumer;
11136 exports.ContextProvider = ContextProvider;
11137 exports.Element = Element;
11138 exports.ForwardRef = ForwardRef;
11139 exports.Fragment = Fragment;
11140 exports.Lazy = Lazy;
11141 exports.Memo = Memo;
11142 exports.Portal = Portal;
11143 exports.Profiler = Profiler;
11144 exports.StrictMode = StrictMode;
11145 exports.Suspense = Suspense;
11146 exports.SuspenseList = SuspenseList;
11147 exports.isAsyncMode = isAsyncMode;
11148 exports.isConcurrentMode = isConcurrentMode;
11149 exports.isContextConsumer = isContextConsumer;
11150 exports.isContextProvider = isContextProvider;
11151 exports.isElement = isElement;
11152 exports.isForwardRef = isForwardRef;
11153 exports.isFragment = isFragment;
11154 exports.isLazy = isLazy;
11155 exports.isMemo = isMemo;
11156 exports.isPortal = isPortal;
11157 exports.isProfiler = isProfiler;
11158 exports.isStrictMode = isStrictMode;
11159 exports.isSuspense = isSuspense;
11160 exports.isSuspenseList = isSuspenseList;
11161 exports.isValidElementType = isValidElementType;
11162 exports.typeOf = typeOf;
11163 })();
11164 }
11165
11166
11167 /***/ }),
11168
11169 /***/ "../node_modules/react-is/index.js":
11170 /*!*****************************************!*\
11171 !*** ../node_modules/react-is/index.js ***!
11172 \*****************************************/
11173 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11174
11175 "use strict";
11176
11177
11178 if (false) {} else {
11179 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11180 }
11181
11182
11183 /***/ }),
11184
11185 /***/ "../node_modules/shallowequal/index.js":
11186 /*!*********************************************!*\
11187 !*** ../node_modules/shallowequal/index.js ***!
11188 \*********************************************/
11189 /***/ ((module) => {
11190
11191 //
11192
11193 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11194 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11195
11196 if (ret !== void 0) {
11197 return !!ret;
11198 }
11199
11200 if (objA === objB) {
11201 return true;
11202 }
11203
11204 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11205 return false;
11206 }
11207
11208 var keysA = Object.keys(objA);
11209 var keysB = Object.keys(objB);
11210
11211 if (keysA.length !== keysB.length) {
11212 return false;
11213 }
11214
11215 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11216
11217 // Test for A's keys different from B.
11218 for (var idx = 0; idx < keysA.length; idx++) {
11219 var key = keysA[idx];
11220
11221 if (!bHasOwnProperty(key)) {
11222 return false;
11223 }
11224
11225 var valueA = objA[key];
11226 var valueB = objB[key];
11227
11228 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11229
11230 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11231 return false;
11232 }
11233 }
11234
11235 return true;
11236 };
11237
11238
11239 /***/ }),
11240
11241 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11242 /*!*******************************************************************************!*\
11243 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11244 \*******************************************************************************/
11245 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11246
11247 "use strict";
11248 __webpack_require__.r(__webpack_exports__);
11249 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11250 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11251 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11252 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11253 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11254 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11255 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11256 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11257 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11258 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11259 /* harmony export */ css: () => (/* binding */ Ae),
11260 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11261 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11262 /* harmony export */ keyframes: () => (/* binding */ We),
11263 /* harmony export */ useTheme: () => (/* binding */ Xe),
11264 /* harmony export */ version: () => (/* binding */ A),
11265 /* harmony export */ withTheme: () => (/* binding */ Je)
11266 /* harmony export */ });
11267 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11268 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11269 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11270 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11271 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11272 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11273 /* 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");
11274 /* 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");
11275 /* 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");
11276 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11277 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);
11278 //# sourceMappingURL=styled-components.browser.esm.js.map
11279
11280
11281 /***/ }),
11282
11283 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11284 /*!*****************************************************************************************************!*\
11285 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11286 \*****************************************************************************************************/
11287 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11288
11289 "use strict";
11290 __webpack_require__.r(__webpack_exports__);
11291 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11292 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11293 /* harmony export */ });
11294 var unitlessKeys = {
11295 animationIterationCount: 1,
11296 borderImageOutset: 1,
11297 borderImageSlice: 1,
11298 borderImageWidth: 1,
11299 boxFlex: 1,
11300 boxFlexGroup: 1,
11301 boxOrdinalGroup: 1,
11302 columnCount: 1,
11303 columns: 1,
11304 flex: 1,
11305 flexGrow: 1,
11306 flexPositive: 1,
11307 flexShrink: 1,
11308 flexNegative: 1,
11309 flexOrder: 1,
11310 gridRow: 1,
11311 gridRowEnd: 1,
11312 gridRowSpan: 1,
11313 gridRowStart: 1,
11314 gridColumn: 1,
11315 gridColumnEnd: 1,
11316 gridColumnSpan: 1,
11317 gridColumnStart: 1,
11318 msGridRow: 1,
11319 msGridRowSpan: 1,
11320 msGridColumn: 1,
11321 msGridColumnSpan: 1,
11322 fontWeight: 1,
11323 lineHeight: 1,
11324 opacity: 1,
11325 order: 1,
11326 orphans: 1,
11327 tabSize: 1,
11328 widows: 1,
11329 zIndex: 1,
11330 zoom: 1,
11331 WebkitLineClamp: 1,
11332 // SVG-related properties
11333 fillOpacity: 1,
11334 floodOpacity: 1,
11335 stopOpacity: 1,
11336 strokeDasharray: 1,
11337 strokeDashoffset: 1,
11338 strokeMiterlimit: 1,
11339 strokeOpacity: 1,
11340 strokeWidth: 1
11341 };
11342
11343 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11344
11345
11346 /***/ }),
11347
11348 /***/ "../node_modules/validator/lib/isFQDN.js":
11349 /*!***********************************************!*\
11350 !*** ../node_modules/validator/lib/isFQDN.js ***!
11351 \***********************************************/
11352 /***/ ((module, exports, __webpack_require__) => {
11353
11354 "use strict";
11355
11356
11357 Object.defineProperty(exports, "__esModule", ({
11358 value: true
11359 }));
11360 exports["default"] = isFQDN;
11361
11362 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11363
11364 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11365
11366 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11367
11368 var default_fqdn_options = {
11369 require_tld: true,
11370 allow_underscores: false,
11371 allow_trailing_dot: false,
11372 allow_numeric_tld: false,
11373 allow_wildcard: false,
11374 ignore_max_length: false
11375 };
11376
11377 function isFQDN(str, options) {
11378 (0, _assertString.default)(str);
11379 options = (0, _merge.default)(options, default_fqdn_options);
11380 /* Remove the optional trailing dot before checking validity */
11381
11382 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11383 str = str.substring(0, str.length - 1);
11384 }
11385 /* Remove the optional wildcard before checking validity */
11386
11387
11388 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11389 str = str.substring(2);
11390 }
11391
11392 var parts = str.split('.');
11393 var tld = parts[parts.length - 1];
11394
11395 if (options.require_tld) {
11396 // disallow fqdns without tld
11397 if (parts.length < 2) {
11398 return false;
11399 }
11400
11401 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11402 return false;
11403 } // disallow spaces
11404
11405
11406 if (/\s/.test(tld)) {
11407 return false;
11408 }
11409 } // reject numeric TLDs
11410
11411
11412 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11413 return false;
11414 }
11415
11416 return parts.every(function (part) {
11417 if (part.length > 63 && !options.ignore_max_length) {
11418 return false;
11419 }
11420
11421 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11422 return false;
11423 } // disallow full-width chars
11424
11425
11426 if (/[\uff01-\uff5e]/.test(part)) {
11427 return false;
11428 } // disallow parts starting or ending with hyphen
11429
11430
11431 if (/^-|-$/.test(part)) {
11432 return false;
11433 }
11434
11435 if (!options.allow_underscores && /_/.test(part)) {
11436 return false;
11437 }
11438
11439 return true;
11440 });
11441 }
11442
11443 module.exports = exports.default;
11444 module.exports["default"] = exports.default;
11445
11446 /***/ }),
11447
11448 /***/ "../node_modules/validator/lib/isIP.js":
11449 /*!*********************************************!*\
11450 !*** ../node_modules/validator/lib/isIP.js ***!
11451 \*********************************************/
11452 /***/ ((module, exports, __webpack_require__) => {
11453
11454 "use strict";
11455
11456
11457 Object.defineProperty(exports, "__esModule", ({
11458 value: true
11459 }));
11460 exports["default"] = isIP;
11461
11462 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11463
11464 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11465
11466 /**
11467 11.3. Examples
11468
11469 The following addresses
11470
11471 fe80::1234 (on the 1st link of the node)
11472 ff02::5678 (on the 5th link of the node)
11473 ff08::9abc (on the 10th organization of the node)
11474
11475 would be represented as follows:
11476
11477 fe80::1234%1
11478 ff02::5678%5
11479 ff08::9abc%10
11480
11481 (Here we assume a natural translation from a zone index to the
11482 <zone_id> part, where the Nth zone of any scope is translated into
11483 "N".)
11484
11485 If we use interface names as <zone_id>, those addresses could also be
11486 represented as follows:
11487
11488 fe80::1234%ne0
11489 ff02::5678%pvc1.3
11490 ff08::9abc%interface10
11491
11492 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11493 to the 5th link, and "interface10" belongs to the 10th organization.
11494 * * */
11495 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11496 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11497 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11498 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11499 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,})?$');
11500
11501 function isIP(str) {
11502 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11503 (0, _assertString.default)(str);
11504 version = String(version);
11505
11506 if (!version) {
11507 return isIP(str, 4) || isIP(str, 6);
11508 }
11509
11510 if (version === '4') {
11511 return IPv4AddressRegExp.test(str);
11512 }
11513
11514 if (version === '6') {
11515 return IPv6AddressRegExp.test(str);
11516 }
11517
11518 return false;
11519 }
11520
11521 module.exports = exports.default;
11522 module.exports["default"] = exports.default;
11523
11524 /***/ }),
11525
11526 /***/ "../node_modules/validator/lib/isURL.js":
11527 /*!**********************************************!*\
11528 !*** ../node_modules/validator/lib/isURL.js ***!
11529 \**********************************************/
11530 /***/ ((module, exports, __webpack_require__) => {
11531
11532 "use strict";
11533
11534
11535 Object.defineProperty(exports, "__esModule", ({
11536 value: true
11537 }));
11538 exports["default"] = isURL;
11539
11540 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11541
11542 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11543
11544 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11545
11546 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11547
11548 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11549
11550 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11551
11552 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."); }
11553
11554 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); }
11555
11556 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; }
11557
11558 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; }
11559
11560 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11561
11562 /*
11563 options for isURL method
11564
11565 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11566 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11567 protocols - valid protocols can be modified with this option
11568 require_host - if set as false isURL will not check if host is present in the URL
11569 require_port - if set as true isURL will check if port is present in the URL
11570 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11571 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11572
11573 */
11574 var default_url_options = {
11575 protocols: ['http', 'https', 'ftp'],
11576 require_tld: true,
11577 require_protocol: false,
11578 require_host: true,
11579 require_port: false,
11580 require_valid_protocol: true,
11581 allow_underscores: false,
11582 allow_trailing_dot: false,
11583 allow_protocol_relative_urls: false,
11584 allow_fragments: true,
11585 allow_query_components: true,
11586 validate_length: true
11587 };
11588 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11589
11590 function isRegExp(obj) {
11591 return Object.prototype.toString.call(obj) === '[object RegExp]';
11592 }
11593
11594 function checkHost(host, matches) {
11595 for (var i = 0; i < matches.length; i++) {
11596 var match = matches[i];
11597
11598 if (host === match || isRegExp(match) && match.test(host)) {
11599 return true;
11600 }
11601 }
11602
11603 return false;
11604 }
11605
11606 function isURL(url, options) {
11607 (0, _assertString.default)(url);
11608
11609 if (!url || /[\s<>]/.test(url)) {
11610 return false;
11611 }
11612
11613 if (url.indexOf('mailto:') === 0) {
11614 return false;
11615 }
11616
11617 options = (0, _merge.default)(options, default_url_options);
11618
11619 if (options.validate_length && url.length >= 2083) {
11620 return false;
11621 }
11622
11623 if (!options.allow_fragments && url.includes('#')) {
11624 return false;
11625 }
11626
11627 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11628 return false;
11629 }
11630
11631 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11632 split = url.split('#');
11633 url = split.shift();
11634 split = url.split('?');
11635 url = split.shift();
11636 split = url.split('://');
11637
11638 if (split.length > 1) {
11639 protocol = split.shift().toLowerCase();
11640
11641 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11642 return false;
11643 }
11644 } else if (options.require_protocol) {
11645 return false;
11646 } else if (url.slice(0, 2) === '//') {
11647 if (!options.allow_protocol_relative_urls) {
11648 return false;
11649 }
11650
11651 split[0] = url.slice(2);
11652 }
11653
11654 url = split.join('://');
11655
11656 if (url === '') {
11657 return false;
11658 }
11659
11660 split = url.split('/');
11661 url = split.shift();
11662
11663 if (url === '' && !options.require_host) {
11664 return true;
11665 }
11666
11667 split = url.split('@');
11668
11669 if (split.length > 1) {
11670 if (options.disallow_auth) {
11671 return false;
11672 }
11673
11674 if (split[0] === '') {
11675 return false;
11676 }
11677
11678 auth = split.shift();
11679
11680 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11681 return false;
11682 }
11683
11684 var _auth$split = auth.split(':'),
11685 _auth$split2 = _slicedToArray(_auth$split, 2),
11686 user = _auth$split2[0],
11687 password = _auth$split2[1];
11688
11689 if (user === '' && password === '') {
11690 return false;
11691 }
11692 }
11693
11694 hostname = split.join('@');
11695 port_str = null;
11696 ipv6 = null;
11697 var ipv6_match = hostname.match(wrapped_ipv6);
11698
11699 if (ipv6_match) {
11700 host = '';
11701 ipv6 = ipv6_match[1];
11702 port_str = ipv6_match[2] || null;
11703 } else {
11704 split = hostname.split(':');
11705 host = split.shift();
11706
11707 if (split.length) {
11708 port_str = split.join(':');
11709 }
11710 }
11711
11712 if (port_str !== null && port_str.length > 0) {
11713 port = parseInt(port_str, 10);
11714
11715 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11716 return false;
11717 }
11718 } else if (options.require_port) {
11719 return false;
11720 }
11721
11722 if (options.host_whitelist) {
11723 return checkHost(host, options.host_whitelist);
11724 }
11725
11726 if (host === '' && !options.require_host) {
11727 return true;
11728 }
11729
11730 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11731 return false;
11732 }
11733
11734 host = host || ipv6;
11735
11736 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11737 return false;
11738 }
11739
11740 return true;
11741 }
11742
11743 module.exports = exports.default;
11744 module.exports["default"] = exports.default;
11745
11746 /***/ }),
11747
11748 /***/ "../node_modules/validator/lib/util/assertString.js":
11749 /*!**********************************************************!*\
11750 !*** ../node_modules/validator/lib/util/assertString.js ***!
11751 \**********************************************************/
11752 /***/ ((module, exports) => {
11753
11754 "use strict";
11755
11756
11757 Object.defineProperty(exports, "__esModule", ({
11758 value: true
11759 }));
11760 exports["default"] = assertString;
11761
11762 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); }
11763
11764 function assertString(input) {
11765 var isString = typeof input === 'string' || input instanceof String;
11766
11767 if (!isString) {
11768 var invalidType = _typeof(input);
11769
11770 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11771 throw new TypeError("Expected a string but received a ".concat(invalidType));
11772 }
11773 }
11774
11775 module.exports = exports.default;
11776 module.exports["default"] = exports.default;
11777
11778 /***/ }),
11779
11780 /***/ "../node_modules/validator/lib/util/merge.js":
11781 /*!***************************************************!*\
11782 !*** ../node_modules/validator/lib/util/merge.js ***!
11783 \***************************************************/
11784 /***/ ((module, exports) => {
11785
11786 "use strict";
11787
11788
11789 Object.defineProperty(exports, "__esModule", ({
11790 value: true
11791 }));
11792 exports["default"] = merge;
11793
11794 function merge() {
11795 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11796 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11797
11798 for (var key in defaults) {
11799 if (typeof obj[key] === 'undefined') {
11800 obj[key] = defaults[key];
11801 }
11802 }
11803
11804 return obj;
11805 }
11806
11807 module.exports = exports.default;
11808 module.exports["default"] = exports.default;
11809
11810 /***/ }),
11811
11812 /***/ "react":
11813 /*!************************!*\
11814 !*** external "React" ***!
11815 \************************/
11816 /***/ ((module) => {
11817
11818 "use strict";
11819 module.exports = React;
11820
11821 /***/ }),
11822
11823 /***/ "react-dom":
11824 /*!***************************!*\
11825 !*** external "ReactDOM" ***!
11826 \***************************/
11827 /***/ ((module) => {
11828
11829 "use strict";
11830 module.exports = ReactDOM;
11831
11832 /***/ }),
11833
11834 /***/ "@elementor/icons":
11835 /*!************************************!*\
11836 !*** external "elementorV2.icons" ***!
11837 \************************************/
11838 /***/ ((module) => {
11839
11840 "use strict";
11841 module.exports = elementorV2.icons;
11842
11843 /***/ }),
11844
11845 /***/ "@elementor/ui":
11846 /*!*********************************!*\
11847 !*** external "elementorV2.ui" ***!
11848 \*********************************/
11849 /***/ ((module) => {
11850
11851 "use strict";
11852 module.exports = elementorV2.ui;
11853
11854 /***/ }),
11855
11856 /***/ "@wordpress/i18n":
11857 /*!**************************!*\
11858 !*** external "wp.i18n" ***!
11859 \**************************/
11860 /***/ ((module) => {
11861
11862 "use strict";
11863 module.exports = wp.i18n;
11864
11865 /***/ }),
11866
11867 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11868 /*!******************************************************************!*\
11869 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
11870 \******************************************************************/
11871 /***/ ((module) => {
11872
11873 function _arrayLikeToArray(arr, len) {
11874 if (len == null || len > arr.length) len = arr.length;
11875 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11876 return arr2;
11877 }
11878 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11879
11880 /***/ }),
11881
11882 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
11883 /*!****************************************************************!*\
11884 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
11885 \****************************************************************/
11886 /***/ ((module) => {
11887
11888 function _arrayWithHoles(arr) {
11889 if (Array.isArray(arr)) return arr;
11890 }
11891 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11892
11893 /***/ }),
11894
11895 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
11896 /*!*******************************************************************!*\
11897 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
11898 \*******************************************************************/
11899 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11900
11901 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
11902 function _arrayWithoutHoles(arr) {
11903 if (Array.isArray(arr)) return arrayLikeToArray(arr);
11904 }
11905 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11906
11907 /***/ }),
11908
11909 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
11910 /*!***********************************************************************!*\
11911 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
11912 \***********************************************************************/
11913 /***/ ((module) => {
11914
11915 function _assertThisInitialized(self) {
11916 if (self === void 0) {
11917 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
11918 }
11919 return self;
11920 }
11921 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
11922
11923 /***/ }),
11924
11925 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
11926 /*!******************************************************************!*\
11927 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
11928 \******************************************************************/
11929 /***/ ((module) => {
11930
11931 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11932 try {
11933 var info = gen[key](arg);
11934 var value = info.value;
11935 } catch (error) {
11936 reject(error);
11937 return;
11938 }
11939 if (info.done) {
11940 resolve(value);
11941 } else {
11942 Promise.resolve(value).then(_next, _throw);
11943 }
11944 }
11945 function _asyncToGenerator(fn) {
11946 return function () {
11947 var self = this,
11948 args = arguments;
11949 return new Promise(function (resolve, reject) {
11950 var gen = fn.apply(self, args);
11951 function _next(value) {
11952 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
11953 }
11954 function _throw(err) {
11955 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
11956 }
11957 _next(undefined);
11958 });
11959 };
11960 }
11961 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
11962
11963 /***/ }),
11964
11965 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
11966 /*!****************************************************************!*\
11967 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
11968 \****************************************************************/
11969 /***/ ((module) => {
11970
11971 function _classCallCheck(instance, Constructor) {
11972 if (!(instance instanceof Constructor)) {
11973 throw new TypeError("Cannot call a class as a function");
11974 }
11975 }
11976 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
11977
11978 /***/ }),
11979
11980 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
11981 /*!*************************************************************!*\
11982 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
11983 \*************************************************************/
11984 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11985
11986 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11987 function _defineProperties(target, props) {
11988 for (var i = 0; i < props.length; i++) {
11989 var descriptor = props[i];
11990 descriptor.enumerable = descriptor.enumerable || false;
11991 descriptor.configurable = true;
11992 if ("value" in descriptor) descriptor.writable = true;
11993 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
11994 }
11995 }
11996 function _createClass(Constructor, protoProps, staticProps) {
11997 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
11998 if (staticProps) _defineProperties(Constructor, staticProps);
11999 Object.defineProperty(Constructor, "prototype", {
12000 writable: false
12001 });
12002 return Constructor;
12003 }
12004 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
12005
12006 /***/ }),
12007
12008 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
12009 /*!****************************************************************!*\
12010 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
12011 \****************************************************************/
12012 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12013
12014 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12015 function _defineProperty(obj, key, value) {
12016 key = toPropertyKey(key);
12017 if (key in obj) {
12018 Object.defineProperty(obj, key, {
12019 value: value,
12020 enumerable: true,
12021 configurable: true,
12022 writable: true
12023 });
12024 } else {
12025 obj[key] = value;
12026 }
12027 return obj;
12028 }
12029 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
12030
12031 /***/ }),
12032
12033 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
12034 /*!*********************************************************!*\
12035 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
12036 \*********************************************************/
12037 /***/ ((module) => {
12038
12039 function _extends() {
12040 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
12041 for (var i = 1; i < arguments.length; i++) {
12042 var source = arguments[i];
12043 for (var key in source) {
12044 if (Object.prototype.hasOwnProperty.call(source, key)) {
12045 target[key] = source[key];
12046 }
12047 }
12048 }
12049 return target;
12050 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12051 return _extends.apply(this, arguments);
12052 }
12053 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
12054
12055 /***/ }),
12056
12057 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
12058 /*!****************************************************************!*\
12059 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
12060 \****************************************************************/
12061 /***/ ((module) => {
12062
12063 function _getPrototypeOf(o) {
12064 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
12065 return o.__proto__ || Object.getPrototypeOf(o);
12066 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12067 return _getPrototypeOf(o);
12068 }
12069 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12070
12071 /***/ }),
12072
12073 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
12074 /*!**********************************************************!*\
12075 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
12076 \**********************************************************/
12077 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12078
12079 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
12080 function _inherits(subClass, superClass) {
12081 if (typeof superClass !== "function" && superClass !== null) {
12082 throw new TypeError("Super expression must either be null or a function");
12083 }
12084 subClass.prototype = Object.create(superClass && superClass.prototype, {
12085 constructor: {
12086 value: subClass,
12087 writable: true,
12088 configurable: true
12089 }
12090 });
12091 Object.defineProperty(subClass, "prototype", {
12092 writable: false
12093 });
12094 if (superClass) setPrototypeOf(subClass, superClass);
12095 }
12096 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
12097
12098 /***/ }),
12099
12100 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
12101 /*!***********************************************************************!*\
12102 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
12103 \***********************************************************************/
12104 /***/ ((module) => {
12105
12106 function _interopRequireDefault(obj) {
12107 return obj && obj.__esModule ? obj : {
12108 "default": obj
12109 };
12110 }
12111 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
12112
12113 /***/ }),
12114
12115 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
12116 /*!*****************************************************************!*\
12117 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
12118 \*****************************************************************/
12119 /***/ ((module) => {
12120
12121 function _iterableToArray(iter) {
12122 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12123 }
12124 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12125
12126 /***/ }),
12127
12128 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
12129 /*!**********************************************************************!*\
12130 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
12131 \**********************************************************************/
12132 /***/ ((module) => {
12133
12134 function _iterableToArrayLimit(r, l) {
12135 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
12136 if (null != t) {
12137 var e,
12138 n,
12139 i,
12140 u,
12141 a = [],
12142 f = !0,
12143 o = !1;
12144 try {
12145 if (i = (t = t.call(r)).next, 0 === l) {
12146 if (Object(t) !== t) return;
12147 f = !1;
12148 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12149 } catch (r) {
12150 o = !0, n = r;
12151 } finally {
12152 try {
12153 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12154 } finally {
12155 if (o) throw n;
12156 }
12157 }
12158 return a;
12159 }
12160 }
12161 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12162
12163 /***/ }),
12164
12165 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12166 /*!*****************************************************************!*\
12167 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12168 \*****************************************************************/
12169 /***/ ((module) => {
12170
12171 function _nonIterableRest() {
12172 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12173 }
12174 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12175
12176 /***/ }),
12177
12178 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12179 /*!*******************************************************************!*\
12180 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12181 \*******************************************************************/
12182 /***/ ((module) => {
12183
12184 function _nonIterableSpread() {
12185 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12186 }
12187 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12188
12189 /***/ }),
12190
12191 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12192 /*!*************************************************************************!*\
12193 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12194 \*************************************************************************/
12195 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12196
12197 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12198 function _objectWithoutProperties(source, excluded) {
12199 if (source == null) return {};
12200 var target = objectWithoutPropertiesLoose(source, excluded);
12201 var key, i;
12202 if (Object.getOwnPropertySymbols) {
12203 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12204 for (i = 0; i < sourceSymbolKeys.length; i++) {
12205 key = sourceSymbolKeys[i];
12206 if (excluded.indexOf(key) >= 0) continue;
12207 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12208 target[key] = source[key];
12209 }
12210 }
12211 return target;
12212 }
12213 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12214
12215 /***/ }),
12216
12217 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12218 /*!******************************************************************************!*\
12219 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12220 \******************************************************************************/
12221 /***/ ((module) => {
12222
12223 function _objectWithoutPropertiesLoose(source, excluded) {
12224 if (source == null) return {};
12225 var target = {};
12226 var sourceKeys = Object.keys(source);
12227 var key, i;
12228 for (i = 0; i < sourceKeys.length; i++) {
12229 key = sourceKeys[i];
12230 if (excluded.indexOf(key) >= 0) continue;
12231 target[key] = source[key];
12232 }
12233 return target;
12234 }
12235 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12236
12237 /***/ }),
12238
12239 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12240 /*!***************************************************************************!*\
12241 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12242 \***************************************************************************/
12243 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12244
12245 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12246 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12247 function _possibleConstructorReturn(self, call) {
12248 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12249 return call;
12250 } else if (call !== void 0) {
12251 throw new TypeError("Derived constructors may only return object or undefined");
12252 }
12253 return assertThisInitialized(self);
12254 }
12255 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12256
12257 /***/ }),
12258
12259 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12260 /*!********************************************************************!*\
12261 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12262 \********************************************************************/
12263 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12264
12265 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12266 function _regeneratorRuntime() {
12267 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12268 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12269 return e;
12270 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12271 var t,
12272 e = {},
12273 r = Object.prototype,
12274 n = r.hasOwnProperty,
12275 o = Object.defineProperty || function (t, e, r) {
12276 t[e] = r.value;
12277 },
12278 i = "function" == typeof Symbol ? Symbol : {},
12279 a = i.iterator || "@@iterator",
12280 c = i.asyncIterator || "@@asyncIterator",
12281 u = i.toStringTag || "@@toStringTag";
12282 function define(t, e, r) {
12283 return Object.defineProperty(t, e, {
12284 value: r,
12285 enumerable: !0,
12286 configurable: !0,
12287 writable: !0
12288 }), t[e];
12289 }
12290 try {
12291 define({}, "");
12292 } catch (t) {
12293 define = function define(t, e, r) {
12294 return t[e] = r;
12295 };
12296 }
12297 function wrap(t, e, r, n) {
12298 var i = e && e.prototype instanceof Generator ? e : Generator,
12299 a = Object.create(i.prototype),
12300 c = new Context(n || []);
12301 return o(a, "_invoke", {
12302 value: makeInvokeMethod(t, r, c)
12303 }), a;
12304 }
12305 function tryCatch(t, e, r) {
12306 try {
12307 return {
12308 type: "normal",
12309 arg: t.call(e, r)
12310 };
12311 } catch (t) {
12312 return {
12313 type: "throw",
12314 arg: t
12315 };
12316 }
12317 }
12318 e.wrap = wrap;
12319 var h = "suspendedStart",
12320 l = "suspendedYield",
12321 f = "executing",
12322 s = "completed",
12323 y = {};
12324 function Generator() {}
12325 function GeneratorFunction() {}
12326 function GeneratorFunctionPrototype() {}
12327 var p = {};
12328 define(p, a, function () {
12329 return this;
12330 });
12331 var d = Object.getPrototypeOf,
12332 v = d && d(d(values([])));
12333 v && v !== r && n.call(v, a) && (p = v);
12334 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12335 function defineIteratorMethods(t) {
12336 ["next", "throw", "return"].forEach(function (e) {
12337 define(t, e, function (t) {
12338 return this._invoke(e, t);
12339 });
12340 });
12341 }
12342 function AsyncIterator(t, e) {
12343 function invoke(r, o, i, a) {
12344 var c = tryCatch(t[r], t, o);
12345 if ("throw" !== c.type) {
12346 var u = c.arg,
12347 h = u.value;
12348 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12349 invoke("next", t, i, a);
12350 }, function (t) {
12351 invoke("throw", t, i, a);
12352 }) : e.resolve(h).then(function (t) {
12353 u.value = t, i(u);
12354 }, function (t) {
12355 return invoke("throw", t, i, a);
12356 });
12357 }
12358 a(c.arg);
12359 }
12360 var r;
12361 o(this, "_invoke", {
12362 value: function value(t, n) {
12363 function callInvokeWithMethodAndArg() {
12364 return new e(function (e, r) {
12365 invoke(t, n, e, r);
12366 });
12367 }
12368 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12369 }
12370 });
12371 }
12372 function makeInvokeMethod(e, r, n) {
12373 var o = h;
12374 return function (i, a) {
12375 if (o === f) throw new Error("Generator is already running");
12376 if (o === s) {
12377 if ("throw" === i) throw a;
12378 return {
12379 value: t,
12380 done: !0
12381 };
12382 }
12383 for (n.method = i, n.arg = a;;) {
12384 var c = n.delegate;
12385 if (c) {
12386 var u = maybeInvokeDelegate(c, n);
12387 if (u) {
12388 if (u === y) continue;
12389 return u;
12390 }
12391 }
12392 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12393 if (o === h) throw o = s, n.arg;
12394 n.dispatchException(n.arg);
12395 } else "return" === n.method && n.abrupt("return", n.arg);
12396 o = f;
12397 var p = tryCatch(e, r, n);
12398 if ("normal" === p.type) {
12399 if (o = n.done ? s : l, p.arg === y) continue;
12400 return {
12401 value: p.arg,
12402 done: n.done
12403 };
12404 }
12405 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12406 }
12407 };
12408 }
12409 function maybeInvokeDelegate(e, r) {
12410 var n = r.method,
12411 o = e.iterator[n];
12412 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;
12413 var i = tryCatch(o, e.iterator, r.arg);
12414 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12415 var a = i.arg;
12416 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);
12417 }
12418 function pushTryEntry(t) {
12419 var e = {
12420 tryLoc: t[0]
12421 };
12422 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12423 }
12424 function resetTryEntry(t) {
12425 var e = t.completion || {};
12426 e.type = "normal", delete e.arg, t.completion = e;
12427 }
12428 function Context(t) {
12429 this.tryEntries = [{
12430 tryLoc: "root"
12431 }], t.forEach(pushTryEntry, this), this.reset(!0);
12432 }
12433 function values(e) {
12434 if (e || "" === e) {
12435 var r = e[a];
12436 if (r) return r.call(e);
12437 if ("function" == typeof e.next) return e;
12438 if (!isNaN(e.length)) {
12439 var o = -1,
12440 i = function next() {
12441 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12442 return next.value = t, next.done = !0, next;
12443 };
12444 return i.next = i;
12445 }
12446 }
12447 throw new TypeError(_typeof(e) + " is not iterable");
12448 }
12449 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12450 value: GeneratorFunctionPrototype,
12451 configurable: !0
12452 }), o(GeneratorFunctionPrototype, "constructor", {
12453 value: GeneratorFunction,
12454 configurable: !0
12455 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12456 var e = "function" == typeof t && t.constructor;
12457 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12458 }, e.mark = function (t) {
12459 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12460 }, e.awrap = function (t) {
12461 return {
12462 __await: t
12463 };
12464 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12465 return this;
12466 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12467 void 0 === i && (i = Promise);
12468 var a = new AsyncIterator(wrap(t, r, n, o), i);
12469 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12470 return t.done ? t.value : a.next();
12471 });
12472 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12473 return this;
12474 }), define(g, "toString", function () {
12475 return "[object Generator]";
12476 }), e.keys = function (t) {
12477 var e = Object(t),
12478 r = [];
12479 for (var n in e) r.push(n);
12480 return r.reverse(), function next() {
12481 for (; r.length;) {
12482 var t = r.pop();
12483 if (t in e) return next.value = t, next.done = !1, next;
12484 }
12485 return next.done = !0, next;
12486 };
12487 }, e.values = values, Context.prototype = {
12488 constructor: Context,
12489 reset: function reset(e) {
12490 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);
12491 },
12492 stop: function stop() {
12493 this.done = !0;
12494 var t = this.tryEntries[0].completion;
12495 if ("throw" === t.type) throw t.arg;
12496 return this.rval;
12497 },
12498 dispatchException: function dispatchException(e) {
12499 if (this.done) throw e;
12500 var r = this;
12501 function handle(n, o) {
12502 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12503 }
12504 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12505 var i = this.tryEntries[o],
12506 a = i.completion;
12507 if ("root" === i.tryLoc) return handle("end");
12508 if (i.tryLoc <= this.prev) {
12509 var c = n.call(i, "catchLoc"),
12510 u = n.call(i, "finallyLoc");
12511 if (c && u) {
12512 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12513 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12514 } else if (c) {
12515 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12516 } else {
12517 if (!u) throw new Error("try statement without catch or finally");
12518 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12519 }
12520 }
12521 }
12522 },
12523 abrupt: function abrupt(t, e) {
12524 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12525 var o = this.tryEntries[r];
12526 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12527 var i = o;
12528 break;
12529 }
12530 }
12531 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12532 var a = i ? i.completion : {};
12533 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12534 },
12535 complete: function complete(t, e) {
12536 if ("throw" === t.type) throw t.arg;
12537 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;
12538 },
12539 finish: function finish(t) {
12540 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12541 var r = this.tryEntries[e];
12542 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12543 }
12544 },
12545 "catch": function _catch(t) {
12546 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12547 var r = this.tryEntries[e];
12548 if (r.tryLoc === t) {
12549 var n = r.completion;
12550 if ("throw" === n.type) {
12551 var o = n.arg;
12552 resetTryEntry(r);
12553 }
12554 return o;
12555 }
12556 }
12557 throw new Error("illegal catch attempt");
12558 },
12559 delegateYield: function delegateYield(e, r, n) {
12560 return this.delegate = {
12561 iterator: values(e),
12562 resultName: r,
12563 nextLoc: n
12564 }, "next" === this.method && (this.arg = t), y;
12565 }
12566 }, e;
12567 }
12568 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12569
12570 /***/ }),
12571
12572 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12573 /*!****************************************************************!*\
12574 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12575 \****************************************************************/
12576 /***/ ((module) => {
12577
12578 function _setPrototypeOf(o, p) {
12579 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12580 o.__proto__ = p;
12581 return o;
12582 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12583 return _setPrototypeOf(o, p);
12584 }
12585 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12586
12587 /***/ }),
12588
12589 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12590 /*!***************************************************************!*\
12591 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12592 \***************************************************************/
12593 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12594
12595 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12596 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12597 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12598 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12599 function _slicedToArray(arr, i) {
12600 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12601 }
12602 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12603
12604 /***/ }),
12605
12606 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12607 /*!***********************************************************************!*\
12608 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12609 \***********************************************************************/
12610 /***/ ((module) => {
12611
12612 function _taggedTemplateLiteral(strings, raw) {
12613 if (!raw) {
12614 raw = strings.slice(0);
12615 }
12616 return Object.freeze(Object.defineProperties(strings, {
12617 raw: {
12618 value: Object.freeze(raw)
12619 }
12620 }));
12621 }
12622 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12623
12624 /***/ }),
12625
12626 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12627 /*!*******************************************************************!*\
12628 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12629 \*******************************************************************/
12630 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12631
12632 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12633 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12634 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12635 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12636 function _toConsumableArray(arr) {
12637 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12638 }
12639 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12640
12641 /***/ }),
12642
12643 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12644 /*!*************************************************************!*\
12645 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12646 \*************************************************************/
12647 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12648
12649 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12650 function toPrimitive(t, r) {
12651 if ("object" != _typeof(t) || !t) return t;
12652 var e = t[Symbol.toPrimitive];
12653 if (void 0 !== e) {
12654 var i = e.call(t, r || "default");
12655 if ("object" != _typeof(i)) return i;
12656 throw new TypeError("@@toPrimitive must return a primitive value.");
12657 }
12658 return ("string" === r ? String : Number)(t);
12659 }
12660 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12661
12662 /***/ }),
12663
12664 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12665 /*!***************************************************************!*\
12666 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12667 \***************************************************************/
12668 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12669
12670 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12671 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12672 function toPropertyKey(t) {
12673 var i = toPrimitive(t, "string");
12674 return "symbol" == _typeof(i) ? i : String(i);
12675 }
12676 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12677
12678 /***/ }),
12679
12680 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12681 /*!********************************************************!*\
12682 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12683 \********************************************************/
12684 /***/ ((module) => {
12685
12686 function _typeof(o) {
12687 "@babel/helpers - typeof";
12688
12689 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12690 return typeof o;
12691 } : function (o) {
12692 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12693 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12694 }
12695 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12696
12697 /***/ }),
12698
12699 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12700 /*!****************************************************************************!*\
12701 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12702 \****************************************************************************/
12703 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12704
12705 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12706 function _unsupportedIterableToArray(o, minLen) {
12707 if (!o) return;
12708 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12709 var n = Object.prototype.toString.call(o).slice(8, -1);
12710 if (n === "Object" && o.constructor) n = o.constructor.name;
12711 if (n === "Map" || n === "Set") return Array.from(o);
12712 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12713 }
12714 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12715
12716 /***/ }),
12717
12718 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12719 /*!***********************************************************!*\
12720 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12721 \***********************************************************/
12722 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12723
12724 // TODO(Babel 8): Remove this file.
12725
12726 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12727 module.exports = runtime;
12728
12729 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12730 try {
12731 regeneratorRuntime = runtime;
12732 } catch (accidentalStrictMode) {
12733 if (typeof globalThis === "object") {
12734 globalThis.regeneratorRuntime = runtime;
12735 } else {
12736 Function("r", "regeneratorRuntime = r")(runtime);
12737 }
12738 }
12739
12740
12741 /***/ })
12742
12743 /******/ });
12744 /************************************************************************/
12745 /******/ // The module cache
12746 /******/ var __webpack_module_cache__ = {};
12747 /******/
12748 /******/ // The require function
12749 /******/ function __webpack_require__(moduleId) {
12750 /******/ // Check if module is in cache
12751 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12752 /******/ if (cachedModule !== undefined) {
12753 /******/ return cachedModule.exports;
12754 /******/ }
12755 /******/ // Create a new module (and put it into the cache)
12756 /******/ var module = __webpack_module_cache__[moduleId] = {
12757 /******/ // no module.id needed
12758 /******/ // no module.loaded needed
12759 /******/ exports: {}
12760 /******/ };
12761 /******/
12762 /******/ // Execute the module function
12763 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12764 /******/
12765 /******/ // Return the exports of the module
12766 /******/ return module.exports;
12767 /******/ }
12768 /******/
12769 /************************************************************************/
12770 /******/ /* webpack/runtime/compat get default export */
12771 /******/ (() => {
12772 /******/ // getDefaultExport function for compatibility with non-harmony modules
12773 /******/ __webpack_require__.n = (module) => {
12774 /******/ var getter = module && module.__esModule ?
12775 /******/ () => (module['default']) :
12776 /******/ () => (module);
12777 /******/ __webpack_require__.d(getter, { a: getter });
12778 /******/ return getter;
12779 /******/ };
12780 /******/ })();
12781 /******/
12782 /******/ /* webpack/runtime/define property getters */
12783 /******/ (() => {
12784 /******/ // define getter functions for harmony exports
12785 /******/ __webpack_require__.d = (exports, definition) => {
12786 /******/ for(var key in definition) {
12787 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12788 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12789 /******/ }
12790 /******/ }
12791 /******/ };
12792 /******/ })();
12793 /******/
12794 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12795 /******/ (() => {
12796 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12797 /******/ })();
12798 /******/
12799 /******/ /* webpack/runtime/make namespace object */
12800 /******/ (() => {
12801 /******/ // define __esModule on exports
12802 /******/ __webpack_require__.r = (exports) => {
12803 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12804 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12805 /******/ }
12806 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12807 /******/ };
12808 /******/ })();
12809 /******/
12810 /******/ /* webpack/runtime/nonce */
12811 /******/ (() => {
12812 /******/ __webpack_require__.nc = undefined;
12813 /******/ })();
12814 /******/
12815 /************************************************************************/
12816 var __webpack_exports__ = {};
12817 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12818 (() => {
12819 "use strict";
12820 var exports = __webpack_exports__;
12821 /*!*******************************************************!*\
12822 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12823 \*******************************************************/
12824
12825
12826 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12827 Object.defineProperty(exports, "__esModule", ({
12828 value: true
12829 }));
12830 exports["default"] = exports.AI_ATTACHMENT = void 0;
12831 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12832 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12833 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12834 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12835 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12836 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12837 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12838 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12839 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12840 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12841 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12842 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12843 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12844 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"));
12845 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12846 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); }; }
12847 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; } }
12848 var AI_ATTACHMENT = 'ai-attachment';
12849 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12850 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12851 (0, _inherits2.default)(Module, _elementorModules$edi);
12852 var _super = _createSuper(Module);
12853 function Module() {
12854 var _this;
12855 (0, _classCallCheck2.default)(this, Module);
12856 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12857 args[_key] = arguments[_key];
12858 }
12859 _this = _super.call.apply(_super, [this].concat(args));
12860 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12861 var _ElementorAiConfig, _ElementorAiConfig$us;
12862 var saveGroup = groups.find(function (group) {
12863 return 'save' === group.name;
12864 });
12865 if (!saveGroup) {
12866 return groups;
12867 }
12868 var contextMenu = {
12869 name: 'ai',
12870 icon: 'eicon-ai',
12871 isEnabled: function isEnabled() {
12872 return 0 !== currentElement.getContainer().children.length;
12873 },
12874 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
12875 callback: function () {
12876 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
12877 var container, json, attachments;
12878 return _regenerator.default.wrap(function _callee$(_context) {
12879 while (1) switch (_context.prev = _context.next) {
12880 case 0:
12881 container = currentElement.getContainer();
12882 json = container.model.toJSON({
12883 remove: ['default']
12884 });
12885 attachments = [{
12886 type: 'json',
12887 previewHTML: '',
12888 content: json,
12889 label: container.model.get('title'),
12890 source: _attachments.USER_VARIATION_SOURCE
12891 }];
12892 (0, _editorIntegration.renderLayoutApp)({
12893 parentContainer: container.parent,
12894 mode: _config.MODE_VARIATION,
12895 at: container.view._index,
12896 attachments: attachments,
12897 onSelect: function onSelect() {
12898 container.view.$el.hide();
12899 },
12900 onClose: function onClose() {
12901 container.view.$el.show();
12902 },
12903 onInsert: function onInsert(template) {
12904 (0, _editorIntegration.importToEditor)({
12905 parentContainer: container.parent,
12906 at: container.view._index,
12907 template: template,
12908 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
12909 replace: true
12910 });
12911 }
12912 });
12913 case 4:
12914 case "end":
12915 return _context.stop();
12916 }
12917 }, _callee);
12918 }));
12919 function callback() {
12920 return _callback.apply(this, arguments);
12921 }
12922 return callback;
12923 }()
12924 };
12925 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
12926 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>";
12927 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
12928 }
12929
12930 // Add on top of save group actions
12931 saveGroup.actions.unshift(contextMenu);
12932 return groups;
12933 });
12934 return _this;
12935 }
12936 (0, _createClass2.default)(Module, [{
12937 key: "onElementorInit",
12938 value: function onElementorInit() {
12939 var _this2 = this;
12940 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
12941 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
12942 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
12943 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
12944 $e.commands.register('library', 'generate-ai-variation', function (args) {
12945 return _this2.applyTemplate(args);
12946 });
12947 }
12948 }, {
12949 key: "applyTemplate",
12950 value: function applyTemplate(args) {
12951 window.postMessage({
12952 type: 'library/attach:start'
12953 });
12954 $e.components.get('library').downloadTemplate(args, function (data) {
12955 var model = args.model;
12956 window.postMessage({
12957 type: 'library/attach',
12958 json: data.content[0],
12959 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
12960 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
12961 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
12962 }, window.location.origin);
12963 });
12964 }
12965 }, {
12966 key: "registerLibraryActionButtonBehavior",
12967 value: function registerLibraryActionButtonBehavior(behaviors) {
12968 behaviors.applyAiTemplate = {
12969 behaviorClass: _applyTemplateForAiBehavior.default
12970 };
12971 return behaviors;
12972 }
12973 }, {
12974 key: "registerAiLayoutBehavior",
12975 value: function registerAiLayoutBehavior(behaviors) {
12976 behaviors.ai = {
12977 behaviorClass: _aiLayoutBehavior.default
12978 };
12979 return behaviors;
12980 }
12981 }, {
12982 key: "filterLibraryActionButtonTemplate",
12983 value: function filterLibraryActionButtonTemplate(viewId) {
12984 var modalConfig = $e.components.get('library').manager.modalConfig;
12985 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
12986 if (originalCoreViewId !== viewId) {
12987 return viewId;
12988 }
12989 if ($e.routes.current.library !== 'library/templates/blocks') {
12990 return viewId;
12991 }
12992 if (AI_ATTACHMENT === modalConfig.mode) {
12993 viewId = '#tmpl-elementor-template-library-apply-ai-button';
12994 } else {
12995 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
12996 }
12997 return viewId;
12998 }
12999 }]);
13000 return Module;
13001 }(elementorModules.editor.utils.Module);
13002 exports["default"] = Module;
13003 new Module();
13004 })();
13005
13006 /******/ })()
13007 ;
13008 //# sourceMappingURL=ai-layout.js.map