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

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

13,060 lines 582.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.25.0 - 28-10-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 // eslint-disable-next-line no-undef
20 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
21
22 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
23 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
24 /* o */
25 && prop.charCodeAt(1) === 110
26 /* n */
27 && prop.charCodeAt(2) < 91;
28 }
29 /* Z+1 */
30 );
31
32
33
34
35 /***/ }),
36
37 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
38 /*!********************************************************************!*\
39 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
40 \********************************************************************/
41 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
42
43 "use strict";
44 __webpack_require__.r(__webpack_exports__);
45 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
46 /* harmony export */ "default": () => (/* binding */ memoize)
47 /* harmony export */ });
48 function memoize(fn) {
49 var cache = Object.create(null);
50 return function (arg) {
51 if (cache[arg] === undefined) cache[arg] = fn(arg);
52 return cache[arg];
53 };
54 }
55
56
57
58
59 /***/ }),
60
61 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
62 /*!******************************************************************!*\
63 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
64 \******************************************************************/
65 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
66
67 "use strict";
68 __webpack_require__.r(__webpack_exports__);
69 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
70 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
71 /* harmony export */ });
72 function stylis_min (W) {
73 function M(d, c, e, h, a) {
74 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;) {
75 g = e.charCodeAt(l);
76 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
77
78 if (0 === b + n + v + m) {
79 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
80 switch (g) {
81 case 32:
82 case 9:
83 case 59:
84 case 13:
85 case 10:
86 break;
87
88 default:
89 f += e.charAt(l);
90 }
91
92 g = 59;
93 }
94
95 switch (g) {
96 case 123:
97 f = f.trim();
98 q = f.charCodeAt(0);
99 k = 1;
100
101 for (t = ++l; l < B;) {
102 switch (g = e.charCodeAt(l)) {
103 case 123:
104 k++;
105 break;
106
107 case 125:
108 k--;
109 break;
110
111 case 47:
112 switch (g = e.charCodeAt(l + 1)) {
113 case 42:
114 case 47:
115 a: {
116 for (u = l + 1; u < J; ++u) {
117 switch (e.charCodeAt(u)) {
118 case 47:
119 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
120 l = u + 1;
121 break a;
122 }
123
124 break;
125
126 case 10:
127 if (47 === g) {
128 l = u + 1;
129 break a;
130 }
131
132 }
133 }
134
135 l = u;
136 }
137
138 }
139
140 break;
141
142 case 91:
143 g++;
144
145 case 40:
146 g++;
147
148 case 34:
149 case 39:
150 for (; l++ < J && e.charCodeAt(l) !== g;) {
151 }
152
153 }
154
155 if (0 === k) break;
156 l++;
157 }
158
159 k = e.substring(t, l);
160 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
161
162 switch (q) {
163 case 64:
164 0 < r && (f = f.replace(N, ''));
165 g = f.charCodeAt(1);
166
167 switch (g) {
168 case 100:
169 case 109:
170 case 115:
171 case 45:
172 r = c;
173 break;
174
175 default:
176 r = O;
177 }
178
179 k = M(c, r, k, g, a + 1);
180 t = k.length;
181 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 = ''));
182 if (0 < t) switch (g) {
183 case 115:
184 f = f.replace(da, ea);
185
186 case 100:
187 case 109:
188 case 45:
189 k = f + '{' + k + '}';
190 break;
191
192 case 107:
193 f = f.replace(fa, '$1 $2');
194 k = f + '{' + k + '}';
195 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
196 break;
197
198 default:
199 k = f + k, 112 === h && (k = (p += k, ''));
200 } else k = '';
201 break;
202
203 default:
204 k = M(c, X(c, f, I), k, h, a + 1);
205 }
206
207 F += k;
208 k = I = r = u = q = 0;
209 f = '';
210 g = e.charCodeAt(++l);
211 break;
212
213 case 125:
214 case 59:
215 f = (0 < r ? f.replace(N, '') : f).trim();
216 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) {
217 case 0:
218 break;
219
220 case 64:
221 if (105 === g || 99 === g) {
222 G += f + e.charAt(l);
223 break;
224 }
225
226 default:
227 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
228 }
229 I = r = u = q = 0;
230 f = '';
231 g = e.charCodeAt(++l);
232 }
233 }
234
235 switch (g) {
236 case 13:
237 case 10:
238 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
239 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
240 z = 1;
241 D++;
242 break;
243
244 case 59:
245 case 125:
246 if (0 === b + n + v + m) {
247 z++;
248 break;
249 }
250
251 default:
252 z++;
253 y = e.charAt(l);
254
255 switch (g) {
256 case 9:
257 case 32:
258 if (0 === n + m + b) switch (x) {
259 case 44:
260 case 58:
261 case 9:
262 case 32:
263 y = '';
264 break;
265
266 default:
267 32 !== g && (y = ' ');
268 }
269 break;
270
271 case 0:
272 y = '\\0';
273 break;
274
275 case 12:
276 y = '\\f';
277 break;
278
279 case 11:
280 y = '\\v';
281 break;
282
283 case 38:
284 0 === n + b + m && (r = I = 1, y = '\f' + y);
285 break;
286
287 case 108:
288 if (0 === n + b + m + E && 0 < u) switch (l - u) {
289 case 2:
290 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
291
292 case 8:
293 111 === K && (E = K);
294 }
295 break;
296
297 case 58:
298 0 === n + b + m && (u = l);
299 break;
300
301 case 44:
302 0 === b + v + n + m && (r = 1, y += '\r');
303 break;
304
305 case 34:
306 case 39:
307 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
308 break;
309
310 case 91:
311 0 === n + b + v && m++;
312 break;
313
314 case 93:
315 0 === n + b + v && m--;
316 break;
317
318 case 41:
319 0 === n + b + m && v--;
320 break;
321
322 case 40:
323 if (0 === n + b + m) {
324 if (0 === q) switch (2 * x + 3 * K) {
325 case 533:
326 break;
327
328 default:
329 q = 1;
330 }
331 v++;
332 }
333
334 break;
335
336 case 64:
337 0 === b + v + n + m + u + k && (k = 1);
338 break;
339
340 case 42:
341 case 47:
342 if (!(0 < n + m + v)) switch (b) {
343 case 0:
344 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
345 case 235:
346 b = 47;
347 break;
348
349 case 220:
350 t = l, b = 42;
351 }
352
353 break;
354
355 case 42:
356 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
357 }
358 }
359
360 0 === b && (f += y);
361 }
362
363 K = x;
364 x = g;
365 l++;
366 }
367
368 t = p.length;
369
370 if (0 < t) {
371 r = c;
372 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;
373 p = r.join(',') + '{' + p + '}';
374
375 if (0 !== w * E) {
376 2 !== w || L(p, 2) || (E = 0);
377
378 switch (E) {
379 case 111:
380 p = p.replace(ha, ':-moz-$1') + p;
381 break;
382
383 case 112:
384 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
385 }
386
387 E = 0;
388 }
389 }
390
391 return G + p + F;
392 }
393
394 function X(d, c, e) {
395 var h = c.trim().split(ia);
396 c = h;
397 var a = h.length,
398 m = d.length;
399
400 switch (m) {
401 case 0:
402 case 1:
403 var b = 0;
404
405 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
406 c[b] = Z(d, c[b], e).trim();
407 }
408
409 break;
410
411 default:
412 var v = b = 0;
413
414 for (c = []; b < a; ++b) {
415 for (var n = 0; n < m; ++n) {
416 c[v++] = Z(d[n] + ' ', h[b], e).trim();
417 }
418 }
419
420 }
421
422 return c;
423 }
424
425 function Z(d, c, e) {
426 var h = c.charCodeAt(0);
427 33 > h && (h = (c = c.trim()).charCodeAt(0));
428
429 switch (h) {
430 case 38:
431 return c.replace(F, '$1' + d.trim());
432
433 case 58:
434 return d.trim() + c.replace(F, '$1' + d.trim());
435
436 default:
437 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
438 }
439
440 return d + c;
441 }
442
443 function P(d, c, e, h) {
444 var a = d + ';',
445 m = 2 * c + 3 * e + 4 * h;
446
447 if (944 === m) {
448 d = a.indexOf(':', 9) + 1;
449 var b = a.substring(d, a.length - 1).trim();
450 b = a.substring(0, d).trim() + b + ';';
451 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
452 }
453
454 if (0 === w || 2 === w && !L(a, 1)) return a;
455
456 switch (m) {
457 case 1015:
458 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
459
460 case 951:
461 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
462
463 case 963:
464 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
465
466 case 1009:
467 if (100 !== a.charCodeAt(4)) break;
468
469 case 969:
470 case 942:
471 return '-webkit-' + a + a;
472
473 case 978:
474 return '-webkit-' + a + '-moz-' + a + a;
475
476 case 1019:
477 case 983:
478 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
479
480 case 883:
481 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
482 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
483 break;
484
485 case 932:
486 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
487 case 103:
488 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
489
490 case 115:
491 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
492
493 case 98:
494 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
495 }
496 return '-webkit-' + a + '-ms-' + a + a;
497
498 case 964:
499 return '-webkit-' + a + '-ms-flex-' + a + a;
500
501 case 1023:
502 if (99 !== a.charCodeAt(8)) break;
503 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
504 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
505
506 case 1005:
507 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
508
509 case 1e3:
510 b = a.substring(13).trim();
511 c = b.indexOf('-') + 1;
512
513 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
514 case 226:
515 b = a.replace(G, 'tb');
516 break;
517
518 case 232:
519 b = a.replace(G, 'tb-rl');
520 break;
521
522 case 220:
523 b = a.replace(G, 'lr');
524 break;
525
526 default:
527 return a;
528 }
529
530 return '-webkit-' + a + '-ms-' + b + a;
531
532 case 1017:
533 if (-1 === a.indexOf('sticky', 9)) break;
534
535 case 975:
536 c = (a = d).length - 10;
537 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
538
539 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
540 case 203:
541 if (111 > b.charCodeAt(8)) break;
542
543 case 115:
544 a = a.replace(b, '-webkit-' + b) + ';' + a;
545 break;
546
547 case 207:
548 case 102:
549 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
550 }
551
552 return a + ';';
553
554 case 938:
555 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
556 case 105:
557 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
558
559 case 115:
560 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
561
562 default:
563 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
564 }
565 break;
566
567 case 973:
568 case 989:
569 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
570
571 case 931:
572 case 953:
573 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;
574 break;
575
576 case 962:
577 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;
578 }
579
580 return a;
581 }
582
583 function L(d, c) {
584 var e = d.indexOf(1 === c ? ':' : '{'),
585 h = d.substring(0, 3 !== c ? e : 10);
586 e = d.substring(e + 1, d.length - 1);
587 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
588 }
589
590 function ea(d, c) {
591 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
592 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
593 }
594
595 function H(d, c, e, h, a, m, b, v, n, q) {
596 for (var g = 0, x = c, w; g < A; ++g) {
597 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
598 case void 0:
599 case !1:
600 case !0:
601 case null:
602 break;
603
604 default:
605 x = w;
606 }
607 }
608
609 if (x !== c) return x;
610 }
611
612 function T(d) {
613 switch (d) {
614 case void 0:
615 case null:
616 A = S.length = 0;
617 break;
618
619 default:
620 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
621 T(d[c]);
622 } else Y = !!d | 0;
623 }
624
625 return T;
626 }
627
628 function U(d) {
629 d = d.prefix;
630 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
631 return U;
632 }
633
634 function B(d, c) {
635 var e = d;
636 33 > e.charCodeAt(0) && (e = e.trim());
637 V = e;
638 e = [V];
639
640 if (0 < A) {
641 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
642 void 0 !== h && 'string' === typeof h && (c = h);
643 }
644
645 var a = M(O, e, c, 0, 0);
646 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
647 V = '';
648 E = 0;
649 z = D = 1;
650 return a;
651 }
652
653 var ca = /^\0+/g,
654 N = /[\0\r\f]/g,
655 aa = /: */g,
656 ka = /zoo|gra/,
657 ma = /([,: ])(transform)/g,
658 ia = /,\r+?/g,
659 F = /([\t\r\n ])*\f?&/g,
660 fa = /@(k\w+)\s*(\S*)\s*/,
661 Q = /::(place)/g,
662 ha = /:(read-only)/g,
663 G = /[svh]\w+-[tblr]{2}/,
664 da = /\(\s*(.*)\s*\)/g,
665 oa = /([\s\S]*?);/g,
666 ba = /-self|flex-/g,
667 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
668 la = /stretch|:\s*\w+\-(?:conte|avail)/,
669 ja = /([^-])(image-set\()/,
670 z = 1,
671 D = 1,
672 E = 0,
673 w = 1,
674 O = [],
675 S = [],
676 A = 0,
677 R = null,
678 Y = 0,
679 V = '';
680 B.use = T;
681 B.set = U;
682 void 0 !== W && U(W);
683 return B;
684 }
685
686 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
687
688
689 /***/ }),
690
691 /***/ "../assets/dev/js/utils/react.js":
692 /*!***************************************!*\
693 !*** ../assets/dev/js/utils/react.js ***!
694 \***************************************/
695 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
696
697 "use strict";
698
699
700 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
701 Object.defineProperty(exports, "__esModule", ({
702 value: true
703 }));
704 exports["default"] = void 0;
705 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
706 var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom"));
707 var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
708 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); }
709 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; }
710 /**
711 * Support conditional rendering of a React App to the DOM, based on the React version.
712 * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
713 *
714 * @param { React.ReactElement } app The app to render.
715 * @param { HTMLElement } domElement The DOM element to render the app into.
716 *
717 * @return {{ unmount: () => void }} The unmount function.
718 */
719 function render(app, domElement) {
720 var unmountFunction;
721 try {
722 var root = (0, _client.createRoot)(domElement);
723 root.render(app);
724 unmountFunction = function unmountFunction() {
725 root.unmount();
726 };
727 } catch (e) {
728 // eslint-disable-next-line react/no-deprecated
729 ReactDOM.render(app, domElement);
730 unmountFunction = function unmountFunction() {
731 // eslint-disable-next-line react/no-deprecated
732 ReactDOM.unmountComponentAtNode(domElement);
733 };
734 }
735 return {
736 unmount: unmountFunction
737 };
738 }
739 var _default = {
740 render: render
741 };
742 exports["default"] = _default;
743
744 /***/ }),
745
746 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
747 /*!************************************************************!*\
748 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
749 \************************************************************/
750 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
751
752 "use strict";
753
754
755 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
756 Object.defineProperty(exports, "__esModule", ({
757 value: true
758 }));
759 exports["default"] = void 0;
760 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
761 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
762 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
763 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
764 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
765 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
766 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
767 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
768 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
769 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
770 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); }; }
771 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; } }
772 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
773 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
774 var _super = _createSuper(AiLayoutBehavior);
775 function AiLayoutBehavior() {
776 var _this;
777 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
778 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
779 args[_key] = arguments[_key];
780 }
781 _this = _super.call.apply(_super, [this].concat(args));
782 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
783 return _this;
784 }
785 (0, _createClass2.default)(AiLayoutBehavior, [{
786 key: "ui",
787 value: function ui() {
788 return {
789 aiButton: '.e-ai-layout-button',
790 addTemplateButton: '.elementor-add-template-button'
791 };
792 }
793 }, {
794 key: "events",
795 value: function events() {
796 return {
797 'click @ui.aiButton': 'onAiButtonClick'
798 };
799 }
800 }, {
801 key: "onAiButtonClick",
802 value: function onAiButtonClick(e) {
803 e.stopPropagation();
804 window.elementorAiCurrentContext = this.getOption('context');
805 (0, _editorIntegration.renderLayoutApp)({
806 parentContainer: elementor.getPreviewContainer(),
807 mode: _config.MODE_LAYOUT,
808 at: this.view.getOption('at'),
809 onInsert: this.onInsert.bind(this),
810 onRenderApp: function onRenderApp(args) {
811 args.previewContainer.init();
812 },
813 onGenerate: function onGenerate(args) {
814 args.previewContainer.reset();
815 }
816 });
817 }
818 }, {
819 key: "hideDropArea",
820 value: function hideDropArea() {
821 this.view.onCloseButtonClick();
822 }
823 }, {
824 key: "onInsert",
825 value: function onInsert(template) {
826 this.hideDropArea();
827 (0, _editorIntegration.importToEditor)({
828 parentContainer: elementor.getPreviewContainer(),
829 at: this.view.getOption('at'),
830 template: template,
831 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
832 });
833 }
834 }, {
835 key: "onRender",
836 value: function onRender() {
837 var $button = jQuery('<div>', {
838 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
839 title: (0, _i18n.__)('Build with AI', 'elementor'),
840 role: 'button'
841 });
842 $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");
843 this.ui.addTemplateButton.after($button);
844 }
845 }]);
846 return AiLayoutBehavior;
847 }(Marionette.Behavior);
848 exports["default"] = AiLayoutBehavior;
849
850 /***/ }),
851
852 /***/ "../modules/ai/assets/js/editor/api/index.js":
853 /*!***************************************************!*\
854 !*** ../modules/ai/assets/js/editor/api/index.js ***!
855 \***************************************************/
856 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
857
858 "use strict";
859
860
861 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
862 Object.defineProperty(exports, "__esModule", ({
863 value: true
864 }));
865 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteFrontendConfig = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageMaskCleanup = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getFeaturedImage = exports.getExcerpt = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
866 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
867 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; }
868 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; }
869 var request = function request(endpoint) {
870 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
871 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
872 var signal = arguments.length > 3 ? arguments[3] : undefined;
873 if (Object.keys(data).length) {
874 if (window.elementorAiCurrentContext) {
875 data.context = window.elementorAiCurrentContext;
876 } else {
877 data.context = window.elementorWpAiCurrentContext;
878 }
879 }
880 return new Promise(function (resolve, reject) {
881 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
882 success: resolve,
883 error: reject,
884 data: data
885 }, immediately);
886 if (signal && ajaxData.jqXhr) {
887 signal.addEventListener('abort', ajaxData.jqXhr.abort);
888 }
889 });
890 };
891 var getUserInformation = function getUserInformation(immediately) {
892 return request('ai_get_user_information', undefined, immediately);
893 };
894 exports.getUserInformation = getUserInformation;
895 var getRemoteConfig = function getRemoteConfig() {
896 return request('ai_get_remote_config');
897 };
898 exports.getRemoteConfig = getRemoteConfig;
899 var getRemoteFrontendConfig = function getRemoteFrontendConfig(payload, immediately) {
900 return request('ai_get_remote_frontend_config', {
901 payload: payload
902 }, immediately);
903 };
904 exports.getRemoteFrontendConfig = getRemoteFrontendConfig;
905 var getCompletionText = function getCompletionText(payload) {
906 return request('ai_get_completion_text', {
907 payload: payload
908 });
909 };
910 exports.getCompletionText = getCompletionText;
911 var getExcerpt = function getExcerpt(payload) {
912 return request('ai_get_excerpt', {
913 payload: payload
914 });
915 };
916 exports.getExcerpt = getExcerpt;
917 var getFeaturedImage = function getFeaturedImage(payload) {
918 return request('ai_get_featured_image', {
919 payload: payload
920 });
921 };
922 exports.getFeaturedImage = getFeaturedImage;
923 var getEditText = function getEditText(payload) {
924 return request('ai_get_edit_text', {
925 payload: payload
926 });
927 };
928 exports.getEditText = getEditText;
929 var getCustomCode = function getCustomCode(payload) {
930 return request('ai_get_custom_code', {
931 payload: payload
932 });
933 };
934 exports.getCustomCode = getCustomCode;
935 var getCustomCSS = function getCustomCSS(payload) {
936 return request('ai_get_custom_css', {
937 payload: payload
938 });
939 };
940 exports.getCustomCSS = getCustomCSS;
941 var setGetStarted = function setGetStarted() {
942 return request('ai_set_get_started');
943 };
944 exports.setGetStarted = setGetStarted;
945 var setStatusFeedback = function setStatusFeedback(responseId) {
946 return request('ai_set_status_feedback', {
947 response_id: responseId
948 });
949 };
950 exports.setStatusFeedback = setStatusFeedback;
951 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
952 return request('ai_get_text_to_image', {
953 payload: payload
954 });
955 };
956 exports.getTextToImageGeneration = getTextToImageGeneration;
957 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
958 return request('ai_get_image_to_image', {
959 payload: payload
960 });
961 };
962 exports.getImageToImageGeneration = getImageToImageGeneration;
963 var getImageToImageMaskCleanup = function getImageToImageMaskCleanup(payload) {
964 return request('ai_get_image_to_image_mask_cleanup', {
965 payload: payload
966 });
967 };
968 exports.getImageToImageMaskCleanup = getImageToImageMaskCleanup;
969 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
970 return request('ai_get_image_to_image_mask', {
971 payload: payload
972 });
973 };
974 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
975 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
976 return request('ai_get_image_to_image_outpainting', {
977 payload: payload
978 });
979 };
980 exports.getImageToImageOutPainting = getImageToImageOutPainting;
981 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
982 return request('ai_get_image_to_image_upscale', {
983 payload: payload
984 });
985 };
986 exports.getImageToImageUpscale = getImageToImageUpscale;
987 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
988 return request('ai_get_image_to_image_remove_background', {
989 payload: payload
990 });
991 };
992 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
993 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
994 return request('ai_get_image_to_image_replace_background', {
995 payload: payload
996 });
997 };
998 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
999 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
1000 return request('ai_get_image_to_image_remove_text', {
1001 image: image
1002 });
1003 };
1004 exports.getImageToImageRemoveText = getImageToImageRemoveText;
1005 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
1006 return request('ai_get_image_prompt_enhancer', {
1007 prompt: prompt
1008 });
1009 };
1010 exports.getImagePromptEnhanced = getImagePromptEnhanced;
1011 var uploadImage = function uploadImage(image) {
1012 return request('ai_upload_image', _objectSpread({}, image));
1013 };
1014
1015 /**
1016 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
1017 * @typedef {Object} requestBody
1018 * @property {string} prompt - Prompt to generate the layout from.
1019 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
1020 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
1021 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
1022 */
1023
1024 /**
1025 * @param {requestBody} requestBody
1026 * @param {AbortSignal} [signal]
1027 */
1028 exports.uploadImage = uploadImage;
1029 var generateLayout = function generateLayout(requestBody, signal) {
1030 return request('ai_generate_layout', requestBody, true, signal);
1031 };
1032 exports.generateLayout = generateLayout;
1033 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
1034 return request('ai_get_layout_prompt_enhancer', {
1035 prompt: prompt,
1036 enhance_type: enhanceType
1037 });
1038 };
1039 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
1040 var getHistory = function getHistory(type, page, limit) {
1041 return request('ai_get_history', {
1042 type: type,
1043 page: page,
1044 limit: limit
1045 });
1046 };
1047 exports.getHistory = getHistory;
1048 var deleteHistoryItem = function deleteHistoryItem(id) {
1049 return request('ai_delete_history_item', {
1050 id: id
1051 });
1052 };
1053 exports.deleteHistoryItem = deleteHistoryItem;
1054 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
1055 return request('ai_toggle_favorite_history_item', {
1056 id: id
1057 });
1058 };
1059 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
1060
1061 /***/ }),
1062
1063 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
1064 /*!*****************************************************************!*\
1065 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
1066 \*****************************************************************/
1067 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1068
1069 "use strict";
1070
1071
1072 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1073 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1074 Object.defineProperty(exports, "__esModule", ({
1075 value: true
1076 }));
1077 exports.AlertDialog = void 0;
1078 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1079 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1080 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1081 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1082 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1083 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); }
1084 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; }
1085 var AlertDialog = function AlertDialog(props) {
1086 var _useState = (0, _react.useState)(true),
1087 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1088 isShown = _useState2[0],
1089 setIsShown = _useState2[1];
1090 if (!isShown) {
1091 return null;
1092 }
1093 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1094 open: true,
1095 maxWidth: "lg"
1096 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1097 sx: {
1098 padding: 0
1099 }
1100 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1101 sx: {
1102 textAlign: 'center',
1103 padding: 3
1104 }
1105 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1106 alignItems: "center",
1107 spacing: 2,
1108 marginBottom: 2
1109 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1110 variant: "contained",
1111 type: "button",
1112 color: "primary",
1113 onClick: function onClick() {
1114 var _props$onClose;
1115 setIsShown(false);
1116 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1117 }
1118 }, (0, _i18n.__)('Close', 'elementor')))));
1119 };
1120 exports.AlertDialog = AlertDialog;
1121 AlertDialog.propTypes = {
1122 message: _propTypes.default.string.isRequired,
1123 onClose: _propTypes.default.func
1124 };
1125
1126 /***/ }),
1127
1128 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1129 /*!******************************************************************!*\
1130 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1131 \******************************************************************/
1132 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1133
1134 "use strict";
1135
1136
1137 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1138 Object.defineProperty(exports, "__esModule", ({
1139 value: true
1140 }));
1141 exports["default"] = void 0;
1142 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1143 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1144 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1145 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1146 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1147 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1148 var ElementorLogo = function ElementorLogo(props) {
1149 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1150 viewBox: "0 0 32 32"
1151 }, props), /*#__PURE__*/_react.default.createElement("path", {
1152 fillRule: "evenodd",
1153 clipRule: "evenodd",
1154 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"
1155 }));
1156 };
1157 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1158 var theme = _ref.theme;
1159 return {
1160 width: theme.spacing(3),
1161 height: theme.spacing(3),
1162 '& path': {
1163 fill: theme.palette.text.primary
1164 }
1165 };
1166 });
1167 var DialogHeader = function DialogHeader(props) {
1168 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1169 sx: {
1170 fontWeight: 'normal'
1171 },
1172 color: "transparent",
1173 position: "relative"
1174 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1175 variant: "dense"
1176 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1177 sx: {
1178 mr: 1
1179 }
1180 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1181 component: "span",
1182 variant: "subtitle2",
1183 sx: {
1184 fontWeight: 'bold',
1185 textTransform: 'uppercase'
1186 }
1187 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1188 label: (0, _i18n.__)('Beta', 'elementor'),
1189 color: "default",
1190 size: "small",
1191 sx: {
1192 ml: 1
1193 }
1194 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1195 direction: "row",
1196 spacing: 1,
1197 alignItems: "center",
1198 sx: {
1199 ml: 'auto'
1200 }
1201 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1202 size: "small",
1203 "aria-label": "close",
1204 onClick: props.onClose,
1205 sx: {
1206 '&.MuiButtonBase-root': {
1207 mr: -1
1208 }
1209 }
1210 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1211 };
1212 DialogHeader.propTypes = {
1213 onClose: _propTypes.default.func.isRequired,
1214 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1215 };
1216 var _default = DialogHeader;
1217 exports["default"] = _default;
1218
1219 /***/ }),
1220
1221 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1222 /*!***********************************************************!*\
1223 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1224 \***********************************************************/
1225 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1226
1227 "use strict";
1228
1229
1230 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1231 Object.defineProperty(exports, "__esModule", ({
1232 value: true
1233 }));
1234 exports["default"] = void 0;
1235 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1236 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1237 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1238 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1239 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1240 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1241 var _excluded = ["sx", "BoxProps"];
1242 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; }
1243 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; }
1244 var Loader = function Loader(_ref) {
1245 var _ref$sx = _ref.sx,
1246 sx = _ref$sx === void 0 ? {} : _ref$sx,
1247 _ref$BoxProps = _ref.BoxProps,
1248 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1249 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1250 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1251 width: "100%",
1252 display: "flex",
1253 alignItems: "center"
1254 }, BoxProps, {
1255 sx: _objectSpread({
1256 px: 1.5,
1257 minHeight: function minHeight(theme) {
1258 return theme.spacing(5);
1259 }
1260 }, BoxProps.sx || {})
1261 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1262 color: "secondary"
1263 }, props, {
1264 sx: _objectSpread({
1265 width: '100%'
1266 }, sx)
1267 })));
1268 };
1269 Loader.propTypes = {
1270 sx: _propTypes.default.object,
1271 BoxProps: _propTypes.default.object
1272 };
1273 var _default = Loader;
1274 exports["default"] = _default;
1275
1276 /***/ }),
1277
1278 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1279 /*!******************************************************************!*\
1280 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1281 \******************************************************************/
1282 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1283
1284 "use strict";
1285
1286
1287 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1288 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1289 Object.defineProperty(exports, "__esModule", ({
1290 value: true
1291 }));
1292 exports["default"] = void 0;
1293 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1294 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1295 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1296 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1297 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1298 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1299 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1300 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1301 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); }
1302 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; }
1303 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; }
1304 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; }
1305 var DraggablePaper = function DraggablePaper(props) {
1306 var _useState = (0, _react.useState)({
1307 x: 0,
1308 y: 0
1309 }),
1310 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1311 position = _useState2[0],
1312 setPosition = _useState2[1];
1313 var paperRef = (0, _react.useRef)(null);
1314 var timeout = (0, _react.useRef)(null);
1315 var onDrag = function onDrag(_e, _ref) {
1316 var x = _ref.x,
1317 y = _ref.y;
1318 return setPosition({
1319 x: x,
1320 y: y
1321 });
1322 };
1323 var handlePositionBoundaries = function handlePositionBoundaries() {
1324 clearTimeout(timeout.current);
1325
1326 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1327 timeout.current = setTimeout(function () {
1328 var _paperRef$current;
1329 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1330 if (dialogTop < 0) {
1331 setPosition(function (prev) {
1332 return _objectSpread(_objectSpread({}, prev), {}, {
1333 y: prev.y - dialogTop
1334 });
1335 });
1336 }
1337 }, 50);
1338 };
1339 (0, _react.useEffect)(function () {
1340 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1341 resizeObserver.observe(paperRef.current);
1342 return function () {
1343 resizeObserver.disconnect();
1344 };
1345 }, []);
1346 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1347 position: position,
1348 onDrag: onDrag,
1349 handle: ".MuiAppBar-root",
1350 cancel: '[class*="MuiDialogContent-root"]',
1351 bounds: "parent"
1352 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1353 ref: paperRef
1354 })));
1355 };
1356 var PromptDialog = function PromptDialog(props) {
1357 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1358 scroll: "paper",
1359 open: true,
1360 fullWidth: true,
1361 hideBackdrop: true,
1362 PaperComponent: DraggablePaper,
1363 disableScrollLock: true,
1364 sx: {
1365 '& .MuiDialog-container': {
1366 alignItems: 'flex-start',
1367 mt: '18vh'
1368 }
1369 },
1370 PaperProps: {
1371 sx: {
1372 m: 0,
1373 maxHeight: '76vh'
1374 }
1375 }
1376 }, props), props.children);
1377 };
1378 PromptDialog.propTypes = {
1379 onClose: _propTypes.default.func.isRequired,
1380 children: _propTypes.default.node,
1381 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1382 };
1383 PromptDialog.Header = _dialogHeader.default;
1384 PromptDialog.Content = _ui.DialogContent;
1385 var _default = PromptDialog;
1386 exports["default"] = _default;
1387
1388 /***/ }),
1389
1390 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1391 /*!*************************************************************************!*\
1392 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1393 \*************************************************************************/
1394 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1395
1396 "use strict";
1397 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1398
1399
1400 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1401 Object.defineProperty(exports, "__esModule", ({
1402 value: true
1403 }));
1404 exports["default"] = void 0;
1405 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1406 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1407 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1408 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1409 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1410 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1411 var _excluded = ["error", "onRetry", "actionPosition"];
1412 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1413 var error = _ref.error,
1414 _ref$onRetry = _ref.onRetry,
1415 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1416 _ref$actionPosition = _ref.actionPosition,
1417 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1418 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1419 function getQuotaReachedTrailMessage(featureName) {
1420 if (!featureName) {
1421 return {
1422 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1423 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1424 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1425 buttonAction: function buttonAction() {
1426 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1427 }
1428 };
1429 }
1430 return {
1431 // Translators: %s is the feature name.
1432 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1433 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1434 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1435 buttonAction: function buttonAction() {
1436 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1437 }
1438 };
1439 }
1440 function getErrorMessage() {
1441 var _error$extra_data;
1442 var errMsg = error.message || error;
1443 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1444 var messages = {
1445 default: {
1446 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1447 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1448 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1449 buttonAction: onRetry
1450 },
1451 service_outage_internal: {
1452 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1453 description: (0, _i18n.__)('Wait a moment and give it another go.', 'elementor'),
1454 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1455 buttonAction: onRetry
1456 },
1457 invalid_connect_data: {
1458 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1459 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1460 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1461 target: "_blank",
1462 rel: "noreferrer"
1463 }, (0, _i18n.__)('Show me how', 'elementor'))),
1464 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1465 buttonAction: function buttonAction() {
1466 return window.open(window.ElementorAiConfig.connect_url);
1467 }
1468 },
1469 not_connected: {
1470 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1471 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1472 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1473 buttonAction: function buttonAction() {
1474 return window.open(window.ElementorAiConfig.connect_url);
1475 }
1476 },
1477 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1478 quota_reached_subscription: {
1479 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Looks like you\'re out of credits.', 'elementor')),
1480 description: (0, _i18n.__)('Ready to take it to the next level?', 'elementor'),
1481 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1482 buttonAction: function buttonAction() {
1483 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1484 }
1485 },
1486 rate_limit_network: {
1487 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1488 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1489 },
1490 invalid_prompts: {
1491 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1492 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1493 },
1494 service_unavailable: {
1495 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1496 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1497 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1498 buttonAction: onRetry
1499 },
1500 request_timeout_error: {
1501 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1502 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1503 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1504 buttonAction: onRetry
1505 },
1506 invalid_token: {
1507 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Try again', 'elementor')),
1508 description: (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'),
1509 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1510 buttonAction: onRetry
1511 },
1512 file_too_large: {
1513 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('The file is too large.', 'elementor')),
1514 description: (0, _i18n.__)('Please upload a file that is less than 4MB.', 'elementor')
1515 }
1516 };
1517 return messages[errMsg] || messages.default;
1518 }
1519 var message = getErrorMessage();
1520 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1521 color: "inherit",
1522 size: "small",
1523 variant: "outlined",
1524 onClick: message.buttonAction
1525 }, message.buttonText);
1526 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1527 severity: message.severity || 'error',
1528 action: 'default' === actionPosition && action
1529 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1530 sx: {
1531 mt: 1
1532 }
1533 }, action));
1534 };
1535 PromptErrorMessage.propTypes = {
1536 error: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
1537 onRetry: _propTypes.default.func,
1538 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1539 };
1540 var _default = PromptErrorMessage;
1541 exports["default"] = _default;
1542
1543 /***/ }),
1544
1545 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1546 /*!************************************************************************!*\
1547 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1548 \************************************************************************/
1549 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1550
1551 "use strict";
1552
1553
1554 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1555 Object.defineProperty(exports, "__esModule", ({
1556 value: true
1557 }));
1558 exports["default"] = void 0;
1559 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1560 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1561 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1562 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1563 var PromptLibraryLink = function PromptLibraryLink(props) {
1564 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1565 variant: "body2",
1566 color: "text.secondary"
1567 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1568 href: props.libraryLink,
1569 className: "elementor-clickable",
1570 target: "_blank"
1571 }, (0, _i18n.__)('prompt library')));
1572 };
1573 PromptLibraryLink.propTypes = {
1574 libraryLink: _propTypes.default.string
1575 };
1576 var _default = PromptLibraryLink;
1577 exports["default"] = _default;
1578
1579 /***/ }),
1580
1581 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1582 /*!*****************************************************************!*\
1583 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1584 \*****************************************************************/
1585 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1586
1587 "use strict";
1588
1589
1590 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1591 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1592 Object.defineProperty(exports, "__esModule", ({
1593 value: true
1594 }));
1595 exports["default"] = void 0;
1596 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1597 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1598 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1599 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1600 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1601 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1602 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); }
1603 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; }
1604 var popoverId = 'e-ai-upgrade-popover';
1605 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1606 var theme = _ref.theme;
1607 return {
1608 position: 'relative',
1609 '[data-popper-placement="top"] &': {
1610 marginBottom: theme.spacing(2.5)
1611 },
1612 '[data-popper-placement="bottom"] &': {
1613 marginTop: theme.spacing(2.5)
1614 },
1615 padding: theme.spacing(3),
1616 boxShadow: theme.shadows[4],
1617 zIndex: '9999'
1618 };
1619 });
1620 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1621 var theme = _ref2.theme;
1622 return {
1623 width: theme.spacing(5),
1624 height: theme.spacing(2.5),
1625 position: 'absolute',
1626 overflow: 'hidden',
1627 // Override Popper inline styles.
1628 left: '50% !important',
1629 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1630 '[data-popper-placement="top"] &': {
1631 top: '100%'
1632 },
1633 '[data-popper-placement="bottom"] &': {
1634 '--rotate': '180deg',
1635 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1636 },
1637 '&::after': {
1638 backgroundColor: theme.palette.background.paper,
1639 content: '""',
1640 display: 'block',
1641 position: 'absolute',
1642 width: theme.spacing(2.5),
1643 height: theme.spacing(2.5),
1644 top: 0,
1645 left: '50%',
1646 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1647 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1648 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1649 }
1650 };
1651 });
1652 var upgradeBullets = [(0, _i18n.__)('Get spot-on suggestions from AI Copilot and AI Context with appropriate designs, layouts, and content for your business.', 'elementor'), (0, _i18n.__)('Generate professional texts about any topic, in any tone.', 'elementor'), (0, _i18n.__)('Effortlessly create or enhance stunning images and bring your ideas to life.', 'elementor'), (0, _i18n.__)('Unleash infinite possibilities with the custom code generator.', 'elementor'), (0, _i18n.__)('Access 30-days of AI History with the AI Starter plan and 90-days with the Power plan.', 'elementor')];
1653 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1654 return {
1655 '& .MuiChip-label': {
1656 lineHeight: 1.5
1657 },
1658 '& .MuiSvgIcon-root.MuiChip-icon': {
1659 fontSize: '1.25rem'
1660 }
1661 };
1662 });
1663 var UpgradeChip = function UpgradeChip(_ref3) {
1664 var _ref3$hasSubscription = _ref3.hasSubscription,
1665 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1666 _ref3$usagePercentage = _ref3.usagePercentage,
1667 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1668 var _useState = (0, _react.useState)(false),
1669 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1670 isPopoverOpen = _useState2[0],
1671 setIsPopoverOpen = _useState2[1];
1672 var anchorEl = (0, _react.useRef)(null);
1673 var arrowEl = (0, _react.useRef)(null);
1674 var showPopover = function showPopover() {
1675 return setIsPopoverOpen(true);
1676 };
1677 var hidePopover = function hidePopover() {
1678 return setIsPopoverOpen(false);
1679 };
1680 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1681 if (hasSubscription) {
1682 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1683 }
1684 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1685 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1686 component: "span",
1687 "aria-owns": isPopoverOpen ? popoverId : undefined,
1688 "aria-haspopup": "true",
1689 onMouseEnter: showPopover,
1690 onMouseLeave: hidePopover,
1691 ref: anchorEl,
1692 display: "flex",
1693 alignItems: "center"
1694 }, /*#__PURE__*/_react.default.createElement(Chip, {
1695 color: "promotion",
1696 label: (0, _i18n.__)('Upgrade', 'elementor'),
1697 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1698 size: "small"
1699 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1700 open: isPopoverOpen,
1701 anchorEl: anchorEl.current,
1702 sx: {
1703 zIndex: '170001',
1704 maxWidth: 300
1705 },
1706 modifiers: [{
1707 name: 'arrow',
1708 enabled: true,
1709 options: {
1710 element: arrowEl.current
1711 }
1712 }]
1713 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1714 ref: arrowEl
1715 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1716 variant: "h5",
1717 color: "text.primary"
1718 }, (0, _i18n.__)('Unlimited access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1719 sx: {
1720 mb: 1
1721 }
1722 }, upgradeBullets.map(function (bullet, index) {
1723 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1724 key: index,
1725 disableGutters: true,
1726 sx: {
1727 alignItems: 'flex-start'
1728 }
1729 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1730 sx: {
1731 m: 0
1732 }
1733 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1734 variant: "body2"
1735 }, bullet)));
1736 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1737 variant: "contained",
1738 color: "promotion",
1739 size: "small",
1740 href: actionUrl,
1741 target: "_blank",
1742 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1743 sx: {
1744 '&:hover': {
1745 color: 'promotion.contrastText'
1746 }
1747 }
1748 }, actionLabel))));
1749 };
1750 var _default = UpgradeChip;
1751 exports["default"] = _default;
1752 UpgradeChip.propTypes = {
1753 hasSubscription: _propTypes.default.bool,
1754 usagePercentage: _propTypes.default.number
1755 };
1756
1757 /***/ }),
1758
1759 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
1760 /*!**************************************************************************!*\
1761 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
1762 \**************************************************************************/
1763 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1764
1765 "use strict";
1766
1767
1768 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1769 Object.defineProperty(exports, "__esModule", ({
1770 value: true
1771 }));
1772 exports["default"] = exports.VoicePromotionAlert = void 0;
1773 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1774 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1775 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1776 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
1777 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
1778 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1779 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1780 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; }
1781 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; }
1782 var VoicePromotionAlert = function VoicePromotionAlert(props) {
1783 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
1784 isViewed = _useIntroduction.isViewed,
1785 markAsViewed = _useIntroduction.markAsViewed;
1786 if (isViewed) {
1787 return null;
1788 }
1789 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1790 sx: _objectSpread({
1791 mt: 2
1792 }, props.sx),
1793 alignItems: "top"
1794 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
1795 severity: "info",
1796 variant: "standard",
1797 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
1798 sx: {
1799 alignSelf: 'flex-start'
1800 }
1801 }),
1802 onClose: markAsViewed
1803 }, (0, _i18n.__)('Get improved results from AI by adding personal context.', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
1804 onClick: function onClick() {
1805 return $e.route('panel/global/menu');
1806 },
1807 className: "elementor-clickable",
1808 style: {
1809 textDecoration: 'none'
1810 },
1811 color: "info.main",
1812 href: "#"
1813 }, (0, _i18n.__)('Let’s do it', 'elementor'))));
1814 };
1815 exports.VoicePromotionAlert = VoicePromotionAlert;
1816 VoicePromotionAlert.propTypes = {
1817 sx: _propTypes.default.object,
1818 introductionKey: _propTypes.default.string
1819 };
1820 var _default = VoicePromotionAlert;
1821 exports["default"] = _default;
1822
1823 /***/ }),
1824
1825 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1826 /*!******************************************************************!*\
1827 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1828 \******************************************************************/
1829 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1830
1831 "use strict";
1832
1833
1834 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1835 Object.defineProperty(exports, "__esModule", ({
1836 value: true
1837 }));
1838 exports["default"] = void 0;
1839 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1840 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1841 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1842 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1843 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1844 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1845 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1846 var _excluded = ["sx"];
1847 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; }
1848 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; }
1849 var WizardDialog = function WizardDialog(props) {
1850 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1851 open: true,
1852 onClose: props.onClose,
1853 fullWidth: true,
1854 hideBackdrop: true,
1855 maxWidth: "lg",
1856 PaperProps: {
1857 sx: {
1858 height: '88vh'
1859 }
1860 },
1861 sx: {
1862 zIndex: 9999
1863 }
1864 }, props.children);
1865 };
1866 WizardDialog.propTypes = {
1867 onClose: _propTypes.default.func.isRequired,
1868 children: _propTypes.default.node.isRequired
1869 };
1870 var WizardDialogContent = function WizardDialogContent(_ref) {
1871 var _ref$sx = _ref.sx,
1872 sx = _ref$sx === void 0 ? {} : _ref$sx,
1873 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1874 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1875 sx: _objectSpread({
1876 display: 'flex',
1877 flexDirection: 'column',
1878 justifyContent: 'center'
1879 }, sx)
1880 }));
1881 };
1882 WizardDialogContent.propTypes = {
1883 sx: _propTypes.default.object
1884 };
1885 WizardDialog.Header = _dialogHeader.default;
1886 WizardDialog.Content = WizardDialogContent;
1887 var _default = WizardDialog;
1888 exports["default"] = _default;
1889
1890 /***/ }),
1891
1892 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1893 /*!**************************************************************!*\
1894 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1895 \**************************************************************/
1896 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1897
1898 "use strict";
1899
1900
1901 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1902 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1903 Object.defineProperty(exports, "__esModule", ({
1904 value: true
1905 }));
1906 exports["default"] = exports.RequestIdsProvider = void 0;
1907 exports.generateIds = generateIds;
1908 exports.useRequestIds = exports.getUniqueId = void 0;
1909 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1910 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1911 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1912 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); }
1913 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; }
1914 var Context = (0, _react.createContext)({});
1915 var useRequestIds = function useRequestIds() {
1916 var context = (0, _react.useContext)(Context);
1917 if (!context) {
1918 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1919 }
1920 return context;
1921 };
1922 exports.useRequestIds = useRequestIds;
1923 var getUniqueId = function getUniqueId(prefix) {
1924 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1925 };
1926 exports.getUniqueId = getUniqueId;
1927 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
1928 function generateIds(template) {
1929 var _template$elements;
1930 template.id = getUniqueId().toString();
1931 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1932 template.elements.map(function (child) {
1933 return generateIds(child);
1934 });
1935 }
1936 return template;
1937 }
1938 var RequestIdsProvider = function RequestIdsProvider(props) {
1939 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1940 var sessionId = (0, _react.useRef)('');
1941 var generateId = (0, _react.useRef)('');
1942 var batchId = (0, _react.useRef)('');
1943 var requestId = (0, _react.useRef)('');
1944 sessionId.current = getUniqueId('session');
1945 var setGenerate = function setGenerate() {
1946 generateId.current = getUniqueId('generate');
1947 return generateId;
1948 };
1949 var setBatch = function setBatch() {
1950 batchId.current = getUniqueId('batch');
1951 return batchId;
1952 };
1953 var setRequest = function setRequest() {
1954 requestId.current = getUniqueId('request');
1955 return requestId;
1956 };
1957 var _useState = (0, _react.useState)(0),
1958 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1959 usagePercentage = _useState2[0],
1960 setUsagePercentage = _useState2[1];
1961 var updateUsagePercentage = function updateUsagePercentage(newPercentage) {
1962 setUsagePercentage(newPercentage);
1963 };
1964 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1965 value: {
1966 editorSessionId: editorSessionId,
1967 sessionId: sessionId,
1968 generateId: generateId,
1969 batchId: batchId,
1970 requestId: requestId,
1971 setGenerate: setGenerate,
1972 setBatch: setBatch,
1973 setRequest: setRequest,
1974 usagePercentage: usagePercentage,
1975 updateUsagePercentage: updateUsagePercentage
1976 }
1977 }, props.children);
1978 };
1979 exports.RequestIdsProvider = RequestIdsProvider;
1980 RequestIdsProvider.propTypes = {
1981 children: _propTypes.default.node.isRequired
1982 };
1983 var _default = Context;
1984 exports["default"] = _default;
1985
1986 /***/ }),
1987
1988 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1989 /*!****************************************************************!*\
1990 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1991 \****************************************************************/
1992 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1993
1994 "use strict";
1995
1996
1997 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1998 Object.defineProperty(exports, "__esModule", ({
1999 value: true
2000 }));
2001 exports["default"] = useIntroduction;
2002 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2003 var _react = __webpack_require__(/*! react */ "react");
2004 function useIntroduction(key) {
2005 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
2006 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;
2007 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
2008 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2009 isViewed = _useState2[0],
2010 setIsViewed = _useState2[1];
2011 function markAsViewed() {
2012 if (!key) {
2013 return Promise.reject();
2014 }
2015 return new Promise(function (resolve, reject) {
2016 if (isViewed) {
2017 reject();
2018 }
2019 setIsViewed(true);
2020 elementorCommon.ajax.addRequest('introduction_viewed', {
2021 data: {
2022 introductionKey: key
2023 },
2024 error: function error() {
2025 setIsViewed(false);
2026 reject();
2027 },
2028 success: function success() {
2029 setIsViewed(true);
2030 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
2031 globalConfig.introduction[key] = true;
2032 }
2033 resolve();
2034 }
2035 });
2036 });
2037 }
2038 return {
2039 isViewed: isViewed,
2040 markAsViewed: markAsViewed
2041 };
2042 }
2043
2044 /***/ }),
2045
2046 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
2047 /*!*******************************************************************!*\
2048 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
2049 \*******************************************************************/
2050 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2051
2052 "use strict";
2053
2054
2055 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2056 Object.defineProperty(exports, "__esModule", ({
2057 value: true
2058 }));
2059 exports["default"] = void 0;
2060 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2061 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
2062 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2063 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
2064 var getResult = function getResult(prompt, type, enhanceType) {
2065 if (!enhancePromptMap.has(type)) {
2066 throw new Error("Invalid prompt type: ".concat(type));
2067 }
2068 return enhancePromptMap.get(type)(prompt, enhanceType);
2069 };
2070
2071 /**
2072 * Hook to enhance a prompt.
2073 *
2074 * @param {string} prompt
2075 * @param {'media' | 'layout'} type
2076 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
2077 */
2078 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
2079 var _useConfig = (0, _config.useConfig)(),
2080 mode = _useConfig.mode;
2081 var _usePrompt = (0, _usePrompt2.default)(function () {
2082 return getResult(prompt, type, mode);
2083 }, prompt),
2084 enhancedData = _usePrompt.data,
2085 isEnhancing = _usePrompt.isLoading,
2086 enhance = _usePrompt.send;
2087 return {
2088 enhance: enhance,
2089 isEnhancing: isEnhancing,
2090 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
2091 };
2092 };
2093 var _default = usePromptEnhancer;
2094 exports["default"] = _default;
2095
2096 /***/ }),
2097
2098 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
2099 /*!**********************************************************!*\
2100 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
2101 \**********************************************************/
2102 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2103
2104 "use strict";
2105
2106
2107 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2108 Object.defineProperty(exports, "__esModule", ({
2109 value: true
2110 }));
2111 exports["default"] = void 0;
2112 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2113 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2114 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2115 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2116 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2117 var _react = __webpack_require__(/*! react */ "react");
2118 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2119 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2120 var _excluded = ["text", "response_id", "usage", "images"];
2121 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; }
2122 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; }
2123 var normalizeResponse = function normalizeResponse(_ref) {
2124 var text = _ref.text,
2125 responseId = _ref.response_id,
2126 usage = _ref.usage,
2127 images = _ref.images,
2128 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2129 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
2130 var credits = Math.max(creditsData, 0);
2131 var result = text || images;
2132 var normalized = {
2133 result: result,
2134 responseId: responseId,
2135 credits: credits,
2136 usagePercentage: usage === null || usage === void 0 ? void 0 : usage.usagePercentage
2137 };
2138 if (optional.base_template_id) {
2139 normalized.baseTemplateId = optional.base_template_id;
2140 }
2141 normalized.type = optional.template_type;
2142 return normalized;
2143 };
2144 var usePrompt = function usePrompt(fetchData, initialState) {
2145 var _useState = (0, _react.useState)(false),
2146 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2147 isLoading = _useState2[0],
2148 setIsLoading = _useState2[1];
2149 var _useState3 = (0, _react.useState)(''),
2150 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2151 error = _useState4[0],
2152 setError = _useState4[1];
2153 var _useState5 = (0, _react.useState)(initialState),
2154 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2155 data = _useState6[0],
2156 setData = _useState6[1];
2157 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
2158 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
2159 usagePercentage = _useRequestIds.usagePercentage;
2160 (0, _react.useEffect)(function () {
2161 var newUsageValue = data === null || data === void 0 ? void 0 : data.usagePercentage;
2162 if (newUsageValue && newUsageValue !== usagePercentage) {
2163 updateUsagePercentage(newUsageValue);
2164 }
2165 }, [data, usagePercentage, updateUsagePercentage]);
2166 var _useRequestIds2 = (0, _requestsIds.useRequestIds)(),
2167 setRequest = _useRequestIds2.setRequest,
2168 editorSessionId = _useRequestIds2.editorSessionId,
2169 sessionId = _useRequestIds2.sessionId,
2170 generateId = _useRequestIds2.generateId,
2171 batchId = _useRequestIds2.batchId;
2172 var send = /*#__PURE__*/function () {
2173 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
2174 return _regenerator.default.wrap(function _callee$(_context) {
2175 while (1) switch (_context.prev = _context.next) {
2176 case 0:
2177 return _context.abrupt("return", new Promise(function (resolve, reject) {
2178 setError('');
2179 setIsLoading(true);
2180 var requestId = setRequest();
2181 var requestIds = {
2182 editorSessionId: editorSessionId.current,
2183 sessionId: sessionId.current,
2184 generateId: generateId.current,
2185 batchId: batchId.current,
2186 requestId: requestId.current
2187 };
2188 payload = _objectSpread(_objectSpread({}, payload), {}, {
2189 requestIds: requestIds
2190 });
2191 fetchData(payload).then(function (result) {
2192 var normalizedData = normalizeResponse(result);
2193 setData(normalizedData);
2194 resolve(normalizedData);
2195 }).catch(function (err) {
2196 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
2197 setError(finalError);
2198 reject(finalError);
2199 }).finally(function () {
2200 return setIsLoading(false);
2201 });
2202 }));
2203 case 1:
2204 case "end":
2205 return _context.stop();
2206 }
2207 }, _callee);
2208 }));
2209 return function send(_x) {
2210 return _ref2.apply(this, arguments);
2211 };
2212 }();
2213 var sendUsageData = function sendUsageData() {
2214 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2215 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2216 };
2217 var reset = function reset() {
2218 setData(function (_ref3) {
2219 var credits = _ref3.credits;
2220 return {
2221 credits: credits,
2222 result: '',
2223 responseId: ''
2224 };
2225 });
2226 setError('');
2227 setIsLoading(false);
2228 };
2229 var setResult = function setResult(result) {
2230 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2231 var updatedResult = _objectSpread({}, data);
2232 updatedResult.result = result;
2233 if (responseId) {
2234 updatedResult.responseId = responseId;
2235 }
2236 setData(updatedResult);
2237 };
2238 return {
2239 isLoading: isLoading,
2240 error: error,
2241 data: data,
2242 setResult: setResult,
2243 reset: reset,
2244 send: send,
2245 sendUsageData: sendUsageData
2246 };
2247 };
2248 var _default = usePrompt;
2249 exports["default"] = _default;
2250
2251 /***/ }),
2252
2253 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2254 /*!***********************************************************!*\
2255 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2256 \***********************************************************/
2257 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2258
2259 "use strict";
2260
2261
2262 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2263 Object.defineProperty(exports, "__esModule", ({
2264 value: true
2265 }));
2266 exports.useTimeout = void 0;
2267 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2268 var _react = __webpack_require__(/*! react */ "react");
2269 var useTimeout = function useTimeout(delay) {
2270 var _useState = (0, _react.useState)(false),
2271 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2272 isTimeout = _useState2[0],
2273 setIsTimeout = _useState2[1];
2274 var timeoutIdRef = (0, _react.useRef)(null);
2275 var turnOffTimeout = function turnOffTimeout() {
2276 clearTimeout(timeoutIdRef.current);
2277 setIsTimeout(false);
2278 };
2279 (0, _react.useEffect)(function () {
2280 timeoutIdRef.current = setTimeout(function () {
2281 setIsTimeout(true);
2282 }, delay);
2283 return function () {
2284 clearTimeout(timeoutIdRef.current);
2285 };
2286 }, [delay]);
2287 return [isTimeout, turnOffTimeout];
2288 };
2289 exports.useTimeout = useTimeout;
2290
2291 /***/ }),
2292
2293 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2294 /*!*************************************************************!*\
2295 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2296 \*************************************************************/
2297 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2298
2299 "use strict";
2300
2301
2302 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2303 Object.defineProperty(exports, "__esModule", ({
2304 value: true
2305 }));
2306 exports["default"] = void 0;
2307 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2308 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2309 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2310 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2311 var _react = __webpack_require__(/*! react */ "react");
2312 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2313 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2314 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; }
2315 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; }
2316 var useUserInfo = function useUserInfo() {
2317 var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2318 var _useState = (0, _react.useState)(false),
2319 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2320 isLoaded = _useState2[0],
2321 setIsLoaded = _useState2[1];
2322 var _useState3 = (0, _react.useState)(false),
2323 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2324 isLoading = _useState4[0],
2325 setIsLoading = _useState4[1];
2326 var _useState5 = (0, _react.useState)({
2327 is_connected: false,
2328 is_get_started: false,
2329 connect_url: '',
2330 usage: {
2331 hasAiSubscription: false,
2332 quota: 0,
2333 usedQuota: 0
2334 }
2335 }),
2336 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2337 userInfo = _useState6[0],
2338 setUserInfo = _useState6[1];
2339 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2340 var usagePercentage = userInfo.usage.quota ? userInfo.usage.usedQuota / userInfo.usage.quota * 100 : 0;
2341 var fetchData = /*#__PURE__*/function () {
2342 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2343 var userInfoResult;
2344 return _regenerator.default.wrap(function _callee$(_context) {
2345 while (1) switch (_context.prev = _context.next) {
2346 case 0:
2347 setIsLoading(true);
2348 _context.next = 3;
2349 return (0, _api.getUserInformation)(immediately);
2350 case 3:
2351 userInfoResult = _context.sent;
2352 setUserInfo(function (prevState) {
2353 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2354 });
2355 setIsLoaded(true);
2356 setIsLoading(false);
2357 case 7:
2358 case "end":
2359 return _context.stop();
2360 }
2361 }, _callee);
2362 }));
2363 return function fetchData() {
2364 return _ref.apply(this, arguments);
2365 };
2366 }();
2367 if (!isLoaded && !isLoading) {
2368 fetchData();
2369 }
2370 return {
2371 isLoading: isLoading,
2372 isLoaded: isLoaded,
2373 isConnected: userInfo.is_connected,
2374 isGetStarted: userInfo.is_get_started,
2375 connectUrl: userInfo.connect_url,
2376 builderUrl: userInfo.usage.builderUrl,
2377 hasSubscription: userInfo.usage.hasAiSubscription,
2378 credits: credits < 0 ? 0 : credits,
2379 usagePercentage: Math.round(usagePercentage),
2380 fetchData: fetchData
2381 };
2382 };
2383 useUserInfo.propTypes = {
2384 immediately: _propTypes.default.bool
2385 };
2386 var _default = useUserInfo;
2387 exports["default"] = _default;
2388
2389 /***/ }),
2390
2391 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2392 /*!***************************************************************!*\
2393 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2394 \***************************************************************/
2395 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2396
2397 "use strict";
2398
2399
2400 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2401 Object.defineProperty(exports, "__esModule", ({
2402 value: true
2403 }));
2404 exports["default"] = void 0;
2405 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2406 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2407 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2408 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2409 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2410 viewBox: "0 0 24 24"
2411 }, props, {
2412 ref: ref
2413 }), /*#__PURE__*/_react.default.createElement("path", {
2414 fillRule: "evenodd",
2415 clipRule: "evenodd",
2416 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"
2417 }));
2418 });
2419 var _default = ArrowLeftIcon;
2420 exports["default"] = _default;
2421
2422 /***/ }),
2423
2424 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
2425 /*!*********************************************************!*\
2426 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
2427 \*********************************************************/
2428 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2429
2430 "use strict";
2431
2432
2433 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2434 Object.defineProperty(exports, "__esModule", ({
2435 value: true
2436 }));
2437 exports["default"] = void 0;
2438 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2439 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2440 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2441 var BulbIcon = _react.default.forwardRef(function (props, ref) {
2442 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
2443 ref: ref
2444 }), /*#__PURE__*/_react.default.createElement("svg", {
2445 width: "22",
2446 height: "22",
2447 viewBox: "0 0 22 22",
2448 fill: "none",
2449 xmlns: "http://www.w3.org/2000/svg"
2450 }, /*#__PURE__*/_react.default.createElement("g", {
2451 clipPath: "url(#clip0_10743_8902)"
2452 }, /*#__PURE__*/_react.default.createElement("path", {
2453 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",
2454 stroke: "#2563EB",
2455 strokeWidth: "1.5",
2456 strokeLinecap: "round",
2457 strokeLinejoin: "round"
2458 }), /*#__PURE__*/_react.default.createElement("path", {
2459 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",
2460 stroke: "#2563EB",
2461 strokeWidth: "1.5",
2462 strokeLinecap: "round",
2463 strokeLinejoin: "round"
2464 }), /*#__PURE__*/_react.default.createElement("path", {
2465 d: "M10.0833 16.5H11.9166",
2466 stroke: "#2563EB",
2467 strokeWidth: "1.5",
2468 strokeLinecap: "round",
2469 strokeLinejoin: "round"
2470 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
2471 id: "clip0_10743_8902"
2472 }, /*#__PURE__*/_react.default.createElement("rect", {
2473 width: "22",
2474 height: "22",
2475 fill: "white"
2476 })))));
2477 });
2478 var _default = BulbIcon;
2479 exports["default"] = _default;
2480
2481 /***/ }),
2482
2483 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2484 /*!**************************************************************!*\
2485 !*** ../modules/ai/assets/js/editor/icons/copy-page-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 CopyPageIcon = _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: "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"
2509 }));
2510 });
2511 var _default = CopyPageIcon;
2512 exports["default"] = _default;
2513
2514 /***/ }),
2515
2516 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2517 /*!*********************************************************!*\
2518 !*** ../modules/ai/assets/js/editor/icons/edit-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 EditIcon = _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 fillRule: "evenodd",
2540 clipRule: "evenodd",
2541 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"
2542 }), /*#__PURE__*/_react.default.createElement("path", {
2543 fillRule: "evenodd",
2544 clipRule: "evenodd",
2545 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"
2546 }));
2547 });
2548 var _default = EditIcon;
2549 exports["default"] = _default;
2550
2551 /***/ }),
2552
2553 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2554 /*!********************************************************************!*\
2555 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2556 \********************************************************************/
2557 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2558
2559 "use strict";
2560
2561
2562 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2563 Object.defineProperty(exports, "__esModule", ({
2564 value: true
2565 }));
2566 exports["default"] = void 0;
2567 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2568 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2569 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2570 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2571 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2572 viewBox: "0 0 24 24"
2573 }, props, {
2574 ref: ref
2575 }), /*#__PURE__*/_react.default.createElement("path", {
2576 fillRule: "evenodd",
2577 clipRule: "evenodd",
2578 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"
2579 }));
2580 });
2581 var _default = ExpandDiagonalIcon;
2582 exports["default"] = _default;
2583
2584 /***/ }),
2585
2586 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2587 /*!*********************************************************!*\
2588 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2589 \*********************************************************/
2590 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2591
2592 "use strict";
2593
2594
2595 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2596 Object.defineProperty(exports, "__esModule", ({
2597 value: true
2598 }));
2599 exports["default"] = void 0;
2600 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2601 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2602 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2603 var LockIcon = _react.default.forwardRef(function (props, ref) {
2604 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2605 viewBox: "0 0 24 24"
2606 }, props, {
2607 ref: ref
2608 }), /*#__PURE__*/_react.default.createElement("path", {
2609 fillRule: "evenodd",
2610 clipRule: "evenodd",
2611 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"
2612 }), /*#__PURE__*/_react.default.createElement("path", {
2613 fillRule: "evenodd",
2614 clipRule: "evenodd",
2615 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"
2616 }), /*#__PURE__*/_react.default.createElement("path", {
2617 d: "M6 12H19V20H6V12Z"
2618 }));
2619 });
2620 var _default = LockIcon;
2621 exports["default"] = _default;
2622
2623 /***/ }),
2624
2625 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2626 /*!**********************************************************************!*\
2627 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-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 MinimizeDiagonalIcon = _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: "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"
2651 }));
2652 });
2653 var _default = MinimizeDiagonalIcon;
2654 exports["default"] = _default;
2655
2656 /***/ }),
2657
2658 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2659 /*!****************************************************************!*\
2660 !*** ../modules/ai/assets/js/editor/icons/plus-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 PlusCircleIcon = _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 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"
2682 }));
2683 });
2684 var _default = PlusCircleIcon;
2685 exports["default"] = _default;
2686
2687 /***/ }),
2688
2689 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2690 /*!************************************************************!*\
2691 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2692 \************************************************************/
2693 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2694
2695 "use strict";
2696
2697
2698 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2699 Object.defineProperty(exports, "__esModule", ({
2700 value: true
2701 }));
2702 exports["default"] = void 0;
2703 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2704 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2705 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2706 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2707 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2708 viewBox: "0 0 24 24"
2709 }, props, {
2710 ref: ref
2711 }), /*#__PURE__*/_react.default.createElement("path", {
2712 fillRule: "evenodd",
2713 clipRule: "evenodd",
2714 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"
2715 }), /*#__PURE__*/_react.default.createElement("path", {
2716 fillRule: "evenodd",
2717 clipRule: "evenodd",
2718 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"
2719 }));
2720 });
2721 var _default = RefreshIcon;
2722 exports["default"] = _default;
2723
2724 /***/ }),
2725
2726 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2727 /*!*********************************************************!*\
2728 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2729 \*********************************************************/
2730 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2731
2732 "use strict";
2733
2734
2735 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2736 Object.defineProperty(exports, "__esModule", ({
2737 value: true
2738 }));
2739 exports["default"] = void 0;
2740 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2741 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2742 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2743 var WandIcon = _react.default.forwardRef(function (props, ref) {
2744 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2745 viewBox: "0 0 24 24"
2746 }, props, {
2747 ref: ref
2748 }), /*#__PURE__*/_react.default.createElement("path", {
2749 fillRule: "evenodd",
2750 clipRule: "evenodd",
2751 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"
2752 }), /*#__PURE__*/_react.default.createElement("path", {
2753 fillRule: "evenodd",
2754 clipRule: "evenodd",
2755 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"
2756 }), /*#__PURE__*/_react.default.createElement("path", {
2757 fillRule: "evenodd",
2758 clipRule: "evenodd",
2759 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"
2760 }));
2761 });
2762 var _default = WandIcon;
2763 exports["default"] = _default;
2764
2765 /***/ }),
2766
2767 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2768 /*!************************************************************!*\
2769 !*** ../modules/ai/assets/js/editor/icons/website-icon.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 _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2782 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2783 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2784 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2785 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2786 viewBox: "0 0 24 24"
2787 }, props, {
2788 ref: ref
2789 }), /*#__PURE__*/_react.default.createElement("path", {
2790 fillRule: "evenodd",
2791 clipRule: "evenodd",
2792 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"
2793 }));
2794 });
2795 var _default = WebsiteIcon;
2796 exports["default"] = _default;
2797
2798 /***/ }),
2799
2800 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2801 /*!*************************************************************!*\
2802 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2803 \*************************************************************/
2804 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2805
2806 "use strict";
2807
2808
2809 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2810 Object.defineProperty(exports, "__esModule", ({
2811 value: true
2812 }));
2813 exports["default"] = void 0;
2814 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2815 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2816 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2817 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2818 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2819 viewBox: "0 0 24 24"
2820 }, props, {
2821 ref: ref
2822 }), /*#__PURE__*/_react.default.createElement("path", {
2823 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"
2824 }));
2825 });
2826 var _default = XCircleIcon;
2827 exports["default"] = _default;
2828
2829 /***/ }),
2830
2831 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2832 /*!********************************************************************************************!*\
2833 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2834 \********************************************************************************************/
2835 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2836
2837 "use strict";
2838
2839
2840 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2841 renderLayoutApp = _require.renderLayoutApp,
2842 importToEditor = _require.importToEditor;
2843 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2844 MODE_VARIATION = _require2.MODE_VARIATION;
2845 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2846 __ = _require3.__;
2847 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2848 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2849 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2850 var ApplyTemplateForAiBehavior;
2851 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2852 ui: {
2853 applyButton: '.elementor-template-library-template-apply-ai',
2854 generateVariation: '.elementor-template-library-template-generate-variation'
2855 },
2856 events: {
2857 'click @ui.applyButton': 'onApplyButtonClick',
2858 'click @ui.generateVariation': 'onGenerateVariationClick'
2859 },
2860 onGenerateVariationClick: function onGenerateVariationClick() {
2861 var _libraryComponent$man, _libraryComponent$man2;
2862 var args = {
2863 model: this.view.model
2864 };
2865 var libraryComponent = $e.components.get('library');
2866 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;
2867 libraryComponent.downloadTemplate(args, function (data) {
2868 var model = args.model;
2869 var attachment = {
2870 type: ATTACHMENT_TYPE_JSON,
2871 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2872 content: data.content[0],
2873 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2874 source: ELEMENTOR_LIBRARY_SOURCE
2875 };
2876 renderLayoutApp({
2877 parentContainer: elementor.getPreviewContainer(),
2878 mode: MODE_VARIATION,
2879 at: at,
2880 attachments: [attachment],
2881 onInsert: function onInsert(template) {
2882 importToEditor({
2883 parentContainer: elementor.getPreviewContainer(),
2884 at: at,
2885 template: template,
2886 historyTitle: __('AI Variation from library', 'elementor')
2887 });
2888 }
2889 });
2890 $e.run('library/close');
2891 });
2892 },
2893 onApplyButtonClick: function onApplyButtonClick() {
2894 var args = {
2895 model: this.view.model
2896 };
2897 this.ui.applyButton.addClass('elementor-disabled');
2898 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2899 $e.route('library/connect', args);
2900 return;
2901 }
2902 $e.run('library/generate-ai-variation', args);
2903 }
2904 });
2905 module.exports = ApplyTemplateForAiBehavior;
2906
2907 /***/ }),
2908
2909 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2910 /*!************************************************************!*\
2911 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2912 \************************************************************/
2913 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2914
2915 "use strict";
2916
2917
2918 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2919 Object.defineProperty(exports, "__esModule", ({
2920 value: true
2921 }));
2922 exports["default"] = void 0;
2923 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2924 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2925 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2926 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2927 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2928 rtl: props.isRTL
2929 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2930 colorScheme: props.colorScheme
2931 }, props.children));
2932 };
2933 LayoutAppWrapper.propTypes = {
2934 children: _propTypes.default.node,
2935 isRTL: _propTypes.default.bool,
2936 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2937 };
2938 var _default = LayoutAppWrapper;
2939 exports["default"] = _default;
2940
2941 /***/ }),
2942
2943 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2944 /*!****************************************************!*\
2945 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2946 \****************************************************/
2947 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2948
2949 "use strict";
2950
2951
2952 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2953 Object.defineProperty(exports, "__esModule", ({
2954 value: true
2955 }));
2956 exports["default"] = void 0;
2957 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2958 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2959 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2960 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2961 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2962 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2963 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2964 var LayoutApp = function LayoutApp(props) {
2965 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2966 onError: props.onClose
2967 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2968 mode: props.mode,
2969 attachmentsTypes: props.attachmentsTypes,
2970 onClose: props.onClose,
2971 onConnect: props.onConnect,
2972 onData: props.onData,
2973 onInsert: props.onInsert,
2974 onSelect: props.onSelect,
2975 onGenerate: props.onGenerate,
2976 currentContext: props.currentContext,
2977 hasPro: props.hasPro
2978 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2979 attachments: props.attachments
2980 }))));
2981 };
2982 LayoutApp.propTypes = {
2983 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2984 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2985 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2986 onClose: _propTypes.default.func.isRequired,
2987 onConnect: _propTypes.default.func.isRequired,
2988 onData: _propTypes.default.func.isRequired,
2989 onInsert: _propTypes.default.func.isRequired,
2990 onSelect: _propTypes.default.func.isRequired,
2991 onGenerate: _propTypes.default.func.isRequired,
2992 currentContext: _propTypes.default.object,
2993 hasPro: _propTypes.default.bool
2994 };
2995 var _default = LayoutApp;
2996 exports["default"] = _default;
2997
2998 /***/ }),
2999
3000 /***/ "../modules/ai/assets/js/editor/layout-content.js":
3001 /*!********************************************************!*\
3002 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
3003 \********************************************************/
3004 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3005
3006 "use strict";
3007
3008
3009 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3010 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3011 Object.defineProperty(exports, "__esModule", ({
3012 value: true
3013 }));
3014 exports["default"] = void 0;
3015 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3016 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3017 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
3018 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
3019 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
3020 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
3021 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
3022 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3023 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
3024 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
3025 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3026 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3027 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3028 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
3029 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); }
3030 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; }
3031 var LayoutContent = function LayoutContent(props) {
3032 var _useUserInfo = (0, _useUserInfo2.default)(),
3033 isLoading = _useUserInfo.isLoading,
3034 isConnected = _useUserInfo.isConnected,
3035 isGetStarted = _useUserInfo.isGetStarted,
3036 connectUrl = _useUserInfo.connectUrl,
3037 fetchData = _useUserInfo.fetchData,
3038 hasSubscription = _useUserInfo.hasSubscription,
3039 initialUsagePercentage = _useUserInfo.usagePercentage;
3040 var _useConfig = (0, _config.useConfig)(),
3041 onClose = _useConfig.onClose,
3042 onConnect = _useConfig.onConnect;
3043 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
3044 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
3045 usagePercentage = _useRequestIds.usagePercentage;
3046 var _useState = (0, _react.useState)(false),
3047 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3048 isInitUsageDone = _useState2[0],
3049 setIsInitUsageDone = _useState2[1];
3050 (0, _react.useEffect)(function () {
3051 if (!isInitUsageDone && !isLoading && (initialUsagePercentage || 0 === initialUsagePercentage)) {
3052 updateUsagePercentage(initialUsagePercentage);
3053 setIsInitUsageDone(true);
3054 }
3055 }, [isLoading, initialUsagePercentage, isInitUsageDone, updateUsagePercentage]);
3056 if (isLoading || !isInitUsageDone) {
3057 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3058 onClose: onClose
3059 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
3060 onClose: onClose
3061 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
3062 dividers: true
3063 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
3064 BoxProps: {
3065 sx: {
3066 px: 3
3067 }
3068 }
3069 })));
3070 }
3071 if (!isConnected) {
3072 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3073 onClose: onClose
3074 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3075 onClose: onClose
3076 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3077 dividers: true
3078 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
3079 connectUrl: connectUrl,
3080 onSuccess: function onSuccess(data) {
3081 onConnect(data);
3082 fetchData();
3083 }
3084 })));
3085 }
3086 if (!isGetStarted) {
3087 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3088 onClose: onClose
3089 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3090 onClose: onClose
3091 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3092 dividers: true
3093 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
3094 onSuccess: fetchData
3095 })));
3096 }
3097 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
3098 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
3099 attachments: props.attachments,
3100 DialogHeaderProps: {
3101 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
3102 hasSubscription: hasSubscription,
3103 usagePercentage: usagePercentage
3104 })
3105 }
3106 });
3107 };
3108 LayoutContent.propTypes = {
3109 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
3110 };
3111 var _default = LayoutContent;
3112 exports["default"] = _default;
3113
3114 /***/ }),
3115
3116 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
3117 /*!*************************************************************!*\
3118 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
3119 \*************************************************************/
3120 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3121
3122 "use strict";
3123
3124
3125 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3126 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3127 Object.defineProperty(exports, "__esModule", ({
3128 value: true
3129 }));
3130 exports["default"] = void 0;
3131 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3132 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3133 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3134 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3135 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3136 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); }
3137 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; }
3138 var Connect = function Connect(_ref) {
3139 var connectUrl = _ref.connectUrl,
3140 onSuccess = _ref.onSuccess;
3141 var approveButtonRef = (0, _react.useRef)();
3142 (0, _react.useEffect)(function () {
3143 // On local dev (as a standalone app), the connect lib is not loaded.
3144 if (!jQuery.fn.elementorConnect) {
3145 return;
3146 }
3147 jQuery(approveButtonRef.current).elementorConnect({
3148 success: function success(_, data) {
3149 return onSuccess(data);
3150 },
3151 error: function error() {
3152 throw new Error('Elementor AI: Failed to connect.');
3153 }
3154 });
3155 }, []);
3156 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3157 alignItems: "center",
3158 gap: 2
3159 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3160 sx: {
3161 color: 'text.primary',
3162 fontSize: '60px',
3163 mb: 1
3164 }
3165 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3166 variant: "h4",
3167 sx: {
3168 color: 'text.primary'
3169 }
3170 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3171 variant: "body2"
3172 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3173 variant: "caption",
3174 sx: {
3175 maxWidth: 520,
3176 textAlign: 'center'
3177 }
3178 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
3179 href: "https://go.elementor.com/ai-terms/",
3180 target: "_blank",
3181 color: "info.main"
3182 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
3183 href: "https://go.elementor.com/ai-privacy-policy/",
3184 target: "_blank",
3185 color: "info.main"
3186 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3187 ref: approveButtonRef,
3188 href: connectUrl,
3189 variant: "contained",
3190 sx: {
3191 mt: 1,
3192 '&:hover': {
3193 color: 'primary.contrastText'
3194 }
3195 }
3196 }, (0, _i18n.__)('Connect', 'elementor')));
3197 };
3198 Connect.propTypes = {
3199 connectUrl: _propTypes.default.string.isRequired,
3200 onSuccess: _propTypes.default.func.isRequired
3201 };
3202 var _default = Connect;
3203 exports["default"] = _default;
3204
3205 /***/ }),
3206
3207 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
3208 /*!**********************************************************************************!*\
3209 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
3210 \**********************************************************************************/
3211 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3212
3213 "use strict";
3214
3215
3216 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3217 Object.defineProperty(exports, "__esModule", ({
3218 value: true
3219 }));
3220 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;
3221 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3222 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3223 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
3224 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
3225 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
3226 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
3227 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
3228 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3229 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3230 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3231 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3232 var ATTACHMENT_TYPE_JSON = 'json';
3233 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
3234 var ATTACHMENT_TYPE_URL = 'url';
3235 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
3236 var MENU_TYPE_LIBRARY = 'library';
3237 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
3238 var USER_VARIATION_SOURCE = 'user-variation';
3239 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
3240 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
3241 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
3242 var USER_URL_SOURCE = 'user-url';
3243 exports.USER_URL_SOURCE = USER_URL_SOURCE;
3244 var Attachments = function Attachments(props) {
3245 if (!props.attachments.length) {
3246 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
3247 disabled: props.disabled,
3248 onAttach: props.onAttach,
3249 items: [{
3250 title: (0, _i18n.__)('Reference a website', 'elementor'),
3251 icon: _websiteIcon.default,
3252 type: ATTACHMENT_TYPE_URL
3253 }, {
3254 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
3255 icon: _copyPageIcon.default,
3256 type: MENU_TYPE_LIBRARY
3257 }]
3258 });
3259 }
3260 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3261 direction: "row",
3262 spacing: 1
3263 }, props.attachments.map(function (attachment, index) {
3264 switch (attachment.type) {
3265 case ATTACHMENT_TYPE_JSON:
3266 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
3267 key: index
3268 }, props));
3269 case ATTACHMENT_TYPE_URL:
3270 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
3271 key: index
3272 }, props));
3273 default:
3274 return null;
3275 }
3276 }));
3277 };
3278 Attachments.propTypes = {
3279 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3280 onAttach: _propTypes.default.func.isRequired,
3281 onDetach: _propTypes.default.func,
3282 disabled: _propTypes.default.bool
3283 };
3284 var _default = Attachments;
3285 exports["default"] = _default;
3286
3287 /***/ }),
3288
3289 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
3290 /*!************************************************************************************************!*\
3291 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
3292 \************************************************************************************************/
3293 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3294
3295 "use strict";
3296
3297
3298 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3299 Object.defineProperty(exports, "__esModule", ({
3300 value: true
3301 }));
3302 exports["default"] = exports.AttachDialog = void 0;
3303 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3304 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3305 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3306 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3307 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3308 var AttachDialog = function AttachDialog(props) {
3309 var type = props.type;
3310 var url = props.url;
3311 switch (type) {
3312 case _attachments.ATTACHMENT_TYPE_URL:
3313 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3314 url: url,
3315 onAttach: props.onAttach,
3316 onClose: props.onClose
3317 });
3318 case _attachments.MENU_TYPE_LIBRARY:
3319 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3320 onAttach: props.onAttach,
3321 onClose: props.onClose
3322 });
3323 }
3324 return null;
3325 };
3326 exports.AttachDialog = AttachDialog;
3327 AttachDialog.propTypes = {
3328 type: _propTypes.default.string,
3329 onAttach: _propTypes.default.func,
3330 onClose: _propTypes.default.func,
3331 url: _propTypes.default.string
3332 };
3333 var _default = AttachDialog;
3334 exports["default"] = _default;
3335
3336 /***/ }),
3337
3338 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3339 /*!*************************************************************************************************!*\
3340 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3341 \*************************************************************************************************/
3342 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3343
3344 "use strict";
3345
3346
3347 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3348 Object.defineProperty(exports, "__esModule", ({
3349 value: true
3350 }));
3351 exports.LibraryDialog = void 0;
3352 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3353 var _react = __webpack_require__(/*! react */ "react");
3354 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3355 var LibraryDialog = function LibraryDialog(props) {
3356 var isApplyingTemplate = (0, _react.useRef)(false);
3357 (0, _react.useEffect)(function () {
3358 var onLibraryHide = function onLibraryHide() {
3359 if (isApplyingTemplate.current) {
3360 return;
3361 }
3362 props.onClose();
3363 };
3364 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3365 return function () {
3366 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3367 };
3368 }, [props]);
3369 (0, _react.useEffect)(function () {
3370 var onMessage = function onMessage(event) {
3371 var _event$data = event.data,
3372 type = _event$data.type,
3373 json = _event$data.json,
3374 html = _event$data.html,
3375 label = _event$data.label,
3376 source = _event$data.source;
3377 switch (type) {
3378 case 'library/attach:start':
3379 isApplyingTemplate.current = true;
3380 break;
3381 case 'library/attach':
3382 props.onAttach([{
3383 type: _attachments.ATTACHMENT_TYPE_JSON,
3384 previewHTML: html,
3385 content: json,
3386 label: label,
3387 source: source
3388 }]);
3389 isApplyingTemplate.current = false;
3390 props.onClose();
3391 break;
3392 }
3393 };
3394 window.addEventListener('message', onMessage);
3395 return function () {
3396 window.removeEventListener('message', onMessage);
3397 };
3398 });
3399 $e.run('library/open', {
3400 toDefault: true,
3401 mode: 'ai-attachment'
3402 });
3403 isApplyingTemplate.current = false;
3404 return null;
3405 };
3406 exports.LibraryDialog = LibraryDialog;
3407 LibraryDialog.propTypes = {
3408 onAttach: _propTypes.default.func.isRequired,
3409 onClose: _propTypes.default.func.isRequired
3410 };
3411
3412 /***/ }),
3413
3414 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3415 /*!***************************************************************************************!*\
3416 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3417 \***************************************************************************************/
3418 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3419
3420 "use strict";
3421
3422
3423 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3424 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3425 Object.defineProperty(exports, "__esModule", ({
3426 value: true
3427 }));
3428 exports.Menu = void 0;
3429 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3430 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3431 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3432 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3433 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3434 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3435 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3436 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3437 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); }
3438 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; }
3439 var Menu = function Menu(props) {
3440 var _useState = (0, _react.useState)(false),
3441 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3442 isOpen = _useState2[0],
3443 setIsOpen = _useState2[1];
3444 var _useState3 = (0, _react.useState)(null),
3445 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3446 selectedType = _useState4[0],
3447 setSelectedType = _useState4[1];
3448 var _useTheme = (0, _ui.useTheme)(),
3449 direction = _useTheme.direction;
3450 var anchorRef = (0, _react.useRef)(null);
3451 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3452 isViewed = _useIntroduction.isViewed,
3453 markAsViewed = _useIntroduction.markAsViewed;
3454 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3455 size: "small",
3456 ref: anchorRef,
3457 disabled: props.disabled,
3458 onClick: function onClick() {
3459 setIsOpen(true);
3460 if (!isViewed) {
3461 markAsViewed();
3462 }
3463 },
3464 color: "secondary"
3465 }, function () {
3466 if (isOpen) {
3467 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3468 fontSize: "small"
3469 });
3470 } else if (isViewed) {
3471 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3472 fontSize: "small"
3473 });
3474 }
3475 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3476 color: "primary",
3477 badgeContent: " ",
3478 variant: "dot"
3479 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3480 fontSize: "small"
3481 }));
3482 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3483 open: isOpen,
3484 anchorEl: anchorRef.current,
3485 onClose: function onClose() {
3486 return setIsOpen(false);
3487 },
3488 anchorOrigin: {
3489 vertical: 'bottom',
3490 horizontal: 'rtl' === direction ? 'right' : 'left'
3491 },
3492 transformOrigin: {
3493 vertical: 'top',
3494 horizontal: 'rtl' === direction ? 'right' : 'left'
3495 }
3496 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3497 sx: {
3498 width: 440
3499 }
3500 }, props.items.map(function (item) {
3501 var IconComponent = item.icon;
3502 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3503 key: item.type,
3504 onClick: function onClick() {
3505 setSelectedType(item.type);
3506 setIsOpen(false);
3507 }
3508 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3509 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3510 type: selectedType,
3511 onAttach: props.onAttach,
3512 onClose: function onClose() {
3513 setIsOpen(false);
3514 setSelectedType(null);
3515 }
3516 }));
3517 };
3518 exports.Menu = Menu;
3519 Menu.propTypes = {
3520 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3521 title: _propTypes.default.string.isRequired,
3522 type: _propTypes.default.string.isRequired,
3523 icon: _propTypes.default.elementType
3524 })).isRequired,
3525 onAttach: _propTypes.default.func.isRequired,
3526 disabled: _propTypes.default.bool
3527 };
3528
3529 /***/ }),
3530
3531 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3532 /*!******************************************************************************************************!*\
3533 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3534 \******************************************************************************************************/
3535 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3536
3537 "use strict";
3538
3539
3540 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3541 Object.defineProperty(exports, "__esModule", ({
3542 value: true
3543 }));
3544 exports.PromptPowerNotice = void 0;
3545 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3546 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3547 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3548 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3549 var PromptPowerNotice = function PromptPowerNotice() {
3550 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3551 isViewed = _useIntroduction.isViewed,
3552 markAsViewed = _useIntroduction.markAsViewed;
3553 if (isViewed) {
3554 return null;
3555 }
3556 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3557 sx: {
3558 pt: 2,
3559 px: 2,
3560 pb: 0
3561 }
3562 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3563 severity: "info",
3564 onClose: function onClose() {
3565 return markAsViewed();
3566 }
3567 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3568 variant: "body2",
3569 display: "inline-block",
3570 sx: {
3571 paddingInlineEnd: 1
3572 }
3573 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3574 variant: "body2",
3575 display: "inline-block"
3576 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3577 };
3578 exports.PromptPowerNotice = PromptPowerNotice;
3579
3580 /***/ }),
3581
3582 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3583 /*!*************************************************************************************************!*\
3584 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3585 \*************************************************************************************************/
3586 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3587
3588 "use strict";
3589
3590
3591 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3592 Object.defineProperty(exports, "__esModule", ({
3593 value: true
3594 }));
3595 exports["default"] = exports.ThumbnailJson = void 0;
3596 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3597 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3598 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3599 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3600 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3601 var ThumbnailJson = function ThumbnailJson(props) {
3602 var _props$attachments;
3603 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3604 return 'json' === item.type;
3605 });
3606 if (!attachment) {
3607 return null;
3608 }
3609 if (!attachment.previewHTML) {
3610 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3611 animation: "wave",
3612 variant: "rounded",
3613 width: 60,
3614 height: 60
3615 });
3616 }
3617 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3618 html: attachment.previewHTML,
3619 disabled: props.disabled
3620 });
3621 };
3622 exports.ThumbnailJson = ThumbnailJson;
3623 ThumbnailJson.propTypes = {
3624 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3625 disabled: _propTypes.default.bool
3626 };
3627 var _default = ThumbnailJson;
3628 exports["default"] = _default;
3629
3630 /***/ }),
3631
3632 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3633 /*!************************************************************************************************!*\
3634 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3635 \************************************************************************************************/
3636 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3637
3638 "use strict";
3639
3640
3641 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3642 Object.defineProperty(exports, "__esModule", ({
3643 value: true
3644 }));
3645 exports["default"] = exports.ThumbnailUrl = void 0;
3646 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3647 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3648 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3649 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3650 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3651 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3652 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3653 var ThumbnailUrl = function ThumbnailUrl(props) {
3654 var _props$attachments;
3655 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3656 return 'url' === item.type;
3657 });
3658 if (!attachment) {
3659 return null;
3660 }
3661 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3662 sx: {
3663 position: 'relative',
3664 '&:hover::before': {
3665 content: '""',
3666 position: 'absolute',
3667 userSelect: 'none',
3668 inset: 0,
3669 backgroundColor: 'rgba(0,0,0,0.6)',
3670 borderRadius: 1,
3671 zIndex: 1
3672 },
3673 '&:hover .remove-attachment': {
3674 display: 'flex'
3675 }
3676 }
3677 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3678 className: "remove-attachment",
3679 size: "small",
3680 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3681 disabled: props.disabled,
3682 onClick: function onClick(event) {
3683 event.stopPropagation();
3684 props.onDetach();
3685 },
3686 sx: {
3687 display: 'none',
3688 position: 'absolute',
3689 insetInlineEnd: 4,
3690 insetBlockStart: 4,
3691 backgroundColor: 'secondary.main',
3692 zIndex: 1,
3693 borderRadius: 1,
3694 p: '3px',
3695 '&:hover': {
3696 backgroundColor: 'secondary.dark'
3697 }
3698 }
3699 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3700 sx: {
3701 fontSize: '1.125rem',
3702 color: 'common.white'
3703 }
3704 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3705 disabled: props.disabled,
3706 html: attachment.previewHTML
3707 }));
3708 };
3709 exports.ThumbnailUrl = ThumbnailUrl;
3710 ThumbnailUrl.propTypes = {
3711 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3712 disabled: _propTypes.default.bool,
3713 onDetach: _propTypes.default.func
3714 };
3715 var _default = ThumbnailUrl;
3716 exports["default"] = _default;
3717
3718 /***/ }),
3719
3720 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3721 /*!********************************************************************************************!*\
3722 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3723 \********************************************************************************************/
3724 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3725
3726 "use strict";
3727
3728
3729 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3730 Object.defineProperty(exports, "__esModule", ({
3731 value: true
3732 }));
3733 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3734 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3735 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3736 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3737 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3738 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3739 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3740 var _templateObject;
3741 var THUMBNAIL_SIZE = 64;
3742 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3743 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);
3744 var Thumbnail = function Thumbnail(props) {
3745 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3746 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;
3747 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;
3748 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3749 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3750 var scaleFactor = Math.min(height, width);
3751 var scale = THUMBNAIL_SIZE / scaleFactor;
3752
3753 // Center the preview
3754 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3755 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3756 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3757 dir: "ltr",
3758 sx: {
3759 position: 'relative',
3760 cursor: 'default',
3761 overflow: 'hidden',
3762 border: '1px solid',
3763 borderColor: 'grey.300',
3764 borderRadius: 1,
3765 boxSizing: 'border-box',
3766 width: THUMBNAIL_SIZE,
3767 height: THUMBNAIL_SIZE,
3768 opacity: props.disabled ? 0.5 : 1
3769 }
3770 }, /*#__PURE__*/_react.default.createElement("iframe", {
3771 title: (0, _i18n.__)('Preview', 'elementor'),
3772 sandbox: "",
3773 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3774 style: {
3775 border: 'none',
3776 overflow: 'hidden',
3777 width: width,
3778 height: height,
3779 transform: "scale(".concat(scale, ")"),
3780 transformOrigin: "".concat(left, "px ").concat(top, "px")
3781 }
3782 }));
3783 };
3784 exports.Thumbnail = Thumbnail;
3785 Thumbnail.propTypes = {
3786 html: _propTypes.default.string.isRequired,
3787 disabled: _propTypes.default.bool
3788 };
3789
3790 /***/ }),
3791
3792 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3793 /*!*********************************************************************************************!*\
3794 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-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.UrlDialog = void 0;
3807 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3808 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3809 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3810 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3811 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3812 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3813 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3814 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3815 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3816 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3817 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
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 var UrlDialog = function UrlDialog(props) {
3821 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3822 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3823 isTimeout = _useTimeout2[0],
3824 turnOffTimeout = _useTimeout2[1];
3825 var _useUserInfo = (0, _useUserInfo2.default)(),
3826 isLoading = _useUserInfo.isLoading,
3827 initialUsagePercentage = _useUserInfo.usagePercentage;
3828 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
3829 updateUsagePercentage = _useRequestIds.updateUsagePercentage;
3830 var _useState = (0, _react.useState)(false),
3831 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3832 isInitUsageDone = _useState2[0],
3833 setIsInitUsageDone = _useState2[1];
3834 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3835 remoteConfig = _useRemoteConfig.remoteConfig;
3836 var builderUrl = remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL];
3837 var urlObject = builderUrl ? new URL(builderUrl) : {};
3838 var iframeOrigin = urlObject.origin;
3839 var isOpen = (0, _react.useRef)(false);
3840 (0, _react.useEffect)(function () {
3841 if (!isInitUsageDone && !isLoading && (initialUsagePercentage || 0 === initialUsagePercentage)) {
3842 updateUsagePercentage(initialUsagePercentage);
3843 setIsInitUsageDone(true);
3844 }
3845 }, [isLoading, initialUsagePercentage, isInitUsageDone, updateUsagePercentage]);
3846 (0, _react.useEffect)(function () {
3847 if (!isOpen.current) {
3848 try {
3849 window.$e.run('ai-integration/open-choose-element', {
3850 url: props.url
3851 });
3852 isOpen.current = true;
3853 } catch (error) {
3854 // eslint-disable-next-line no-console
3855 console.error(error);
3856 }
3857 }
3858 }, [isOpen.current]);
3859 (0, _react.useEffect)(function () {
3860 var onMessage = function onMessage(event) {
3861 if (event.origin !== iframeOrigin) {
3862 return;
3863 }
3864 var _event$data = event.data,
3865 type = _event$data.type,
3866 html = _event$data.html,
3867 url = _event$data.url;
3868 switch (type) {
3869 case 'element-selector/close':
3870 isOpen.current = false;
3871 props.onClose();
3872 break;
3873 case 'element-selector/loaded':
3874 turnOffTimeout();
3875 isOpen.current = true;
3876 break;
3877 case 'element-selector/attach':
3878 props.onAttach([{
3879 type: 'url',
3880 previewHTML: html,
3881 content: html,
3882 label: url ? new URL(url).href : '',
3883 source: _attachments.USER_URL_SOURCE
3884 }]);
3885 break;
3886 }
3887 };
3888 window.addEventListener('message', onMessage);
3889 return function () {
3890 window.removeEventListener('message', onMessage);
3891 };
3892 }, [iframeOrigin, props, turnOffTimeout]);
3893 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !isOpen.current && !isTimeout && /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3894 open: true,
3895 maxWidth: "lg"
3896 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3897 sx: {
3898 textAlign: 'center',
3899 padding: 3
3900 }
3901 }, (0, _i18n.__)('Loading...', 'elementor'))), isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3902 message: (0, _i18n.__)('The app is not responding. Please try again later. (#408)', 'elementor'),
3903 onClose: props.onClose
3904 }));
3905 };
3906 exports.UrlDialog = UrlDialog;
3907 UrlDialog.propTypes = {
3908 onAttach: _propTypes.default.func.isRequired,
3909 onClose: _propTypes.default.func.isRequired,
3910 url: _propTypes.default.string
3911 };
3912
3913 /***/ }),
3914
3915 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3916 /*!************************************************************************************!*\
3917 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3918 \************************************************************************************/
3919 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3920
3921 "use strict";
3922
3923
3924 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3925 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3926 Object.defineProperty(exports, "__esModule", ({
3927 value: true
3928 }));
3929 exports["default"] = void 0;
3930 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3931 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3932 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3933 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3934 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3935 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3936 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3937 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3938 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3939 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3940 var _excluded = ["sx", "PaperProps"];
3941 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); }
3942 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; }
3943 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; }
3944 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; }
3945 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3946 return {
3947 '& .MuiDialog-container': {
3948 marginTop: 0,
3949 alignItems: 'flex-end',
3950 paddingBottom: '16vh'
3951 },
3952 '& .MuiPaper-root': {
3953 margin: 0,
3954 maxHeight: '80vh'
3955 }
3956 };
3957 });
3958 var DialogHeader = function DialogHeader(_ref) {
3959 var onClose = _ref.onClose,
3960 children = _ref.children;
3961 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3962 sx: {
3963 fontWeight: 'normal'
3964 },
3965 color: "transparent",
3966 position: "relative"
3967 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3968 variant: "dense"
3969 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3970 sx: {
3971 mr: 1
3972 }
3973 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3974 component: "span",
3975 variant: "subtitle2",
3976 sx: {
3977 fontWeight: 'bold',
3978 textTransform: 'uppercase'
3979 }
3980 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3981 label: (0, _i18n.__)('Beta', 'elementor'),
3982 color: "default",
3983 size: "small",
3984 sx: {
3985 ml: 1
3986 }
3987 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3988 direction: "row",
3989 spacing: 1,
3990 alignItems: "center",
3991 sx: {
3992 ml: 'auto'
3993 }
3994 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3995 size: "small",
3996 "aria-label": "close",
3997 onClick: onClose,
3998 sx: {
3999 '&.MuiButtonBase-root': {
4000 mr: -1
4001 }
4002 }
4003 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
4004 };
4005 DialogHeader.propTypes = {
4006 children: _propTypes.default.node,
4007 onClose: _propTypes.default.func.isRequired
4008 };
4009 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
4010 return {
4011 '&.MuiDialogContent-root': {
4012 padding: 0
4013 }
4014 };
4015 });
4016 var LayoutDialog = function LayoutDialog(_ref2) {
4017 var _ref2$sx = _ref2.sx,
4018 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
4019 _ref2$PaperProps = _ref2.PaperProps,
4020 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
4021 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
4022 var _useState = (0, _react.useState)({
4023 pointerEvents: 'none'
4024 }),
4025 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4026 sxStyle = _useState2[0],
4027 setSxStyle = _useState2[1];
4028 var timeoutRef = (0, _react.useRef)(null);
4029
4030 /**
4031 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
4032 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
4033 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
4034 */
4035 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
4036 maxWidth: "md",
4037 PaperProps: _objectSpread({
4038 sx: {
4039 pointerEvents: 'auto'
4040 },
4041 onMouseEnter: function onMouseEnter() {
4042 clearTimeout(timeoutRef.current);
4043 setSxStyle({
4044 pointerEvents: 'all'
4045 });
4046 },
4047 onMouseLeave: function onMouseLeave() {
4048 clearTimeout(timeoutRef.current);
4049 timeoutRef.current = setTimeout(function () {
4050 setSxStyle({
4051 pointerEvents: 'none'
4052 });
4053 }, 200);
4054 }
4055 }, PaperProps)
4056 }, props, {
4057 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
4058 }));
4059 };
4060 LayoutDialog.propTypes = {
4061 sx: _propTypes.default.object,
4062 PaperProps: _propTypes.default.object
4063 };
4064 LayoutDialog.Header = DialogHeader;
4065 LayoutDialog.Content = StyledDialogContent;
4066 var _default = LayoutDialog;
4067 exports["default"] = _default;
4068
4069 /***/ }),
4070
4071 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
4072 /*!*********************************************************************************************!*\
4073 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
4074 \*********************************************************************************************/
4075 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4076
4077 "use strict";
4078
4079
4080 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4081 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4082 Object.defineProperty(exports, "__esModule", ({
4083 value: true
4084 }));
4085 exports.ProTemplateIndicator = void 0;
4086 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4087 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4088 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4089 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4090 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4091 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); }
4092 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; }
4093 var popoverId = 'e-pro-upgrade-popover';
4094 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
4095 var theme = _ref.theme;
4096 return {
4097 position: 'relative',
4098 padding: theme.spacing(3),
4099 boxShadow: theme.shadows[4],
4100 zIndex: '9999'
4101 };
4102 });
4103 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
4104 var theme = _ref2.theme;
4105 return {
4106 position: 'absolute',
4107 width: theme.spacing(5),
4108 height: theme.spacing(5),
4109 overflow: 'hidden',
4110 // Override Popper inline styles.
4111 left: '100% !important',
4112 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
4113 '&::after': {
4114 backgroundColor: theme.palette.background.paper,
4115 content: '""',
4116 display: 'block',
4117 position: 'absolute',
4118 width: theme.spacing(2.5),
4119 height: theme.spacing(2.5),
4120 top: '50%',
4121 left: '50%',
4122 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
4123 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
4124 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
4125 }
4126 };
4127 });
4128 var ProTemplateIndicator = function ProTemplateIndicator() {
4129 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
4130 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
4131 var _useState = (0, _react.useState)(false),
4132 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4133 isPopoverOpen = _useState2[0],
4134 setIsPopoverOpen = _useState2[1];
4135 var anchorEl = (0, _react.useRef)(null);
4136 var arrowEl = (0, _react.useRef)(null);
4137 var showPopover = function showPopover() {
4138 return setIsPopoverOpen(true);
4139 };
4140 var hidePopover = function hidePopover() {
4141 return setIsPopoverOpen(false);
4142 };
4143 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4144 flexDirection: "row-reverse",
4145 component: "span",
4146 display: "flex",
4147 onMouseLeave: hidePopover,
4148 alignItems: "center"
4149 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4150 ref: anchorEl,
4151 onMouseEnter: showPopover,
4152 onClick: function onClick(e) {
4153 return e.stopPropagation();
4154 } /* Do nothing */,
4155 "aria-owns": isPopoverOpen ? popoverId : undefined,
4156 "aria-haspopup": "true",
4157 sx: {
4158 m: 1,
4159 '&:hover': {
4160 backgroundColor: 'action.selected'
4161 }
4162 }
4163 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
4164 sx: {
4165 color: 'text.primary'
4166 }
4167 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
4168 open: isPopoverOpen,
4169 popperOptions: {
4170 placement: 'left-start',
4171 modifiers: [{
4172 name: 'arrow',
4173 enabled: true,
4174 options: {
4175 element: arrowEl.current,
4176 padding: 5
4177 }
4178 }, {
4179 name: 'offset',
4180 options: {
4181 offset: [0, 10]
4182 }
4183 }]
4184 },
4185 anchorEl: anchorEl.current,
4186 sx: {
4187 zIndex: '9999',
4188 maxWidth: 300
4189 }
4190 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
4191 ref: arrowEl
4192 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4193 alignItems: "start",
4194 spacing: 2
4195 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4196 color: "promotion",
4197 variant: "outlined",
4198 size: "small",
4199 label: (0, _i18n.__)('Pro', 'elementor'),
4200 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
4201 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4202 variant: "body2"
4203 }, (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, {
4204 variant: "contained",
4205 color: "promotion",
4206 size: "small",
4207 href: actionUrl,
4208 target: "_blank",
4209 sx: {
4210 alignSelf: 'flex-end'
4211 }
4212 }, actionLabel)))));
4213 };
4214 exports.ProTemplateIndicator = ProTemplateIndicator;
4215
4216 /***/ }),
4217
4218 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4219 /*!******************************************************************************************!*\
4220 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4221 \******************************************************************************************/
4222 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4223
4224 "use strict";
4225
4226
4227 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4228 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4229 Object.defineProperty(exports, "__esModule", ({
4230 value: true
4231 }));
4232 exports["default"] = void 0;
4233 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4234 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4235 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4236 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4237 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4238 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4239 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4240 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4241 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4242 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4243 var _excluded = ["onSubmit"];
4244 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); }
4245 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; }
4246 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; }
4247 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; }
4248 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4249 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4250 // eslint-disable-next-line jsx-a11y/no-autofocus
4251 , (0, _extends2.default)({
4252 autoFocus: true,
4253 multiline: true,
4254 size: "small",
4255 maxRows: 3,
4256 color: "secondary",
4257 variant: "standard"
4258 }, props, {
4259 inputRef: ref,
4260 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4261 type: 'search',
4262 sx: {
4263 pt: 0
4264 }
4265 })
4266 }));
4267 });
4268 TextInput.propTypes = {
4269 InputProps: _propTypes.default.object
4270 };
4271 var PaperComponent = function PaperComponent(props) {
4272 var _useConfig = (0, _config.useConfig)(),
4273 mode = _useConfig.mode;
4274 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4275 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4276 elevation: 8,
4277 sx: {
4278 borderRadius: 2
4279 }
4280 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4281 component: _ui.Box,
4282 color: function color(theme) {
4283 return theme.palette.text.tertiary;
4284 },
4285 variant: "caption",
4286 paddingX: 2,
4287 paddingY: 1
4288 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4289 sx: {
4290 m: 2
4291 }
4292 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4293 libraryLink: libraryLink
4294 })));
4295 };
4296 PaperComponent.propTypes = {
4297 children: _propTypes.default.node
4298 };
4299 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4300 var onSubmit = _ref.onSubmit,
4301 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4302 var _useState = (0, _react.useState)(false),
4303 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4304 showSuggestions = _useState2[0],
4305 setShowSuggestions = _useState2[1];
4306 var theme = (0, _ui.useTheme)();
4307 var itemHeight = parseInt(theme.spacing(4));
4308 var maxItems = 5;
4309 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4310 PaperComponent: PaperComponent,
4311 ListboxProps: {
4312 sx: {
4313 maxHeight: maxItems * itemHeight
4314 }
4315 },
4316 renderOption: function renderOption(optionProps, option) {
4317 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4318 title: option.text,
4319 noWrap: true,
4320 variant: "body2",
4321 component: _ui.Box,
4322 sx: {
4323 '&.MuiAutocomplete-option': {
4324 display: 'block',
4325 minHeight: itemHeight
4326 }
4327 }
4328 }), option.text);
4329 },
4330 freeSolo: true,
4331 fullWidth: true,
4332 disableClearable: true,
4333 open: showSuggestions,
4334 onClose: function onClose(e) {
4335 var _e$relatedTarget;
4336 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4337 },
4338 onKeyDown: function onKeyDown(e) {
4339 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4340 onSubmit(e);
4341 } else if ('/' === e.key && '' === e.target.value) {
4342 e.preventDefault();
4343 setShowSuggestions(true);
4344 }
4345 }
4346 }, props));
4347 };
4348 PromptAutocomplete.propTypes = {
4349 onSubmit: _propTypes.default.func.isRequired
4350 };
4351 PromptAutocomplete.TextInput = TextInput;
4352 var _default = PromptAutocomplete;
4353 exports["default"] = _default;
4354
4355 /***/ }),
4356
4357 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4358 /*!**********************************************************************************!*\
4359 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4360 \**********************************************************************************/
4361 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4362
4363 "use strict";
4364
4365
4366 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4367 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4368 Object.defineProperty(exports, "__esModule", ({
4369 value: true
4370 }));
4371 exports["default"] = void 0;
4372 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4373 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4374 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4375 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4376 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4377 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4378 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4379 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4380 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4381 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4382 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4383 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4384 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4385 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4386 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4387 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4388 var _excluded = ["tooltip"];
4389 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); }
4390 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; }
4391 var PROMPT_SUGGESTIONS = Object.freeze([{
4392 text: (0, _i18n.__)('Hero section on [topic] with heading, text, buttons on the right, and an image on the left', 'elementor.com')
4393 }, {
4394 text: (0, _i18n.__)('About Us section on [topic] with heading, text, and big image below', 'elementor.com')
4395 }, {
4396 text: (0, _i18n.__)('Team section with four image boxes showcasing team members', 'elementor.com')
4397 }, {
4398 text: (0, _i18n.__)('FAQ section with a toggle widget showcasing FAQs about [topic]', 'elementor.com')
4399 }, {
4400 text: (0, _i18n.__)('Gallery section with a carousel displaying three images at once', 'elementor.com')
4401 }, {
4402 text: (0, _i18n.__)('Contact section with a form for [topic]', 'elementor.com')
4403 }, {
4404 text: (0, _i18n.__)('Client section featuring companies\' logos', 'elementor.com')
4405 }, {
4406 text: (0, _i18n.__)('Testimonial section with testimonials, each featuring a star rating and an image', 'elementor.com')
4407 }, {
4408 text: (0, _i18n.__)('Service section about [topic], showcasing four services with buttons', 'elementor.com')
4409 }, {
4410 text: (0, _i18n.__)('Stats section with counters displaying data about [topic]', 'elementor.com')
4411 }, {
4412 text: (0, _i18n.__)('Quote section with colored background, featuring a centered quote', 'elementor.com')
4413 }, {
4414 text: (0, _i18n.__)('Pricing section for [topic] with a pricing list', 'elementor.com')
4415 }, {
4416 text: (0, _i18n.__)('Subscribe section featuring a simple email form, inviting users to stay informed on [topic]', 'elementor.com')
4417 }]);
4418 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4419 var tooltip = _ref.tooltip,
4420 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4421 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4422 title: tooltip
4423 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4424 component: "span",
4425 sx: {
4426 cursor: props.disabled ? 'default' : 'pointer'
4427 }
4428 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4429 };
4430 IconButtonWithTooltip.propTypes = {
4431 tooltip: _propTypes.default.string,
4432 disabled: _propTypes.default.bool
4433 };
4434 var BackButton = function BackButton(props) {
4435 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4436 size: "small",
4437 color: "secondary",
4438 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4439 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4440 };
4441 var EditButton = function EditButton(props) {
4442 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4443 size: "small",
4444 color: "primary",
4445 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4446 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4447 };
4448 var GenerateButton = function GenerateButton(props) {
4449 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4450 size: "small",
4451 fullWidth: false
4452 }, props), (0, _i18n.__)('Generate', 'elementor'));
4453 };
4454 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4455 var _attachments$;
4456 var attachments = _ref2.attachments,
4457 isActive = _ref2.isActive,
4458 isLoading = _ref2.isLoading,
4459 _ref2$showActions = _ref2.showActions,
4460 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4461 onAttach = _ref2.onAttach,
4462 onDetach = _ref2.onDetach,
4463 _onSubmit = _ref2.onSubmit,
4464 onBack = _ref2.onBack,
4465 onEdit = _ref2.onEdit,
4466 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4467 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4468 var _useState = (0, _react.useState)(''),
4469 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4470 prompt = _useState2[0],
4471 setPrompt = _useState2[1];
4472 (0, _react.useEffect)(function () {
4473 if (shouldResetPrompt) {
4474 setPrompt('');
4475 }
4476 }, [shouldResetPrompt]);
4477 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4478 isEnhancing = _usePromptEnhancer.isEnhancing,
4479 enhance = _usePromptEnhancer.enhance;
4480 var previousPrompt = (0, _react.useRef)('');
4481 var _useConfig = (0, _config.useConfig)(),
4482 attachmentsTypes = _useConfig.attachmentsTypes;
4483 var isInputDisabled = isLoading || isEnhancing || !isActive;
4484 var isInputEmpty = '' === prompt && !attachments.length;
4485 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4486 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4487 var attachmentsConfig = attachmentsTypes[attachmentsType];
4488 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4489 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');
4490 var handleBack = function handleBack() {
4491 setPrompt(previousPrompt.current);
4492 onBack();
4493 };
4494 var handleEdit = function handleEdit() {
4495 previousPrompt.current = prompt;
4496 onEdit();
4497 };
4498 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4499 component: "form",
4500 onSubmit: function onSubmit(e) {
4501 return _onSubmit(e, prompt);
4502 },
4503 direction: "row",
4504 sx: {
4505 p: 3
4506 },
4507 alignItems: "start",
4508 gap: 1
4509 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4510 direction: "row",
4511 alignItems: "start",
4512 flexGrow: 1,
4513 spacing: 2
4514 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4515 disabled: isLoading || isEnhancing,
4516 onClick: handleBack
4517 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4518 disabled: isLoading,
4519 onClick: handleEdit
4520 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4521 attachments: attachments,
4522 onAttach: onAttach,
4523 onDetach: onDetach,
4524 disabled: isInputDisabled
4525 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4526 value: prompt,
4527 disabled: isInputDisabled,
4528 onSubmit: function onSubmit(e) {
4529 return _onSubmit(e, prompt);
4530 },
4531 options: promptSuggestions,
4532 onChange: function onChange(_, selectedValue) {
4533 return setPrompt(selectedValue.text + ' ');
4534 },
4535 renderInput: function renderInput(params) {
4536 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4537 ref: ref,
4538 onChange: function onChange(e) {
4539 return setPrompt(e.target.value);
4540 },
4541 placeholder: promptPlaceholder
4542 }));
4543 }
4544 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4545 size: "small",
4546 disabled: isGenerateDisabled || '' === prompt,
4547 isLoading: isEnhancing,
4548 onClick: function onClick() {
4549 return enhance().then(function (_ref3) {
4550 var result = _ref3.result;
4551 return setPrompt(result);
4552 });
4553 }
4554 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4555 disabled: isGenerateDisabled
4556 }));
4557 });
4558 PromptForm.propTypes = {
4559 isActive: _propTypes.default.bool,
4560 onAttach: _propTypes.default.func,
4561 onDetach: _propTypes.default.func,
4562 isLoading: _propTypes.default.bool,
4563 showActions: _propTypes.default.bool,
4564 onSubmit: _propTypes.default.func.isRequired,
4565 onBack: _propTypes.default.func.isRequired,
4566 onEdit: _propTypes.default.func.isRequired,
4567 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4568 shouldResetPrompt: _propTypes.default.bool
4569 };
4570 var _default = PromptForm;
4571 exports["default"] = _default;
4572
4573 /***/ }),
4574
4575 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4576 /*!*******************************************************************************************!*\
4577 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4578 \*******************************************************************************************/
4579 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4580
4581 "use strict";
4582
4583
4584 Object.defineProperty(exports, "__esModule", ({
4585 value: true
4586 }));
4587 exports["default"] = void 0;
4588 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4589 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4590 shouldForwardProp: function shouldForwardProp(prop) {
4591 return prop !== 'outlineOffset';
4592 }
4593 })(function (_ref) {
4594 var theme = _ref.theme,
4595 selected = _ref.selected,
4596 height = _ref.height,
4597 disabled = _ref.disabled,
4598 _ref$outlineOffset = _ref.outlineOffset,
4599 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4600 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4601 var outline = "2px solid ".concat(outlineColor);
4602 return {
4603 height: height,
4604 cursor: disabled ? 'default' : 'pointer',
4605 overflow: 'hidden',
4606 boxSizing: 'border-box',
4607 backgroundPosition: 'top center',
4608 backgroundSize: '100% auto',
4609 backgroundRepeat: 'no-repeat',
4610 backgroundColor: theme.palette.common.white,
4611 borderRadius: theme.shape.borderRadius * 0.5,
4612 outlineOffset: outlineOffset,
4613 outline: outline,
4614 opacity: disabled ? '0.4' : '1',
4615 transition: "all 50ms linear",
4616 '&:hover': disabled ? {} : {
4617 outlineColor: theme.palette.text.primary
4618 }
4619 };
4620 });
4621 var _default = ScreenshotContainer;
4622 exports["default"] = _default;
4623
4624 /***/ }),
4625
4626 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4627 /*!*********************************************************************************************!*\
4628 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4629 \*********************************************************************************************/
4630 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4631
4632 "use strict";
4633
4634
4635 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4636 Object.defineProperty(exports, "__esModule", ({
4637 value: true
4638 }));
4639 exports["default"] = ScreenshotUnavailable;
4640 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4641 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4642 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4643 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4644 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4645 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4646 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; }
4647 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; }
4648 function ScreenshotUnavailable(props) {
4649 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4650 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4651 display: 'flex',
4652 alignItems: 'center',
4653 justifyContent: 'center',
4654 backgroundColor: 'background.paper',
4655 color: 'text.tertiary',
4656 fontStyle: 'italic',
4657 fontSize: '12px',
4658 paddingInline: 12,
4659 textAlign: 'center',
4660 lineHeight: 1.5
4661 })
4662 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4663 }
4664 ScreenshotUnavailable.propTypes = {
4665 sx: _propTypes.default.object
4666 };
4667
4668 /***/ }),
4669
4670 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4671 /*!*********************************************************************************!*\
4672 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4673 \*********************************************************************************/
4674 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4675
4676 "use strict";
4677
4678
4679 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4680 Object.defineProperty(exports, "__esModule", ({
4681 value: true
4682 }));
4683 exports["default"] = void 0;
4684 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4685 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4686 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4687 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4688 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4689 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4690 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4691 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; }
4692 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; }
4693 var SCREENSHOT_HEIGHT = '138px';
4694 var Screenshot = function Screenshot(_ref) {
4695 var url = _ref.url,
4696 type = _ref.type,
4697 _ref$isLoading = _ref.isLoading,
4698 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4699 _ref$isSelected = _ref.isSelected,
4700 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4701 isPlaceholder = _ref.isPlaceholder,
4702 disabled = _ref.disabled,
4703 onClick = _ref.onClick,
4704 _ref$sx = _ref.sx,
4705 sx = _ref$sx === void 0 ? {} : _ref$sx,
4706 outlineOffset = _ref.outlineOffset;
4707 if (isPlaceholder) {
4708 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4709 sx: _objectSpread({
4710 height: SCREENSHOT_HEIGHT
4711 }, sx)
4712 });
4713 }
4714 if (isLoading) {
4715 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4716 width: "100%",
4717 animation: "wave",
4718 variant: "rounded",
4719 height: SCREENSHOT_HEIGHT,
4720 sx: sx
4721 });
4722 }
4723 if (!url) {
4724 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4725 selected: isSelected,
4726 disabled: disabled,
4727 sx: sx,
4728 onClick: onClick,
4729 height: SCREENSHOT_HEIGHT,
4730 outlineOffset: outlineOffset
4731 });
4732 }
4733 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4734 selected: isSelected,
4735 disabled: disabled,
4736 sx: _objectSpread({
4737 backgroundImage: "url('".concat(url, "')")
4738 }, sx),
4739 onClick: onClick,
4740 height: SCREENSHOT_HEIGHT,
4741 outlineOffset: outlineOffset
4742 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4743 type: type
4744 }));
4745 };
4746 Screenshot.propTypes = {
4747 isSelected: _propTypes.default.bool,
4748 isLoading: _propTypes.default.bool,
4749 isPlaceholder: _propTypes.default.bool,
4750 disabled: _propTypes.default.bool,
4751 onClick: _propTypes.default.func.isRequired,
4752 url: _propTypes.default.string,
4753 type: _propTypes.default.string,
4754 sx: _propTypes.default.object,
4755 outlineOffset: _propTypes.default.string
4756 };
4757 var _default = Screenshot;
4758 exports["default"] = _default;
4759
4760 /***/ }),
4761
4762 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4763 /*!*************************************************************************************!*\
4764 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4765 \*************************************************************************************/
4766 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4767
4768 "use strict";
4769
4770
4771 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4772 Object.defineProperty(exports, "__esModule", ({
4773 value: true
4774 }));
4775 exports["default"] = void 0;
4776 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4777 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4778 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4779 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4780 var TemplateBadge = function TemplateBadge(props) {
4781 var _useConfig = (0, _config.useConfig)(),
4782 hasPro = _useConfig.hasPro;
4783 if ('Pro' === props.type && !hasPro) {
4784 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4785 }
4786 return null;
4787 };
4788 var _default = TemplateBadge;
4789 exports["default"] = _default;
4790 TemplateBadge.propTypes = {
4791 type: _propTypes.default.string
4792 };
4793
4794 /***/ }),
4795
4796 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4797 /*!********************************************************************************************!*\
4798 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4799 \********************************************************************************************/
4800 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4801
4802 "use strict";
4803
4804
4805 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4806 Object.defineProperty(exports, "__esModule", ({
4807 value: true
4808 }));
4809 exports["default"] = void 0;
4810 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4811 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4812 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4813 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4814 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4815 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4816 var _excluded = ["onClose", "onCancel", "title", "text"];
4817 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4818 var onClose = _ref.onClose,
4819 onCancel = _ref.onCancel,
4820 title = _ref.title,
4821 text = _ref.text,
4822 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4823 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4824 "aria-labelledby": "unsaved-changes-alert-title",
4825 "aria-describedby": "unsaved-changes-alert-description"
4826 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4827 id: "unsaved-changes-alert-title"
4828 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4829 id: "unsaved-changes-alert-description"
4830 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4831 onClick: onCancel,
4832 color: "secondary"
4833 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4834 onClick: onClose,
4835 color: "error",
4836 variant: "contained"
4837 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4838 };
4839 UnsavedChangesAlert.propTypes = {
4840 title: _propTypes.default.string,
4841 text: _propTypes.default.string,
4842 onCancel: _propTypes.default.func,
4843 onClose: _propTypes.default.func
4844 };
4845 var _default = UnsavedChangesAlert;
4846 exports["default"] = _default;
4847
4848 /***/ }),
4849
4850 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4851 /*!**************************************************************************!*\
4852 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4853 \**************************************************************************/
4854 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4855
4856 "use strict";
4857
4858
4859 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4860 Object.defineProperty(exports, "__esModule", ({
4861 value: true
4862 }));
4863 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4864 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4865 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4866 var MODE_LAYOUT = 'layout';
4867 exports.MODE_LAYOUT = MODE_LAYOUT;
4868 var MODE_VARIATION = 'variation';
4869 exports.MODE_VARIATION = MODE_VARIATION;
4870 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4871 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4872 var ConfigContext = _react.default.createContext({});
4873 var useConfig = function useConfig() {
4874 return _react.default.useContext(ConfigContext);
4875 };
4876 exports.useConfig = useConfig;
4877 var ConfigProvider = function ConfigProvider(props) {
4878 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4879 value: {
4880 mode: props.mode,
4881 attachmentsTypes: props.attachmentsTypes,
4882 onClose: props.onClose,
4883 onConnect: props.onConnect,
4884 onData: props.onData,
4885 onInsert: props.onInsert,
4886 onSelect: props.onSelect,
4887 onGenerate: props.onGenerate,
4888 currentContext: props.currentContext,
4889 hasPro: props.hasPro
4890 }
4891 }, props.children);
4892 };
4893 exports.ConfigProvider = ConfigProvider;
4894 ConfigProvider.propTypes = {
4895 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4896 children: _propTypes.default.node.isRequired,
4897 attachmentsTypes: _propTypes.default.object.isRequired,
4898 onClose: _propTypes.default.func.isRequired,
4899 onConnect: _propTypes.default.func.isRequired,
4900 onData: _propTypes.default.func.isRequired,
4901 onInsert: _propTypes.default.func.isRequired,
4902 onSelect: _propTypes.default.func.isRequired,
4903 onGenerate: _propTypes.default.func.isRequired,
4904 currentContext: _propTypes.default.object,
4905 hasPro: _propTypes.default.bool
4906 };
4907 var _default = ConfigContext;
4908 exports["default"] = _default;
4909
4910 /***/ }),
4911
4912 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4913 /*!*********************************************************************************!*\
4914 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4915 \*********************************************************************************/
4916 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4917
4918 "use strict";
4919
4920
4921 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4922 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4923 Object.defineProperty(exports, "__esModule", ({
4924 value: true
4925 }));
4926 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4927 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4928 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4929 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4930 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4931 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4932 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4933 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); }
4934 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; }
4935 var RemoteConfigContext = _react.default.createContext({});
4936 var useRemoteConfig = function useRemoteConfig() {
4937 return _react.default.useContext(RemoteConfigContext);
4938 };
4939 exports.useRemoteConfig = useRemoteConfig;
4940 var CONFIG_KEYS = {
4941 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4942 AUTH_TOKEN: 'jwt'
4943 };
4944 exports.CONFIG_KEYS = CONFIG_KEYS;
4945 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4946 var _useState = (0, _react.useState)(false),
4947 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4948 isLoading = _useState2[0],
4949 setIsLoading = _useState2[1];
4950 var _useState3 = (0, _react.useState)(false),
4951 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4952 isLoaded = _useState4[0],
4953 setIsLoaded = _useState4[1];
4954 var _useState5 = (0, _react.useState)(false),
4955 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4956 isError = _useState6[0],
4957 setIsError = _useState6[1];
4958 var _useState7 = (0, _react.useState)({}),
4959 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4960 remoteConfig = _useState8[0],
4961 setRemoteConfig = _useState8[1];
4962 var fetchData = /*#__PURE__*/function () {
4963 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4964 var result;
4965 return _regenerator.default.wrap(function _callee$(_context) {
4966 while (1) switch (_context.prev = _context.next) {
4967 case 0:
4968 setIsLoading(true);
4969 setIsError(false);
4970 _context.prev = 2;
4971 _context.next = 5;
4972 return (0, _api.getRemoteConfig)().finally(function () {
4973 setIsLoaded(true);
4974 setIsLoading(false);
4975 });
4976 case 5:
4977 result = _context.sent;
4978 if (result.config) {
4979 _context.next = 8;
4980 break;
4981 }
4982 throw new Error('Invalid remote config');
4983 case 8:
4984 setRemoteConfig(result.config);
4985 _context.next = 16;
4986 break;
4987 case 11:
4988 _context.prev = 11;
4989 _context.t0 = _context["catch"](2);
4990 setIsError(true);
4991 setIsLoaded(true);
4992 setIsLoading(false);
4993 case 16:
4994 case "end":
4995 return _context.stop();
4996 }
4997 }, _callee, null, [[2, 11]]);
4998 }));
4999 return function fetchData() {
5000 return _ref.apply(this, arguments);
5001 };
5002 }();
5003 (0, _react.useEffect)(function () {
5004 window.addEventListener('elementor/connect/success', fetchData);
5005 return function () {
5006 window.removeEventListener('elementor/connect/success', fetchData);
5007 };
5008 }, []);
5009 if (!isLoaded && !isLoading) {
5010 fetchData();
5011 }
5012 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
5013 value: {
5014 isLoading: isLoading,
5015 isLoaded: isLoaded,
5016 isError: isError,
5017 remoteConfig: remoteConfig
5018 }
5019 }, props.children);
5020 };
5021 exports.RemoteConfigProvider = RemoteConfigProvider;
5022 RemoteConfigProvider.propTypes = {
5023 children: _propTypes.default.node.isRequired,
5024 onError: _propTypes.default.func.isRequired
5025 };
5026
5027 /***/ }),
5028
5029 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
5030 /*!***********************************************************************************!*\
5031 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
5032 \***********************************************************************************/
5033 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5034
5035 "use strict";
5036
5037
5038 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5039 Object.defineProperty(exports, "__esModule", ({
5040 value: true
5041 }));
5042 exports["default"] = void 0;
5043 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
5044 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
5045 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
5046 return (0, _usePrompt.default)(function (requestBody, signal) {
5047 requestBody.variationType = type;
5048 return (0, _api.generateLayout)(requestBody, signal);
5049 }, initialValue);
5050 };
5051 var _default = useLayoutPrompt;
5052 exports["default"] = _default;
5053
5054 /***/ }),
5055
5056 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
5057 /*!********************************************************************************!*\
5058 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
5059 \********************************************************************************/
5060 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5061
5062 "use strict";
5063
5064
5065 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5066 Object.defineProperty(exports, "__esModule", ({
5067 value: true
5068 }));
5069 exports["default"] = void 0;
5070 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5071 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5072 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5073 var _react = __webpack_require__(/*! react */ "react");
5074 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
5075 var ERROR_INITIAL_VALUE = '';
5076 var useScreenshot = function useScreenshot(type, onData) {
5077 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
5078 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5079 error = _useState2[0],
5080 setError = _useState2[1];
5081 var _useState3 = (0, _react.useState)(false),
5082 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5083 isLoading = _useState4[0],
5084 setIsLoading = _useState4[1];
5085 var layoutData = (0, _useLayoutPrompt.default)(type, null);
5086 var generate = function generate(requestBody, signal) {
5087 setIsLoading(true);
5088 setError(ERROR_INITIAL_VALUE);
5089 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
5090 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
5091 var createdScreenshot;
5092 return _regenerator.default.wrap(function _callee$(_context) {
5093 while (1) switch (_context.prev = _context.next) {
5094 case 0:
5095 _context.next = 2;
5096 return onData(data.result);
5097 case 2:
5098 createdScreenshot = _context.sent;
5099 createdScreenshot.sendUsageData = function () {
5100 return layoutData.sendUsageData(data);
5101 };
5102 createdScreenshot.baseTemplateId = data.baseTemplateId;
5103 createdScreenshot.type = data.type;
5104 return _context.abrupt("return", createdScreenshot);
5105 case 7:
5106 case "end":
5107 return _context.stop();
5108 }
5109 }, _callee);
5110 }));
5111 return function (_x) {
5112 return _ref.apply(this, arguments);
5113 };
5114 }()).catch(function (err) {
5115 setError(err.extra_data ? err : err.message || err);
5116 throw err;
5117 }).finally(function () {
5118 return setIsLoading(false);
5119 });
5120 };
5121 return {
5122 generate: generate,
5123 error: error,
5124 isLoading: isLoading
5125 };
5126 };
5127 var _default = useScreenshot;
5128 exports["default"] = _default;
5129
5130 /***/ }),
5131
5132 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
5133 /*!*********************************************************************************!*\
5134 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
5135 \*********************************************************************************/
5136 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5137
5138 "use strict";
5139
5140
5141 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5142 Object.defineProperty(exports, "__esModule", ({
5143 value: true
5144 }));
5145 exports["default"] = void 0;
5146 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5147 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5148 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5149 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5150 var _react = __webpack_require__(/*! react */ "react");
5151 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5152 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5153 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5154 var PENDING_VALUE = {
5155 isPending: true
5156 };
5157 var useScreenshots = function useScreenshots(_ref) {
5158 var onData = _ref.onData;
5159 var _useState = (0, _react.useState)([]),
5160 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5161 screenshots = _useState2[0],
5162 setScreenshots = _useState2[1];
5163
5164 /**
5165 * The ids for each request are:
5166 * - editorSessionId: a unique id for each editor opening
5167 * - sessionId: a unique id for each session. (open the AI builder)
5168 * - generateId: a unique id for each generate request. (prompt change)
5169 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5170 * - requestId: a unique id for each generate request.
5171 */
5172
5173 var _useConfig = (0, _config.useConfig)(),
5174 currentContext = _useConfig.currentContext;
5175 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5176 editorSessionId = _useRequestIds.editorSessionId,
5177 sessionId = _useRequestIds.sessionId,
5178 setRequest = _useRequestIds.setRequest,
5179 setBatch = _useRequestIds.setBatch,
5180 setGenerate = _useRequestIds.setGenerate;
5181 var generateIdRef = (0, _react.useRef)('');
5182 var batchId = setBatch();
5183 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5184 var screenshotsGroupCount = screenshotsData.length;
5185 var error = screenshotsData.every(function (s) {
5186 return s === null || s === void 0 ? void 0 : s.error;
5187 }) ? screenshotsData[0].error : '';
5188 var isLoading = screenshotsData.some(function (s) {
5189 return s === null || s === void 0 ? void 0 : s.isLoading;
5190 });
5191 var abortController = (0, _react.useRef)(null);
5192 var abort = function abort() {
5193 var _abortController$curr;
5194 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5195 };
5196 var createScreenshots = /*#__PURE__*/function () {
5197 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5198 var onGenerate, onError, promises, results, isAllFailed;
5199 return _regenerator.default.wrap(function _callee$(_context) {
5200 while (1) switch (_context.prev = _context.next) {
5201 case 0:
5202 abortController.current = new AbortController();
5203 onGenerate = function onGenerate(screenshot) {
5204 setScreenshots(function (prev) {
5205 var updatedData = (0, _toConsumableArray2.default)(prev);
5206 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5207 updatedData[pendingIndex] = screenshot;
5208 return updatedData;
5209 });
5210 return true;
5211 };
5212 onError = function onError() {
5213 setScreenshots(function (prev) {
5214 var updatedData = (0, _toConsumableArray2.default)(prev);
5215 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5216 updatedData[pendingIndex] = {
5217 isError: true
5218 };
5219 return updatedData;
5220 });
5221 return false;
5222 };
5223 promises = screenshotsData.map(function (_ref3) {
5224 var generate = _ref3.generate;
5225 var prevGeneratedIds = screenshots.map(function (screenshot) {
5226 return screenshot.baseTemplateId || '';
5227 });
5228 var requestBody = {
5229 prompt: prompt,
5230 prevGeneratedIds: prevGeneratedIds,
5231 currentContext: currentContext,
5232 ids: {
5233 editorSessionId: editorSessionId.current,
5234 sessionId: sessionId.current,
5235 generateId: generateIdRef.current,
5236 batchId: batchId.current,
5237 requestId: setRequest().current
5238 },
5239 attachments: attachments.map(function (_ref4) {
5240 var type = _ref4.type,
5241 content = _ref4.content,
5242 label = _ref4.label,
5243 source = _ref4.source;
5244 // Send only the data that is needed for the generation.
5245 return {
5246 type: type,
5247 content: content,
5248 label: label,
5249 source: source
5250 };
5251 })
5252 };
5253 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5254 });
5255 _context.next = 6;
5256 return Promise.all(promises);
5257 case 6:
5258 results = _context.sent;
5259 isAllFailed = results.every(function (value) {
5260 return false === value;
5261 });
5262 if (isAllFailed) {
5263 setScreenshots(function (prev) {
5264 var updatedData = (0, _toConsumableArray2.default)(prev);
5265 updatedData.splice(screenshotsGroupCount * -1);
5266 return updatedData;
5267 });
5268 }
5269 case 9:
5270 case "end":
5271 return _context.stop();
5272 }
5273 }, _callee);
5274 }));
5275 return function createScreenshots(_x, _x2) {
5276 return _ref2.apply(this, arguments);
5277 };
5278 }();
5279 var generate = function generate(prompt, attachments) {
5280 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5281 generateIdRef.current = setGenerate().current;
5282 setScreenshots(placeholders);
5283 createScreenshots(prompt, attachments);
5284 };
5285 var regenerate = function regenerate(prompt, attachments) {
5286 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5287 setScreenshots(function (prev) {
5288 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5289 });
5290 createScreenshots(prompt, attachments);
5291 };
5292 return {
5293 generate: generate,
5294 regenerate: regenerate,
5295 screenshots: screenshots,
5296 isLoading: isLoading,
5297 error: error,
5298 abort: abort
5299 };
5300 };
5301 var _default = useScreenshots;
5302 exports["default"] = _default;
5303
5304 /***/ }),
5305
5306 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5307 /*!****************************************************************************!*\
5308 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5309 \****************************************************************************/
5310 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5311
5312 "use strict";
5313
5314
5315 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5316 Object.defineProperty(exports, "__esModule", ({
5317 value: true
5318 }));
5319 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5320 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5321 var _react = __webpack_require__(/*! react */ "react");
5322 var SCREENSHOTS_PER_PAGE = 3;
5323 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5324 var MAX_PAGES = 5;
5325 exports.MAX_PAGES = MAX_PAGES;
5326 var useSlider = function useSlider() {
5327 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5328 _ref$slidesCount = _ref.slidesCount,
5329 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5330 _ref$slidesPerPage = _ref.slidesPerPage,
5331 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5332 _ref$gapPercentage = _ref.gapPercentage,
5333 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5334 var _useState = (0, _react.useState)(1),
5335 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5336 currentPage = _useState2[0],
5337 setCurrentPage = _useState2[1];
5338 var gapsCount = slidesPerPage - 1;
5339 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5340 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5341 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5342 (0, _react.useEffect)(function () {
5343 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5344 if (currentPage > 1 && currentPage > pagesCount) {
5345 setCurrentPage(pagesCount);
5346 }
5347 }, [pagesCount]);
5348 return {
5349 currentPage: currentPage,
5350 setCurrentPage: setCurrentPage,
5351 pagesCount: pagesCount,
5352 slidesPerPage: slidesPerPage,
5353 gapPercentage: gapPercentage,
5354 offsetXPercentage: offsetXPercentage,
5355 slideWidthPercentage: slideWidthPercentage
5356 };
5357 };
5358 var _default = useSlider;
5359 exports["default"] = _default;
5360
5361 /***/ }),
5362
5363 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5364 /*!*****************************************************************!*\
5365 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5366 \*****************************************************************/
5367 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5368
5369 "use strict";
5370
5371
5372 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5373 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5374 Object.defineProperty(exports, "__esModule", ({
5375 value: true
5376 }));
5377 exports["default"] = void 0;
5378 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5379 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5380 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5381 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5382 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5383 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5384 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5385 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5386 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5387 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5388 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5389 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5390 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5391 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5392 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5393 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5394 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5395 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5396 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5397 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5398 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5399 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5400 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5401 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5402 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5403 var _excluded = ["children"];
5404 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); }
5405 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; }
5406 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5407 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5408
5409 /**
5410 * @typedef {Object} Attachment
5411 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5412 * @property {string} previewHTML - HTML content as a string, representing a preview.
5413 * @property {string} content - Actual content of the attachment as a string.
5414 * @property {string} label - Label for the attachment.
5415 */
5416
5417 var RegenerateButton = function RegenerateButton(props) {
5418 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5419 size: "small",
5420 color: "secondary",
5421 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5422 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5423 };
5424 var UseLayoutButton = function UseLayoutButton(props) {
5425 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5426 size: "small",
5427 variant: "contained"
5428 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5429 };
5430 UseLayoutButton.propTypes = {
5431 sx: _propTypes.default.object
5432 };
5433 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5434 if (isLoading || isPromptFormActive) {
5435 return true;
5436 }
5437 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5438 };
5439 var FormLayout = function FormLayout(_ref) {
5440 var _screenshots$selected, _screenshots$2;
5441 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5442 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5443 _ref$DialogContentPro = _ref.DialogContentProps,
5444 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5445 initialAttachments = _ref.attachments;
5446 var _useConfig = (0, _config.useConfig)(),
5447 attachmentsTypes = _useConfig.attachmentsTypes,
5448 onData = _useConfig.onData,
5449 onInsert = _useConfig.onInsert,
5450 onSelect = _useConfig.onSelect,
5451 onClose = _useConfig.onClose,
5452 onGenerate = _useConfig.onGenerate;
5453 var _useScreenshots = (0, _useScreenshots2.default)({
5454 onData: onData
5455 }),
5456 screenshots = _useScreenshots.screenshots,
5457 generate = _useScreenshots.generate,
5458 regenerate = _useScreenshots.regenerate,
5459 isLoading = _useScreenshots.isLoading,
5460 error = _useScreenshots.error,
5461 abort = _useScreenshots.abort;
5462 var screenshotOutlineOffset = '2px';
5463 var _useSlider = (0, _useSlider2.default)({
5464 slidesCount: screenshots.length
5465 }),
5466 currentPage = _useSlider.currentPage,
5467 setCurrentPage = _useSlider.setCurrentPage,
5468 pagesCount = _useSlider.pagesCount,
5469 gapPercentage = _useSlider.gapPercentage,
5470 slidesPerPage = _useSlider.slidesPerPage,
5471 offsetXPercentage = _useSlider.offsetXPercentage,
5472 slideWidthPercentage = _useSlider.slideWidthPercentage;
5473 var _useState = (0, _react.useState)(-1),
5474 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5475 selectedScreenshotIndex = _useState2[0],
5476 setSelectedScreenshotIndex = _useState2[1];
5477 var _useState3 = (0, _react.useState)(false),
5478 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5479 showUnsavedChangesAlert = _useState4[0],
5480 setShowUnsavedChangesAlert = _useState4[1];
5481 var _useState5 = (0, _react.useState)(true),
5482 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5483 isPromptEditable = _useState6[0],
5484 setIsPromptEditable = _useState6[1];
5485 var _useState7 = (0, _react.useState)([]),
5486 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5487 attachments = _useState8[0],
5488 setAttachments = _useState8[1];
5489 var _useState9 = (0, _react.useState)(false),
5490 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5491 shouldRenderWebApp = _useState10[0],
5492 setShouldRenderWebApp = _useState10[1];
5493 var _useState11 = (0, _react.useState)(false),
5494 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5495 isMinimized = _useState12[0],
5496 setIsMinimized = _useState12[1];
5497 var lastRun = (0, _react.useRef)(function () {});
5498 var promptInputRef = (0, _react.useRef)(null);
5499 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5500 var dialogContentChildren = DialogContentProps.children,
5501 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5502
5503 // When there are no screenshots the prompt field should be editable.
5504 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5505 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5506 var abortAndClose = function abortAndClose() {
5507 abort();
5508 onClose();
5509 };
5510 var onCloseIntent = function onCloseIntent() {
5511 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5512 if (hasUnsavedChanges) {
5513 return setShowUnsavedChangesAlert(true);
5514 }
5515 abortAndClose();
5516 };
5517 var handleGenerate = function handleGenerate(event, prompt) {
5518 event.preventDefault();
5519 if ('' === prompt.trim() && 0 === attachments.length) {
5520 return;
5521 }
5522 if ((0, _isURL.default)(prompt)) {
5523 setShouldRenderWebApp(true);
5524 return;
5525 }
5526 onGenerate();
5527 lastRun.current = function () {
5528 setSelectedScreenshotIndex(-1);
5529 generate(prompt, attachments);
5530 };
5531 lastRun.current();
5532 setIsPromptEditable(false);
5533 setCurrentPage(1);
5534 };
5535 var handleRegenerate = function handleRegenerate() {
5536 lastRun.current = function () {
5537 regenerate(promptInputRef.current.value, attachments);
5538 // Changing the current page to the next page number.
5539 setCurrentPage(pagesCount + 1);
5540 };
5541 lastRun.current();
5542 };
5543 var applyTemplate = function applyTemplate() {
5544 onInsert(selectedTemplate);
5545 screenshots[selectedScreenshotIndex].sendUsageData();
5546 abortAndClose();
5547 };
5548 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5549 return function () {
5550 if (isPromptFormActive) {
5551 return;
5552 }
5553 setSelectedScreenshotIndex(index);
5554 onSelect(template);
5555 };
5556 };
5557
5558 /**
5559 * @param {Attachment[]} items
5560 */
5561 var onAttach = function onAttach(items) {
5562 items.forEach(function (item) {
5563 if (!attachmentsTypes[item.type]) {
5564 throw new Error("Invalid attachment type: ".concat(item.type));
5565 }
5566 var typeConfig = attachmentsTypes[item.type];
5567 if (!item.previewHTML && typeConfig.previewGenerator) {
5568 typeConfig.previewGenerator(item.content).then(function (html) {
5569 item.previewHTML = html;
5570 setAttachments(function (prev) {
5571 // Replace the attachment with the updated one.
5572 return prev.map(function (attachment) {
5573 if (attachment.content === item.content) {
5574 return item;
5575 }
5576 return attachment;
5577 });
5578 });
5579 });
5580 }
5581 });
5582 setAttachments(items);
5583 setShouldRenderWebApp(false);
5584 setIsPromptEditable(true);
5585 };
5586 (0, _react.useEffect)(function () {
5587 var _screenshots$;
5588 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5589 if (isFirstTemplateExist) {
5590 onSelect(screenshots[0].template);
5591 setSelectedScreenshotIndex(0);
5592 }
5593 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5594 (0, _react.useEffect)(function () {
5595 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5596 onAttach(initialAttachments);
5597 }
5598 }, []);
5599 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5600 onClose: onCloseIntent
5601 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5602 onClose: onCloseIntent
5603 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5604 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5605 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5606 size: "small",
5607 "aria-label": "minimize",
5608 onClick: function onClick() {
5609 return setIsMinimized(function (prev) {
5610 return !prev;
5611 });
5612 }
5613 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5614 dividers: true
5615 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5616 in: !isMinimized
5617 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5618 sx: {
5619 pt: 2,
5620 px: 2,
5621 pb: 0
5622 }
5623 }, dialogContentChildren), attachments.length > 0 && /*#__PURE__*/_react.default.createElement(_promptPowerNotice.PromptPowerNotice, null), error && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5624 sx: {
5625 pt: 2,
5626 px: 2,
5627 pb: 0
5628 }
5629 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5630 error: error,
5631 onRetry: lastRun.current
5632 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5633 open: showUnsavedChangesAlert,
5634 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5635 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5636 onClose: abortAndClose,
5637 onCancel: function onCancel() {
5638 return setShowUnsavedChangesAlert(false);
5639 }
5640 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5641 type: _attachments.ATTACHMENT_TYPE_URL,
5642 url: promptInputRef.current.value,
5643 onAttach: onAttach,
5644 onClose: function onClose() {
5645 setShouldRenderWebApp(false);
5646 }
5647 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5648 shouldResetPrompt: shouldRenderWebApp,
5649 ref: promptInputRef,
5650 isActive: isPromptFormActive,
5651 isLoading: isLoading,
5652 showActions: screenshots.length > 0 || isLoading,
5653 attachmentsTypes: attachmentsTypes,
5654 attachments: attachments,
5655 onAttach: onAttach,
5656 onDetach: function onDetach(index) {
5657 setAttachments(function (prev) {
5658 var newAttachments = (0, _toConsumableArray2.default)(prev);
5659 newAttachments.splice(index, 1);
5660 return newAttachments;
5661 });
5662 setIsPromptEditable(true);
5663 },
5664 onSubmit: handleGenerate,
5665 onBack: function onBack() {
5666 return setIsPromptEditable(false);
5667 },
5668 onEdit: function onEdit() {
5669 return setIsPromptEditable(true);
5670 }
5671 }), (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, {
5672 sx: {
5673 p: 1.5
5674 }
5675 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5676 sx: {
5677 overflow: 'hidden',
5678 p: 0.5
5679 }
5680 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5681 sx: {
5682 display: 'flex',
5683 transition: 'all 0.4s ease',
5684 gap: "".concat(gapPercentage, "%"),
5685 transform: "translateX(".concat(offsetXPercentage, "%)")
5686 }
5687 }, screenshots.map(function (_ref2, index) {
5688 var screenshot = _ref2.screenshot,
5689 type = _ref2.type,
5690 template = _ref2.template,
5691 isError = _ref2.isError,
5692 isPending = _ref2.isPending;
5693 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5694 key: index,
5695 url: screenshot,
5696 type: type,
5697 disabled: isPromptFormActive,
5698 isPlaceholder: isError,
5699 isLoading: isPending,
5700 isSelected: selectedScreenshotIndex === index,
5701 onClick: handleScreenshotClick(index, template),
5702 outlineOffset: screenshotOutlineOffset,
5703 sx: {
5704 flex: "0 0 ".concat(slideWidthPercentage, "%")
5705 }
5706 });
5707 }))), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5708 introductionKey: "ai-context-layout-promotion"
5709 })), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5710 sx: {
5711 pt: 0,
5712 px: 2,
5713 pb: 2
5714 },
5715 display: "grid",
5716 gridTemplateColumns: "repeat(3, 1fr)",
5717 justifyItems: "center"
5718 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5719 onClick: handleRegenerate,
5720 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5721 sx: {
5722 justifySelf: 'start'
5723 }
5724 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5725 page: currentPage,
5726 count: pagesCount,
5727 disabled: isPromptFormActive,
5728 onChange: function onChange(_, page) {
5729 return setCurrentPage(page);
5730 }
5731 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5732 onClick: applyTemplate,
5733 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5734 sx: {
5735 justifySelf: 'end',
5736 gridColumn: 3
5737 }
5738 }))))));
5739 };
5740 FormLayout.propTypes = {
5741 DialogHeaderProps: _propTypes.default.object,
5742 DialogContentProps: _propTypes.default.object,
5743 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5744 };
5745 var _default = FormLayout;
5746 exports["default"] = _default;
5747
5748 /***/ }),
5749
5750 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5751 /*!************************************************************************************!*\
5752 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5753 \************************************************************************************/
5754 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5755
5756 "use strict";
5757
5758
5759 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5760 Object.defineProperty(exports, "__esModule", ({
5761 value: true
5762 }));
5763 exports["default"] = void 0;
5764 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5765 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5766 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5767 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5768 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5769 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5770 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5771 var _excluded = ["isLoading"];
5772 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5773 var EnhanceButton = function EnhanceButton(_ref) {
5774 var isLoading = _ref.isLoading,
5775 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5776 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5777 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5778 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5779 component: "span",
5780 sx: {
5781 cursor: props.disabled ? 'default' : 'pointer'
5782 }
5783 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5784 size: "small",
5785 color: "secondary"
5786 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5787 color: "secondary",
5788 size: 20
5789 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5790 fontSize: "small"
5791 }))));
5792 };
5793 EnhanceButton.propTypes = {
5794 disabled: _propTypes.default.bool,
5795 isLoading: _propTypes.default.bool
5796 };
5797 var _default = EnhanceButton;
5798 exports["default"] = _default;
5799
5800 /***/ }),
5801
5802 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5803 /*!*************************************************************************************!*\
5804 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5805 \*************************************************************************************/
5806 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5807
5808 "use strict";
5809
5810
5811 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5812 Object.defineProperty(exports, "__esModule", ({
5813 value: true
5814 }));
5815 exports["default"] = void 0;
5816 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5817 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5818 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5819 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5820 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5821 var GenerateSubmit = function GenerateSubmit(props) {
5822 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5823 fullWidth: true,
5824 size: "medium",
5825 type: "submit",
5826 variant: "contained"
5827 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5828 };
5829 GenerateSubmit.propTypes = {
5830 children: _propTypes.default.node
5831 };
5832 var _default = GenerateSubmit;
5833 exports["default"] = _default;
5834
5835 /***/ }),
5836
5837 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5838 /*!*****************************************************************!*\
5839 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5840 \*****************************************************************/
5841 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5842
5843 "use strict";
5844
5845
5846 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5847 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5848 Object.defineProperty(exports, "__esModule", ({
5849 value: true
5850 }));
5851 exports["default"] = void 0;
5852 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5853 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5854 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5855 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5856 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5857 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5858 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5859 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5860 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5861 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); }
5862 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; }
5863 var GetStarted = function GetStarted(_ref) {
5864 var onSuccess = _ref.onSuccess;
5865 var _useState = (0, _react.useState)(false),
5866 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5867 isTermsChecked = _useState2[0],
5868 setIsTermsChecked = _useState2[1];
5869 var onGetStartedClick = /*#__PURE__*/function () {
5870 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5871 return _regenerator.default.wrap(function _callee$(_context) {
5872 while (1) switch (_context.prev = _context.next) {
5873 case 0:
5874 _context.next = 2;
5875 return (0, _api.setGetStarted)();
5876 case 2:
5877 onSuccess();
5878 case 3:
5879 case "end":
5880 return _context.stop();
5881 }
5882 }, _callee);
5883 }));
5884 return function onGetStartedClick() {
5885 return _ref2.apply(this, arguments);
5886 };
5887 }();
5888 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5889 alignItems: "center",
5890 gap: 1.5
5891 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5892 sx: {
5893 color: 'text.primary',
5894 fontSize: '60px',
5895 mb: 1
5896 }
5897 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5898 variant: "h4",
5899 sx: {
5900 color: 'text.primary'
5901 }
5902 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5903 variant: "body2"
5904 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5905 direction: "row",
5906 gap: 1.5,
5907 alignItems: "flex-start"
5908 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5909 id: "e-ai-terms-approval",
5910 color: "secondary",
5911 checked: isTermsChecked,
5912 onClick: function onClick() {
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
5996
5997 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5998 Object.defineProperty(exports, "__esModule", ({
5999 value: true
6000 }));
6001 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = exports.WEB_BASED_PROMPTS = exports.VARIATIONS_PROMPTS = void 0;
6002 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6003 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6004 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6005 var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.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 exports.VARIATIONS_PROMPTS = VARIATIONS_PROMPTS;
6059 var WEB_BASED_PROMPTS = [{
6060 text: (0, _i18n.__)('Change the content to be about [topic]', 'elementor')
6061 }, {
6062 text: (0, _i18n.__)('Generate lorem ipsum placeholder text for all paragraphs', 'elementor')
6063 }, {
6064 text: (0, _i18n.__)('Revise the content to focus on [topic] and then translate it into Spanish', 'elementor')
6065 }, {
6066 text: (0, _i18n.__)('Shift the focus of the content to [topic] in order to showcase our company\'s mission and values', 'elementor')
6067 }, {
6068 text: (0, _i18n.__)('Alter the content to provide helpful tips related to [topic]', 'elementor')
6069 }, {
6070 text: (0, _i18n.__)('Adjust the content to include FAQs and answers for common inquiries about [topic]', 'elementor')
6071 }];
6072 exports.WEB_BASED_PROMPTS = WEB_BASED_PROMPTS;
6073 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
6074 var renderLayoutApp = function renderLayoutApp() {
6075 var _options$onRenderApp;
6076 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6077 parentContainer: null,
6078 mode: '',
6079 at: null,
6080 onClose: null,
6081 onGenerate: null,
6082 onInsert: null,
6083 onRenderApp: null,
6084 onSelect: null,
6085 attachments: []
6086 };
6087 closePanel();
6088 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
6089 // Create the container at the "drag widget here" area position.
6090 at: options.at
6091 });
6092 var _getUiConfig = getUiConfig(),
6093 colorScheme = _getUiConfig.colorScheme,
6094 isRTL = _getUiConfig.isRTL;
6095 var rootElement = document.createElement('div');
6096 document.body.append(rootElement);
6097 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
6098 var _ReactUtils$render = _react2.default.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
6099 isRTL: isRTL,
6100 colorScheme: colorScheme
6101 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
6102 mode: options.mode,
6103 currentContext: {
6104 body: {
6105 backgroundColor: bodyStyle.backgroundColor,
6106 backgroundImage: bodyStyle.backgroundImage
6107 }
6108 },
6109 attachmentsTypes: {
6110 json: {
6111 promptSuggestions: VARIATIONS_PROMPTS,
6112 promptPlaceholder: PROMPT_PLACEHOLDER,
6113 previewGenerator: function () {
6114 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
6115 var screenshot;
6116 return _regenerator.default.wrap(function _callee$(_context) {
6117 while (1) switch (_context.prev = _context.next) {
6118 case 0:
6119 _context.next = 2;
6120 return (0, _screenshot.takeScreenshot)(json);
6121 case 2:
6122 screenshot = _context.sent;
6123 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
6124 case 4:
6125 case "end":
6126 return _context.stop();
6127 }
6128 }, _callee);
6129 }));
6130 function previewGenerator(_x) {
6131 return _previewGenerator.apply(this, arguments);
6132 }
6133 return previewGenerator;
6134 }()
6135 },
6136 url: {
6137 promptPlaceholder: PROMPT_PLACEHOLDER,
6138 promptSuggestions: WEB_BASED_PROMPTS
6139 }
6140 },
6141 attachments: options.attachments || [],
6142 onClose: function onClose() {
6143 var _options$onClose;
6144 previewContainer.destroy();
6145 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
6146 unmount();
6147 rootElement.remove();
6148 openPanel();
6149 },
6150 onConnect: onConnect,
6151 onGenerate: function onGenerate() {
6152 var _options$onGenerate;
6153 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6154 previewContainer: previewContainer
6155 });
6156 },
6157 onData: /*#__PURE__*/function () {
6158 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6159 var screenshot;
6160 return _regenerator.default.wrap(function _callee2$(_context2) {
6161 while (1) switch (_context2.prev = _context2.next) {
6162 case 0:
6163 _context2.next = 2;
6164 return (0, _screenshot.takeScreenshot)(template);
6165 case 2:
6166 screenshot = _context2.sent;
6167 return _context2.abrupt("return", {
6168 screenshot: screenshot,
6169 template: template
6170 });
6171 case 4:
6172 case "end":
6173 return _context2.stop();
6174 }
6175 }, _callee2);
6176 }));
6177 return function (_x2) {
6178 return _ref.apply(this, arguments);
6179 };
6180 }(),
6181 onSelect: function onSelect(template) {
6182 var _options$onSelect;
6183 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6184 previewContainer.setContent(template);
6185 },
6186 onInsert: options.onInsert,
6187 hasPro: elementor.helpers.hasPro()
6188 })), rootElement),
6189 unmount = _ReactUtils$render.unmount;
6190 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6191 previewContainer: previewContainer
6192 });
6193 };
6194 exports.renderLayoutApp = renderLayoutApp;
6195 var importToEditor = function importToEditor(_ref2) {
6196 var parentContainer = _ref2.parentContainer,
6197 at = _ref2.at,
6198 template = _ref2.template,
6199 historyTitle = _ref2.historyTitle,
6200 _ref2$replace = _ref2.replace,
6201 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6202 var endHistoryLog = (0, _history.startHistoryLog)({
6203 type: 'import',
6204 title: historyTitle
6205 });
6206 if (replace) {
6207 $e.run('document/elements/delete', {
6208 container: parentContainer.children.at(at)
6209 });
6210 }
6211 $e.run('document/elements/create', {
6212 container: parentContainer,
6213 model: (0, _requestsIds.generateIds)(template),
6214 options: {
6215 at: at,
6216 edit: true
6217 }
6218 });
6219 endHistoryLog();
6220 };
6221 exports.importToEditor = importToEditor;
6222
6223 /***/ }),
6224
6225 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6226 /*!*******************************************************!*\
6227 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6228 \*******************************************************/
6229 /***/ ((__unused_webpack_module, exports) => {
6230
6231 "use strict";
6232
6233
6234 Object.defineProperty(exports, "__esModule", ({
6235 value: true
6236 }));
6237 exports.startHistoryLog = startHistoryLog;
6238 exports.toggleHistory = toggleHistory;
6239 function toggleHistory(isActive) {
6240 elementor.documents.getCurrent().history.setActive(isActive);
6241 }
6242
6243 /**
6244 * @param {Object} options
6245 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6246 * @param { string } options.title
6247 *
6248 * @return {*}
6249 */
6250 function startHistoryLog(_ref) {
6251 var type = _ref.type,
6252 title = _ref.title;
6253 var id = $e.internal('document/history/start-log', {
6254 type: type,
6255 title: title
6256 });
6257 return function () {
6258 return $e.internal('document/history/end-log', {
6259 id: id
6260 });
6261 };
6262 }
6263
6264 /***/ }),
6265
6266 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6267 /*!*****************************************************************!*\
6268 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6269 \*****************************************************************/
6270 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6271
6272 "use strict";
6273
6274
6275 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6276 Object.defineProperty(exports, "__esModule", ({
6277 value: true
6278 }));
6279 exports.createPreviewContainer = createPreviewContainer;
6280 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6281 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6282 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6283 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; }
6284 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; }
6285 /**
6286 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6287 */
6288
6289 var PREFIX = 'e-ai-preview-container';
6290 var CLASS_HIDDEN = PREFIX + '--hidden';
6291 var CLASS_IDLE = PREFIX + '--idle';
6292
6293 /**
6294 * @param {Container} parentContainer
6295 * @param {{}} containerOptions
6296 * @return {{init, setContent, reset, destroy}}
6297 */
6298
6299 function createPreviewContainer(parentContainer) {
6300 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6301 var createdContainers = new Map();
6302 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6303 function init() {
6304 showContainer(idleContainer);
6305 }
6306 function getAllContainers() {
6307 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6308 }
6309 function reset() {
6310 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6311 createdContainers.clear();
6312 showContainer(idleContainer);
6313 }
6314 function setContent(template) {
6315 if (!template) {
6316 return;
6317 }
6318 hideContainers(getAllContainers());
6319 if (!createdContainers.has(template)) {
6320 var newContainer = createContainer(parentContainer, template, containerOptions);
6321 createdContainers.set(template, newContainer);
6322 }
6323 showContainer(createdContainers.get(template));
6324 }
6325 function destroy() {
6326 deleteContainers(getAllContainers());
6327 createdContainers.clear();
6328 }
6329 return {
6330 init: init,
6331 reset: reset,
6332 setContent: setContent,
6333 destroy: destroy
6334 };
6335 }
6336
6337 /**
6338 * @param {Container} parentContainer
6339 * @param {{}} model
6340 * @param {{}} options
6341 * @return {*}
6342 */
6343 function createContainer(parentContainer, model) {
6344 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6345 (0, _history.toggleHistory)(false);
6346 var container = $e.run('document/elements/create', {
6347 container: parentContainer,
6348 model: _objectSpread(_objectSpread({}, model), {}, {
6349 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6350 }),
6351 options: _objectSpread(_objectSpread({}, options), {}, {
6352 edit: false
6353 })
6354 });
6355 (0, _history.toggleHistory)(true);
6356 container.view.$el.addClass(CLASS_HIDDEN);
6357 return container;
6358 }
6359
6360 /**
6361 * @param {Container} parentContainer
6362 * @param {{}} containerOptions
6363 * @return {*}
6364 */
6365 function createIdleContainer(parentContainer) {
6366 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6367 // Create an empty container that'll be used of UI purposes.
6368 var container = createContainer(parentContainer, {
6369 elType: 'container'
6370 }, containerOptions);
6371 container.view.$el.addClass(CLASS_IDLE);
6372 return container;
6373 }
6374 function hideContainers(containers) {
6375 containers.forEach(function (container) {
6376 container.view.$el.addClass(CLASS_HIDDEN);
6377 });
6378 }
6379 function showContainer(container) {
6380 container.view.$el.removeClass(CLASS_HIDDEN);
6381
6382 // Delay the scroll to avoid UI jumps when toggling between containers.
6383 setTimeout(function () {
6384 container.view.$el[0].scrollIntoView({
6385 behavior: 'smooth',
6386 block: 'start'
6387 });
6388 });
6389 }
6390 function deleteContainers(containers) {
6391 (0, _history.toggleHistory)(false);
6392 $e.run('document/elements/delete', {
6393 containers: containers
6394 });
6395 (0, _history.toggleHistory)(true);
6396 }
6397
6398 /***/ }),
6399
6400 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6401 /*!**********************************************************!*\
6402 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6403 \**********************************************************/
6404 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6405
6406 "use strict";
6407
6408
6409 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6410 Object.defineProperty(exports, "__esModule", ({
6411 value: true
6412 }));
6413 exports.takeScreenshot = void 0;
6414 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6415 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6416 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6417 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6418 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6419 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6420 var takeScreenshot = /*#__PURE__*/function () {
6421 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6422 var hiddenWrapper, container, screenshot;
6423 return _regenerator.default.wrap(function _callee$(_context) {
6424 while (1) switch (_context.prev = _context.next) {
6425 case 0:
6426 if (template) {
6427 _context.next = 2;
6428 break;
6429 }
6430 return _context.abrupt("return", '');
6431 case 2:
6432 // Disable history so the Editor won't show our hidden container as a user action.
6433 (0, _history.toggleHistory)(false);
6434 hiddenWrapper = createHiddenWrapper();
6435 container = createContainer(template);
6436 wrapContainer(container, hiddenWrapper);
6437 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6438
6439 // Wait for the container to render.
6440 _context.next = 9;
6441 return waitForContainer(container.id);
6442 case 9:
6443 if (!template.elements.length) {
6444 _context.next = 12;
6445 break;
6446 }
6447 _context.next = 12;
6448 return Promise.all(template.elements.map(function (child) {
6449 return waitForContainer(child.id);
6450 }));
6451 case 12:
6452 _context.prev = 12;
6453 _context.next = 15;
6454 return screenshotNode(container.view.$el[0]);
6455 case 15:
6456 screenshot = _context.sent;
6457 _context.next = 21;
6458 break;
6459 case 18:
6460 _context.prev = 18;
6461 _context.t0 = _context["catch"](12);
6462 // Return an empty image url if the screenshot failed.
6463 screenshot = '';
6464 case 21:
6465 deleteContainer(container);
6466 hiddenWrapper.remove();
6467 (0, _history.toggleHistory)(true);
6468 return _context.abrupt("return", screenshot);
6469 case 25:
6470 case "end":
6471 return _context.stop();
6472 }
6473 }, _callee, null, [[12, 18]]);
6474 }));
6475 return function takeScreenshot(_x) {
6476 return _ref.apply(this, arguments);
6477 };
6478 }();
6479 exports.takeScreenshot = takeScreenshot;
6480 function screenshotNode(node) {
6481 return toWebp(node, {
6482 quality: 0.01,
6483 // Transparent 1x1 pixel.
6484 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6485 });
6486 }
6487 function toWebp(_x2) {
6488 return _toWebp.apply(this, arguments);
6489 }
6490 function _toWebp() {
6491 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6492 var _options$quality;
6493 var options,
6494 canvas,
6495 _args3 = arguments;
6496 return _regenerator.default.wrap(function _callee3$(_context3) {
6497 while (1) switch (_context3.prev = _context3.next) {
6498 case 0:
6499 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6500 _context3.next = 3;
6501 return (0, _htmlToImage.toCanvas)(node, options);
6502 case 3:
6503 canvas = _context3.sent;
6504 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6505 case 5:
6506 case "end":
6507 return _context3.stop();
6508 }
6509 }, _callee3);
6510 }));
6511 return _toWebp.apply(this, arguments);
6512 }
6513 function createHiddenWrapper() {
6514 var wrapper = document.createElement('div');
6515 wrapper.style.position = 'fixed';
6516 wrapper.style.opacity = '0';
6517 wrapper.style.inset = '0';
6518 return wrapper;
6519 }
6520 function createContainer(template) {
6521 var model = (0, _requestsIds.generateIds)(template);
6522
6523 // Set a custom ID, so it can be used later on in the backend.
6524 model.id = "e-ai-screenshot-container-".concat(model.id);
6525 return $e.run('document/elements/create', {
6526 container: elementor.getPreviewContainer(),
6527 model: model,
6528 options: {
6529 edit: false
6530 }
6531 });
6532 }
6533 function deleteContainer(container) {
6534 return $e.run('document/elements/delete', {
6535 container: container
6536 });
6537 }
6538 function waitForContainer(id) {
6539 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6540 var timeoutPromise = sleep(timeout);
6541 var waitPromise = new Promise(function (resolve) {
6542 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6543 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6544 var images;
6545 return _regenerator.default.wrap(function _callee2$(_context2) {
6546 while (1) switch (_context2.prev = _context2.next) {
6547 case 0:
6548 if (!($element.data('id') === id)) {
6549 _context2.next = 5;
6550 break;
6551 }
6552 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6553 _context2.next = 4;
6554 return Promise.all(images.map(waitForImage));
6555 case 4:
6556 resolve();
6557 case 5:
6558 case "end":
6559 return _context2.stop();
6560 }
6561 }, _callee2);
6562 }));
6563 return function (_x3) {
6564 return _ref2.apply(this, arguments);
6565 };
6566 }());
6567 });
6568 return Promise.any([timeoutPromise, waitPromise]);
6569 }
6570 function waitForImage(image) {
6571 if (image.complete) {
6572 return Promise.resolve();
6573 }
6574 return new Promise(function (resolve) {
6575 image.addEventListener('load', resolve);
6576 image.addEventListener('error', function () {
6577 // Remove the image to make sure it won't break the screenshot.
6578 image.remove();
6579 resolve();
6580 });
6581 });
6582 }
6583 function sleep(ms) {
6584 return new Promise(function (resolve) {
6585 return setTimeout(resolve, ms);
6586 });
6587 }
6588 function wrapContainer(container, wrapper) {
6589 var el = container.view.$el[0];
6590 el.parentNode.insertBefore(wrapper, el);
6591 wrapper.appendChild(el);
6592 }
6593
6594 /***/ }),
6595
6596 /***/ "../node_modules/clsx/dist/clsx.m.js":
6597 /*!*******************************************!*\
6598 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6599 \*******************************************/
6600 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6601
6602 "use strict";
6603 __webpack_require__.r(__webpack_exports__);
6604 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6605 /* harmony export */ clsx: () => (/* binding */ clsx),
6606 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6607 /* harmony export */ });
6608 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);
6609
6610 /***/ }),
6611
6612 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6613 /*!***********************************************************************************!*\
6614 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6615 \***********************************************************************************/
6616 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6617
6618 "use strict";
6619
6620
6621 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6622
6623 /**
6624 * Copyright 2015, Yahoo! Inc.
6625 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6626 */
6627 var REACT_STATICS = {
6628 childContextTypes: true,
6629 contextType: true,
6630 contextTypes: true,
6631 defaultProps: true,
6632 displayName: true,
6633 getDefaultProps: true,
6634 getDerivedStateFromError: true,
6635 getDerivedStateFromProps: true,
6636 mixins: true,
6637 propTypes: true,
6638 type: true
6639 };
6640 var KNOWN_STATICS = {
6641 name: true,
6642 length: true,
6643 prototype: true,
6644 caller: true,
6645 callee: true,
6646 arguments: true,
6647 arity: true
6648 };
6649 var FORWARD_REF_STATICS = {
6650 '$$typeof': true,
6651 render: true,
6652 defaultProps: true,
6653 displayName: true,
6654 propTypes: true
6655 };
6656 var MEMO_STATICS = {
6657 '$$typeof': true,
6658 compare: true,
6659 defaultProps: true,
6660 displayName: true,
6661 propTypes: true,
6662 type: true
6663 };
6664 var TYPE_STATICS = {};
6665 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6666 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6667
6668 function getStatics(component) {
6669 // React v16.11 and below
6670 if (reactIs.isMemo(component)) {
6671 return MEMO_STATICS;
6672 } // React v16.12 and above
6673
6674
6675 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6676 }
6677
6678 var defineProperty = Object.defineProperty;
6679 var getOwnPropertyNames = Object.getOwnPropertyNames;
6680 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6681 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6682 var getPrototypeOf = Object.getPrototypeOf;
6683 var objectPrototype = Object.prototype;
6684 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6685 if (typeof sourceComponent !== 'string') {
6686 // don't hoist over string (html) components
6687 if (objectPrototype) {
6688 var inheritedComponent = getPrototypeOf(sourceComponent);
6689
6690 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6691 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6692 }
6693 }
6694
6695 var keys = getOwnPropertyNames(sourceComponent);
6696
6697 if (getOwnPropertySymbols) {
6698 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6699 }
6700
6701 var targetStatics = getStatics(targetComponent);
6702 var sourceStatics = getStatics(sourceComponent);
6703
6704 for (var i = 0; i < keys.length; ++i) {
6705 var key = keys[i];
6706
6707 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6708 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6709
6710 try {
6711 // Avoid failures from read-only properties
6712 defineProperty(targetComponent, key, descriptor);
6713 } catch (e) {}
6714 }
6715 }
6716 }
6717
6718 return targetComponent;
6719 }
6720
6721 module.exports = hoistNonReactStatics;
6722
6723
6724 /***/ }),
6725
6726 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6727 /*!*************************************************************************************************!*\
6728 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6729 \*************************************************************************************************/
6730 /***/ ((__unused_webpack_module, exports) => {
6731
6732 "use strict";
6733 /** @license React v16.13.1
6734 * react-is.development.js
6735 *
6736 * Copyright (c) Facebook, Inc. and its affiliates.
6737 *
6738 * This source code is licensed under the MIT license found in the
6739 * LICENSE file in the root directory of this source tree.
6740 */
6741
6742
6743
6744
6745
6746 if (true) {
6747 (function() {
6748 'use strict';
6749
6750 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6751 // nor polyfill, then a plain number is used for performance.
6752 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6753 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6754 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6755 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6756 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6757 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6758 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6759 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6760 // (unstable) APIs that have been removed. Can we remove the symbols?
6761
6762 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6763 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6764 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6765 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6766 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6767 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6768 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6769 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6770 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6771 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6772 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6773
6774 function isValidElementType(type) {
6775 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6776 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);
6777 }
6778
6779 function typeOf(object) {
6780 if (typeof object === 'object' && object !== null) {
6781 var $$typeof = object.$$typeof;
6782
6783 switch ($$typeof) {
6784 case REACT_ELEMENT_TYPE:
6785 var type = object.type;
6786
6787 switch (type) {
6788 case REACT_ASYNC_MODE_TYPE:
6789 case REACT_CONCURRENT_MODE_TYPE:
6790 case REACT_FRAGMENT_TYPE:
6791 case REACT_PROFILER_TYPE:
6792 case REACT_STRICT_MODE_TYPE:
6793 case REACT_SUSPENSE_TYPE:
6794 return type;
6795
6796 default:
6797 var $$typeofType = type && type.$$typeof;
6798
6799 switch ($$typeofType) {
6800 case REACT_CONTEXT_TYPE:
6801 case REACT_FORWARD_REF_TYPE:
6802 case REACT_LAZY_TYPE:
6803 case REACT_MEMO_TYPE:
6804 case REACT_PROVIDER_TYPE:
6805 return $$typeofType;
6806
6807 default:
6808 return $$typeof;
6809 }
6810
6811 }
6812
6813 case REACT_PORTAL_TYPE:
6814 return $$typeof;
6815 }
6816 }
6817
6818 return undefined;
6819 } // AsyncMode is deprecated along with isAsyncMode
6820
6821 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6822 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6823 var ContextConsumer = REACT_CONTEXT_TYPE;
6824 var ContextProvider = REACT_PROVIDER_TYPE;
6825 var Element = REACT_ELEMENT_TYPE;
6826 var ForwardRef = REACT_FORWARD_REF_TYPE;
6827 var Fragment = REACT_FRAGMENT_TYPE;
6828 var Lazy = REACT_LAZY_TYPE;
6829 var Memo = REACT_MEMO_TYPE;
6830 var Portal = REACT_PORTAL_TYPE;
6831 var Profiler = REACT_PROFILER_TYPE;
6832 var StrictMode = REACT_STRICT_MODE_TYPE;
6833 var Suspense = REACT_SUSPENSE_TYPE;
6834 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6835
6836 function isAsyncMode(object) {
6837 {
6838 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6839 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6840
6841 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.');
6842 }
6843 }
6844
6845 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6846 }
6847 function isConcurrentMode(object) {
6848 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6849 }
6850 function isContextConsumer(object) {
6851 return typeOf(object) === REACT_CONTEXT_TYPE;
6852 }
6853 function isContextProvider(object) {
6854 return typeOf(object) === REACT_PROVIDER_TYPE;
6855 }
6856 function isElement(object) {
6857 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6858 }
6859 function isForwardRef(object) {
6860 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6861 }
6862 function isFragment(object) {
6863 return typeOf(object) === REACT_FRAGMENT_TYPE;
6864 }
6865 function isLazy(object) {
6866 return typeOf(object) === REACT_LAZY_TYPE;
6867 }
6868 function isMemo(object) {
6869 return typeOf(object) === REACT_MEMO_TYPE;
6870 }
6871 function isPortal(object) {
6872 return typeOf(object) === REACT_PORTAL_TYPE;
6873 }
6874 function isProfiler(object) {
6875 return typeOf(object) === REACT_PROFILER_TYPE;
6876 }
6877 function isStrictMode(object) {
6878 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6879 }
6880 function isSuspense(object) {
6881 return typeOf(object) === REACT_SUSPENSE_TYPE;
6882 }
6883
6884 exports.AsyncMode = AsyncMode;
6885 exports.ConcurrentMode = ConcurrentMode;
6886 exports.ContextConsumer = ContextConsumer;
6887 exports.ContextProvider = ContextProvider;
6888 exports.Element = Element;
6889 exports.ForwardRef = ForwardRef;
6890 exports.Fragment = Fragment;
6891 exports.Lazy = Lazy;
6892 exports.Memo = Memo;
6893 exports.Portal = Portal;
6894 exports.Profiler = Profiler;
6895 exports.StrictMode = StrictMode;
6896 exports.Suspense = Suspense;
6897 exports.isAsyncMode = isAsyncMode;
6898 exports.isConcurrentMode = isConcurrentMode;
6899 exports.isContextConsumer = isContextConsumer;
6900 exports.isContextProvider = isContextProvider;
6901 exports.isElement = isElement;
6902 exports.isForwardRef = isForwardRef;
6903 exports.isFragment = isFragment;
6904 exports.isLazy = isLazy;
6905 exports.isMemo = isMemo;
6906 exports.isPortal = isPortal;
6907 exports.isProfiler = isProfiler;
6908 exports.isStrictMode = isStrictMode;
6909 exports.isSuspense = isSuspense;
6910 exports.isValidElementType = isValidElementType;
6911 exports.typeOf = typeOf;
6912 })();
6913 }
6914
6915
6916 /***/ }),
6917
6918 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
6919 /*!******************************************************************************!*\
6920 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
6921 \******************************************************************************/
6922 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6923
6924 "use strict";
6925
6926
6927 if (false) {} else {
6928 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
6929 }
6930
6931
6932 /***/ }),
6933
6934 /***/ "../node_modules/html-to-image/es/apply-style.js":
6935 /*!*******************************************************!*\
6936 !*** ../node_modules/html-to-image/es/apply-style.js ***!
6937 \*******************************************************/
6938 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6939
6940 "use strict";
6941 __webpack_require__.r(__webpack_exports__);
6942 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6943 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
6944 /* harmony export */ });
6945 function applyStyle(node, options) {
6946 const { style } = node;
6947 if (options.backgroundColor) {
6948 style.backgroundColor = options.backgroundColor;
6949 }
6950 if (options.width) {
6951 style.width = `${options.width}px`;
6952 }
6953 if (options.height) {
6954 style.height = `${options.height}px`;
6955 }
6956 const manual = options.style;
6957 if (manual != null) {
6958 Object.keys(manual).forEach((key) => {
6959 style[key] = manual[key];
6960 });
6961 }
6962 return node;
6963 }
6964 //# sourceMappingURL=apply-style.js.map
6965
6966 /***/ }),
6967
6968 /***/ "../node_modules/html-to-image/es/clone-node.js":
6969 /*!******************************************************!*\
6970 !*** ../node_modules/html-to-image/es/clone-node.js ***!
6971 \******************************************************/
6972 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6973
6974 "use strict";
6975 __webpack_require__.r(__webpack_exports__);
6976 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6977 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
6978 /* harmony export */ });
6979 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
6980 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6981 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
6982 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
6983
6984
6985
6986
6987 async function cloneCanvasElement(canvas) {
6988 const dataURL = canvas.toDataURL();
6989 if (dataURL === 'data:,') {
6990 return canvas.cloneNode(false);
6991 }
6992 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6993 }
6994 async function cloneVideoElement(video, options) {
6995 if (video.currentSrc) {
6996 const canvas = document.createElement('canvas');
6997 const ctx = canvas.getContext('2d');
6998 canvas.width = video.clientWidth;
6999 canvas.height = video.clientHeight;
7000 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
7001 const dataURL = canvas.toDataURL();
7002 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7003 }
7004 const poster = video.poster;
7005 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
7006 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
7007 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7008 }
7009 async function cloneIFrameElement(iframe) {
7010 var _a;
7011 try {
7012 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
7013 return (await cloneNode(iframe.contentDocument.body, {}, true));
7014 }
7015 }
7016 catch (_b) {
7017 // Failed to clone iframe
7018 }
7019 return iframe.cloneNode(false);
7020 }
7021 async function cloneSingleNode(node, options) {
7022 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
7023 return cloneCanvasElement(node);
7024 }
7025 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
7026 return cloneVideoElement(node, options);
7027 }
7028 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
7029 return cloneIFrameElement(node);
7030 }
7031 return node.cloneNode(false);
7032 }
7033 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
7034 async function cloneChildren(nativeNode, clonedNode, options) {
7035 var _a, _b;
7036 let children = [];
7037 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
7038 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
7039 }
7040 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7041 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
7042 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
7043 }
7044 else {
7045 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
7046 }
7047 if (children.length === 0 ||
7048 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
7049 return clonedNode;
7050 }
7051 await children.reduce((deferred, child) => deferred
7052 .then(() => cloneNode(child, options))
7053 .then((clonedChild) => {
7054 if (clonedChild) {
7055 clonedNode.appendChild(clonedChild);
7056 }
7057 }), Promise.resolve());
7058 return clonedNode;
7059 }
7060 function cloneCSSStyle(nativeNode, clonedNode) {
7061 const targetStyle = clonedNode.style;
7062 if (!targetStyle) {
7063 return;
7064 }
7065 const sourceStyle = window.getComputedStyle(nativeNode);
7066 if (sourceStyle.cssText) {
7067 targetStyle.cssText = sourceStyle.cssText;
7068 targetStyle.transformOrigin = sourceStyle.transformOrigin;
7069 }
7070 else {
7071 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
7072 let value = sourceStyle.getPropertyValue(name);
7073 if (name === 'font-size' && value.endsWith('px')) {
7074 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
7075 value = `${reducedFont}px`;
7076 }
7077 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7078 name === 'display' &&
7079 value === 'inline') {
7080 value = 'block';
7081 }
7082 if (name === 'd' && clonedNode.getAttribute('d')) {
7083 value = `path(${clonedNode.getAttribute('d')})`;
7084 }
7085 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
7086 });
7087 }
7088 }
7089 function cloneInputValue(nativeNode, clonedNode) {
7090 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
7091 clonedNode.innerHTML = nativeNode.value;
7092 }
7093 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
7094 clonedNode.setAttribute('value', nativeNode.value);
7095 }
7096 }
7097 function cloneSelectValue(nativeNode, clonedNode) {
7098 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
7099 const clonedSelect = clonedNode;
7100 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
7101 if (selectedOption) {
7102 selectedOption.setAttribute('selected', '');
7103 }
7104 }
7105 }
7106 function decorate(nativeNode, clonedNode) {
7107 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7108 cloneCSSStyle(nativeNode, clonedNode);
7109 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
7110 cloneInputValue(nativeNode, clonedNode);
7111 cloneSelectValue(nativeNode, clonedNode);
7112 }
7113 return clonedNode;
7114 }
7115 async function ensureSVGSymbols(clone, options) {
7116 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
7117 if (uses.length === 0) {
7118 return clone;
7119 }
7120 const processedDefs = {};
7121 for (let i = 0; i < uses.length; i++) {
7122 const use = uses[i];
7123 const id = use.getAttribute('xlink:href');
7124 if (id) {
7125 const exist = clone.querySelector(id);
7126 const definition = document.querySelector(id);
7127 if (!exist && definition && !processedDefs[id]) {
7128 // eslint-disable-next-line no-await-in-loop
7129 processedDefs[id] = (await cloneNode(definition, options, true));
7130 }
7131 }
7132 }
7133 const nodes = Object.values(processedDefs);
7134 if (nodes.length) {
7135 const ns = 'http://www.w3.org/1999/xhtml';
7136 const svg = document.createElementNS(ns, 'svg');
7137 svg.setAttribute('xmlns', ns);
7138 svg.style.position = 'absolute';
7139 svg.style.width = '0';
7140 svg.style.height = '0';
7141 svg.style.overflow = 'hidden';
7142 svg.style.display = 'none';
7143 const defs = document.createElementNS(ns, 'defs');
7144 svg.appendChild(defs);
7145 for (let i = 0; i < nodes.length; i++) {
7146 defs.appendChild(nodes[i]);
7147 }
7148 clone.appendChild(svg);
7149 }
7150 return clone;
7151 }
7152 async function cloneNode(node, options, isRoot) {
7153 if (!isRoot && options.filter && !options.filter(node)) {
7154 return null;
7155 }
7156 return Promise.resolve(node)
7157 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7158 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7159 .then((clonedNode) => decorate(node, clonedNode))
7160 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7161 }
7162 //# sourceMappingURL=clone-node.js.map
7163
7164 /***/ }),
7165
7166 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7167 /*!*********************************************************!*\
7168 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7169 \*********************************************************/
7170 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7171
7172 "use strict";
7173 __webpack_require__.r(__webpack_exports__);
7174 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7175 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7176 /* harmony export */ });
7177 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7178
7179 function formatCSSText(style) {
7180 const content = style.getPropertyValue('content');
7181 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7182 }
7183 function formatCSSProperties(style) {
7184 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7185 .map((name) => {
7186 const value = style.getPropertyValue(name);
7187 const priority = style.getPropertyPriority(name);
7188 return `${name}: ${value}${priority ? ' !important' : ''};`;
7189 })
7190 .join(' ');
7191 }
7192 function getPseudoElementStyle(className, pseudo, style) {
7193 const selector = `.${className}:${pseudo}`;
7194 const cssText = style.cssText
7195 ? formatCSSText(style)
7196 : formatCSSProperties(style);
7197 return document.createTextNode(`${selector}{${cssText}}`);
7198 }
7199 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7200 const style = window.getComputedStyle(nativeNode, pseudo);
7201 const content = style.getPropertyValue('content');
7202 if (content === '' || content === 'none') {
7203 return;
7204 }
7205 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7206 try {
7207 clonedNode.className = `${clonedNode.className} ${className}`;
7208 }
7209 catch (err) {
7210 return;
7211 }
7212 const styleElement = document.createElement('style');
7213 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7214 clonedNode.appendChild(styleElement);
7215 }
7216 function clonePseudoElements(nativeNode, clonedNode) {
7217 clonePseudoElement(nativeNode, clonedNode, ':before');
7218 clonePseudoElement(nativeNode, clonedNode, ':after');
7219 }
7220 //# sourceMappingURL=clone-pseudos.js.map
7221
7222 /***/ }),
7223
7224 /***/ "../node_modules/html-to-image/es/dataurl.js":
7225 /*!***************************************************!*\
7226 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7227 \***************************************************/
7228 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7229
7230 "use strict";
7231 __webpack_require__.r(__webpack_exports__);
7232 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7233 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7234 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7235 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7236 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7237 /* harmony export */ });
7238 function getContentFromDataUrl(dataURL) {
7239 return dataURL.split(/,/)[1];
7240 }
7241 function isDataUrl(url) {
7242 return url.search(/^(data:)/) !== -1;
7243 }
7244 function makeDataUrl(content, mimeType) {
7245 return `data:${mimeType};base64,${content}`;
7246 }
7247 async function fetchAsDataURL(url, init, process) {
7248 const res = await fetch(url, init);
7249 if (res.status === 404) {
7250 throw new Error(`Resource "${res.url}" not found`);
7251 }
7252 const blob = await res.blob();
7253 return new Promise((resolve, reject) => {
7254 const reader = new FileReader();
7255 reader.onerror = reject;
7256 reader.onloadend = () => {
7257 try {
7258 resolve(process({ res, result: reader.result }));
7259 }
7260 catch (error) {
7261 reject(error);
7262 }
7263 };
7264 reader.readAsDataURL(blob);
7265 });
7266 }
7267 const cache = {};
7268 function getCacheKey(url, contentType, includeQueryParams) {
7269 let key = url.replace(/\?.*/, '');
7270 if (includeQueryParams) {
7271 key = url;
7272 }
7273 // font resource
7274 if (/ttf|otf|eot|woff2?/i.test(key)) {
7275 key = key.replace(/.*\//, '');
7276 }
7277 return contentType ? `[${contentType}]${key}` : key;
7278 }
7279 async function resourceToDataURL(resourceUrl, contentType, options) {
7280 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7281 if (cache[cacheKey] != null) {
7282 return cache[cacheKey];
7283 }
7284 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7285 if (options.cacheBust) {
7286 // eslint-disable-next-line no-param-reassign
7287 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7288 }
7289 let dataURL;
7290 try {
7291 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7292 if (!contentType) {
7293 // eslint-disable-next-line no-param-reassign
7294 contentType = res.headers.get('Content-Type') || '';
7295 }
7296 return getContentFromDataUrl(result);
7297 });
7298 dataURL = makeDataUrl(content, contentType);
7299 }
7300 catch (error) {
7301 dataURL = options.imagePlaceholder || '';
7302 let msg = `Failed to fetch resource: ${resourceUrl}`;
7303 if (error) {
7304 msg = typeof error === 'string' ? error : error.message;
7305 }
7306 if (msg) {
7307 console.warn(msg);
7308 }
7309 }
7310 cache[cacheKey] = dataURL;
7311 return dataURL;
7312 }
7313 //# sourceMappingURL=dataurl.js.map
7314
7315 /***/ }),
7316
7317 /***/ "../node_modules/html-to-image/es/embed-images.js":
7318 /*!********************************************************!*\
7319 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7320 \********************************************************/
7321 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7322
7323 "use strict";
7324 __webpack_require__.r(__webpack_exports__);
7325 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7326 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7327 /* harmony export */ });
7328 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7329 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7330 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7331 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7332
7333
7334
7335
7336 async function embedProp(propName, node, options) {
7337 var _a;
7338 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7339 if (propValue) {
7340 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7341 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7342 return true;
7343 }
7344 return false;
7345 }
7346 async function embedBackground(clonedNode, options) {
7347 if (!(await embedProp('background', clonedNode, options))) {
7348 await embedProp('background-image', clonedNode, options);
7349 }
7350 if (!(await embedProp('mask', clonedNode, options))) {
7351 await embedProp('mask-image', clonedNode, options);
7352 }
7353 }
7354 async function embedImageNode(clonedNode, options) {
7355 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7356 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7357 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7358 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7359 return;
7360 }
7361 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7362 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7363 await new Promise((resolve, reject) => {
7364 clonedNode.onload = resolve;
7365 clonedNode.onerror = reject;
7366 const image = clonedNode;
7367 if (image.decode) {
7368 image.decode = resolve;
7369 }
7370 if (image.loading === 'lazy') {
7371 image.loading = 'eager';
7372 }
7373 if (isImageElement) {
7374 clonedNode.srcset = '';
7375 clonedNode.src = dataURL;
7376 }
7377 else {
7378 clonedNode.href.baseVal = dataURL;
7379 }
7380 });
7381 }
7382 async function embedChildren(clonedNode, options) {
7383 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7384 const deferreds = children.map((child) => embedImages(child, options));
7385 await Promise.all(deferreds).then(() => clonedNode);
7386 }
7387 async function embedImages(clonedNode, options) {
7388 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7389 await embedBackground(clonedNode, options);
7390 await embedImageNode(clonedNode, options);
7391 await embedChildren(clonedNode, options);
7392 }
7393 }
7394 //# sourceMappingURL=embed-images.js.map
7395
7396 /***/ }),
7397
7398 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7399 /*!***********************************************************!*\
7400 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7401 \***********************************************************/
7402 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7403
7404 "use strict";
7405 __webpack_require__.r(__webpack_exports__);
7406 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7407 /* harmony export */ embed: () => (/* binding */ embed),
7408 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7409 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7410 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7411 /* harmony export */ });
7412 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7413 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7414 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7415
7416
7417
7418 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7419 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7420 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7421 function toRegex(url) {
7422 // eslint-disable-next-line no-useless-escape
7423 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7424 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7425 }
7426 function parseURLs(cssText) {
7427 const urls = [];
7428 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7429 urls.push(url);
7430 return raw;
7431 });
7432 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7433 }
7434 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7435 try {
7436 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7437 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7438 let dataURL;
7439 if (getContentFromUrl) {
7440 const content = await getContentFromUrl(resolvedURL);
7441 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7442 }
7443 else {
7444 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7445 }
7446 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7447 }
7448 catch (error) {
7449 // pass
7450 }
7451 return cssText;
7452 }
7453 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7454 return !preferredFontFormat
7455 ? str
7456 : str.replace(FONT_SRC_REGEX, (match) => {
7457 // eslint-disable-next-line no-constant-condition
7458 while (true) {
7459 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7460 if (!format) {
7461 return '';
7462 }
7463 if (format === preferredFontFormat) {
7464 return `src: ${src};`;
7465 }
7466 }
7467 });
7468 }
7469 function shouldEmbed(url) {
7470 return url.search(URL_REGEX) !== -1;
7471 }
7472 async function embedResources(cssText, baseUrl, options) {
7473 if (!shouldEmbed(cssText)) {
7474 return cssText;
7475 }
7476 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7477 const urls = parseURLs(filteredCSSText);
7478 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7479 }
7480 //# sourceMappingURL=embed-resources.js.map
7481
7482 /***/ }),
7483
7484 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7485 /*!**********************************************************!*\
7486 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7487 \**********************************************************/
7488 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7489
7490 "use strict";
7491 __webpack_require__.r(__webpack_exports__);
7492 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7493 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7494 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7495 /* harmony export */ });
7496 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7497 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7498 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7499
7500
7501
7502 const cssFetchCache = {};
7503 async function fetchCSS(url) {
7504 let cache = cssFetchCache[url];
7505 if (cache != null) {
7506 return cache;
7507 }
7508 const res = await fetch(url);
7509 const cssText = await res.text();
7510 cache = { url, cssText };
7511 cssFetchCache[url] = cache;
7512 return cache;
7513 }
7514 async function embedFonts(data, options) {
7515 let cssText = data.cssText;
7516 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7517 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7518 const loadFonts = fontLocs.map(async (loc) => {
7519 let url = loc.replace(regexUrl, '$1');
7520 if (!url.startsWith('https://')) {
7521 url = new URL(url, data.url).href;
7522 }
7523 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7524 cssText = cssText.replace(loc, `url(${result})`);
7525 return [loc, result];
7526 });
7527 });
7528 return Promise.all(loadFonts).then(() => cssText);
7529 }
7530 function parseCSS(source) {
7531 if (source == null) {
7532 return [];
7533 }
7534 const result = [];
7535 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7536 // strip out comments
7537 let cssText = source.replace(commentsRegex, '');
7538 // eslint-disable-next-line prefer-regex-literals
7539 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7540 // eslint-disable-next-line no-constant-condition
7541 while (true) {
7542 const matches = keyframesRegex.exec(cssText);
7543 if (matches === null) {
7544 break;
7545 }
7546 result.push(matches[0]);
7547 }
7548 cssText = cssText.replace(keyframesRegex, '');
7549 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7550 // to match css & media queries together
7551 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7552 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7553 // unified regex
7554 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7555 // eslint-disable-next-line no-constant-condition
7556 while (true) {
7557 let matches = importRegex.exec(cssText);
7558 if (matches === null) {
7559 matches = unifiedRegex.exec(cssText);
7560 if (matches === null) {
7561 break;
7562 }
7563 else {
7564 importRegex.lastIndex = unifiedRegex.lastIndex;
7565 }
7566 }
7567 else {
7568 unifiedRegex.lastIndex = importRegex.lastIndex;
7569 }
7570 result.push(matches[0]);
7571 }
7572 return result;
7573 }
7574 async function getCSSRules(styleSheets, options) {
7575 const ret = [];
7576 const deferreds = [];
7577 // First loop inlines imports
7578 styleSheets.forEach((sheet) => {
7579 if ('cssRules' in sheet) {
7580 try {
7581 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7582 if (item.type === CSSRule.IMPORT_RULE) {
7583 let importIndex = index + 1;
7584 const url = item.href;
7585 const deferred = fetchCSS(url)
7586 .then((metadata) => embedFonts(metadata, options))
7587 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7588 try {
7589 sheet.insertRule(rule, rule.startsWith('@import')
7590 ? (importIndex += 1)
7591 : sheet.cssRules.length);
7592 }
7593 catch (error) {
7594 console.error('Error inserting rule from remote css', {
7595 rule,
7596 error,
7597 });
7598 }
7599 }))
7600 .catch((e) => {
7601 console.error('Error loading remote css', e.toString());
7602 });
7603 deferreds.push(deferred);
7604 }
7605 });
7606 }
7607 catch (e) {
7608 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7609 if (sheet.href != null) {
7610 deferreds.push(fetchCSS(sheet.href)
7611 .then((metadata) => embedFonts(metadata, options))
7612 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7613 inline.insertRule(rule, sheet.cssRules.length);
7614 }))
7615 .catch((err) => {
7616 console.error('Error loading remote stylesheet', err);
7617 }));
7618 }
7619 console.error('Error inlining remote css file', e);
7620 }
7621 }
7622 });
7623 return Promise.all(deferreds).then(() => {
7624 // Second loop parses rules
7625 styleSheets.forEach((sheet) => {
7626 if ('cssRules' in sheet) {
7627 try {
7628 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7629 ret.push(item);
7630 });
7631 }
7632 catch (e) {
7633 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7634 }
7635 }
7636 });
7637 return ret;
7638 });
7639 }
7640 function getWebFontRules(cssRules) {
7641 return cssRules
7642 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7643 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7644 }
7645 async function parseWebFontRules(node, options) {
7646 if (node.ownerDocument == null) {
7647 throw new Error('Provided element is not within a Document');
7648 }
7649 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7650 const cssRules = await getCSSRules(styleSheets, options);
7651 return getWebFontRules(cssRules);
7652 }
7653 async function getWebFontCSS(node, options) {
7654 const rules = await parseWebFontRules(node, options);
7655 const cssTexts = await Promise.all(rules.map((rule) => {
7656 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7657 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7658 }));
7659 return cssTexts.join('\n');
7660 }
7661 async function embedWebFonts(clonedNode, options) {
7662 const cssText = options.fontEmbedCSS != null
7663 ? options.fontEmbedCSS
7664 : options.skipFonts
7665 ? null
7666 : await getWebFontCSS(clonedNode, options);
7667 if (cssText) {
7668 const styleNode = document.createElement('style');
7669 const sytleContent = document.createTextNode(cssText);
7670 styleNode.appendChild(sytleContent);
7671 if (clonedNode.firstChild) {
7672 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7673 }
7674 else {
7675 clonedNode.appendChild(styleNode);
7676 }
7677 }
7678 }
7679 //# sourceMappingURL=embed-webfonts.js.map
7680
7681 /***/ }),
7682
7683 /***/ "../node_modules/html-to-image/es/index.js":
7684 /*!*************************************************!*\
7685 !*** ../node_modules/html-to-image/es/index.js ***!
7686 \*************************************************/
7687 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7688
7689 "use strict";
7690 __webpack_require__.r(__webpack_exports__);
7691 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7692 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7693 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7694 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7695 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7696 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7697 /* harmony export */ toPng: () => (/* binding */ toPng),
7698 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7699 /* harmony export */ });
7700 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7701 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7702 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7703 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7704 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7705
7706
7707
7708
7709
7710 async function toSvg(node, options = {}) {
7711 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7712 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7713 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7714 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7715 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7716 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7717 return datauri;
7718 }
7719 async function toCanvas(node, options = {}) {
7720 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7721 const svg = await toSvg(node, options);
7722 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7723 const canvas = document.createElement('canvas');
7724 const context = canvas.getContext('2d');
7725 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7726 const canvasWidth = options.canvasWidth || width;
7727 const canvasHeight = options.canvasHeight || height;
7728 canvas.width = canvasWidth * ratio;
7729 canvas.height = canvasHeight * ratio;
7730 if (!options.skipAutoScale) {
7731 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7732 }
7733 canvas.style.width = `${canvasWidth}`;
7734 canvas.style.height = `${canvasHeight}`;
7735 if (options.backgroundColor) {
7736 context.fillStyle = options.backgroundColor;
7737 context.fillRect(0, 0, canvas.width, canvas.height);
7738 }
7739 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7740 return canvas;
7741 }
7742 async function toPixelData(node, options = {}) {
7743 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7744 const canvas = await toCanvas(node, options);
7745 const ctx = canvas.getContext('2d');
7746 return ctx.getImageData(0, 0, width, height).data;
7747 }
7748 async function toPng(node, options = {}) {
7749 const canvas = await toCanvas(node, options);
7750 return canvas.toDataURL();
7751 }
7752 async function toJpeg(node, options = {}) {
7753 const canvas = await toCanvas(node, options);
7754 return canvas.toDataURL('image/jpeg', options.quality || 1);
7755 }
7756 async function toBlob(node, options = {}) {
7757 const canvas = await toCanvas(node, options);
7758 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7759 return blob;
7760 }
7761 async function getFontEmbedCSS(node, options = {}) {
7762 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7763 }
7764 //# sourceMappingURL=index.js.map
7765
7766 /***/ }),
7767
7768 /***/ "../node_modules/html-to-image/es/mimes.js":
7769 /*!*************************************************!*\
7770 !*** ../node_modules/html-to-image/es/mimes.js ***!
7771 \*************************************************/
7772 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7773
7774 "use strict";
7775 __webpack_require__.r(__webpack_exports__);
7776 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7777 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7778 /* harmony export */ });
7779 const WOFF = 'application/font-woff';
7780 const JPEG = 'image/jpeg';
7781 const mimes = {
7782 woff: WOFF,
7783 woff2: WOFF,
7784 ttf: 'application/font-truetype',
7785 eot: 'application/vnd.ms-fontobject',
7786 png: 'image/png',
7787 jpg: JPEG,
7788 jpeg: JPEG,
7789 gif: 'image/gif',
7790 tiff: 'image/tiff',
7791 svg: 'image/svg+xml',
7792 webp: 'image/webp',
7793 };
7794 function getExtension(url) {
7795 const match = /\.([^./]*?)$/g.exec(url);
7796 return match ? match[1] : '';
7797 }
7798 function getMimeType(url) {
7799 const extension = getExtension(url).toLowerCase();
7800 return mimes[extension] || '';
7801 }
7802 //# sourceMappingURL=mimes.js.map
7803
7804 /***/ }),
7805
7806 /***/ "../node_modules/html-to-image/es/util.js":
7807 /*!************************************************!*\
7808 !*** ../node_modules/html-to-image/es/util.js ***!
7809 \************************************************/
7810 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7811
7812 "use strict";
7813 __webpack_require__.r(__webpack_exports__);
7814 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7815 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7816 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7817 /* harmony export */ createImage: () => (/* binding */ createImage),
7818 /* harmony export */ delay: () => (/* binding */ delay),
7819 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7820 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7821 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7822 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7823 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7824 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7825 /* harmony export */ toArray: () => (/* binding */ toArray),
7826 /* harmony export */ uuid: () => (/* binding */ uuid)
7827 /* harmony export */ });
7828 function resolveUrl(url, baseUrl) {
7829 // url is absolute already
7830 if (url.match(/^[a-z]+:\/\//i)) {
7831 return url;
7832 }
7833 // url is absolute already, without protocol
7834 if (url.match(/^\/\//)) {
7835 return window.location.protocol + url;
7836 }
7837 // dataURI, mailto:, tel:, etc.
7838 if (url.match(/^[a-z]+:/i)) {
7839 return url;
7840 }
7841 const doc = document.implementation.createHTMLDocument();
7842 const base = doc.createElement('base');
7843 const a = doc.createElement('a');
7844 doc.head.appendChild(base);
7845 doc.body.appendChild(a);
7846 if (baseUrl) {
7847 base.href = baseUrl;
7848 }
7849 a.href = url;
7850 return a.href;
7851 }
7852 const uuid = (() => {
7853 // generate uuid for className of pseudo elements.
7854 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7855 let counter = 0;
7856 // ref: http://stackoverflow.com/a/6248722/2519373
7857 const random = () =>
7858 // eslint-disable-next-line no-bitwise
7859 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7860 return () => {
7861 counter += 1;
7862 return `u${random()}${counter}`;
7863 };
7864 })();
7865 function delay(ms) {
7866 return (args) => new Promise((resolve) => {
7867 setTimeout(() => resolve(args), ms);
7868 });
7869 }
7870 function toArray(arrayLike) {
7871 const arr = [];
7872 for (let i = 0, l = arrayLike.length; i < l; i++) {
7873 arr.push(arrayLike[i]);
7874 }
7875 return arr;
7876 }
7877 function px(node, styleProperty) {
7878 const win = node.ownerDocument.defaultView || window;
7879 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7880 return val ? parseFloat(val.replace('px', '')) : 0;
7881 }
7882 function getNodeWidth(node) {
7883 const leftBorder = px(node, 'border-left-width');
7884 const rightBorder = px(node, 'border-right-width');
7885 return node.clientWidth + leftBorder + rightBorder;
7886 }
7887 function getNodeHeight(node) {
7888 const topBorder = px(node, 'border-top-width');
7889 const bottomBorder = px(node, 'border-bottom-width');
7890 return node.clientHeight + topBorder + bottomBorder;
7891 }
7892 function getImageSize(targetNode, options = {}) {
7893 const width = options.width || getNodeWidth(targetNode);
7894 const height = options.height || getNodeHeight(targetNode);
7895 return { width, height };
7896 }
7897 function getPixelRatio() {
7898 let ratio;
7899 let FINAL_PROCESS;
7900 try {
7901 FINAL_PROCESS = process;
7902 }
7903 catch (e) {
7904 // pass
7905 }
7906 const val = FINAL_PROCESS && FINAL_PROCESS.env
7907 ? FINAL_PROCESS.env.devicePixelRatio
7908 : null;
7909 if (val) {
7910 ratio = parseInt(val, 10);
7911 if (Number.isNaN(ratio)) {
7912 ratio = 1;
7913 }
7914 }
7915 return ratio || window.devicePixelRatio || 1;
7916 }
7917 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
7918 const canvasDimensionLimit = 16384;
7919 function checkCanvasDimensions(canvas) {
7920 if (canvas.width > canvasDimensionLimit ||
7921 canvas.height > canvasDimensionLimit) {
7922 if (canvas.width > canvasDimensionLimit &&
7923 canvas.height > canvasDimensionLimit) {
7924 if (canvas.width > canvas.height) {
7925 canvas.height *= canvasDimensionLimit / canvas.width;
7926 canvas.width = canvasDimensionLimit;
7927 }
7928 else {
7929 canvas.width *= canvasDimensionLimit / canvas.height;
7930 canvas.height = canvasDimensionLimit;
7931 }
7932 }
7933 else if (canvas.width > canvasDimensionLimit) {
7934 canvas.height *= canvasDimensionLimit / canvas.width;
7935 canvas.width = canvasDimensionLimit;
7936 }
7937 else {
7938 canvas.width *= canvasDimensionLimit / canvas.height;
7939 canvas.height = canvasDimensionLimit;
7940 }
7941 }
7942 }
7943 function canvasToBlob(canvas, options = {}) {
7944 if (canvas.toBlob) {
7945 return new Promise((resolve) => {
7946 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
7947 });
7948 }
7949 return new Promise((resolve) => {
7950 const binaryString = window.atob(canvas
7951 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
7952 .split(',')[1]);
7953 const len = binaryString.length;
7954 const binaryArray = new Uint8Array(len);
7955 for (let i = 0; i < len; i += 1) {
7956 binaryArray[i] = binaryString.charCodeAt(i);
7957 }
7958 resolve(new Blob([binaryArray], {
7959 type: options.type ? options.type : 'image/png',
7960 }));
7961 });
7962 }
7963 function createImage(url) {
7964 return new Promise((resolve, reject) => {
7965 const img = new Image();
7966 img.decode = () => resolve(img);
7967 img.onload = () => resolve(img);
7968 img.onerror = reject;
7969 img.crossOrigin = 'anonymous';
7970 img.decoding = 'async';
7971 img.src = url;
7972 });
7973 }
7974 async function svgToDataURL(svg) {
7975 return Promise.resolve()
7976 .then(() => new XMLSerializer().serializeToString(svg))
7977 .then(encodeURIComponent)
7978 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
7979 }
7980 async function nodeToDataURL(node, width, height) {
7981 const xmlns = 'http://www.w3.org/2000/svg';
7982 const svg = document.createElementNS(xmlns, 'svg');
7983 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
7984 svg.setAttribute('width', `${width}`);
7985 svg.setAttribute('height', `${height}`);
7986 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
7987 foreignObject.setAttribute('width', '100%');
7988 foreignObject.setAttribute('height', '100%');
7989 foreignObject.setAttribute('x', '0');
7990 foreignObject.setAttribute('y', '0');
7991 foreignObject.setAttribute('externalResourcesRequired', 'true');
7992 svg.appendChild(foreignObject);
7993 foreignObject.appendChild(node);
7994 return svgToDataURL(svg);
7995 }
7996 const isInstanceOfElement = (node, instance) => {
7997 if (node instanceof instance)
7998 return true;
7999 const nodePrototype = Object.getPrototypeOf(node);
8000 if (nodePrototype === null)
8001 return false;
8002 return (nodePrototype.constructor.name === instance.name ||
8003 isInstanceOfElement(nodePrototype, instance));
8004 };
8005 //# sourceMappingURL=util.js.map
8006
8007 /***/ }),
8008
8009 /***/ "../node_modules/object-assign/index.js":
8010 /*!**********************************************!*\
8011 !*** ../node_modules/object-assign/index.js ***!
8012 \**********************************************/
8013 /***/ ((module) => {
8014
8015 "use strict";
8016 /*
8017 object-assign
8018 (c) Sindre Sorhus
8019 @license MIT
8020 */
8021
8022
8023 /* eslint-disable no-unused-vars */
8024 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
8025 var hasOwnProperty = Object.prototype.hasOwnProperty;
8026 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8027
8028 function toObject(val) {
8029 if (val === null || val === undefined) {
8030 throw new TypeError('Object.assign cannot be called with null or undefined');
8031 }
8032
8033 return Object(val);
8034 }
8035
8036 function shouldUseNative() {
8037 try {
8038 if (!Object.assign) {
8039 return false;
8040 }
8041
8042 // Detect buggy property enumeration order in older V8 versions.
8043
8044 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
8045 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
8046 test1[5] = 'de';
8047 if (Object.getOwnPropertyNames(test1)[0] === '5') {
8048 return false;
8049 }
8050
8051 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8052 var test2 = {};
8053 for (var i = 0; i < 10; i++) {
8054 test2['_' + String.fromCharCode(i)] = i;
8055 }
8056 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
8057 return test2[n];
8058 });
8059 if (order2.join('') !== '0123456789') {
8060 return false;
8061 }
8062
8063 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8064 var test3 = {};
8065 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
8066 test3[letter] = letter;
8067 });
8068 if (Object.keys(Object.assign({}, test3)).join('') !==
8069 'abcdefghijklmnopqrst') {
8070 return false;
8071 }
8072
8073 return true;
8074 } catch (err) {
8075 // We don't expect any of the above to throw, but better to be safe.
8076 return false;
8077 }
8078 }
8079
8080 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
8081 var from;
8082 var to = toObject(target);
8083 var symbols;
8084
8085 for (var s = 1; s < arguments.length; s++) {
8086 from = Object(arguments[s]);
8087
8088 for (var key in from) {
8089 if (hasOwnProperty.call(from, key)) {
8090 to[key] = from[key];
8091 }
8092 }
8093
8094 if (getOwnPropertySymbols) {
8095 symbols = getOwnPropertySymbols(from);
8096 for (var i = 0; i < symbols.length; i++) {
8097 if (propIsEnumerable.call(from, symbols[i])) {
8098 to[symbols[i]] = from[symbols[i]];
8099 }
8100 }
8101 }
8102 }
8103
8104 return to;
8105 };
8106
8107
8108 /***/ }),
8109
8110 /***/ "../node_modules/prop-types/checkPropTypes.js":
8111 /*!****************************************************!*\
8112 !*** ../node_modules/prop-types/checkPropTypes.js ***!
8113 \****************************************************/
8114 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8115
8116 "use strict";
8117 /**
8118 * Copyright (c) 2013-present, Facebook, Inc.
8119 *
8120 * This source code is licensed under the MIT license found in the
8121 * LICENSE file in the root directory of this source tree.
8122 */
8123
8124
8125
8126 var printWarning = function() {};
8127
8128 if (true) {
8129 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8130 var loggedTypeFailures = {};
8131 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8132
8133 printWarning = function(text) {
8134 var message = 'Warning: ' + text;
8135 if (typeof console !== 'undefined') {
8136 console.error(message);
8137 }
8138 try {
8139 // --- Welcome to debugging React ---
8140 // This error was thrown as a convenience so that you can use this stack
8141 // to find the callsite that caused this warning to fire.
8142 throw new Error(message);
8143 } catch (x) { /**/ }
8144 };
8145 }
8146
8147 /**
8148 * Assert that the values match with the type specs.
8149 * Error messages are memorized and will only be shown once.
8150 *
8151 * @param {object} typeSpecs Map of name to a ReactPropType
8152 * @param {object} values Runtime values that need to be type-checked
8153 * @param {string} location e.g. "prop", "context", "child context"
8154 * @param {string} componentName Name of the component for error messages.
8155 * @param {?Function} getStack Returns the component stack.
8156 * @private
8157 */
8158 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8159 if (true) {
8160 for (var typeSpecName in typeSpecs) {
8161 if (has(typeSpecs, typeSpecName)) {
8162 var error;
8163 // Prop type validation may throw. In case they do, we don't want to
8164 // fail the render phase where it didn't fail before. So we log it.
8165 // After these have been cleaned up, we'll let them throw.
8166 try {
8167 // This is intentionally an invariant that gets caught. It's the same
8168 // behavior as without this statement except with a better message.
8169 if (typeof typeSpecs[typeSpecName] !== 'function') {
8170 var err = Error(
8171 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8172 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8173 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8174 );
8175 err.name = 'Invariant Violation';
8176 throw err;
8177 }
8178 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8179 } catch (ex) {
8180 error = ex;
8181 }
8182 if (error && !(error instanceof Error)) {
8183 printWarning(
8184 (componentName || 'React class') + ': type specification of ' +
8185 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8186 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8187 'You may have forgotten to pass an argument to the type checker ' +
8188 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8189 'shape all require an argument).'
8190 );
8191 }
8192 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8193 // Only monitor this failure once because there tends to be a lot of the
8194 // same error.
8195 loggedTypeFailures[error.message] = true;
8196
8197 var stack = getStack ? getStack() : '';
8198
8199 printWarning(
8200 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8201 );
8202 }
8203 }
8204 }
8205 }
8206 }
8207
8208 /**
8209 * Resets warning cache when testing.
8210 *
8211 * @private
8212 */
8213 checkPropTypes.resetWarningCache = function() {
8214 if (true) {
8215 loggedTypeFailures = {};
8216 }
8217 }
8218
8219 module.exports = checkPropTypes;
8220
8221
8222 /***/ }),
8223
8224 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8225 /*!*************************************************************!*\
8226 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8227 \*************************************************************/
8228 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8229
8230 "use strict";
8231 /**
8232 * Copyright (c) 2013-present, Facebook, Inc.
8233 *
8234 * This source code is licensed under the MIT license found in the
8235 * LICENSE file in the root directory of this source tree.
8236 */
8237
8238
8239
8240 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8241 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8242
8243 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8244 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8245 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8246
8247 var printWarning = function() {};
8248
8249 if (true) {
8250 printWarning = function(text) {
8251 var message = 'Warning: ' + text;
8252 if (typeof console !== 'undefined') {
8253 console.error(message);
8254 }
8255 try {
8256 // --- Welcome to debugging React ---
8257 // This error was thrown as a convenience so that you can use this stack
8258 // to find the callsite that caused this warning to fire.
8259 throw new Error(message);
8260 } catch (x) {}
8261 };
8262 }
8263
8264 function emptyFunctionThatReturnsNull() {
8265 return null;
8266 }
8267
8268 module.exports = function(isValidElement, throwOnDirectAccess) {
8269 /* global Symbol */
8270 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8271 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8272
8273 /**
8274 * Returns the iterator method function contained on the iterable object.
8275 *
8276 * Be sure to invoke the function with the iterable as context:
8277 *
8278 * var iteratorFn = getIteratorFn(myIterable);
8279 * if (iteratorFn) {
8280 * var iterator = iteratorFn.call(myIterable);
8281 * ...
8282 * }
8283 *
8284 * @param {?object} maybeIterable
8285 * @return {?function}
8286 */
8287 function getIteratorFn(maybeIterable) {
8288 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8289 if (typeof iteratorFn === 'function') {
8290 return iteratorFn;
8291 }
8292 }
8293
8294 /**
8295 * Collection of methods that allow declaration and validation of props that are
8296 * supplied to React components. Example usage:
8297 *
8298 * var Props = require('ReactPropTypes');
8299 * var MyArticle = React.createClass({
8300 * propTypes: {
8301 * // An optional string prop named "description".
8302 * description: Props.string,
8303 *
8304 * // A required enum prop named "category".
8305 * category: Props.oneOf(['News','Photos']).isRequired,
8306 *
8307 * // A prop named "dialog" that requires an instance of Dialog.
8308 * dialog: Props.instanceOf(Dialog).isRequired
8309 * },
8310 * render: function() { ... }
8311 * });
8312 *
8313 * A more formal specification of how these methods are used:
8314 *
8315 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8316 * decl := ReactPropTypes.{type}(.isRequired)?
8317 *
8318 * Each and every declaration produces a function with the same signature. This
8319 * allows the creation of custom validation functions. For example:
8320 *
8321 * var MyLink = React.createClass({
8322 * propTypes: {
8323 * // An optional string or URI prop named "href".
8324 * href: function(props, propName, componentName) {
8325 * var propValue = props[propName];
8326 * if (propValue != null && typeof propValue !== 'string' &&
8327 * !(propValue instanceof URI)) {
8328 * return new Error(
8329 * 'Expected a string or an URI for ' + propName + ' in ' +
8330 * componentName
8331 * );
8332 * }
8333 * }
8334 * },
8335 * render: function() {...}
8336 * });
8337 *
8338 * @internal
8339 */
8340
8341 var ANONYMOUS = '<<anonymous>>';
8342
8343 // Important!
8344 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8345 var ReactPropTypes = {
8346 array: createPrimitiveTypeChecker('array'),
8347 bigint: createPrimitiveTypeChecker('bigint'),
8348 bool: createPrimitiveTypeChecker('boolean'),
8349 func: createPrimitiveTypeChecker('function'),
8350 number: createPrimitiveTypeChecker('number'),
8351 object: createPrimitiveTypeChecker('object'),
8352 string: createPrimitiveTypeChecker('string'),
8353 symbol: createPrimitiveTypeChecker('symbol'),
8354
8355 any: createAnyTypeChecker(),
8356 arrayOf: createArrayOfTypeChecker,
8357 element: createElementTypeChecker(),
8358 elementType: createElementTypeTypeChecker(),
8359 instanceOf: createInstanceTypeChecker,
8360 node: createNodeChecker(),
8361 objectOf: createObjectOfTypeChecker,
8362 oneOf: createEnumTypeChecker,
8363 oneOfType: createUnionTypeChecker,
8364 shape: createShapeTypeChecker,
8365 exact: createStrictShapeTypeChecker,
8366 };
8367
8368 /**
8369 * inlined Object.is polyfill to avoid requiring consumers ship their own
8370 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8371 */
8372 /*eslint-disable no-self-compare*/
8373 function is(x, y) {
8374 // SameValue algorithm
8375 if (x === y) {
8376 // Steps 1-5, 7-10
8377 // Steps 6.b-6.e: +0 != -0
8378 return x !== 0 || 1 / x === 1 / y;
8379 } else {
8380 // Step 6.a: NaN == NaN
8381 return x !== x && y !== y;
8382 }
8383 }
8384 /*eslint-enable no-self-compare*/
8385
8386 /**
8387 * We use an Error-like object for backward compatibility as people may call
8388 * PropTypes directly and inspect their output. However, we don't use real
8389 * Errors anymore. We don't inspect their stack anyway, and creating them
8390 * is prohibitively expensive if they are created too often, such as what
8391 * happens in oneOfType() for any type before the one that matched.
8392 */
8393 function PropTypeError(message, data) {
8394 this.message = message;
8395 this.data = data && typeof data === 'object' ? data: {};
8396 this.stack = '';
8397 }
8398 // Make `instanceof Error` still work for returned errors.
8399 PropTypeError.prototype = Error.prototype;
8400
8401 function createChainableTypeChecker(validate) {
8402 if (true) {
8403 var manualPropTypeCallCache = {};
8404 var manualPropTypeWarningCount = 0;
8405 }
8406 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8407 componentName = componentName || ANONYMOUS;
8408 propFullName = propFullName || propName;
8409
8410 if (secret !== ReactPropTypesSecret) {
8411 if (throwOnDirectAccess) {
8412 // New behavior only for users of `prop-types` package
8413 var err = new Error(
8414 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8415 'Use `PropTypes.checkPropTypes()` to call them. ' +
8416 'Read more at http://fb.me/use-check-prop-types'
8417 );
8418 err.name = 'Invariant Violation';
8419 throw err;
8420 } else if ( true && typeof console !== 'undefined') {
8421 // Old behavior for people using React.PropTypes
8422 var cacheKey = componentName + ':' + propName;
8423 if (
8424 !manualPropTypeCallCache[cacheKey] &&
8425 // Avoid spamming the console because they are often not actionable except for lib authors
8426 manualPropTypeWarningCount < 3
8427 ) {
8428 printWarning(
8429 'You are manually calling a React.PropTypes validation ' +
8430 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8431 'and will throw in the standalone `prop-types` package. ' +
8432 'You may be seeing this warning due to a third-party PropTypes ' +
8433 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8434 );
8435 manualPropTypeCallCache[cacheKey] = true;
8436 manualPropTypeWarningCount++;
8437 }
8438 }
8439 }
8440 if (props[propName] == null) {
8441 if (isRequired) {
8442 if (props[propName] === null) {
8443 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8444 }
8445 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8446 }
8447 return null;
8448 } else {
8449 return validate(props, propName, componentName, location, propFullName);
8450 }
8451 }
8452
8453 var chainedCheckType = checkType.bind(null, false);
8454 chainedCheckType.isRequired = checkType.bind(null, true);
8455
8456 return chainedCheckType;
8457 }
8458
8459 function createPrimitiveTypeChecker(expectedType) {
8460 function validate(props, propName, componentName, location, propFullName, secret) {
8461 var propValue = props[propName];
8462 var propType = getPropType(propValue);
8463 if (propType !== expectedType) {
8464 // `propValue` being instance of, say, date/regexp, pass the 'object'
8465 // check, but we can offer a more precise error message here rather than
8466 // 'of type `object`'.
8467 var preciseType = getPreciseType(propValue);
8468
8469 return new PropTypeError(
8470 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8471 {expectedType: expectedType}
8472 );
8473 }
8474 return null;
8475 }
8476 return createChainableTypeChecker(validate);
8477 }
8478
8479 function createAnyTypeChecker() {
8480 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8481 }
8482
8483 function createArrayOfTypeChecker(typeChecker) {
8484 function validate(props, propName, componentName, location, propFullName) {
8485 if (typeof typeChecker !== 'function') {
8486 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8487 }
8488 var propValue = props[propName];
8489 if (!Array.isArray(propValue)) {
8490 var propType = getPropType(propValue);
8491 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8492 }
8493 for (var i = 0; i < propValue.length; i++) {
8494 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8495 if (error instanceof Error) {
8496 return error;
8497 }
8498 }
8499 return null;
8500 }
8501 return createChainableTypeChecker(validate);
8502 }
8503
8504 function createElementTypeChecker() {
8505 function validate(props, propName, componentName, location, propFullName) {
8506 var propValue = props[propName];
8507 if (!isValidElement(propValue)) {
8508 var propType = getPropType(propValue);
8509 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8510 }
8511 return null;
8512 }
8513 return createChainableTypeChecker(validate);
8514 }
8515
8516 function createElementTypeTypeChecker() {
8517 function validate(props, propName, componentName, location, propFullName) {
8518 var propValue = props[propName];
8519 if (!ReactIs.isValidElementType(propValue)) {
8520 var propType = getPropType(propValue);
8521 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8522 }
8523 return null;
8524 }
8525 return createChainableTypeChecker(validate);
8526 }
8527
8528 function createInstanceTypeChecker(expectedClass) {
8529 function validate(props, propName, componentName, location, propFullName) {
8530 if (!(props[propName] instanceof expectedClass)) {
8531 var expectedClassName = expectedClass.name || ANONYMOUS;
8532 var actualClassName = getClassName(props[propName]);
8533 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8534 }
8535 return null;
8536 }
8537 return createChainableTypeChecker(validate);
8538 }
8539
8540 function createEnumTypeChecker(expectedValues) {
8541 if (!Array.isArray(expectedValues)) {
8542 if (true) {
8543 if (arguments.length > 1) {
8544 printWarning(
8545 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8546 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8547 );
8548 } else {
8549 printWarning('Invalid argument supplied to oneOf, expected an array.');
8550 }
8551 }
8552 return emptyFunctionThatReturnsNull;
8553 }
8554
8555 function validate(props, propName, componentName, location, propFullName) {
8556 var propValue = props[propName];
8557 for (var i = 0; i < expectedValues.length; i++) {
8558 if (is(propValue, expectedValues[i])) {
8559 return null;
8560 }
8561 }
8562
8563 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8564 var type = getPreciseType(value);
8565 if (type === 'symbol') {
8566 return String(value);
8567 }
8568 return value;
8569 });
8570 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8571 }
8572 return createChainableTypeChecker(validate);
8573 }
8574
8575 function createObjectOfTypeChecker(typeChecker) {
8576 function validate(props, propName, componentName, location, propFullName) {
8577 if (typeof typeChecker !== 'function') {
8578 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8579 }
8580 var propValue = props[propName];
8581 var propType = getPropType(propValue);
8582 if (propType !== 'object') {
8583 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8584 }
8585 for (var key in propValue) {
8586 if (has(propValue, key)) {
8587 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8588 if (error instanceof Error) {
8589 return error;
8590 }
8591 }
8592 }
8593 return null;
8594 }
8595 return createChainableTypeChecker(validate);
8596 }
8597
8598 function createUnionTypeChecker(arrayOfTypeCheckers) {
8599 if (!Array.isArray(arrayOfTypeCheckers)) {
8600 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8601 return emptyFunctionThatReturnsNull;
8602 }
8603
8604 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8605 var checker = arrayOfTypeCheckers[i];
8606 if (typeof checker !== 'function') {
8607 printWarning(
8608 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8609 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8610 );
8611 return emptyFunctionThatReturnsNull;
8612 }
8613 }
8614
8615 function validate(props, propName, componentName, location, propFullName) {
8616 var expectedTypes = [];
8617 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8618 var checker = arrayOfTypeCheckers[i];
8619 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8620 if (checkerResult == null) {
8621 return null;
8622 }
8623 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8624 expectedTypes.push(checkerResult.data.expectedType);
8625 }
8626 }
8627 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8628 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8629 }
8630 return createChainableTypeChecker(validate);
8631 }
8632
8633 function createNodeChecker() {
8634 function validate(props, propName, componentName, location, propFullName) {
8635 if (!isNode(props[propName])) {
8636 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8637 }
8638 return null;
8639 }
8640 return createChainableTypeChecker(validate);
8641 }
8642
8643 function invalidValidatorError(componentName, location, propFullName, key, type) {
8644 return new PropTypeError(
8645 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8646 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8647 );
8648 }
8649
8650 function createShapeTypeChecker(shapeTypes) {
8651 function validate(props, propName, componentName, location, propFullName) {
8652 var propValue = props[propName];
8653 var propType = getPropType(propValue);
8654 if (propType !== 'object') {
8655 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8656 }
8657 for (var key in shapeTypes) {
8658 var checker = shapeTypes[key];
8659 if (typeof checker !== 'function') {
8660 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8661 }
8662 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8663 if (error) {
8664 return error;
8665 }
8666 }
8667 return null;
8668 }
8669 return createChainableTypeChecker(validate);
8670 }
8671
8672 function createStrictShapeTypeChecker(shapeTypes) {
8673 function validate(props, propName, componentName, location, propFullName) {
8674 var propValue = props[propName];
8675 var propType = getPropType(propValue);
8676 if (propType !== 'object') {
8677 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8678 }
8679 // We need to check all keys in case some are required but missing from props.
8680 var allKeys = assign({}, props[propName], shapeTypes);
8681 for (var key in allKeys) {
8682 var checker = shapeTypes[key];
8683 if (has(shapeTypes, key) && typeof checker !== 'function') {
8684 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8685 }
8686 if (!checker) {
8687 return new PropTypeError(
8688 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8689 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8690 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8691 );
8692 }
8693 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8694 if (error) {
8695 return error;
8696 }
8697 }
8698 return null;
8699 }
8700
8701 return createChainableTypeChecker(validate);
8702 }
8703
8704 function isNode(propValue) {
8705 switch (typeof propValue) {
8706 case 'number':
8707 case 'string':
8708 case 'undefined':
8709 return true;
8710 case 'boolean':
8711 return !propValue;
8712 case 'object':
8713 if (Array.isArray(propValue)) {
8714 return propValue.every(isNode);
8715 }
8716 if (propValue === null || isValidElement(propValue)) {
8717 return true;
8718 }
8719
8720 var iteratorFn = getIteratorFn(propValue);
8721 if (iteratorFn) {
8722 var iterator = iteratorFn.call(propValue);
8723 var step;
8724 if (iteratorFn !== propValue.entries) {
8725 while (!(step = iterator.next()).done) {
8726 if (!isNode(step.value)) {
8727 return false;
8728 }
8729 }
8730 } else {
8731 // Iterator will provide entry [k,v] tuples rather than values.
8732 while (!(step = iterator.next()).done) {
8733 var entry = step.value;
8734 if (entry) {
8735 if (!isNode(entry[1])) {
8736 return false;
8737 }
8738 }
8739 }
8740 }
8741 } else {
8742 return false;
8743 }
8744
8745 return true;
8746 default:
8747 return false;
8748 }
8749 }
8750
8751 function isSymbol(propType, propValue) {
8752 // Native Symbol.
8753 if (propType === 'symbol') {
8754 return true;
8755 }
8756
8757 // falsy value can't be a Symbol
8758 if (!propValue) {
8759 return false;
8760 }
8761
8762 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8763 if (propValue['@@toStringTag'] === 'Symbol') {
8764 return true;
8765 }
8766
8767 // Fallback for non-spec compliant Symbols which are polyfilled.
8768 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8769 return true;
8770 }
8771
8772 return false;
8773 }
8774
8775 // Equivalent of `typeof` but with special handling for array and regexp.
8776 function getPropType(propValue) {
8777 var propType = typeof propValue;
8778 if (Array.isArray(propValue)) {
8779 return 'array';
8780 }
8781 if (propValue instanceof RegExp) {
8782 // Old webkits (at least until Android 4.0) return 'function' rather than
8783 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8784 // passes PropTypes.object.
8785 return 'object';
8786 }
8787 if (isSymbol(propType, propValue)) {
8788 return 'symbol';
8789 }
8790 return propType;
8791 }
8792
8793 // This handles more types than `getPropType`. Only used for error messages.
8794 // See `createPrimitiveTypeChecker`.
8795 function getPreciseType(propValue) {
8796 if (typeof propValue === 'undefined' || propValue === null) {
8797 return '' + propValue;
8798 }
8799 var propType = getPropType(propValue);
8800 if (propType === 'object') {
8801 if (propValue instanceof Date) {
8802 return 'date';
8803 } else if (propValue instanceof RegExp) {
8804 return 'regexp';
8805 }
8806 }
8807 return propType;
8808 }
8809
8810 // Returns a string that is postfixed to a warning about an invalid type.
8811 // For example, "undefined" or "of type array"
8812 function getPostfixForTypeWarning(value) {
8813 var type = getPreciseType(value);
8814 switch (type) {
8815 case 'array':
8816 case 'object':
8817 return 'an ' + type;
8818 case 'boolean':
8819 case 'date':
8820 case 'regexp':
8821 return 'a ' + type;
8822 default:
8823 return type;
8824 }
8825 }
8826
8827 // Returns class name of the object, if any.
8828 function getClassName(propValue) {
8829 if (!propValue.constructor || !propValue.constructor.name) {
8830 return ANONYMOUS;
8831 }
8832 return propValue.constructor.name;
8833 }
8834
8835 ReactPropTypes.checkPropTypes = checkPropTypes;
8836 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8837 ReactPropTypes.PropTypes = ReactPropTypes;
8838
8839 return ReactPropTypes;
8840 };
8841
8842
8843 /***/ }),
8844
8845 /***/ "../node_modules/prop-types/index.js":
8846 /*!*******************************************!*\
8847 !*** ../node_modules/prop-types/index.js ***!
8848 \*******************************************/
8849 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8850
8851 /**
8852 * Copyright (c) 2013-present, Facebook, Inc.
8853 *
8854 * This source code is licensed under the MIT license found in the
8855 * LICENSE file in the root directory of this source tree.
8856 */
8857
8858 if (true) {
8859 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8860
8861 // By explicitly using `prop-types` you are opting into new development behavior.
8862 // http://fb.me/prop-types-in-prod
8863 var throwOnDirectAccess = true;
8864 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8865 } else {}
8866
8867
8868 /***/ }),
8869
8870 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8871 /*!**************************************************************!*\
8872 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8873 \**************************************************************/
8874 /***/ ((module) => {
8875
8876 "use strict";
8877 /**
8878 * Copyright (c) 2013-present, Facebook, Inc.
8879 *
8880 * This source code is licensed under the MIT license found in the
8881 * LICENSE file in the root directory of this source tree.
8882 */
8883
8884
8885
8886 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8887
8888 module.exports = ReactPropTypesSecret;
8889
8890
8891 /***/ }),
8892
8893 /***/ "../node_modules/prop-types/lib/has.js":
8894 /*!*********************************************!*\
8895 !*** ../node_modules/prop-types/lib/has.js ***!
8896 \*********************************************/
8897 /***/ ((module) => {
8898
8899 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8900
8901
8902 /***/ }),
8903
8904 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8905 /*!************************************************************************************!*\
8906 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8907 \************************************************************************************/
8908 /***/ ((__unused_webpack_module, exports) => {
8909
8910 "use strict";
8911 /** @license React v16.13.1
8912 * react-is.development.js
8913 *
8914 * Copyright (c) Facebook, Inc. and its affiliates.
8915 *
8916 * This source code is licensed under the MIT license found in the
8917 * LICENSE file in the root directory of this source tree.
8918 */
8919
8920
8921
8922
8923
8924 if (true) {
8925 (function() {
8926 'use strict';
8927
8928 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
8929 // nor polyfill, then a plain number is used for performance.
8930 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
8931 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
8932 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
8933 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
8934 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
8935 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
8936 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
8937 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
8938 // (unstable) APIs that have been removed. Can we remove the symbols?
8939
8940 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
8941 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
8942 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
8943 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
8944 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
8945 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
8946 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
8947 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
8948 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
8949 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
8950 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
8951
8952 function isValidElementType(type) {
8953 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
8954 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);
8955 }
8956
8957 function typeOf(object) {
8958 if (typeof object === 'object' && object !== null) {
8959 var $$typeof = object.$$typeof;
8960
8961 switch ($$typeof) {
8962 case REACT_ELEMENT_TYPE:
8963 var type = object.type;
8964
8965 switch (type) {
8966 case REACT_ASYNC_MODE_TYPE:
8967 case REACT_CONCURRENT_MODE_TYPE:
8968 case REACT_FRAGMENT_TYPE:
8969 case REACT_PROFILER_TYPE:
8970 case REACT_STRICT_MODE_TYPE:
8971 case REACT_SUSPENSE_TYPE:
8972 return type;
8973
8974 default:
8975 var $$typeofType = type && type.$$typeof;
8976
8977 switch ($$typeofType) {
8978 case REACT_CONTEXT_TYPE:
8979 case REACT_FORWARD_REF_TYPE:
8980 case REACT_LAZY_TYPE:
8981 case REACT_MEMO_TYPE:
8982 case REACT_PROVIDER_TYPE:
8983 return $$typeofType;
8984
8985 default:
8986 return $$typeof;
8987 }
8988
8989 }
8990
8991 case REACT_PORTAL_TYPE:
8992 return $$typeof;
8993 }
8994 }
8995
8996 return undefined;
8997 } // AsyncMode is deprecated along with isAsyncMode
8998
8999 var AsyncMode = REACT_ASYNC_MODE_TYPE;
9000 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9001 var ContextConsumer = REACT_CONTEXT_TYPE;
9002 var ContextProvider = REACT_PROVIDER_TYPE;
9003 var Element = REACT_ELEMENT_TYPE;
9004 var ForwardRef = REACT_FORWARD_REF_TYPE;
9005 var Fragment = REACT_FRAGMENT_TYPE;
9006 var Lazy = REACT_LAZY_TYPE;
9007 var Memo = REACT_MEMO_TYPE;
9008 var Portal = REACT_PORTAL_TYPE;
9009 var Profiler = REACT_PROFILER_TYPE;
9010 var StrictMode = REACT_STRICT_MODE_TYPE;
9011 var Suspense = REACT_SUSPENSE_TYPE;
9012 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
9013
9014 function isAsyncMode(object) {
9015 {
9016 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9017 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
9018
9019 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.');
9020 }
9021 }
9022
9023 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9024 }
9025 function isConcurrentMode(object) {
9026 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9027 }
9028 function isContextConsumer(object) {
9029 return typeOf(object) === REACT_CONTEXT_TYPE;
9030 }
9031 function isContextProvider(object) {
9032 return typeOf(object) === REACT_PROVIDER_TYPE;
9033 }
9034 function isElement(object) {
9035 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9036 }
9037 function isForwardRef(object) {
9038 return typeOf(object) === REACT_FORWARD_REF_TYPE;
9039 }
9040 function isFragment(object) {
9041 return typeOf(object) === REACT_FRAGMENT_TYPE;
9042 }
9043 function isLazy(object) {
9044 return typeOf(object) === REACT_LAZY_TYPE;
9045 }
9046 function isMemo(object) {
9047 return typeOf(object) === REACT_MEMO_TYPE;
9048 }
9049 function isPortal(object) {
9050 return typeOf(object) === REACT_PORTAL_TYPE;
9051 }
9052 function isProfiler(object) {
9053 return typeOf(object) === REACT_PROFILER_TYPE;
9054 }
9055 function isStrictMode(object) {
9056 return typeOf(object) === REACT_STRICT_MODE_TYPE;
9057 }
9058 function isSuspense(object) {
9059 return typeOf(object) === REACT_SUSPENSE_TYPE;
9060 }
9061
9062 exports.AsyncMode = AsyncMode;
9063 exports.ConcurrentMode = ConcurrentMode;
9064 exports.ContextConsumer = ContextConsumer;
9065 exports.ContextProvider = ContextProvider;
9066 exports.Element = Element;
9067 exports.ForwardRef = ForwardRef;
9068 exports.Fragment = Fragment;
9069 exports.Lazy = Lazy;
9070 exports.Memo = Memo;
9071 exports.Portal = Portal;
9072 exports.Profiler = Profiler;
9073 exports.StrictMode = StrictMode;
9074 exports.Suspense = Suspense;
9075 exports.isAsyncMode = isAsyncMode;
9076 exports.isConcurrentMode = isConcurrentMode;
9077 exports.isContextConsumer = isContextConsumer;
9078 exports.isContextProvider = isContextProvider;
9079 exports.isElement = isElement;
9080 exports.isForwardRef = isForwardRef;
9081 exports.isFragment = isFragment;
9082 exports.isLazy = isLazy;
9083 exports.isMemo = isMemo;
9084 exports.isPortal = isPortal;
9085 exports.isProfiler = isProfiler;
9086 exports.isStrictMode = isStrictMode;
9087 exports.isSuspense = isSuspense;
9088 exports.isValidElementType = isValidElementType;
9089 exports.typeOf = typeOf;
9090 })();
9091 }
9092
9093
9094 /***/ }),
9095
9096 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
9097 /*!*****************************************************************!*\
9098 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
9099 \*****************************************************************/
9100 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9101
9102 "use strict";
9103
9104
9105 if (false) {} else {
9106 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
9107 }
9108
9109
9110 /***/ }),
9111
9112 /***/ "../node_modules/react-dom/client.js":
9113 /*!*******************************************!*\
9114 !*** ../node_modules/react-dom/client.js ***!
9115 \*******************************************/
9116 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9117
9118 "use strict";
9119
9120
9121 var m = __webpack_require__(/*! react-dom */ "react-dom");
9122 if (false) {} else {
9123 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9124 exports.createRoot = function(c, o) {
9125 i.usingClientEntryPoint = true;
9126 try {
9127 return m.createRoot(c, o);
9128 } finally {
9129 i.usingClientEntryPoint = false;
9130 }
9131 };
9132 exports.hydrateRoot = function(c, h, o) {
9133 i.usingClientEntryPoint = true;
9134 try {
9135 return m.hydrateRoot(c, h, o);
9136 } finally {
9137 i.usingClientEntryPoint = false;
9138 }
9139 };
9140 }
9141
9142
9143 /***/ }),
9144
9145 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
9146 /*!**************************************************************!*\
9147 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
9148 \**************************************************************/
9149 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9150
9151 "use strict";
9152
9153
9154 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); }
9155
9156 Object.defineProperty(exports, "__esModule", ({
9157 value: true
9158 }));
9159 Object.defineProperty(exports, "DraggableCore", ({
9160 enumerable: true,
9161 get: function get() {
9162 return _DraggableCore.default;
9163 }
9164 }));
9165 exports["default"] = void 0;
9166
9167 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9168
9169 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9170
9171 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9172
9173 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
9174
9175 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9176
9177 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9178
9179 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9180
9181 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
9182
9183 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9184
9185 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
9186
9187 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9188
9189 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); }
9190
9191 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; }
9192
9193 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); }
9194
9195 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; }
9196
9197 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; }
9198
9199 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; }
9200
9201 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; }
9202
9203 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9204
9205 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."); }
9206
9207 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); }
9208
9209 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; }
9210
9211 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; }
9212
9213 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9214
9215 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9216
9217 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); } }
9218
9219 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9220
9221 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); }
9222
9223 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9224
9225 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); }; }
9226
9227 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); }
9228
9229 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9230
9231 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; } }
9232
9233 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9234
9235 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; }
9236
9237 //
9238 // Define <Draggable>
9239 //
9240 var Draggable = /*#__PURE__*/function (_React$Component) {
9241 _inherits(Draggable, _React$Component);
9242
9243 var _super = _createSuper(Draggable);
9244
9245 function Draggable(props
9246 /*: DraggableProps*/
9247 ) {
9248 var _this;
9249
9250 _classCallCheck(this, Draggable);
9251
9252 _this = _super.call(this, props);
9253
9254 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9255 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9256
9257 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.
9258
9259
9260 if (shouldStart === false) return false;
9261
9262 _this.setState({
9263 dragging: true,
9264 dragged: true
9265 });
9266 });
9267
9268 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9269 if (!_this.state.dragging) return false;
9270 (0, _log.default)('Draggable: onDrag: %j', coreData);
9271 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9272 var newState
9273 /*: $Shape<DraggableState>*/
9274 = {
9275 x: uiData.x,
9276 y: uiData.y
9277 }; // Keep within bounds.
9278
9279 if (_this.props.bounds) {
9280 // Save original x and y.
9281 var x = newState.x,
9282 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9283 // we start removing slack, the element won't react to it right away until it's been
9284 // completely removed.
9285
9286 newState.x += _this.state.slackX;
9287 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9288
9289 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9290 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9291 newStateX = _getBoundPosition2[0],
9292 newStateY = _getBoundPosition2[1];
9293
9294 newState.x = newStateX;
9295 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9296
9297 newState.slackX = _this.state.slackX + (x - newState.x);
9298 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9299
9300 uiData.x = newState.x;
9301 uiData.y = newState.y;
9302 uiData.deltaX = newState.x - _this.state.x;
9303 uiData.deltaY = newState.y - _this.state.y;
9304 } // Short-circuit if user's callback killed it.
9305
9306
9307 var shouldUpdate = _this.props.onDrag(e, uiData);
9308
9309 if (shouldUpdate === false) return false;
9310
9311 _this.setState(newState);
9312 });
9313
9314 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9315 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9316
9317 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9318
9319 if (shouldContinue === false) return false;
9320 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9321 var newState
9322 /*: $Shape<DraggableState>*/
9323 = {
9324 dragging: false,
9325 slackX: 0,
9326 slackY: 0
9327 }; // If this is a controlled component, the result of this operation will be to
9328 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9329
9330 var controlled = Boolean(_this.props.position);
9331
9332 if (controlled) {
9333 var _this$props$position = _this.props.position,
9334 x = _this$props$position.x,
9335 y = _this$props$position.y;
9336 newState.x = x;
9337 newState.y = y;
9338 }
9339
9340 _this.setState(newState);
9341 });
9342
9343 _this.state = {
9344 // Whether or not we are currently dragging.
9345 dragging: false,
9346 // Whether or not we have been dragged before.
9347 dragged: false,
9348 // Current transform x and y.
9349 x: props.position ? props.position.x : props.defaultPosition.x,
9350 y: props.position ? props.position.y : props.defaultPosition.y,
9351 prevPropsPosition: _objectSpread({}, props.position),
9352 // Used for compensating for out-of-bounds drags
9353 slackX: 0,
9354 slackY: 0,
9355 // Can only determine if SVG after mounting
9356 isElementSVG: false
9357 };
9358
9359 if (props.position && !(props.onDrag || props.onStop)) {
9360 // eslint-disable-next-line no-console
9361 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.');
9362 }
9363
9364 return _this;
9365 }
9366
9367 _createClass(Draggable, [{
9368 key: "componentDidMount",
9369 value: function componentDidMount() {
9370 // Check to see if the element passed is an instanceof SVGElement
9371 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9372 this.setState({
9373 isElementSVG: true
9374 });
9375 }
9376 }
9377 }, {
9378 key: "componentWillUnmount",
9379 value: function componentWillUnmount() {
9380 this.setState({
9381 dragging: false
9382 }); // prevents invariant if unmounted while dragging
9383 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9384 // the underlying DOM node ourselves. See the README for more information.
9385
9386 }, {
9387 key: "findDOMNode",
9388 value: function findDOMNode()
9389 /*: ?HTMLElement*/
9390 {
9391 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9392
9393 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);
9394 }
9395 }, {
9396 key: "render",
9397 value: function render()
9398 /*: ReactElement<any>*/
9399 {
9400 var _clsx;
9401
9402 var _this$props2 = this.props,
9403 axis = _this$props2.axis,
9404 bounds = _this$props2.bounds,
9405 children = _this$props2.children,
9406 defaultPosition = _this$props2.defaultPosition,
9407 defaultClassName = _this$props2.defaultClassName,
9408 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9409 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9410 position = _this$props2.position,
9411 positionOffset = _this$props2.positionOffset,
9412 scale = _this$props2.scale,
9413 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9414
9415 var style = {};
9416 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9417
9418 var controlled = Boolean(position);
9419 var draggable = !controlled || this.state.dragging;
9420 var validPosition = position || defaultPosition;
9421 var transformOpts = {
9422 // Set left if horizontal drag is enabled
9423 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9424 // Set top if vertical drag is enabled
9425 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9426 }; // If this element was SVG, we use the `transform` attribute.
9427
9428 if (this.state.isElementSVG) {
9429 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9430 } else {
9431 // Add a CSS transform to move the element around. This allows us to move the element around
9432 // without worrying about whether or not it is relatively or absolutely positioned.
9433 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9434 // has a clean slate.
9435 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9436 } // Mark with class while dragging
9437
9438
9439 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
9440 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9441
9442 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9443 onStart: this.onDragStart,
9444 onDrag: this.onDrag,
9445 onStop: this.onDragStop
9446 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9447 className: className,
9448 style: _objectSpread(_objectSpread({}, children.props.style), style),
9449 transform: svgTransform
9450 }));
9451 }
9452 }], [{
9453 key: "getDerivedStateFromProps",
9454 value: // React 16.3+
9455 // Arity (props, state)
9456 function getDerivedStateFromProps(_ref, _ref2)
9457 /*: ?$Shape<DraggableState>*/
9458 {
9459 var position = _ref.position;
9460 var prevPropsPosition = _ref2.prevPropsPosition;
9461
9462 // Set x/y if a new position is provided in props that is different than the previous.
9463 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9464 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9465 position: position,
9466 prevPropsPosition: prevPropsPosition
9467 });
9468 return {
9469 x: position.x,
9470 y: position.y,
9471 prevPropsPosition: _objectSpread({}, position)
9472 };
9473 }
9474
9475 return null;
9476 }
9477 }]);
9478
9479 return Draggable;
9480 }(React.Component);
9481
9482 exports["default"] = Draggable;
9483
9484 _defineProperty(Draggable, "displayName", 'Draggable');
9485
9486 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9487 /**
9488 * `axis` determines which axis the draggable can move.
9489 *
9490 * Note that all callbacks will still return data as normal. This only
9491 * controls flushing to the DOM.
9492 *
9493 * 'both' allows movement horizontally and vertically.
9494 * 'x' limits movement to horizontal axis.
9495 * 'y' limits movement to vertical axis.
9496 * 'none' limits all movement.
9497 *
9498 * Defaults to 'both'.
9499 */
9500 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9501
9502 /**
9503 * `bounds` determines the range of movement available to the element.
9504 * Available values are:
9505 *
9506 * 'parent' restricts movement within the Draggable's parent node.
9507 *
9508 * Alternatively, pass an object with the following properties, all of which are optional:
9509 *
9510 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9511 *
9512 * All values are in px.
9513 *
9514 * Example:
9515 *
9516 * ```jsx
9517 * let App = React.createClass({
9518 * render: function () {
9519 * return (
9520 * <Draggable bounds={{right: 300, bottom: 300}}>
9521 * <div>Content</div>
9522 * </Draggable>
9523 * );
9524 * }
9525 * });
9526 * ```
9527 */
9528 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9529 left: _propTypes.default.number,
9530 right: _propTypes.default.number,
9531 top: _propTypes.default.number,
9532 bottom: _propTypes.default.number
9533 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9534 defaultClassName: _propTypes.default.string,
9535 defaultClassNameDragging: _propTypes.default.string,
9536 defaultClassNameDragged: _propTypes.default.string,
9537
9538 /**
9539 * `defaultPosition` specifies the x and y that the dragged item should start at
9540 *
9541 * Example:
9542 *
9543 * ```jsx
9544 * let App = React.createClass({
9545 * render: function () {
9546 * return (
9547 * <Draggable defaultPosition={{x: 25, y: 25}}>
9548 * <div>I start with transformX: 25px and transformY: 25px;</div>
9549 * </Draggable>
9550 * );
9551 * }
9552 * });
9553 * ```
9554 */
9555 defaultPosition: _propTypes.default.shape({
9556 x: _propTypes.default.number,
9557 y: _propTypes.default.number
9558 }),
9559 positionOffset: _propTypes.default.shape({
9560 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9561 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9562 }),
9563
9564 /**
9565 * `position`, if present, defines the current position of the element.
9566 *
9567 * This is similar to how form elements in React work - if no `position` is supplied, the component
9568 * is uncontrolled.
9569 *
9570 * Example:
9571 *
9572 * ```jsx
9573 * let App = React.createClass({
9574 * render: function () {
9575 * return (
9576 * <Draggable position={{x: 25, y: 25}}>
9577 * <div>I start with transformX: 25px and transformY: 25px;</div>
9578 * </Draggable>
9579 * );
9580 * }
9581 * });
9582 * ```
9583 */
9584 position: _propTypes.default.shape({
9585 x: _propTypes.default.number,
9586 y: _propTypes.default.number
9587 }),
9588
9589 /**
9590 * These properties should be defined on the child, not here.
9591 */
9592 className: _shims.dontSetMe,
9593 style: _shims.dontSetMe,
9594 transform: _shims.dontSetMe
9595 }));
9596
9597 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9598 axis: 'both',
9599 bounds: false,
9600 defaultClassName: 'react-draggable',
9601 defaultClassNameDragging: 'react-draggable-dragging',
9602 defaultClassNameDragged: 'react-draggable-dragged',
9603 defaultPosition: {
9604 x: 0,
9605 y: 0
9606 },
9607 scale: 1
9608 }));
9609
9610 /***/ }),
9611
9612 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9613 /*!******************************************************************!*\
9614 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9615 \******************************************************************/
9616 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9617
9618 "use strict";
9619
9620
9621 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); }
9622
9623 Object.defineProperty(exports, "__esModule", ({
9624 value: true
9625 }));
9626 exports["default"] = void 0;
9627
9628 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9629
9630 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9631
9632 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9633
9634 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9635
9636 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9637
9638 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9639
9640 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9641
9642 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9643
9644 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); }
9645
9646 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; }
9647
9648 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9649
9650 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."); }
9651
9652 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); }
9653
9654 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; }
9655
9656 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; }
9657
9658 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9659
9660 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9661
9662 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); } }
9663
9664 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9665
9666 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); }
9667
9668 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9669
9670 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); }; }
9671
9672 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); }
9673
9674 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9675
9676 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; } }
9677
9678 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9679
9680 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; }
9681
9682 // Simple abstraction for dragging events names.
9683 var eventsFor = {
9684 touch: {
9685 start: 'touchstart',
9686 move: 'touchmove',
9687 stop: 'touchend'
9688 },
9689 mouse: {
9690 start: 'mousedown',
9691 move: 'mousemove',
9692 stop: 'mouseup'
9693 }
9694 }; // Default to mouse events.
9695
9696 var dragEventFor = eventsFor.mouse;
9697 /*:: type DraggableCoreState = {
9698 dragging: boolean,
9699 lastX: number,
9700 lastY: number,
9701 touchIdentifier: ?number
9702 };*/
9703
9704 /*:: export type DraggableData = {
9705 node: HTMLElement,
9706 x: number, y: number,
9707 deltaX: number, deltaY: number,
9708 lastX: number, lastY: number,
9709 };*/
9710
9711 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9712
9713 /*:: export type ControlPosition = {x: number, y: number};*/
9714
9715 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9716
9717 /*:: export type DraggableCoreDefaultProps = {
9718 allowAnyClick: boolean,
9719 disabled: boolean,
9720 enableUserSelectHack: boolean,
9721 onStart: DraggableEventHandler,
9722 onDrag: DraggableEventHandler,
9723 onStop: DraggableEventHandler,
9724 onMouseDown: (e: MouseEvent) => void,
9725 scale: number,
9726 };*/
9727
9728 /*:: export type DraggableCoreProps = {
9729 ...DraggableCoreDefaultProps,
9730 cancel: string,
9731 children: ReactElement<any>,
9732 offsetParent: HTMLElement,
9733 grid: [number, number],
9734 handle: string,
9735 nodeRef?: ?React.ElementRef<any>,
9736 };*/
9737
9738 //
9739 // Define <DraggableCore>.
9740 //
9741 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9742 // work well with libraries that require more control over the element.
9743 //
9744 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9745 _inherits(DraggableCore, _React$Component);
9746
9747 var _super = _createSuper(DraggableCore);
9748
9749 function DraggableCore() {
9750 var _this;
9751
9752 _classCallCheck(this, DraggableCore);
9753
9754 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9755 args[_key] = arguments[_key];
9756 }
9757
9758 _this = _super.call.apply(_super, [this].concat(args));
9759
9760 _defineProperty(_assertThisInitialized(_this), "state", {
9761 dragging: false,
9762 // Used while dragging to determine deltas.
9763 lastX: NaN,
9764 lastY: NaN,
9765 touchIdentifier: null
9766 });
9767
9768 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9769
9770 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9771 // Make it possible to attach event handlers on top of this one.
9772 _this.props.onMouseDown(e); // Only accept left-clicks.
9773
9774
9775 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9776
9777 var thisNode = _this.findDOMNode();
9778
9779 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9780 throw new Error('<DraggableCore> not mounted on DragStart!');
9781 }
9782
9783 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9784
9785 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)) {
9786 return;
9787 } // Prevent scrolling on mobile devices, like ipad/iphone.
9788 // Important that this is after handle/cancel.
9789
9790
9791 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9792 // distinguish between individual touches on multitouch screens by identifying which
9793 // touchpoint was set to this element.
9794
9795 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9796
9797 _this.setState({
9798 touchIdentifier: touchIdentifier
9799 }); // Get the current drag point from the event. This is used as the offset.
9800
9801
9802 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9803 if (position == null) return; // not possible but satisfies flow
9804
9805 var x = position.x,
9806 y = position.y; // Create an event object with all the data parents need to make a decision here.
9807
9808 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9809 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9810
9811 (0, _log.default)('calling', _this.props.onStart);
9812
9813 var shouldUpdate = _this.props.onStart(e, coreEvent);
9814
9815 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9816 // being selected all over the page.
9817
9818 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9819 // so we know how much we've moved during the drag. This allows us
9820 // to drag elements around even if they have been moved, without issue.
9821
9822 _this.setState({
9823 dragging: true,
9824 lastX: x,
9825 lastY: y
9826 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9827 // this element. We use different events depending on whether or not we have detected that this
9828 // is a touch-capable device.
9829
9830
9831 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9832 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9833 });
9834
9835 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9836 // Get the current drag point from the event. This is used as the offset.
9837 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9838 if (position == null) return;
9839 var x = position.x,
9840 y = position.y; // Snap to grid if prop has been provided
9841
9842 if (Array.isArray(_this.props.grid)) {
9843 var deltaX = x - _this.state.lastX,
9844 deltaY = y - _this.state.lastY;
9845
9846 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9847
9848 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9849
9850 deltaX = _snapToGrid2[0];
9851 deltaY = _snapToGrid2[1];
9852 if (!deltaX && !deltaY) return; // skip useless drag
9853
9854 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9855 }
9856
9857 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9858 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9859
9860 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9861
9862 if (shouldUpdate === false || _this.mounted === false) {
9863 try {
9864 // $FlowIgnore
9865 _this.handleDragStop(new MouseEvent('mouseup'));
9866 } catch (err) {
9867 // Old browsers
9868 var event = ((document.createEvent('MouseEvents')
9869 /*: any*/
9870 )
9871 /*: MouseTouchEvent*/
9872 ); // I see why this insanity was deprecated
9873 // $FlowIgnore
9874
9875 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9876
9877 _this.handleDragStop(event);
9878 }
9879
9880 return;
9881 }
9882
9883 _this.setState({
9884 lastX: x,
9885 lastY: y
9886 });
9887 });
9888
9889 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9890 if (!_this.state.dragging) return;
9891 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9892 if (position == null) return;
9893 var x = position.x,
9894 y = position.y; // Snap to grid if prop has been provided
9895
9896 if (Array.isArray(_this.props.grid)) {
9897 var deltaX = x - _this.state.lastX || 0;
9898 var deltaY = y - _this.state.lastY || 0;
9899
9900 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9901
9902 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9903
9904 deltaX = _snapToGrid4[0];
9905 deltaY = _snapToGrid4[1];
9906 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9907 }
9908
9909 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9910
9911 var shouldContinue = _this.props.onStop(e, coreEvent);
9912
9913 if (shouldContinue === false || _this.mounted === false) return false;
9914
9915 var thisNode = _this.findDOMNode();
9916
9917 if (thisNode) {
9918 // Remove user-select hack
9919 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
9920 }
9921
9922 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
9923
9924 _this.setState({
9925 dragging: false,
9926 lastX: NaN,
9927 lastY: NaN
9928 });
9929
9930 if (thisNode) {
9931 // Remove event handlers
9932 (0, _log.default)('DraggableCore: Removing handlers');
9933 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
9934 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
9935 }
9936 });
9937
9938 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
9939 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
9940
9941 return _this.handleDragStart(e);
9942 });
9943
9944 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
9945 dragEventFor = eventsFor.mouse;
9946 return _this.handleDragStop(e);
9947 });
9948
9949 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
9950 // We're on a touch device now, so change the event handlers
9951 dragEventFor = eventsFor.touch;
9952 return _this.handleDragStart(e);
9953 });
9954
9955 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
9956 // We're on a touch device now, so change the event handlers
9957 dragEventFor = eventsFor.touch;
9958 return _this.handleDragStop(e);
9959 });
9960
9961 return _this;
9962 }
9963
9964 _createClass(DraggableCore, [{
9965 key: "componentDidMount",
9966 value: function componentDidMount() {
9967 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
9968 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9969
9970 var thisNode = this.findDOMNode();
9971
9972 if (thisNode) {
9973 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9974 passive: false
9975 });
9976 }
9977 }
9978 }, {
9979 key: "componentWillUnmount",
9980 value: function componentWillUnmount() {
9981 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
9982 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
9983
9984 var thisNode = this.findDOMNode();
9985
9986 if (thisNode) {
9987 var ownerDocument = thisNode.ownerDocument;
9988 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
9989 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
9990 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
9991 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
9992 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9993 passive: false
9994 });
9995 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
9996 }
9997 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9998 // the underlying DOM node ourselves. See the README for more information.
9999
10000 }, {
10001 key: "findDOMNode",
10002 value: function findDOMNode()
10003 /*: ?HTMLElement*/
10004 {
10005 var _this$props, _this$props2, _this$props2$nodeRef;
10006
10007 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);
10008 }
10009 }, {
10010 key: "render",
10011 value: function render()
10012 /*: React.Element<any>*/
10013 {
10014 // Reuse the child provided
10015 // This makes it flexible to use whatever element is wanted (div, ul, etc)
10016 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
10017 // Note: mouseMove handler is attached to document so it will still function
10018 // when the user drags quickly and leaves the bounds of the element.
10019 onMouseDown: this.onMouseDown,
10020 onMouseUp: this.onMouseUp,
10021 // onTouchStart is added on `componentDidMount` so they can be added with
10022 // {passive: false}, which allows it to cancel. See
10023 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10024 onTouchEnd: this.onTouchEnd
10025 });
10026 }
10027 }]);
10028
10029 return DraggableCore;
10030 }(React.Component);
10031
10032 exports["default"] = DraggableCore;
10033
10034 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
10035
10036 _defineProperty(DraggableCore, "propTypes", {
10037 /**
10038 * `allowAnyClick` allows dragging using any mouse button.
10039 * By default, we only accept the left button.
10040 *
10041 * Defaults to `false`.
10042 */
10043 allowAnyClick: _propTypes.default.bool,
10044
10045 /**
10046 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
10047 * with the exception of `onMouseDown`, will not fire.
10048 */
10049 disabled: _propTypes.default.bool,
10050
10051 /**
10052 * By default, we add 'user-select:none' attributes to the document body
10053 * to prevent ugly text selection during drag. If this is causing problems
10054 * for your app, set this to `false`.
10055 */
10056 enableUserSelectHack: _propTypes.default.bool,
10057
10058 /**
10059 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
10060 * instead of using the parent node.
10061 */
10062 offsetParent: function offsetParent(props
10063 /*: DraggableCoreProps*/
10064 , propName
10065 /*: $Keys<DraggableCoreProps>*/
10066 ) {
10067 if (props[propName] && props[propName].nodeType !== 1) {
10068 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
10069 }
10070 },
10071
10072 /**
10073 * `grid` specifies the x and y that dragging should snap to.
10074 */
10075 grid: _propTypes.default.arrayOf(_propTypes.default.number),
10076
10077 /**
10078 * `handle` specifies a selector to be used as the handle that initiates drag.
10079 *
10080 * Example:
10081 *
10082 * ```jsx
10083 * let App = React.createClass({
10084 * render: function () {
10085 * return (
10086 * <Draggable handle=".handle">
10087 * <div>
10088 * <div className="handle">Click me to drag</div>
10089 * <div>This is some other content</div>
10090 * </div>
10091 * </Draggable>
10092 * );
10093 * }
10094 * });
10095 * ```
10096 */
10097 handle: _propTypes.default.string,
10098
10099 /**
10100 * `cancel` specifies a selector to be used to prevent drag initialization.
10101 *
10102 * Example:
10103 *
10104 * ```jsx
10105 * let App = React.createClass({
10106 * render: function () {
10107 * return(
10108 * <Draggable cancel=".cancel">
10109 * <div>
10110 * <div className="cancel">You can't drag from here</div>
10111 * <div>Dragging here works fine</div>
10112 * </div>
10113 * </Draggable>
10114 * );
10115 * }
10116 * });
10117 * ```
10118 */
10119 cancel: _propTypes.default.string,
10120
10121 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
10122 * Unfortunately, in order for <Draggable> to work properly, we need raw access
10123 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
10124 * as in this example:
10125 *
10126 * function MyComponent() {
10127 * const nodeRef = React.useRef(null);
10128 * return (
10129 * <Draggable nodeRef={nodeRef}>
10130 * <div ref={nodeRef}>Example Target</div>
10131 * </Draggable>
10132 * );
10133 * }
10134 *
10135 * This can be used for arbitrarily nested components, so long as the ref ends up
10136 * pointing to the actual child DOM node and not a custom component.
10137 */
10138 nodeRef: _propTypes.default.object,
10139
10140 /**
10141 * Called when dragging starts.
10142 * If this function returns the boolean false, dragging will be canceled.
10143 */
10144 onStart: _propTypes.default.func,
10145
10146 /**
10147 * Called while dragging.
10148 * If this function returns the boolean false, dragging will be canceled.
10149 */
10150 onDrag: _propTypes.default.func,
10151
10152 /**
10153 * Called when dragging stops.
10154 * If this function returns the boolean false, the drag will remain active.
10155 */
10156 onStop: _propTypes.default.func,
10157
10158 /**
10159 * A workaround option which can be passed if onMouseDown needs to be accessed,
10160 * since it'll always be blocked (as there is internal use of onMouseDown)
10161 */
10162 onMouseDown: _propTypes.default.func,
10163
10164 /**
10165 * `scale`, if set, applies scaling while dragging an element
10166 */
10167 scale: _propTypes.default.number,
10168
10169 /**
10170 * These properties should be defined on the child, not here.
10171 */
10172 className: _shims.dontSetMe,
10173 style: _shims.dontSetMe,
10174 transform: _shims.dontSetMe
10175 });
10176
10177 _defineProperty(DraggableCore, "defaultProps", {
10178 allowAnyClick: false,
10179 // by default only accept left click
10180 disabled: false,
10181 enableUserSelectHack: true,
10182 onStart: function onStart() {},
10183 onDrag: function onDrag() {},
10184 onStop: function onStop() {},
10185 onMouseDown: function onMouseDown() {},
10186 scale: 1
10187 });
10188
10189 /***/ }),
10190
10191 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10192 /*!********************************************************!*\
10193 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10194 \********************************************************/
10195 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10196
10197 "use strict";
10198
10199
10200 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10201 Draggable = _require.default,
10202 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'.
10203 // See https://github.com/mzabriskie/react-draggable/pull/254
10204 // and https://github.com/mzabriskie/react-draggable/issues/266
10205
10206
10207 module.exports = Draggable;
10208 module.exports["default"] = Draggable;
10209 module.exports.DraggableCore = DraggableCore;
10210
10211 /***/ }),
10212
10213 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10214 /*!*****************************************************************!*\
10215 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10216 \*****************************************************************/
10217 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10218
10219 "use strict";
10220
10221
10222 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); }
10223
10224 Object.defineProperty(exports, "__esModule", ({
10225 value: true
10226 }));
10227 exports.addClassName = addClassName;
10228 exports.addEvent = addEvent;
10229 exports.addUserSelectStyles = addUserSelectStyles;
10230 exports.createCSSTransform = createCSSTransform;
10231 exports.createSVGTransform = createSVGTransform;
10232 exports.getTouch = getTouch;
10233 exports.getTouchIdentifier = getTouchIdentifier;
10234 exports.getTranslation = getTranslation;
10235 exports.innerHeight = innerHeight;
10236 exports.innerWidth = innerWidth;
10237 exports.matchesSelector = matchesSelector;
10238 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10239 exports.offsetXYFromParent = offsetXYFromParent;
10240 exports.outerHeight = outerHeight;
10241 exports.outerWidth = outerWidth;
10242 exports.removeClassName = removeClassName;
10243 exports.removeEvent = removeEvent;
10244 exports.removeUserSelectStyles = removeUserSelectStyles;
10245
10246 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10247
10248 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10249
10250 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); }
10251
10252 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; }
10253
10254 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; }
10255
10256 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; }
10257
10258 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; }
10259
10260 var matchesSelectorFunc = '';
10261
10262 function matchesSelector(el
10263 /*: Node*/
10264 , selector
10265 /*: string*/
10266 )
10267 /*: boolean*/
10268 {
10269 if (!matchesSelectorFunc) {
10270 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10271 // $FlowIgnore: Doesn't think elements are indexable
10272 return (0, _shims.isFunction)(el[method]);
10273 });
10274 } // Might not be found entirely (not an Element?) - in that case, bail
10275 // $FlowIgnore: Doesn't think elements are indexable
10276
10277
10278 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10279
10280 return el[matchesSelectorFunc](selector);
10281 } // Works up the tree to the draggable itself attempting to match selector.
10282
10283
10284 function matchesSelectorAndParentsTo(el
10285 /*: Node*/
10286 , selector
10287 /*: string*/
10288 , baseNode
10289 /*: Node*/
10290 )
10291 /*: boolean*/
10292 {
10293 var node = el;
10294
10295 do {
10296 if (matchesSelector(node, selector)) return true;
10297 if (node === baseNode) return false;
10298 node = node.parentNode;
10299 } while (node);
10300
10301 return false;
10302 }
10303
10304 function addEvent(el
10305 /*: ?Node*/
10306 , event
10307 /*: string*/
10308 , handler
10309 /*: Function*/
10310 , inputOptions
10311 /*: Object*/
10312 )
10313 /*: void*/
10314 {
10315 if (!el) return;
10316
10317 var options = _objectSpread({
10318 capture: true
10319 }, inputOptions); // $FlowIgnore[method-unbinding]
10320
10321
10322 if (el.addEventListener) {
10323 el.addEventListener(event, handler, options);
10324 } else if (el.attachEvent) {
10325 el.attachEvent('on' + event, handler);
10326 } else {
10327 // $FlowIgnore: Doesn't think elements are indexable
10328 el['on' + event] = handler;
10329 }
10330 }
10331
10332 function removeEvent(el
10333 /*: ?Node*/
10334 , event
10335 /*: string*/
10336 , handler
10337 /*: Function*/
10338 , inputOptions
10339 /*: Object*/
10340 )
10341 /*: void*/
10342 {
10343 if (!el) return;
10344
10345 var options = _objectSpread({
10346 capture: true
10347 }, inputOptions); // $FlowIgnore[method-unbinding]
10348
10349
10350 if (el.removeEventListener) {
10351 el.removeEventListener(event, handler, options);
10352 } else if (el.detachEvent) {
10353 el.detachEvent('on' + event, handler);
10354 } else {
10355 // $FlowIgnore: Doesn't think elements are indexable
10356 el['on' + event] = null;
10357 }
10358 }
10359
10360 function outerHeight(node
10361 /*: HTMLElement*/
10362 )
10363 /*: number*/
10364 {
10365 // This is deliberately excluding margin for our calculations, since we are using
10366 // offsetTop which is including margin. See getBoundPosition
10367 var height = node.clientHeight;
10368 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10369 height += (0, _shims.int)(computedStyle.borderTopWidth);
10370 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10371 return height;
10372 }
10373
10374 function outerWidth(node
10375 /*: HTMLElement*/
10376 )
10377 /*: number*/
10378 {
10379 // This is deliberately excluding margin for our calculations, since we are using
10380 // offsetLeft which is including margin. See getBoundPosition
10381 var width = node.clientWidth;
10382 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10383 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10384 width += (0, _shims.int)(computedStyle.borderRightWidth);
10385 return width;
10386 }
10387
10388 function innerHeight(node
10389 /*: HTMLElement*/
10390 )
10391 /*: number*/
10392 {
10393 var height = node.clientHeight;
10394 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10395 height -= (0, _shims.int)(computedStyle.paddingTop);
10396 height -= (0, _shims.int)(computedStyle.paddingBottom);
10397 return height;
10398 }
10399
10400 function innerWidth(node
10401 /*: HTMLElement*/
10402 )
10403 /*: number*/
10404 {
10405 var width = node.clientWidth;
10406 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10407 width -= (0, _shims.int)(computedStyle.paddingLeft);
10408 width -= (0, _shims.int)(computedStyle.paddingRight);
10409 return width;
10410 }
10411 /*:: interface EventWithOffset {
10412 clientX: number, clientY: number
10413 }*/
10414
10415
10416 // Get from offsetParent
10417 function offsetXYFromParent(evt
10418 /*: EventWithOffset*/
10419 , offsetParent
10420 /*: HTMLElement*/
10421 , scale
10422 /*: number*/
10423 )
10424 /*: ControlPosition*/
10425 {
10426 var isBody = offsetParent === offsetParent.ownerDocument.body;
10427 var offsetParentRect = isBody ? {
10428 left: 0,
10429 top: 0
10430 } : offsetParent.getBoundingClientRect();
10431 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10432 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10433 return {
10434 x: x,
10435 y: y
10436 };
10437 }
10438
10439 function createCSSTransform(controlPos
10440 /*: ControlPosition*/
10441 , positionOffset
10442 /*: PositionOffsetControlPosition*/
10443 )
10444 /*: Object*/
10445 {
10446 var translation = getTranslation(controlPos, positionOffset, 'px');
10447 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10448 }
10449
10450 function createSVGTransform(controlPos
10451 /*: ControlPosition*/
10452 , positionOffset
10453 /*: PositionOffsetControlPosition*/
10454 )
10455 /*: string*/
10456 {
10457 var translation = getTranslation(controlPos, positionOffset, '');
10458 return translation;
10459 }
10460
10461 function getTranslation(_ref2, positionOffset
10462 /*: PositionOffsetControlPosition*/
10463 , unitSuffix
10464 /*: string*/
10465 )
10466 /*: string*/
10467 {
10468 var x = _ref2.x,
10469 y = _ref2.y;
10470 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10471
10472 if (positionOffset) {
10473 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10474 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10475 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10476 }
10477
10478 return translation;
10479 }
10480
10481 function getTouch(e
10482 /*: MouseTouchEvent*/
10483 , identifier
10484 /*: number*/
10485 )
10486 /*: ?{clientX: number, clientY: number}*/
10487 {
10488 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10489 return identifier === t.identifier;
10490 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10491 return identifier === t.identifier;
10492 });
10493 }
10494
10495 function getTouchIdentifier(e
10496 /*: MouseTouchEvent*/
10497 )
10498 /*: ?number*/
10499 {
10500 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10501 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10502 } // User-select Hacks:
10503 //
10504 // Useful for preventing blue highlights all over everything when dragging.
10505 // Note we're passing `document` b/c we could be iframed
10506
10507
10508 function addUserSelectStyles(doc
10509 /*: ?Document*/
10510 ) {
10511 if (!doc) return;
10512 var styleEl = doc.getElementById('react-draggable-style-el');
10513
10514 if (!styleEl) {
10515 styleEl = doc.createElement('style');
10516 styleEl.type = 'text/css';
10517 styleEl.id = 'react-draggable-style-el';
10518 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10519 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10520 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10521 }
10522
10523 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10524 }
10525
10526 function removeUserSelectStyles(doc
10527 /*: ?Document*/
10528 ) {
10529 if (!doc) return;
10530
10531 try {
10532 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10533
10534 if (doc.selection) {
10535 // $FlowIgnore: IE
10536 doc.selection.empty();
10537 } else {
10538 // Remove selection caused by scroll, unless it's a focused input
10539 // (we use doc.defaultView in case we're in an iframe)
10540 var selection = (doc.defaultView || window).getSelection();
10541
10542 if (selection && selection.type !== 'Caret') {
10543 selection.removeAllRanges();
10544 }
10545 }
10546 } catch (e) {// probably IE
10547 }
10548 }
10549
10550 function addClassName(el
10551 /*: HTMLElement*/
10552 , className
10553 /*: string*/
10554 ) {
10555 if (el.classList) {
10556 el.classList.add(className);
10557 } else {
10558 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10559 el.className += " ".concat(className);
10560 }
10561 }
10562 }
10563
10564 function removeClassName(el
10565 /*: HTMLElement*/
10566 , className
10567 /*: string*/
10568 ) {
10569 if (el.classList) {
10570 el.classList.remove(className);
10571 } else {
10572 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10573 }
10574 }
10575
10576 /***/ }),
10577
10578 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10579 /*!********************************************************************!*\
10580 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10581 \********************************************************************/
10582 /***/ ((__unused_webpack_module, exports) => {
10583
10584 "use strict";
10585
10586
10587 Object.defineProperty(exports, "__esModule", ({
10588 value: true
10589 }));
10590 exports.browserPrefixToKey = browserPrefixToKey;
10591 exports.browserPrefixToStyle = browserPrefixToStyle;
10592 exports["default"] = void 0;
10593 exports.getPrefix = getPrefix;
10594 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10595
10596 function getPrefix()
10597 /*: string*/
10598 {
10599 var _window$document, _window$document$docu;
10600
10601 var prop
10602 /*: string*/
10603 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10604 // Ensure we're running in an environment where there is actually a global
10605 // `window` obj
10606 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10607 // path may not exist, so bail out if it doesn't.
10608
10609 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;
10610 if (!style) return '';
10611 if (prop in style) return '';
10612
10613 for (var i = 0; i < prefixes.length; i++) {
10614 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10615 }
10616
10617 return '';
10618 }
10619
10620 function browserPrefixToKey(prop
10621 /*: string*/
10622 , prefix
10623 /*: string*/
10624 )
10625 /*: string*/
10626 {
10627 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10628 }
10629
10630 function browserPrefixToStyle(prop
10631 /*: string*/
10632 , prefix
10633 /*: string*/
10634 )
10635 /*: string*/
10636 {
10637 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10638 }
10639
10640 function kebabToTitleCase(str
10641 /*: string*/
10642 )
10643 /*: string*/
10644 {
10645 var out = '';
10646 var shouldCapitalize = true;
10647
10648 for (var i = 0; i < str.length; i++) {
10649 if (shouldCapitalize) {
10650 out += str[i].toUpperCase();
10651 shouldCapitalize = false;
10652 } else if (str[i] === '-') {
10653 shouldCapitalize = true;
10654 } else {
10655 out += str[i];
10656 }
10657 }
10658
10659 return out;
10660 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10661 // Note that you may have to re-test for certain things; for instance, Chrome 50
10662 // can handle unprefixed `transform`, but not unprefixed `user-select`
10663
10664
10665 var _default = (getPrefix()
10666 /*: string*/
10667 );
10668
10669 exports["default"] = _default;
10670
10671 /***/ }),
10672
10673 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10674 /*!**************************************************************!*\
10675 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10676 \**************************************************************/
10677 /***/ ((__unused_webpack_module, exports) => {
10678
10679 "use strict";
10680
10681
10682 Object.defineProperty(exports, "__esModule", ({
10683 value: true
10684 }));
10685 exports["default"] = log;
10686
10687 /*eslint no-console:0*/
10688 function log() {
10689 var _console;
10690
10691 if (false) {}
10692 }
10693
10694 /***/ }),
10695
10696 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10697 /*!**********************************************************************!*\
10698 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10699 \**********************************************************************/
10700 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10701
10702 "use strict";
10703
10704
10705 Object.defineProperty(exports, "__esModule", ({
10706 value: true
10707 }));
10708 exports.canDragX = canDragX;
10709 exports.canDragY = canDragY;
10710 exports.createCoreData = createCoreData;
10711 exports.createDraggableData = createDraggableData;
10712 exports.getBoundPosition = getBoundPosition;
10713 exports.getControlPosition = getControlPosition;
10714 exports.snapToGrid = snapToGrid;
10715
10716 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10717
10718 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10719
10720 function getBoundPosition(draggable
10721 /*: Draggable*/
10722 , x
10723 /*: number*/
10724 , y
10725 /*: number*/
10726 )
10727 /*: [number, number]*/
10728 {
10729 // If no bounds, short-circuit and move on
10730 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10731
10732 var bounds = draggable.props.bounds;
10733 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10734 var node = findDOMNode(draggable);
10735
10736 if (typeof bounds === 'string') {
10737 var ownerDocument = node.ownerDocument;
10738 var ownerWindow = ownerDocument.defaultView;
10739 var boundNode;
10740
10741 if (bounds === 'parent') {
10742 boundNode = node.parentNode;
10743 } else {
10744 boundNode = ownerDocument.querySelector(bounds);
10745 }
10746
10747 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10748 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10749 }
10750
10751 var boundNodeEl
10752 /*: HTMLElement*/
10753 = boundNode; // for Flow, can't seem to refine correctly
10754
10755 var nodeStyle = ownerWindow.getComputedStyle(node);
10756 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10757
10758 bounds = {
10759 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10760 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10761 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10762 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10763 };
10764 } // Keep x and y below right and bottom limits...
10765
10766
10767 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10768 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10769
10770 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10771 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10772 return [x, y];
10773 }
10774
10775 function snapToGrid(grid
10776 /*: [number, number]*/
10777 , pendingX
10778 /*: number*/
10779 , pendingY
10780 /*: number*/
10781 )
10782 /*: [number, number]*/
10783 {
10784 var x = Math.round(pendingX / grid[0]) * grid[0];
10785 var y = Math.round(pendingY / grid[1]) * grid[1];
10786 return [x, y];
10787 }
10788
10789 function canDragX(draggable
10790 /*: Draggable*/
10791 )
10792 /*: boolean*/
10793 {
10794 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10795 }
10796
10797 function canDragY(draggable
10798 /*: Draggable*/
10799 )
10800 /*: boolean*/
10801 {
10802 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10803 } // Get {x, y} positions from event.
10804
10805
10806 function getControlPosition(e
10807 /*: MouseTouchEvent*/
10808 , touchIdentifier
10809 /*: ?number*/
10810 , draggableCore
10811 /*: DraggableCore*/
10812 )
10813 /*: ?ControlPosition*/
10814 {
10815 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10816 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10817
10818 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10819
10820 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10821 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10822 } // Create an data object exposed by <DraggableCore>'s events
10823
10824
10825 function createCoreData(draggable
10826 /*: DraggableCore*/
10827 , x
10828 /*: number*/
10829 , y
10830 /*: number*/
10831 )
10832 /*: DraggableData*/
10833 {
10834 var state = draggable.state;
10835 var isStart = !(0, _shims.isNum)(state.lastX);
10836 var node = findDOMNode(draggable);
10837
10838 if (isStart) {
10839 // If this is our first move, use the x and y as last coords.
10840 return {
10841 node: node,
10842 deltaX: 0,
10843 deltaY: 0,
10844 lastX: x,
10845 lastY: y,
10846 x: x,
10847 y: y
10848 };
10849 } else {
10850 // Otherwise calculate proper values.
10851 return {
10852 node: node,
10853 deltaX: x - state.lastX,
10854 deltaY: y - state.lastY,
10855 lastX: state.lastX,
10856 lastY: state.lastY,
10857 x: x,
10858 y: y
10859 };
10860 }
10861 } // Create an data exposed by <Draggable>'s events
10862
10863
10864 function createDraggableData(draggable
10865 /*: Draggable*/
10866 , coreData
10867 /*: DraggableData*/
10868 )
10869 /*: DraggableData*/
10870 {
10871 var scale = draggable.props.scale;
10872 return {
10873 node: coreData.node,
10874 x: draggable.state.x + coreData.deltaX / scale,
10875 y: draggable.state.y + coreData.deltaY / scale,
10876 deltaX: coreData.deltaX / scale,
10877 deltaY: coreData.deltaY / scale,
10878 lastX: draggable.state.x,
10879 lastY: draggable.state.y
10880 };
10881 } // A lot faster than stringify/parse
10882
10883
10884 function cloneBounds(bounds
10885 /*: Bounds*/
10886 )
10887 /*: Bounds*/
10888 {
10889 return {
10890 left: bounds.left,
10891 top: bounds.top,
10892 right: bounds.right,
10893 bottom: bounds.bottom
10894 };
10895 }
10896
10897 function findDOMNode(draggable
10898 /*: Draggable | DraggableCore*/
10899 )
10900 /*: HTMLElement*/
10901 {
10902 var node = draggable.findDOMNode();
10903
10904 if (!node) {
10905 throw new Error('<DraggableCore>: Unmounted during event!');
10906 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10907
10908
10909 return node;
10910 }
10911
10912 /***/ }),
10913
10914 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10915 /*!****************************************************************!*\
10916 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10917 \****************************************************************/
10918 /***/ ((__unused_webpack_module, exports) => {
10919
10920 "use strict";
10921
10922
10923 Object.defineProperty(exports, "__esModule", ({
10924 value: true
10925 }));
10926 exports.dontSetMe = dontSetMe;
10927 exports.findInArray = findInArray;
10928 exports.int = int;
10929 exports.isFunction = isFunction;
10930 exports.isNum = isNum;
10931
10932 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
10933 function findInArray(array
10934 /*: Array<any> | TouchList*/
10935 , callback
10936 /*: Function*/
10937 )
10938 /*: any*/
10939 {
10940 for (var i = 0, length = array.length; i < length; i++) {
10941 if (callback.apply(callback, [array[i], i, array])) return array[i];
10942 }
10943 }
10944
10945 function isFunction(func
10946 /*: any*/
10947 )
10948 /*: boolean %checks*/
10949 {
10950 // $FlowIgnore[method-unbinding]
10951 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
10952 }
10953
10954 function isNum(num
10955 /*: any*/
10956 )
10957 /*: boolean %checks*/
10958 {
10959 return typeof num === 'number' && !isNaN(num);
10960 }
10961
10962 function int(a
10963 /*: string*/
10964 )
10965 /*: number*/
10966 {
10967 return parseInt(a, 10);
10968 }
10969
10970 function dontSetMe(props
10971 /*: Object*/
10972 , propName
10973 /*: string*/
10974 , componentName
10975 /*: string*/
10976 )
10977 /*: ?Error*/
10978 {
10979 if (props[propName]) {
10980 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
10981 }
10982 }
10983
10984 /***/ }),
10985
10986 /***/ "../node_modules/react-is/cjs/react-is.development.js":
10987 /*!************************************************************!*\
10988 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
10989 \************************************************************/
10990 /***/ ((__unused_webpack_module, exports) => {
10991
10992 "use strict";
10993 /**
10994 * @license React
10995 * react-is.development.js
10996 *
10997 * Copyright (c) Facebook, Inc. and its affiliates.
10998 *
10999 * This source code is licensed under the MIT license found in the
11000 * LICENSE file in the root directory of this source tree.
11001 */
11002
11003
11004
11005 if (true) {
11006 (function() {
11007 'use strict';
11008
11009 // ATTENTION
11010 // When adding new symbols to this file,
11011 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
11012 // The Symbol used to tag the ReactElement-like types.
11013 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
11014 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
11015 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
11016 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
11017 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
11018 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
11019 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
11020 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
11021 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
11022 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
11023 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
11024 var REACT_MEMO_TYPE = Symbol.for('react.memo');
11025 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
11026 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
11027
11028 // -----------------------------------------------------------------------------
11029
11030 var enableScopeAPI = false; // Experimental Create Event Handle API.
11031 var enableCacheElement = false;
11032 var enableTransitionTracing = false; // No known bugs, but needs performance testing
11033
11034 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
11035 // stuff. Intended to enable React core members to more easily debug scheduling
11036 // issues in DEV builds.
11037
11038 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
11039
11040 var REACT_MODULE_REFERENCE;
11041
11042 {
11043 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
11044 }
11045
11046 function isValidElementType(type) {
11047 if (typeof type === 'string' || typeof type === 'function') {
11048 return true;
11049 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
11050
11051
11052 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 ) {
11053 return true;
11054 }
11055
11056 if (typeof type === 'object' && type !== null) {
11057 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
11058 // types supported by any Flight configuration anywhere since
11059 // we don't know which Flight build this will end up being used
11060 // with.
11061 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
11062 return true;
11063 }
11064 }
11065
11066 return false;
11067 }
11068
11069 function typeOf(object) {
11070 if (typeof object === 'object' && object !== null) {
11071 var $$typeof = object.$$typeof;
11072
11073 switch ($$typeof) {
11074 case REACT_ELEMENT_TYPE:
11075 var type = object.type;
11076
11077 switch (type) {
11078 case REACT_FRAGMENT_TYPE:
11079 case REACT_PROFILER_TYPE:
11080 case REACT_STRICT_MODE_TYPE:
11081 case REACT_SUSPENSE_TYPE:
11082 case REACT_SUSPENSE_LIST_TYPE:
11083 return type;
11084
11085 default:
11086 var $$typeofType = type && type.$$typeof;
11087
11088 switch ($$typeofType) {
11089 case REACT_SERVER_CONTEXT_TYPE:
11090 case REACT_CONTEXT_TYPE:
11091 case REACT_FORWARD_REF_TYPE:
11092 case REACT_LAZY_TYPE:
11093 case REACT_MEMO_TYPE:
11094 case REACT_PROVIDER_TYPE:
11095 return $$typeofType;
11096
11097 default:
11098 return $$typeof;
11099 }
11100
11101 }
11102
11103 case REACT_PORTAL_TYPE:
11104 return $$typeof;
11105 }
11106 }
11107
11108 return undefined;
11109 }
11110 var ContextConsumer = REACT_CONTEXT_TYPE;
11111 var ContextProvider = REACT_PROVIDER_TYPE;
11112 var Element = REACT_ELEMENT_TYPE;
11113 var ForwardRef = REACT_FORWARD_REF_TYPE;
11114 var Fragment = REACT_FRAGMENT_TYPE;
11115 var Lazy = REACT_LAZY_TYPE;
11116 var Memo = REACT_MEMO_TYPE;
11117 var Portal = REACT_PORTAL_TYPE;
11118 var Profiler = REACT_PROFILER_TYPE;
11119 var StrictMode = REACT_STRICT_MODE_TYPE;
11120 var Suspense = REACT_SUSPENSE_TYPE;
11121 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
11122 var hasWarnedAboutDeprecatedIsAsyncMode = false;
11123 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
11124
11125 function isAsyncMode(object) {
11126 {
11127 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
11128 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
11129
11130 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11131 }
11132 }
11133
11134 return false;
11135 }
11136 function isConcurrentMode(object) {
11137 {
11138 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
11139 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
11140
11141 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11142 }
11143 }
11144
11145 return false;
11146 }
11147 function isContextConsumer(object) {
11148 return typeOf(object) === REACT_CONTEXT_TYPE;
11149 }
11150 function isContextProvider(object) {
11151 return typeOf(object) === REACT_PROVIDER_TYPE;
11152 }
11153 function isElement(object) {
11154 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
11155 }
11156 function isForwardRef(object) {
11157 return typeOf(object) === REACT_FORWARD_REF_TYPE;
11158 }
11159 function isFragment(object) {
11160 return typeOf(object) === REACT_FRAGMENT_TYPE;
11161 }
11162 function isLazy(object) {
11163 return typeOf(object) === REACT_LAZY_TYPE;
11164 }
11165 function isMemo(object) {
11166 return typeOf(object) === REACT_MEMO_TYPE;
11167 }
11168 function isPortal(object) {
11169 return typeOf(object) === REACT_PORTAL_TYPE;
11170 }
11171 function isProfiler(object) {
11172 return typeOf(object) === REACT_PROFILER_TYPE;
11173 }
11174 function isStrictMode(object) {
11175 return typeOf(object) === REACT_STRICT_MODE_TYPE;
11176 }
11177 function isSuspense(object) {
11178 return typeOf(object) === REACT_SUSPENSE_TYPE;
11179 }
11180 function isSuspenseList(object) {
11181 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
11182 }
11183
11184 exports.ContextConsumer = ContextConsumer;
11185 exports.ContextProvider = ContextProvider;
11186 exports.Element = Element;
11187 exports.ForwardRef = ForwardRef;
11188 exports.Fragment = Fragment;
11189 exports.Lazy = Lazy;
11190 exports.Memo = Memo;
11191 exports.Portal = Portal;
11192 exports.Profiler = Profiler;
11193 exports.StrictMode = StrictMode;
11194 exports.Suspense = Suspense;
11195 exports.SuspenseList = SuspenseList;
11196 exports.isAsyncMode = isAsyncMode;
11197 exports.isConcurrentMode = isConcurrentMode;
11198 exports.isContextConsumer = isContextConsumer;
11199 exports.isContextProvider = isContextProvider;
11200 exports.isElement = isElement;
11201 exports.isForwardRef = isForwardRef;
11202 exports.isFragment = isFragment;
11203 exports.isLazy = isLazy;
11204 exports.isMemo = isMemo;
11205 exports.isPortal = isPortal;
11206 exports.isProfiler = isProfiler;
11207 exports.isStrictMode = isStrictMode;
11208 exports.isSuspense = isSuspense;
11209 exports.isSuspenseList = isSuspenseList;
11210 exports.isValidElementType = isValidElementType;
11211 exports.typeOf = typeOf;
11212 })();
11213 }
11214
11215
11216 /***/ }),
11217
11218 /***/ "../node_modules/react-is/index.js":
11219 /*!*****************************************!*\
11220 !*** ../node_modules/react-is/index.js ***!
11221 \*****************************************/
11222 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11223
11224 "use strict";
11225
11226
11227 if (false) {} else {
11228 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11229 }
11230
11231
11232 /***/ }),
11233
11234 /***/ "../node_modules/shallowequal/index.js":
11235 /*!*********************************************!*\
11236 !*** ../node_modules/shallowequal/index.js ***!
11237 \*********************************************/
11238 /***/ ((module) => {
11239
11240 //
11241
11242 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11243 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11244
11245 if (ret !== void 0) {
11246 return !!ret;
11247 }
11248
11249 if (objA === objB) {
11250 return true;
11251 }
11252
11253 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11254 return false;
11255 }
11256
11257 var keysA = Object.keys(objA);
11258 var keysB = Object.keys(objB);
11259
11260 if (keysA.length !== keysB.length) {
11261 return false;
11262 }
11263
11264 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11265
11266 // Test for A's keys different from B.
11267 for (var idx = 0; idx < keysA.length; idx++) {
11268 var key = keysA[idx];
11269
11270 if (!bHasOwnProperty(key)) {
11271 return false;
11272 }
11273
11274 var valueA = objA[key];
11275 var valueB = objB[key];
11276
11277 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11278
11279 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11280 return false;
11281 }
11282 }
11283
11284 return true;
11285 };
11286
11287
11288 /***/ }),
11289
11290 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11291 /*!*******************************************************************************!*\
11292 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11293 \*******************************************************************************/
11294 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11295
11296 "use strict";
11297 __webpack_require__.r(__webpack_exports__);
11298 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11299 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11300 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11301 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11302 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11303 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11304 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11305 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11306 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11307 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11308 /* harmony export */ css: () => (/* binding */ Ae),
11309 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11310 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11311 /* harmony export */ keyframes: () => (/* binding */ We),
11312 /* harmony export */ useTheme: () => (/* binding */ Xe),
11313 /* harmony export */ version: () => (/* binding */ A),
11314 /* harmony export */ withTheme: () => (/* binding */ Je)
11315 /* harmony export */ });
11316 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11317 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11318 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11319 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11320 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11321 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11322 /* 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");
11323 /* 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");
11324 /* 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");
11325 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11326 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);
11327 //# sourceMappingURL=styled-components.browser.esm.js.map
11328
11329
11330 /***/ }),
11331
11332 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11333 /*!*****************************************************************************************************!*\
11334 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11335 \*****************************************************************************************************/
11336 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11337
11338 "use strict";
11339 __webpack_require__.r(__webpack_exports__);
11340 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11341 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11342 /* harmony export */ });
11343 var unitlessKeys = {
11344 animationIterationCount: 1,
11345 borderImageOutset: 1,
11346 borderImageSlice: 1,
11347 borderImageWidth: 1,
11348 boxFlex: 1,
11349 boxFlexGroup: 1,
11350 boxOrdinalGroup: 1,
11351 columnCount: 1,
11352 columns: 1,
11353 flex: 1,
11354 flexGrow: 1,
11355 flexPositive: 1,
11356 flexShrink: 1,
11357 flexNegative: 1,
11358 flexOrder: 1,
11359 gridRow: 1,
11360 gridRowEnd: 1,
11361 gridRowSpan: 1,
11362 gridRowStart: 1,
11363 gridColumn: 1,
11364 gridColumnEnd: 1,
11365 gridColumnSpan: 1,
11366 gridColumnStart: 1,
11367 msGridRow: 1,
11368 msGridRowSpan: 1,
11369 msGridColumn: 1,
11370 msGridColumnSpan: 1,
11371 fontWeight: 1,
11372 lineHeight: 1,
11373 opacity: 1,
11374 order: 1,
11375 orphans: 1,
11376 tabSize: 1,
11377 widows: 1,
11378 zIndex: 1,
11379 zoom: 1,
11380 WebkitLineClamp: 1,
11381 // SVG-related properties
11382 fillOpacity: 1,
11383 floodOpacity: 1,
11384 stopOpacity: 1,
11385 strokeDasharray: 1,
11386 strokeDashoffset: 1,
11387 strokeMiterlimit: 1,
11388 strokeOpacity: 1,
11389 strokeWidth: 1
11390 };
11391
11392 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11393
11394
11395 /***/ }),
11396
11397 /***/ "../node_modules/validator/lib/isFQDN.js":
11398 /*!***********************************************!*\
11399 !*** ../node_modules/validator/lib/isFQDN.js ***!
11400 \***********************************************/
11401 /***/ ((module, exports, __webpack_require__) => {
11402
11403 "use strict";
11404
11405
11406 Object.defineProperty(exports, "__esModule", ({
11407 value: true
11408 }));
11409 exports["default"] = isFQDN;
11410
11411 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11412
11413 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11414
11415 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11416
11417 var default_fqdn_options = {
11418 require_tld: true,
11419 allow_underscores: false,
11420 allow_trailing_dot: false,
11421 allow_numeric_tld: false,
11422 allow_wildcard: false,
11423 ignore_max_length: false
11424 };
11425
11426 function isFQDN(str, options) {
11427 (0, _assertString.default)(str);
11428 options = (0, _merge.default)(options, default_fqdn_options);
11429 /* Remove the optional trailing dot before checking validity */
11430
11431 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11432 str = str.substring(0, str.length - 1);
11433 }
11434 /* Remove the optional wildcard before checking validity */
11435
11436
11437 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11438 str = str.substring(2);
11439 }
11440
11441 var parts = str.split('.');
11442 var tld = parts[parts.length - 1];
11443
11444 if (options.require_tld) {
11445 // disallow fqdns without tld
11446 if (parts.length < 2) {
11447 return false;
11448 }
11449
11450 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11451 return false;
11452 } // disallow spaces
11453
11454
11455 if (/\s/.test(tld)) {
11456 return false;
11457 }
11458 } // reject numeric TLDs
11459
11460
11461 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11462 return false;
11463 }
11464
11465 return parts.every(function (part) {
11466 if (part.length > 63 && !options.ignore_max_length) {
11467 return false;
11468 }
11469
11470 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11471 return false;
11472 } // disallow full-width chars
11473
11474
11475 if (/[\uff01-\uff5e]/.test(part)) {
11476 return false;
11477 } // disallow parts starting or ending with hyphen
11478
11479
11480 if (/^-|-$/.test(part)) {
11481 return false;
11482 }
11483
11484 if (!options.allow_underscores && /_/.test(part)) {
11485 return false;
11486 }
11487
11488 return true;
11489 });
11490 }
11491
11492 module.exports = exports.default;
11493 module.exports["default"] = exports.default;
11494
11495 /***/ }),
11496
11497 /***/ "../node_modules/validator/lib/isIP.js":
11498 /*!*********************************************!*\
11499 !*** ../node_modules/validator/lib/isIP.js ***!
11500 \*********************************************/
11501 /***/ ((module, exports, __webpack_require__) => {
11502
11503 "use strict";
11504
11505
11506 Object.defineProperty(exports, "__esModule", ({
11507 value: true
11508 }));
11509 exports["default"] = isIP;
11510
11511 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11512
11513 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11514
11515 /**
11516 11.3. Examples
11517
11518 The following addresses
11519
11520 fe80::1234 (on the 1st link of the node)
11521 ff02::5678 (on the 5th link of the node)
11522 ff08::9abc (on the 10th organization of the node)
11523
11524 would be represented as follows:
11525
11526 fe80::1234%1
11527 ff02::5678%5
11528 ff08::9abc%10
11529
11530 (Here we assume a natural translation from a zone index to the
11531 <zone_id> part, where the Nth zone of any scope is translated into
11532 "N".)
11533
11534 If we use interface names as <zone_id>, those addresses could also be
11535 represented as follows:
11536
11537 fe80::1234%ne0
11538 ff02::5678%pvc1.3
11539 ff08::9abc%interface10
11540
11541 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11542 to the 5th link, and "interface10" belongs to the 10th organization.
11543 * * */
11544 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11545 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11546 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11547 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11548 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,})?$');
11549
11550 function isIP(str) {
11551 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11552 (0, _assertString.default)(str);
11553 version = String(version);
11554
11555 if (!version) {
11556 return isIP(str, 4) || isIP(str, 6);
11557 }
11558
11559 if (version === '4') {
11560 return IPv4AddressRegExp.test(str);
11561 }
11562
11563 if (version === '6') {
11564 return IPv6AddressRegExp.test(str);
11565 }
11566
11567 return false;
11568 }
11569
11570 module.exports = exports.default;
11571 module.exports["default"] = exports.default;
11572
11573 /***/ }),
11574
11575 /***/ "../node_modules/validator/lib/isURL.js":
11576 /*!**********************************************!*\
11577 !*** ../node_modules/validator/lib/isURL.js ***!
11578 \**********************************************/
11579 /***/ ((module, exports, __webpack_require__) => {
11580
11581 "use strict";
11582
11583
11584 Object.defineProperty(exports, "__esModule", ({
11585 value: true
11586 }));
11587 exports["default"] = isURL;
11588
11589 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11590
11591 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11592
11593 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11594
11595 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11596
11597 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11598
11599 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11600
11601 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."); }
11602
11603 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); }
11604
11605 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; }
11606
11607 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; }
11608
11609 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11610
11611 /*
11612 options for isURL method
11613
11614 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11615 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11616 protocols - valid protocols can be modified with this option
11617 require_host - if set as false isURL will not check if host is present in the URL
11618 require_port - if set as true isURL will check if port is present in the URL
11619 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11620 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11621
11622 */
11623 var default_url_options = {
11624 protocols: ['http', 'https', 'ftp'],
11625 require_tld: true,
11626 require_protocol: false,
11627 require_host: true,
11628 require_port: false,
11629 require_valid_protocol: true,
11630 allow_underscores: false,
11631 allow_trailing_dot: false,
11632 allow_protocol_relative_urls: false,
11633 allow_fragments: true,
11634 allow_query_components: true,
11635 validate_length: true
11636 };
11637 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11638
11639 function isRegExp(obj) {
11640 return Object.prototype.toString.call(obj) === '[object RegExp]';
11641 }
11642
11643 function checkHost(host, matches) {
11644 for (var i = 0; i < matches.length; i++) {
11645 var match = matches[i];
11646
11647 if (host === match || isRegExp(match) && match.test(host)) {
11648 return true;
11649 }
11650 }
11651
11652 return false;
11653 }
11654
11655 function isURL(url, options) {
11656 (0, _assertString.default)(url);
11657
11658 if (!url || /[\s<>]/.test(url)) {
11659 return false;
11660 }
11661
11662 if (url.indexOf('mailto:') === 0) {
11663 return false;
11664 }
11665
11666 options = (0, _merge.default)(options, default_url_options);
11667
11668 if (options.validate_length && url.length >= 2083) {
11669 return false;
11670 }
11671
11672 if (!options.allow_fragments && url.includes('#')) {
11673 return false;
11674 }
11675
11676 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11677 return false;
11678 }
11679
11680 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11681 split = url.split('#');
11682 url = split.shift();
11683 split = url.split('?');
11684 url = split.shift();
11685 split = url.split('://');
11686
11687 if (split.length > 1) {
11688 protocol = split.shift().toLowerCase();
11689
11690 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11691 return false;
11692 }
11693 } else if (options.require_protocol) {
11694 return false;
11695 } else if (url.slice(0, 2) === '//') {
11696 if (!options.allow_protocol_relative_urls) {
11697 return false;
11698 }
11699
11700 split[0] = url.slice(2);
11701 }
11702
11703 url = split.join('://');
11704
11705 if (url === '') {
11706 return false;
11707 }
11708
11709 split = url.split('/');
11710 url = split.shift();
11711
11712 if (url === '' && !options.require_host) {
11713 return true;
11714 }
11715
11716 split = url.split('@');
11717
11718 if (split.length > 1) {
11719 if (options.disallow_auth) {
11720 return false;
11721 }
11722
11723 if (split[0] === '') {
11724 return false;
11725 }
11726
11727 auth = split.shift();
11728
11729 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11730 return false;
11731 }
11732
11733 var _auth$split = auth.split(':'),
11734 _auth$split2 = _slicedToArray(_auth$split, 2),
11735 user = _auth$split2[0],
11736 password = _auth$split2[1];
11737
11738 if (user === '' && password === '') {
11739 return false;
11740 }
11741 }
11742
11743 hostname = split.join('@');
11744 port_str = null;
11745 ipv6 = null;
11746 var ipv6_match = hostname.match(wrapped_ipv6);
11747
11748 if (ipv6_match) {
11749 host = '';
11750 ipv6 = ipv6_match[1];
11751 port_str = ipv6_match[2] || null;
11752 } else {
11753 split = hostname.split(':');
11754 host = split.shift();
11755
11756 if (split.length) {
11757 port_str = split.join(':');
11758 }
11759 }
11760
11761 if (port_str !== null && port_str.length > 0) {
11762 port = parseInt(port_str, 10);
11763
11764 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11765 return false;
11766 }
11767 } else if (options.require_port) {
11768 return false;
11769 }
11770
11771 if (options.host_whitelist) {
11772 return checkHost(host, options.host_whitelist);
11773 }
11774
11775 if (host === '' && !options.require_host) {
11776 return true;
11777 }
11778
11779 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11780 return false;
11781 }
11782
11783 host = host || ipv6;
11784
11785 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11786 return false;
11787 }
11788
11789 return true;
11790 }
11791
11792 module.exports = exports.default;
11793 module.exports["default"] = exports.default;
11794
11795 /***/ }),
11796
11797 /***/ "../node_modules/validator/lib/util/assertString.js":
11798 /*!**********************************************************!*\
11799 !*** ../node_modules/validator/lib/util/assertString.js ***!
11800 \**********************************************************/
11801 /***/ ((module, exports) => {
11802
11803 "use strict";
11804
11805
11806 Object.defineProperty(exports, "__esModule", ({
11807 value: true
11808 }));
11809 exports["default"] = assertString;
11810
11811 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); }
11812
11813 function assertString(input) {
11814 var isString = typeof input === 'string' || input instanceof String;
11815
11816 if (!isString) {
11817 var invalidType = _typeof(input);
11818
11819 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11820 throw new TypeError("Expected a string but received a ".concat(invalidType));
11821 }
11822 }
11823
11824 module.exports = exports.default;
11825 module.exports["default"] = exports.default;
11826
11827 /***/ }),
11828
11829 /***/ "../node_modules/validator/lib/util/merge.js":
11830 /*!***************************************************!*\
11831 !*** ../node_modules/validator/lib/util/merge.js ***!
11832 \***************************************************/
11833 /***/ ((module, exports) => {
11834
11835 "use strict";
11836
11837
11838 Object.defineProperty(exports, "__esModule", ({
11839 value: true
11840 }));
11841 exports["default"] = merge;
11842
11843 function merge() {
11844 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11845 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11846
11847 for (var key in defaults) {
11848 if (typeof obj[key] === 'undefined') {
11849 obj[key] = defaults[key];
11850 }
11851 }
11852
11853 return obj;
11854 }
11855
11856 module.exports = exports.default;
11857 module.exports["default"] = exports.default;
11858
11859 /***/ }),
11860
11861 /***/ "react":
11862 /*!************************!*\
11863 !*** external "React" ***!
11864 \************************/
11865 /***/ ((module) => {
11866
11867 "use strict";
11868 module.exports = React;
11869
11870 /***/ }),
11871
11872 /***/ "react-dom":
11873 /*!***************************!*\
11874 !*** external "ReactDOM" ***!
11875 \***************************/
11876 /***/ ((module) => {
11877
11878 "use strict";
11879 module.exports = ReactDOM;
11880
11881 /***/ }),
11882
11883 /***/ "@elementor/icons":
11884 /*!************************************!*\
11885 !*** external "elementorV2.icons" ***!
11886 \************************************/
11887 /***/ ((module) => {
11888
11889 "use strict";
11890 module.exports = elementorV2.icons;
11891
11892 /***/ }),
11893
11894 /***/ "@elementor/ui":
11895 /*!*********************************!*\
11896 !*** external "elementorV2.ui" ***!
11897 \*********************************/
11898 /***/ ((module) => {
11899
11900 "use strict";
11901 module.exports = elementorV2.ui;
11902
11903 /***/ }),
11904
11905 /***/ "@wordpress/i18n":
11906 /*!**************************!*\
11907 !*** external "wp.i18n" ***!
11908 \**************************/
11909 /***/ ((module) => {
11910
11911 "use strict";
11912 module.exports = wp.i18n;
11913
11914 /***/ }),
11915
11916 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11917 /*!******************************************************************!*\
11918 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
11919 \******************************************************************/
11920 /***/ ((module) => {
11921
11922 function _arrayLikeToArray(arr, len) {
11923 if (len == null || len > arr.length) len = arr.length;
11924 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11925 return arr2;
11926 }
11927 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11928
11929 /***/ }),
11930
11931 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
11932 /*!****************************************************************!*\
11933 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
11934 \****************************************************************/
11935 /***/ ((module) => {
11936
11937 function _arrayWithHoles(arr) {
11938 if (Array.isArray(arr)) return arr;
11939 }
11940 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11941
11942 /***/ }),
11943
11944 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
11945 /*!*******************************************************************!*\
11946 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
11947 \*******************************************************************/
11948 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11949
11950 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
11951 function _arrayWithoutHoles(arr) {
11952 if (Array.isArray(arr)) return arrayLikeToArray(arr);
11953 }
11954 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11955
11956 /***/ }),
11957
11958 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
11959 /*!***********************************************************************!*\
11960 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
11961 \***********************************************************************/
11962 /***/ ((module) => {
11963
11964 function _assertThisInitialized(self) {
11965 if (self === void 0) {
11966 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
11967 }
11968 return self;
11969 }
11970 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
11971
11972 /***/ }),
11973
11974 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
11975 /*!******************************************************************!*\
11976 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
11977 \******************************************************************/
11978 /***/ ((module) => {
11979
11980 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11981 try {
11982 var info = gen[key](arg);
11983 var value = info.value;
11984 } catch (error) {
11985 reject(error);
11986 return;
11987 }
11988 if (info.done) {
11989 resolve(value);
11990 } else {
11991 Promise.resolve(value).then(_next, _throw);
11992 }
11993 }
11994 function _asyncToGenerator(fn) {
11995 return function () {
11996 var self = this,
11997 args = arguments;
11998 return new Promise(function (resolve, reject) {
11999 var gen = fn.apply(self, args);
12000 function _next(value) {
12001 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
12002 }
12003 function _throw(err) {
12004 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
12005 }
12006 _next(undefined);
12007 });
12008 };
12009 }
12010 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
12011
12012 /***/ }),
12013
12014 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
12015 /*!****************************************************************!*\
12016 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
12017 \****************************************************************/
12018 /***/ ((module) => {
12019
12020 function _classCallCheck(instance, Constructor) {
12021 if (!(instance instanceof Constructor)) {
12022 throw new TypeError("Cannot call a class as a function");
12023 }
12024 }
12025 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
12026
12027 /***/ }),
12028
12029 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
12030 /*!*************************************************************!*\
12031 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
12032 \*************************************************************/
12033 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12034
12035 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12036 function _defineProperties(target, props) {
12037 for (var i = 0; i < props.length; i++) {
12038 var descriptor = props[i];
12039 descriptor.enumerable = descriptor.enumerable || false;
12040 descriptor.configurable = true;
12041 if ("value" in descriptor) descriptor.writable = true;
12042 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
12043 }
12044 }
12045 function _createClass(Constructor, protoProps, staticProps) {
12046 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12047 if (staticProps) _defineProperties(Constructor, staticProps);
12048 Object.defineProperty(Constructor, "prototype", {
12049 writable: false
12050 });
12051 return Constructor;
12052 }
12053 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
12054
12055 /***/ }),
12056
12057 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
12058 /*!****************************************************************!*\
12059 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
12060 \****************************************************************/
12061 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12062
12063 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12064 function _defineProperty(obj, key, value) {
12065 key = toPropertyKey(key);
12066 if (key in obj) {
12067 Object.defineProperty(obj, key, {
12068 value: value,
12069 enumerable: true,
12070 configurable: true,
12071 writable: true
12072 });
12073 } else {
12074 obj[key] = value;
12075 }
12076 return obj;
12077 }
12078 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
12079
12080 /***/ }),
12081
12082 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
12083 /*!*********************************************************!*\
12084 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
12085 \*********************************************************/
12086 /***/ ((module) => {
12087
12088 function _extends() {
12089 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
12090 for (var i = 1; i < arguments.length; i++) {
12091 var source = arguments[i];
12092 for (var key in source) {
12093 if (Object.prototype.hasOwnProperty.call(source, key)) {
12094 target[key] = source[key];
12095 }
12096 }
12097 }
12098 return target;
12099 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12100 return _extends.apply(this, arguments);
12101 }
12102 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
12103
12104 /***/ }),
12105
12106 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
12107 /*!****************************************************************!*\
12108 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
12109 \****************************************************************/
12110 /***/ ((module) => {
12111
12112 function _getPrototypeOf(o) {
12113 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
12114 return o.__proto__ || Object.getPrototypeOf(o);
12115 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12116 return _getPrototypeOf(o);
12117 }
12118 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12119
12120 /***/ }),
12121
12122 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
12123 /*!**********************************************************!*\
12124 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
12125 \**********************************************************/
12126 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12127
12128 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
12129 function _inherits(subClass, superClass) {
12130 if (typeof superClass !== "function" && superClass !== null) {
12131 throw new TypeError("Super expression must either be null or a function");
12132 }
12133 subClass.prototype = Object.create(superClass && superClass.prototype, {
12134 constructor: {
12135 value: subClass,
12136 writable: true,
12137 configurable: true
12138 }
12139 });
12140 Object.defineProperty(subClass, "prototype", {
12141 writable: false
12142 });
12143 if (superClass) setPrototypeOf(subClass, superClass);
12144 }
12145 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
12146
12147 /***/ }),
12148
12149 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
12150 /*!***********************************************************************!*\
12151 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
12152 \***********************************************************************/
12153 /***/ ((module) => {
12154
12155 function _interopRequireDefault(obj) {
12156 return obj && obj.__esModule ? obj : {
12157 "default": obj
12158 };
12159 }
12160 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
12161
12162 /***/ }),
12163
12164 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
12165 /*!*****************************************************************!*\
12166 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
12167 \*****************************************************************/
12168 /***/ ((module) => {
12169
12170 function _iterableToArray(iter) {
12171 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12172 }
12173 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12174
12175 /***/ }),
12176
12177 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
12178 /*!**********************************************************************!*\
12179 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
12180 \**********************************************************************/
12181 /***/ ((module) => {
12182
12183 function _iterableToArrayLimit(r, l) {
12184 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
12185 if (null != t) {
12186 var e,
12187 n,
12188 i,
12189 u,
12190 a = [],
12191 f = !0,
12192 o = !1;
12193 try {
12194 if (i = (t = t.call(r)).next, 0 === l) {
12195 if (Object(t) !== t) return;
12196 f = !1;
12197 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12198 } catch (r) {
12199 o = !0, n = r;
12200 } finally {
12201 try {
12202 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12203 } finally {
12204 if (o) throw n;
12205 }
12206 }
12207 return a;
12208 }
12209 }
12210 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12211
12212 /***/ }),
12213
12214 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12215 /*!*****************************************************************!*\
12216 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12217 \*****************************************************************/
12218 /***/ ((module) => {
12219
12220 function _nonIterableRest() {
12221 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12222 }
12223 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12224
12225 /***/ }),
12226
12227 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12228 /*!*******************************************************************!*\
12229 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12230 \*******************************************************************/
12231 /***/ ((module) => {
12232
12233 function _nonIterableSpread() {
12234 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12235 }
12236 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12237
12238 /***/ }),
12239
12240 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12241 /*!*************************************************************************!*\
12242 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12243 \*************************************************************************/
12244 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12245
12246 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12247 function _objectWithoutProperties(source, excluded) {
12248 if (source == null) return {};
12249 var target = objectWithoutPropertiesLoose(source, excluded);
12250 var key, i;
12251 if (Object.getOwnPropertySymbols) {
12252 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12253 for (i = 0; i < sourceSymbolKeys.length; i++) {
12254 key = sourceSymbolKeys[i];
12255 if (excluded.indexOf(key) >= 0) continue;
12256 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12257 target[key] = source[key];
12258 }
12259 }
12260 return target;
12261 }
12262 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12263
12264 /***/ }),
12265
12266 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12267 /*!******************************************************************************!*\
12268 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12269 \******************************************************************************/
12270 /***/ ((module) => {
12271
12272 function _objectWithoutPropertiesLoose(source, excluded) {
12273 if (source == null) return {};
12274 var target = {};
12275 var sourceKeys = Object.keys(source);
12276 var key, i;
12277 for (i = 0; i < sourceKeys.length; i++) {
12278 key = sourceKeys[i];
12279 if (excluded.indexOf(key) >= 0) continue;
12280 target[key] = source[key];
12281 }
12282 return target;
12283 }
12284 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12285
12286 /***/ }),
12287
12288 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12289 /*!***************************************************************************!*\
12290 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12291 \***************************************************************************/
12292 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12293
12294 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12295 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12296 function _possibleConstructorReturn(self, call) {
12297 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12298 return call;
12299 } else if (call !== void 0) {
12300 throw new TypeError("Derived constructors may only return object or undefined");
12301 }
12302 return assertThisInitialized(self);
12303 }
12304 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12305
12306 /***/ }),
12307
12308 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12309 /*!********************************************************************!*\
12310 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12311 \********************************************************************/
12312 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12313
12314 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12315 function _regeneratorRuntime() {
12316 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12317 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12318 return e;
12319 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12320 var t,
12321 e = {},
12322 r = Object.prototype,
12323 n = r.hasOwnProperty,
12324 o = Object.defineProperty || function (t, e, r) {
12325 t[e] = r.value;
12326 },
12327 i = "function" == typeof Symbol ? Symbol : {},
12328 a = i.iterator || "@@iterator",
12329 c = i.asyncIterator || "@@asyncIterator",
12330 u = i.toStringTag || "@@toStringTag";
12331 function define(t, e, r) {
12332 return Object.defineProperty(t, e, {
12333 value: r,
12334 enumerable: !0,
12335 configurable: !0,
12336 writable: !0
12337 }), t[e];
12338 }
12339 try {
12340 define({}, "");
12341 } catch (t) {
12342 define = function define(t, e, r) {
12343 return t[e] = r;
12344 };
12345 }
12346 function wrap(t, e, r, n) {
12347 var i = e && e.prototype instanceof Generator ? e : Generator,
12348 a = Object.create(i.prototype),
12349 c = new Context(n || []);
12350 return o(a, "_invoke", {
12351 value: makeInvokeMethod(t, r, c)
12352 }), a;
12353 }
12354 function tryCatch(t, e, r) {
12355 try {
12356 return {
12357 type: "normal",
12358 arg: t.call(e, r)
12359 };
12360 } catch (t) {
12361 return {
12362 type: "throw",
12363 arg: t
12364 };
12365 }
12366 }
12367 e.wrap = wrap;
12368 var h = "suspendedStart",
12369 l = "suspendedYield",
12370 f = "executing",
12371 s = "completed",
12372 y = {};
12373 function Generator() {}
12374 function GeneratorFunction() {}
12375 function GeneratorFunctionPrototype() {}
12376 var p = {};
12377 define(p, a, function () {
12378 return this;
12379 });
12380 var d = Object.getPrototypeOf,
12381 v = d && d(d(values([])));
12382 v && v !== r && n.call(v, a) && (p = v);
12383 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12384 function defineIteratorMethods(t) {
12385 ["next", "throw", "return"].forEach(function (e) {
12386 define(t, e, function (t) {
12387 return this._invoke(e, t);
12388 });
12389 });
12390 }
12391 function AsyncIterator(t, e) {
12392 function invoke(r, o, i, a) {
12393 var c = tryCatch(t[r], t, o);
12394 if ("throw" !== c.type) {
12395 var u = c.arg,
12396 h = u.value;
12397 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12398 invoke("next", t, i, a);
12399 }, function (t) {
12400 invoke("throw", t, i, a);
12401 }) : e.resolve(h).then(function (t) {
12402 u.value = t, i(u);
12403 }, function (t) {
12404 return invoke("throw", t, i, a);
12405 });
12406 }
12407 a(c.arg);
12408 }
12409 var r;
12410 o(this, "_invoke", {
12411 value: function value(t, n) {
12412 function callInvokeWithMethodAndArg() {
12413 return new e(function (e, r) {
12414 invoke(t, n, e, r);
12415 });
12416 }
12417 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12418 }
12419 });
12420 }
12421 function makeInvokeMethod(e, r, n) {
12422 var o = h;
12423 return function (i, a) {
12424 if (o === f) throw new Error("Generator is already running");
12425 if (o === s) {
12426 if ("throw" === i) throw a;
12427 return {
12428 value: t,
12429 done: !0
12430 };
12431 }
12432 for (n.method = i, n.arg = a;;) {
12433 var c = n.delegate;
12434 if (c) {
12435 var u = maybeInvokeDelegate(c, n);
12436 if (u) {
12437 if (u === y) continue;
12438 return u;
12439 }
12440 }
12441 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12442 if (o === h) throw o = s, n.arg;
12443 n.dispatchException(n.arg);
12444 } else "return" === n.method && n.abrupt("return", n.arg);
12445 o = f;
12446 var p = tryCatch(e, r, n);
12447 if ("normal" === p.type) {
12448 if (o = n.done ? s : l, p.arg === y) continue;
12449 return {
12450 value: p.arg,
12451 done: n.done
12452 };
12453 }
12454 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12455 }
12456 };
12457 }
12458 function maybeInvokeDelegate(e, r) {
12459 var n = r.method,
12460 o = e.iterator[n];
12461 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;
12462 var i = tryCatch(o, e.iterator, r.arg);
12463 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12464 var a = i.arg;
12465 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);
12466 }
12467 function pushTryEntry(t) {
12468 var e = {
12469 tryLoc: t[0]
12470 };
12471 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12472 }
12473 function resetTryEntry(t) {
12474 var e = t.completion || {};
12475 e.type = "normal", delete e.arg, t.completion = e;
12476 }
12477 function Context(t) {
12478 this.tryEntries = [{
12479 tryLoc: "root"
12480 }], t.forEach(pushTryEntry, this), this.reset(!0);
12481 }
12482 function values(e) {
12483 if (e || "" === e) {
12484 var r = e[a];
12485 if (r) return r.call(e);
12486 if ("function" == typeof e.next) return e;
12487 if (!isNaN(e.length)) {
12488 var o = -1,
12489 i = function next() {
12490 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12491 return next.value = t, next.done = !0, next;
12492 };
12493 return i.next = i;
12494 }
12495 }
12496 throw new TypeError(_typeof(e) + " is not iterable");
12497 }
12498 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12499 value: GeneratorFunctionPrototype,
12500 configurable: !0
12501 }), o(GeneratorFunctionPrototype, "constructor", {
12502 value: GeneratorFunction,
12503 configurable: !0
12504 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12505 var e = "function" == typeof t && t.constructor;
12506 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12507 }, e.mark = function (t) {
12508 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12509 }, e.awrap = function (t) {
12510 return {
12511 __await: t
12512 };
12513 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12514 return this;
12515 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12516 void 0 === i && (i = Promise);
12517 var a = new AsyncIterator(wrap(t, r, n, o), i);
12518 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12519 return t.done ? t.value : a.next();
12520 });
12521 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12522 return this;
12523 }), define(g, "toString", function () {
12524 return "[object Generator]";
12525 }), e.keys = function (t) {
12526 var e = Object(t),
12527 r = [];
12528 for (var n in e) r.push(n);
12529 return r.reverse(), function next() {
12530 for (; r.length;) {
12531 var t = r.pop();
12532 if (t in e) return next.value = t, next.done = !1, next;
12533 }
12534 return next.done = !0, next;
12535 };
12536 }, e.values = values, Context.prototype = {
12537 constructor: Context,
12538 reset: function reset(e) {
12539 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);
12540 },
12541 stop: function stop() {
12542 this.done = !0;
12543 var t = this.tryEntries[0].completion;
12544 if ("throw" === t.type) throw t.arg;
12545 return this.rval;
12546 },
12547 dispatchException: function dispatchException(e) {
12548 if (this.done) throw e;
12549 var r = this;
12550 function handle(n, o) {
12551 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12552 }
12553 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12554 var i = this.tryEntries[o],
12555 a = i.completion;
12556 if ("root" === i.tryLoc) return handle("end");
12557 if (i.tryLoc <= this.prev) {
12558 var c = n.call(i, "catchLoc"),
12559 u = n.call(i, "finallyLoc");
12560 if (c && u) {
12561 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12562 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12563 } else if (c) {
12564 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12565 } else {
12566 if (!u) throw new Error("try statement without catch or finally");
12567 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12568 }
12569 }
12570 }
12571 },
12572 abrupt: function abrupt(t, e) {
12573 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12574 var o = this.tryEntries[r];
12575 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12576 var i = o;
12577 break;
12578 }
12579 }
12580 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12581 var a = i ? i.completion : {};
12582 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12583 },
12584 complete: function complete(t, e) {
12585 if ("throw" === t.type) throw t.arg;
12586 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;
12587 },
12588 finish: function finish(t) {
12589 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12590 var r = this.tryEntries[e];
12591 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12592 }
12593 },
12594 "catch": function _catch(t) {
12595 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12596 var r = this.tryEntries[e];
12597 if (r.tryLoc === t) {
12598 var n = r.completion;
12599 if ("throw" === n.type) {
12600 var o = n.arg;
12601 resetTryEntry(r);
12602 }
12603 return o;
12604 }
12605 }
12606 throw new Error("illegal catch attempt");
12607 },
12608 delegateYield: function delegateYield(e, r, n) {
12609 return this.delegate = {
12610 iterator: values(e),
12611 resultName: r,
12612 nextLoc: n
12613 }, "next" === this.method && (this.arg = t), y;
12614 }
12615 }, e;
12616 }
12617 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12618
12619 /***/ }),
12620
12621 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12622 /*!****************************************************************!*\
12623 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12624 \****************************************************************/
12625 /***/ ((module) => {
12626
12627 function _setPrototypeOf(o, p) {
12628 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12629 o.__proto__ = p;
12630 return o;
12631 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12632 return _setPrototypeOf(o, p);
12633 }
12634 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12635
12636 /***/ }),
12637
12638 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12639 /*!***************************************************************!*\
12640 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12641 \***************************************************************/
12642 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12643
12644 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12645 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12646 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12647 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12648 function _slicedToArray(arr, i) {
12649 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12650 }
12651 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12652
12653 /***/ }),
12654
12655 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12656 /*!***********************************************************************!*\
12657 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12658 \***********************************************************************/
12659 /***/ ((module) => {
12660
12661 function _taggedTemplateLiteral(strings, raw) {
12662 if (!raw) {
12663 raw = strings.slice(0);
12664 }
12665 return Object.freeze(Object.defineProperties(strings, {
12666 raw: {
12667 value: Object.freeze(raw)
12668 }
12669 }));
12670 }
12671 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12672
12673 /***/ }),
12674
12675 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12676 /*!*******************************************************************!*\
12677 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12678 \*******************************************************************/
12679 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12680
12681 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12682 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12683 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12684 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12685 function _toConsumableArray(arr) {
12686 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12687 }
12688 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12689
12690 /***/ }),
12691
12692 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12693 /*!*************************************************************!*\
12694 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12695 \*************************************************************/
12696 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12697
12698 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12699 function toPrimitive(t, r) {
12700 if ("object" != _typeof(t) || !t) return t;
12701 var e = t[Symbol.toPrimitive];
12702 if (void 0 !== e) {
12703 var i = e.call(t, r || "default");
12704 if ("object" != _typeof(i)) return i;
12705 throw new TypeError("@@toPrimitive must return a primitive value.");
12706 }
12707 return ("string" === r ? String : Number)(t);
12708 }
12709 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12710
12711 /***/ }),
12712
12713 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12714 /*!***************************************************************!*\
12715 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12716 \***************************************************************/
12717 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12718
12719 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12720 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12721 function toPropertyKey(t) {
12722 var i = toPrimitive(t, "string");
12723 return "symbol" == _typeof(i) ? i : String(i);
12724 }
12725 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12726
12727 /***/ }),
12728
12729 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12730 /*!********************************************************!*\
12731 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12732 \********************************************************/
12733 /***/ ((module) => {
12734
12735 function _typeof(o) {
12736 "@babel/helpers - typeof";
12737
12738 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12739 return typeof o;
12740 } : function (o) {
12741 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12742 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12743 }
12744 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12745
12746 /***/ }),
12747
12748 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12749 /*!****************************************************************************!*\
12750 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12751 \****************************************************************************/
12752 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12753
12754 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12755 function _unsupportedIterableToArray(o, minLen) {
12756 if (!o) return;
12757 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12758 var n = Object.prototype.toString.call(o).slice(8, -1);
12759 if (n === "Object" && o.constructor) n = o.constructor.name;
12760 if (n === "Map" || n === "Set") return Array.from(o);
12761 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12762 }
12763 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12764
12765 /***/ }),
12766
12767 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12768 /*!***********************************************************!*\
12769 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12770 \***********************************************************/
12771 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12772
12773 // TODO(Babel 8): Remove this file.
12774
12775 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12776 module.exports = runtime;
12777
12778 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12779 try {
12780 regeneratorRuntime = runtime;
12781 } catch (accidentalStrictMode) {
12782 if (typeof globalThis === "object") {
12783 globalThis.regeneratorRuntime = runtime;
12784 } else {
12785 Function("r", "regeneratorRuntime = r")(runtime);
12786 }
12787 }
12788
12789
12790 /***/ })
12791
12792 /******/ });
12793 /************************************************************************/
12794 /******/ // The module cache
12795 /******/ var __webpack_module_cache__ = {};
12796 /******/
12797 /******/ // The require function
12798 /******/ function __webpack_require__(moduleId) {
12799 /******/ // Check if module is in cache
12800 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12801 /******/ if (cachedModule !== undefined) {
12802 /******/ return cachedModule.exports;
12803 /******/ }
12804 /******/ // Create a new module (and put it into the cache)
12805 /******/ var module = __webpack_module_cache__[moduleId] = {
12806 /******/ // no module.id needed
12807 /******/ // no module.loaded needed
12808 /******/ exports: {}
12809 /******/ };
12810 /******/
12811 /******/ // Execute the module function
12812 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12813 /******/
12814 /******/ // Return the exports of the module
12815 /******/ return module.exports;
12816 /******/ }
12817 /******/
12818 /************************************************************************/
12819 /******/ /* webpack/runtime/compat get default export */
12820 /******/ (() => {
12821 /******/ // getDefaultExport function for compatibility with non-harmony modules
12822 /******/ __webpack_require__.n = (module) => {
12823 /******/ var getter = module && module.__esModule ?
12824 /******/ () => (module['default']) :
12825 /******/ () => (module);
12826 /******/ __webpack_require__.d(getter, { a: getter });
12827 /******/ return getter;
12828 /******/ };
12829 /******/ })();
12830 /******/
12831 /******/ /* webpack/runtime/define property getters */
12832 /******/ (() => {
12833 /******/ // define getter functions for harmony exports
12834 /******/ __webpack_require__.d = (exports, definition) => {
12835 /******/ for(var key in definition) {
12836 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12837 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12838 /******/ }
12839 /******/ }
12840 /******/ };
12841 /******/ })();
12842 /******/
12843 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12844 /******/ (() => {
12845 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12846 /******/ })();
12847 /******/
12848 /******/ /* webpack/runtime/make namespace object */
12849 /******/ (() => {
12850 /******/ // define __esModule on exports
12851 /******/ __webpack_require__.r = (exports) => {
12852 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12853 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12854 /******/ }
12855 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12856 /******/ };
12857 /******/ })();
12858 /******/
12859 /******/ /* webpack/runtime/nonce */
12860 /******/ (() => {
12861 /******/ __webpack_require__.nc = undefined;
12862 /******/ })();
12863 /******/
12864 /************************************************************************/
12865 var __webpack_exports__ = {};
12866 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12867 (() => {
12868 "use strict";
12869 var exports = __webpack_exports__;
12870 /*!*******************************************************!*\
12871 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12872 \*******************************************************/
12873
12874
12875 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12876 Object.defineProperty(exports, "__esModule", ({
12877 value: true
12878 }));
12879 exports["default"] = exports.AI_ATTACHMENT = void 0;
12880 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12881 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12882 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12883 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12884 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12885 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12886 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12887 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12888 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12889 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12890 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12891 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12892 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12893 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"));
12894 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12895 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); }; }
12896 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; } }
12897 var AI_ATTACHMENT = 'ai-attachment';
12898 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12899 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12900 (0, _inherits2.default)(Module, _elementorModules$edi);
12901 var _super = _createSuper(Module);
12902 function Module() {
12903 var _this;
12904 (0, _classCallCheck2.default)(this, Module);
12905 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12906 args[_key] = arguments[_key];
12907 }
12908 _this = _super.call.apply(_super, [this].concat(args));
12909 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12910 var _ElementorAiConfig, _ElementorAiConfig$us;
12911 var saveGroup = groups.find(function (group) {
12912 return 'save' === group.name;
12913 });
12914 if (!saveGroup) {
12915 return groups;
12916 }
12917 var contextMenu = {
12918 name: 'ai',
12919 icon: 'eicon-ai',
12920 isEnabled: function isEnabled() {
12921 return 0 !== currentElement.getContainer().children.length;
12922 },
12923 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
12924 callback: function () {
12925 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
12926 var container, json, attachments;
12927 return _regenerator.default.wrap(function _callee$(_context) {
12928 while (1) switch (_context.prev = _context.next) {
12929 case 0:
12930 container = currentElement.getContainer();
12931 json = container.model.toJSON({
12932 remove: ['default']
12933 });
12934 attachments = [{
12935 type: 'json',
12936 previewHTML: '',
12937 content: json,
12938 label: container.model.get('title'),
12939 source: _attachments.USER_VARIATION_SOURCE
12940 }];
12941 (0, _editorIntegration.renderLayoutApp)({
12942 parentContainer: container.parent,
12943 mode: _config.MODE_VARIATION,
12944 at: container.view._index,
12945 attachments: attachments,
12946 onSelect: function onSelect() {
12947 container.view.$el.hide();
12948 },
12949 onClose: function onClose() {
12950 container.view.$el.show();
12951 },
12952 onInsert: function onInsert(template) {
12953 (0, _editorIntegration.importToEditor)({
12954 parentContainer: container.parent,
12955 at: container.view._index,
12956 template: template,
12957 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
12958 replace: true
12959 });
12960 }
12961 });
12962 case 4:
12963 case "end":
12964 return _context.stop();
12965 }
12966 }, _callee);
12967 }));
12968 function callback() {
12969 return _callback.apply(this, arguments);
12970 }
12971 return callback;
12972 }()
12973 };
12974 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
12975 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>";
12976 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
12977 }
12978
12979 // Add on top of save group actions
12980 saveGroup.actions.unshift(contextMenu);
12981 return groups;
12982 });
12983 return _this;
12984 }
12985 (0, _createClass2.default)(Module, [{
12986 key: "onElementorInit",
12987 value: function onElementorInit() {
12988 var _this2 = this;
12989 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
12990 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
12991 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
12992 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
12993 $e.commands.register('library', 'generate-ai-variation', function (args) {
12994 return _this2.applyTemplate(args);
12995 });
12996 }
12997 }, {
12998 key: "applyTemplate",
12999 value: function applyTemplate(args) {
13000 window.postMessage({
13001 type: 'library/attach:start'
13002 });
13003 $e.components.get('library').downloadTemplate(args, function (data) {
13004 var model = args.model;
13005 window.postMessage({
13006 type: 'library/attach',
13007 json: data.content[0],
13008 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
13009 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
13010 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
13011 }, window.location.origin);
13012 });
13013 }
13014 }, {
13015 key: "registerLibraryActionButtonBehavior",
13016 value: function registerLibraryActionButtonBehavior(behaviors) {
13017 behaviors.applyAiTemplate = {
13018 behaviorClass: _applyTemplateForAiBehavior.default
13019 };
13020 return behaviors;
13021 }
13022 }, {
13023 key: "registerAiLayoutBehavior",
13024 value: function registerAiLayoutBehavior(behaviors) {
13025 behaviors.ai = {
13026 behaviorClass: _aiLayoutBehavior.default,
13027 context: {
13028 documentType: window.elementor.documents.getCurrent().config.type
13029 }
13030 };
13031 return behaviors;
13032 }
13033 }, {
13034 key: "filterLibraryActionButtonTemplate",
13035 value: function filterLibraryActionButtonTemplate(viewId) {
13036 var modalConfig = $e.components.get('library').manager.modalConfig;
13037 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
13038 if (originalCoreViewId !== viewId) {
13039 return viewId;
13040 }
13041 if ($e.routes.current.library !== 'library/templates/blocks') {
13042 return viewId;
13043 }
13044 if (AI_ATTACHMENT === modalConfig.mode) {
13045 viewId = '#tmpl-elementor-template-library-apply-ai-button';
13046 } else {
13047 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
13048 }
13049 return viewId;
13050 }
13051 }]);
13052 return Module;
13053 }(elementorModules.editor.utils.Module);
13054 exports["default"] = Module;
13055 new Module();
13056 })();
13057
13058 /******/ })()
13059 ;
13060 //# sourceMappingURL=ai-layout.js.map