PluginProbe
Elementor Website Builder – more than just a page builder / 3.22.3
Elementor Website Builder – more than just a page builder v3.22.3
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.22.3, at assets/js/ai-layout.js

13,142 lines 583.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.22.0 - 26-06-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!********************************************************************************!*\
7 !*** ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \********************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 "use strict";
12 __webpack_require__.r(__webpack_exports__);
13 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14 /* harmony export */ "default": () => (/* binding */ isPropValid)
15 /* harmony export */ });
16 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
17
18
19 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
20
21 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
22 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
23 /* o */
24 && prop.charCodeAt(1) === 110
25 /* n */
26 && prop.charCodeAt(2) < 91;
27 }
28 /* Z+1 */
29 );
30
31
32
33
34 /***/ }),
35
36 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
37 /*!********************************************************************!*\
38 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
39 \********************************************************************/
40 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
42 "use strict";
43 __webpack_require__.r(__webpack_exports__);
44 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45 /* harmony export */ "default": () => (/* binding */ memoize)
46 /* harmony export */ });
47 function memoize(fn) {
48 var cache = Object.create(null);
49 return function (arg) {
50 if (cache[arg] === undefined) cache[arg] = fn(arg);
51 return cache[arg];
52 };
53 }
54
55
56
57
58 /***/ }),
59
60 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
61 /*!******************************************************************!*\
62 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
63 \******************************************************************/
64 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65
66 "use strict";
67 __webpack_require__.r(__webpack_exports__);
68 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
70 /* harmony export */ });
71 function stylis_min (W) {
72 function M(d, c, e, h, a) {
73 for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
74 g = e.charCodeAt(l);
75 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
76
77 if (0 === b + n + v + m) {
78 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
79 switch (g) {
80 case 32:
81 case 9:
82 case 59:
83 case 13:
84 case 10:
85 break;
86
87 default:
88 f += e.charAt(l);
89 }
90
91 g = 59;
92 }
93
94 switch (g) {
95 case 123:
96 f = f.trim();
97 q = f.charCodeAt(0);
98 k = 1;
99
100 for (t = ++l; l < B;) {
101 switch (g = e.charCodeAt(l)) {
102 case 123:
103 k++;
104 break;
105
106 case 125:
107 k--;
108 break;
109
110 case 47:
111 switch (g = e.charCodeAt(l + 1)) {
112 case 42:
113 case 47:
114 a: {
115 for (u = l + 1; u < J; ++u) {
116 switch (e.charCodeAt(u)) {
117 case 47:
118 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
119 l = u + 1;
120 break a;
121 }
122
123 break;
124
125 case 10:
126 if (47 === g) {
127 l = u + 1;
128 break a;
129 }
130
131 }
132 }
133
134 l = u;
135 }
136
137 }
138
139 break;
140
141 case 91:
142 g++;
143
144 case 40:
145 g++;
146
147 case 34:
148 case 39:
149 for (; l++ < J && e.charCodeAt(l) !== g;) {
150 }
151
152 }
153
154 if (0 === k) break;
155 l++;
156 }
157
158 k = e.substring(t, l);
159 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
160
161 switch (q) {
162 case 64:
163 0 < r && (f = f.replace(N, ''));
164 g = f.charCodeAt(1);
165
166 switch (g) {
167 case 100:
168 case 109:
169 case 115:
170 case 45:
171 r = c;
172 break;
173
174 default:
175 r = O;
176 }
177
178 k = M(c, r, k, g, a + 1);
179 t = k.length;
180 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
181 if (0 < t) switch (g) {
182 case 115:
183 f = f.replace(da, ea);
184
185 case 100:
186 case 109:
187 case 45:
188 k = f + '{' + k + '}';
189 break;
190
191 case 107:
192 f = f.replace(fa, '$1 $2');
193 k = f + '{' + k + '}';
194 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
195 break;
196
197 default:
198 k = f + k, 112 === h && (k = (p += k, ''));
199 } else k = '';
200 break;
201
202 default:
203 k = M(c, X(c, f, I), k, h, a + 1);
204 }
205
206 F += k;
207 k = I = r = u = q = 0;
208 f = '';
209 g = e.charCodeAt(++l);
210 break;
211
212 case 125:
213 case 59:
214 f = (0 < r ? f.replace(N, '') : f).trim();
215 if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
216 case 0:
217 break;
218
219 case 64:
220 if (105 === g || 99 === g) {
221 G += f + e.charAt(l);
222 break;
223 }
224
225 default:
226 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
227 }
228 I = r = u = q = 0;
229 f = '';
230 g = e.charCodeAt(++l);
231 }
232 }
233
234 switch (g) {
235 case 13:
236 case 10:
237 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
238 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
239 z = 1;
240 D++;
241 break;
242
243 case 59:
244 case 125:
245 if (0 === b + n + v + m) {
246 z++;
247 break;
248 }
249
250 default:
251 z++;
252 y = e.charAt(l);
253
254 switch (g) {
255 case 9:
256 case 32:
257 if (0 === n + m + b) switch (x) {
258 case 44:
259 case 58:
260 case 9:
261 case 32:
262 y = '';
263 break;
264
265 default:
266 32 !== g && (y = ' ');
267 }
268 break;
269
270 case 0:
271 y = '\\0';
272 break;
273
274 case 12:
275 y = '\\f';
276 break;
277
278 case 11:
279 y = '\\v';
280 break;
281
282 case 38:
283 0 === n + b + m && (r = I = 1, y = '\f' + y);
284 break;
285
286 case 108:
287 if (0 === n + b + m + E && 0 < u) switch (l - u) {
288 case 2:
289 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
290
291 case 8:
292 111 === K && (E = K);
293 }
294 break;
295
296 case 58:
297 0 === n + b + m && (u = l);
298 break;
299
300 case 44:
301 0 === b + v + n + m && (r = 1, y += '\r');
302 break;
303
304 case 34:
305 case 39:
306 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
307 break;
308
309 case 91:
310 0 === n + b + v && m++;
311 break;
312
313 case 93:
314 0 === n + b + v && m--;
315 break;
316
317 case 41:
318 0 === n + b + m && v--;
319 break;
320
321 case 40:
322 if (0 === n + b + m) {
323 if (0 === q) switch (2 * x + 3 * K) {
324 case 533:
325 break;
326
327 default:
328 q = 1;
329 }
330 v++;
331 }
332
333 break;
334
335 case 64:
336 0 === b + v + n + m + u + k && (k = 1);
337 break;
338
339 case 42:
340 case 47:
341 if (!(0 < n + m + v)) switch (b) {
342 case 0:
343 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
344 case 235:
345 b = 47;
346 break;
347
348 case 220:
349 t = l, b = 42;
350 }
351
352 break;
353
354 case 42:
355 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
356 }
357 }
358
359 0 === b && (f += y);
360 }
361
362 K = x;
363 x = g;
364 l++;
365 }
366
367 t = p.length;
368
369 if (0 < t) {
370 r = c;
371 if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
372 p = r.join(',') + '{' + p + '}';
373
374 if (0 !== w * E) {
375 2 !== w || L(p, 2) || (E = 0);
376
377 switch (E) {
378 case 111:
379 p = p.replace(ha, ':-moz-$1') + p;
380 break;
381
382 case 112:
383 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
384 }
385
386 E = 0;
387 }
388 }
389
390 return G + p + F;
391 }
392
393 function X(d, c, e) {
394 var h = c.trim().split(ia);
395 c = h;
396 var a = h.length,
397 m = d.length;
398
399 switch (m) {
400 case 0:
401 case 1:
402 var b = 0;
403
404 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
405 c[b] = Z(d, c[b], e).trim();
406 }
407
408 break;
409
410 default:
411 var v = b = 0;
412
413 for (c = []; b < a; ++b) {
414 for (var n = 0; n < m; ++n) {
415 c[v++] = Z(d[n] + ' ', h[b], e).trim();
416 }
417 }
418
419 }
420
421 return c;
422 }
423
424 function Z(d, c, e) {
425 var h = c.charCodeAt(0);
426 33 > h && (h = (c = c.trim()).charCodeAt(0));
427
428 switch (h) {
429 case 38:
430 return c.replace(F, '$1' + d.trim());
431
432 case 58:
433 return d.trim() + c.replace(F, '$1' + d.trim());
434
435 default:
436 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
437 }
438
439 return d + c;
440 }
441
442 function P(d, c, e, h) {
443 var a = d + ';',
444 m = 2 * c + 3 * e + 4 * h;
445
446 if (944 === m) {
447 d = a.indexOf(':', 9) + 1;
448 var b = a.substring(d, a.length - 1).trim();
449 b = a.substring(0, d).trim() + b + ';';
450 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
451 }
452
453 if (0 === w || 2 === w && !L(a, 1)) return a;
454
455 switch (m) {
456 case 1015:
457 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
458
459 case 951:
460 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
461
462 case 963:
463 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
464
465 case 1009:
466 if (100 !== a.charCodeAt(4)) break;
467
468 case 969:
469 case 942:
470 return '-webkit-' + a + a;
471
472 case 978:
473 return '-webkit-' + a + '-moz-' + a + a;
474
475 case 1019:
476 case 983:
477 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
478
479 case 883:
480 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
481 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
482 break;
483
484 case 932:
485 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
486 case 103:
487 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
488
489 case 115:
490 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
491
492 case 98:
493 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
494 }
495 return '-webkit-' + a + '-ms-' + a + a;
496
497 case 964:
498 return '-webkit-' + a + '-ms-flex-' + a + a;
499
500 case 1023:
501 if (99 !== a.charCodeAt(8)) break;
502 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
503 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
504
505 case 1005:
506 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
507
508 case 1e3:
509 b = a.substring(13).trim();
510 c = b.indexOf('-') + 1;
511
512 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
513 case 226:
514 b = a.replace(G, 'tb');
515 break;
516
517 case 232:
518 b = a.replace(G, 'tb-rl');
519 break;
520
521 case 220:
522 b = a.replace(G, 'lr');
523 break;
524
525 default:
526 return a;
527 }
528
529 return '-webkit-' + a + '-ms-' + b + a;
530
531 case 1017:
532 if (-1 === a.indexOf('sticky', 9)) break;
533
534 case 975:
535 c = (a = d).length - 10;
536 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
537
538 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
539 case 203:
540 if (111 > b.charCodeAt(8)) break;
541
542 case 115:
543 a = a.replace(b, '-webkit-' + b) + ';' + a;
544 break;
545
546 case 207:
547 case 102:
548 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
549 }
550
551 return a + ';';
552
553 case 938:
554 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
555 case 105:
556 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
557
558 case 115:
559 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
560
561 default:
562 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
563 }
564 break;
565
566 case 973:
567 case 989:
568 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
569
570 case 931:
571 case 953:
572 if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
573 break;
574
575 case 962:
576 if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
577 }
578
579 return a;
580 }
581
582 function L(d, c) {
583 var e = d.indexOf(1 === c ? ':' : '{'),
584 h = d.substring(0, 3 !== c ? e : 10);
585 e = d.substring(e + 1, d.length - 1);
586 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
587 }
588
589 function ea(d, c) {
590 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
591 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
592 }
593
594 function H(d, c, e, h, a, m, b, v, n, q) {
595 for (var g = 0, x = c, w; g < A; ++g) {
596 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
597 case void 0:
598 case !1:
599 case !0:
600 case null:
601 break;
602
603 default:
604 x = w;
605 }
606 }
607
608 if (x !== c) return x;
609 }
610
611 function T(d) {
612 switch (d) {
613 case void 0:
614 case null:
615 A = S.length = 0;
616 break;
617
618 default:
619 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
620 T(d[c]);
621 } else Y = !!d | 0;
622 }
623
624 return T;
625 }
626
627 function U(d) {
628 d = d.prefix;
629 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
630 return U;
631 }
632
633 function B(d, c) {
634 var e = d;
635 33 > e.charCodeAt(0) && (e = e.trim());
636 V = e;
637 e = [V];
638
639 if (0 < A) {
640 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
641 void 0 !== h && 'string' === typeof h && (c = h);
642 }
643
644 var a = M(O, e, c, 0, 0);
645 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
646 V = '';
647 E = 0;
648 z = D = 1;
649 return a;
650 }
651
652 var ca = /^\0+/g,
653 N = /[\0\r\f]/g,
654 aa = /: */g,
655 ka = /zoo|gra/,
656 ma = /([,: ])(transform)/g,
657 ia = /,\r+?/g,
658 F = /([\t\r\n ])*\f?&/g,
659 fa = /@(k\w+)\s*(\S*)\s*/,
660 Q = /::(place)/g,
661 ha = /:(read-only)/g,
662 G = /[svh]\w+-[tblr]{2}/,
663 da = /\(\s*(.*)\s*\)/g,
664 oa = /([\s\S]*?);/g,
665 ba = /-self|flex-/g,
666 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
667 la = /stretch|:\s*\w+\-(?:conte|avail)/,
668 ja = /([^-])(image-set\()/,
669 z = 1,
670 D = 1,
671 E = 0,
672 w = 1,
673 O = [],
674 S = [],
675 A = 0,
676 R = null,
677 Y = 0,
678 V = '';
679 B.use = T;
680 B.set = U;
681 void 0 !== W && U(W);
682 return B;
683 }
684
685 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
686
687
688 /***/ }),
689
690 /***/ "../assets/dev/js/utils/react.js":
691 /*!***************************************!*\
692 !*** ../assets/dev/js/utils/react.js ***!
693 \***************************************/
694 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
695
696 "use strict";
697
698
699 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
700 Object.defineProperty(exports, "__esModule", ({
701 value: true
702 }));
703 exports["default"] = void 0;
704 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
705 var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom"));
706 var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
707 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); }
708 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; }
709 /**
710 * Support conditional rendering of a React App to the DOM, based on the React version.
711 * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
712 *
713 * @param { React.ReactElement } app The app to render.
714 * @param { HTMLElement } domElement The DOM element to render the app into.
715 *
716 * @return {{ unmount: () => void }} The unmount function.
717 */
718 function render(app, domElement) {
719 var unmountFunction;
720 try {
721 var root = (0, _client.createRoot)(domElement);
722 root.render(app);
723 unmountFunction = function unmountFunction() {
724 root.unmount();
725 };
726 } catch (e) {
727 // eslint-disable-next-line react/no-deprecated
728 ReactDOM.render(app, domElement);
729 unmountFunction = function unmountFunction() {
730 // eslint-disable-next-line react/no-deprecated
731 ReactDOM.unmountComponentAtNode(domElement);
732 };
733 }
734 return {
735 unmount: unmountFunction
736 };
737 }
738 var _default = {
739 render: render
740 };
741 exports["default"] = _default;
742
743 /***/ }),
744
745 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
746 /*!************************************************************!*\
747 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
748 \************************************************************/
749 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
750
751 "use strict";
752
753
754 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
755 Object.defineProperty(exports, "__esModule", ({
756 value: true
757 }));
758 exports["default"] = void 0;
759 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
760 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
761 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
762 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
763 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
764 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
765 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
766 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
767 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
768 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
769 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); }; }
770 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; } }
771 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
772 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
773 var _super = _createSuper(AiLayoutBehavior);
774 function AiLayoutBehavior() {
775 var _this;
776 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
777 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
778 args[_key] = arguments[_key];
779 }
780 _this = _super.call.apply(_super, [this].concat(args));
781 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
782 return _this;
783 }
784 (0, _createClass2.default)(AiLayoutBehavior, [{
785 key: "ui",
786 value: function ui() {
787 return {
788 aiButton: '.e-ai-layout-button',
789 addTemplateButton: '.elementor-add-template-button'
790 };
791 }
792 }, {
793 key: "events",
794 value: function events() {
795 return {
796 'click @ui.aiButton': 'onAiButtonClick'
797 };
798 }
799 }, {
800 key: "onAiButtonClick",
801 value: function onAiButtonClick(e) {
802 e.stopPropagation();
803 window.elementorAiCurrentContext = this.getOption('context');
804 (0, _editorIntegration.renderLayoutApp)({
805 parentContainer: elementor.getPreviewContainer(),
806 mode: _config.MODE_LAYOUT,
807 at: this.view.getOption('at'),
808 onInsert: this.onInsert.bind(this),
809 onRenderApp: function onRenderApp(args) {
810 args.previewContainer.init();
811 },
812 onGenerate: function onGenerate(args) {
813 args.previewContainer.reset();
814 }
815 });
816 }
817 }, {
818 key: "hideDropArea",
819 value: function hideDropArea() {
820 this.view.onCloseButtonClick();
821 }
822 }, {
823 key: "onInsert",
824 value: function onInsert(template) {
825 this.hideDropArea();
826 (0, _editorIntegration.importToEditor)({
827 parentContainer: elementor.getPreviewContainer(),
828 at: this.view.getOption('at'),
829 template: template,
830 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
831 });
832 }
833 }, {
834 key: "onRender",
835 value: function onRender() {
836 var $button = jQuery('<div>', {
837 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
838 title: (0, _i18n.__)('Build with AI', 'elementor'),
839 role: 'button'
840 });
841 $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");
842 this.ui.addTemplateButton.after($button);
843 }
844 }]);
845 return AiLayoutBehavior;
846 }(Marionette.Behavior);
847 exports["default"] = AiLayoutBehavior;
848
849 /***/ }),
850
851 /***/ "../modules/ai/assets/js/editor/api/index.js":
852 /*!***************************************************!*\
853 !*** ../modules/ai/assets/js/editor/api/index.js ***!
854 \***************************************************/
855 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
856
857 "use strict";
858
859
860 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
861 Object.defineProperty(exports, "__esModule", ({
862 value: true
863 }));
864 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getExcerpt = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
865 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
866 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; }
867 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; }
868 var request = function request(endpoint) {
869 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
870 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
871 var signal = arguments.length > 3 ? arguments[3] : undefined;
872 if (Object.keys(data).length) {
873 data.context = window.elementorAiCurrentContext;
874 }
875 return new Promise(function (resolve, reject) {
876 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
877 success: resolve,
878 error: reject,
879 data: data
880 }, immediately);
881 if (signal && ajaxData.jqXhr) {
882 signal.addEventListener('abort', ajaxData.jqXhr.abort);
883 }
884 });
885 };
886 var getUserInformation = function getUserInformation(immediately) {
887 return request('ai_get_user_information', undefined, immediately);
888 };
889 exports.getUserInformation = getUserInformation;
890 var getRemoteConfig = function getRemoteConfig() {
891 return request('ai_get_remote_config');
892 };
893 exports.getRemoteConfig = getRemoteConfig;
894 var getCompletionText = function getCompletionText(payload) {
895 return request('ai_get_completion_text', {
896 payload: payload
897 });
898 };
899 exports.getCompletionText = getCompletionText;
900 var getExcerpt = function getExcerpt(payload) {
901 return request('ai_get_excerpt', {
902 payload: payload
903 });
904 };
905 exports.getExcerpt = getExcerpt;
906 var getEditText = function getEditText(payload) {
907 return request('ai_get_edit_text', {
908 payload: payload
909 });
910 };
911 exports.getEditText = getEditText;
912 var getCustomCode = function getCustomCode(payload) {
913 return request('ai_get_custom_code', {
914 payload: payload
915 });
916 };
917 exports.getCustomCode = getCustomCode;
918 var getCustomCSS = function getCustomCSS(payload) {
919 return request('ai_get_custom_css', {
920 payload: payload
921 });
922 };
923 exports.getCustomCSS = getCustomCSS;
924 var setGetStarted = function setGetStarted() {
925 return request('ai_set_get_started');
926 };
927 exports.setGetStarted = setGetStarted;
928 var setStatusFeedback = function setStatusFeedback(responseId) {
929 return request('ai_set_status_feedback', {
930 response_id: responseId
931 });
932 };
933 exports.setStatusFeedback = setStatusFeedback;
934 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
935 return request('ai_get_text_to_image', {
936 payload: payload
937 });
938 };
939 exports.getTextToImageGeneration = getTextToImageGeneration;
940 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
941 return request('ai_get_image_to_image', {
942 payload: payload
943 });
944 };
945 exports.getImageToImageGeneration = getImageToImageGeneration;
946 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
947 return request('ai_get_image_to_image_mask', {
948 payload: payload
949 });
950 };
951 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
952 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
953 return request('ai_get_image_to_image_outpainting', {
954 payload: payload
955 });
956 };
957 exports.getImageToImageOutPainting = getImageToImageOutPainting;
958 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
959 return request('ai_get_image_to_image_upscale', {
960 payload: payload
961 });
962 };
963 exports.getImageToImageUpscale = getImageToImageUpscale;
964 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
965 return request('ai_get_image_to_image_remove_background', {
966 payload: payload
967 });
968 };
969 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
970 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
971 return request('ai_get_image_to_image_replace_background', {
972 payload: payload
973 });
974 };
975 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
976 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
977 return request('ai_get_image_to_image_remove_text', {
978 image: image
979 });
980 };
981 exports.getImageToImageRemoveText = getImageToImageRemoveText;
982 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
983 return request('ai_get_image_prompt_enhancer', {
984 prompt: prompt
985 });
986 };
987 exports.getImagePromptEnhanced = getImagePromptEnhanced;
988 var uploadImage = function uploadImage(image) {
989 return request('ai_upload_image', _objectSpread({}, image));
990 };
991
992 /**
993 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
994 * @typedef {Object} requestBody
995 * @property {string} prompt - Prompt to generate the layout from.
996 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
997 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
998 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
999 */
1000
1001 /**
1002 * @param {requestBody} requestBody
1003 * @param {AbortSignal} [signal]
1004 */
1005 exports.uploadImage = uploadImage;
1006 var generateLayout = function generateLayout(requestBody, signal) {
1007 return request('ai_generate_layout', requestBody, true, signal);
1008 };
1009 exports.generateLayout = generateLayout;
1010 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
1011 return request('ai_get_layout_prompt_enhancer', {
1012 prompt: prompt,
1013 enhance_type: enhanceType
1014 });
1015 };
1016 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
1017 var getHistory = function getHistory(type, page, limit) {
1018 return request('ai_get_history', {
1019 type: type,
1020 page: page,
1021 limit: limit
1022 });
1023 };
1024 exports.getHistory = getHistory;
1025 var deleteHistoryItem = function deleteHistoryItem(id) {
1026 return request('ai_delete_history_item', {
1027 id: id
1028 });
1029 };
1030 exports.deleteHistoryItem = deleteHistoryItem;
1031 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
1032 return request('ai_toggle_favorite_history_item', {
1033 id: id
1034 });
1035 };
1036 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
1037
1038 /***/ }),
1039
1040 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
1041 /*!*****************************************************************!*\
1042 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
1043 \*****************************************************************/
1044 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1045
1046 "use strict";
1047
1048
1049 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1050 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1051 Object.defineProperty(exports, "__esModule", ({
1052 value: true
1053 }));
1054 exports.AlertDialog = void 0;
1055 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1056 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1057 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1058 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1059 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1060 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); }
1061 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; }
1062 var AlertDialog = function AlertDialog(props) {
1063 var _useState = (0, _react.useState)(true),
1064 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1065 isShown = _useState2[0],
1066 setIsShown = _useState2[1];
1067 if (!isShown) {
1068 return null;
1069 }
1070 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1071 open: true,
1072 maxWidth: "lg"
1073 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1074 sx: {
1075 padding: 0
1076 }
1077 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1078 sx: {
1079 textAlign: 'center',
1080 padding: 3
1081 }
1082 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1083 alignItems: "center",
1084 spacing: 2,
1085 marginBottom: 2
1086 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1087 variant: "contained",
1088 type: "button",
1089 color: "primary",
1090 onClick: function onClick() {
1091 var _props$onClose;
1092 setIsShown(false);
1093 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1094 }
1095 }, (0, _i18n.__)('Close', 'elementor')))));
1096 };
1097 exports.AlertDialog = AlertDialog;
1098 AlertDialog.propTypes = {
1099 message: _propTypes.default.string.isRequired,
1100 onClose: _propTypes.default.func
1101 };
1102
1103 /***/ }),
1104
1105 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1106 /*!******************************************************************!*\
1107 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1108 \******************************************************************/
1109 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1110
1111 "use strict";
1112
1113
1114 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1115 Object.defineProperty(exports, "__esModule", ({
1116 value: true
1117 }));
1118 exports["default"] = void 0;
1119 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1120 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1121 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1122 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1123 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1124 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1125 var ElementorLogo = function ElementorLogo(props) {
1126 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1127 viewBox: "0 0 32 32"
1128 }, props), /*#__PURE__*/_react.default.createElement("path", {
1129 fillRule: "evenodd",
1130 clipRule: "evenodd",
1131 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"
1132 }));
1133 };
1134 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1135 var theme = _ref.theme;
1136 return {
1137 width: theme.spacing(3),
1138 height: theme.spacing(3),
1139 '& path': {
1140 fill: theme.palette.text.primary
1141 }
1142 };
1143 });
1144 var DialogHeader = function DialogHeader(props) {
1145 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1146 sx: {
1147 fontWeight: 'normal'
1148 },
1149 color: "transparent",
1150 position: "relative"
1151 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1152 variant: "dense"
1153 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1154 sx: {
1155 mr: 1
1156 }
1157 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1158 component: "span",
1159 variant: "subtitle2",
1160 sx: {
1161 fontWeight: 'bold',
1162 textTransform: 'uppercase'
1163 }
1164 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1165 label: (0, _i18n.__)('Beta', 'elementor'),
1166 color: "default",
1167 size: "small",
1168 sx: {
1169 ml: 1
1170 }
1171 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1172 direction: "row",
1173 spacing: 1,
1174 alignItems: "center",
1175 sx: {
1176 ml: 'auto'
1177 }
1178 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1179 size: "small",
1180 "aria-label": "close",
1181 onClick: props.onClose,
1182 sx: {
1183 '&.MuiButtonBase-root': {
1184 mr: -1
1185 }
1186 }
1187 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1188 };
1189 DialogHeader.propTypes = {
1190 onClose: _propTypes.default.func.isRequired,
1191 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1192 };
1193 var _default = DialogHeader;
1194 exports["default"] = _default;
1195
1196 /***/ }),
1197
1198 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1199 /*!***********************************************************!*\
1200 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1201 \***********************************************************/
1202 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1203
1204 "use strict";
1205
1206
1207 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1208 Object.defineProperty(exports, "__esModule", ({
1209 value: true
1210 }));
1211 exports["default"] = void 0;
1212 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1213 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1214 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1215 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1216 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1217 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1218 var _excluded = ["sx", "BoxProps"];
1219 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; }
1220 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; }
1221 var Loader = function Loader(_ref) {
1222 var _ref$sx = _ref.sx,
1223 sx = _ref$sx === void 0 ? {} : _ref$sx,
1224 _ref$BoxProps = _ref.BoxProps,
1225 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1226 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1227 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1228 width: "100%",
1229 display: "flex",
1230 alignItems: "center"
1231 }, BoxProps, {
1232 sx: _objectSpread({
1233 px: 1.5,
1234 minHeight: function minHeight(theme) {
1235 return theme.spacing(5);
1236 }
1237 }, BoxProps.sx || {})
1238 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1239 color: "secondary"
1240 }, props, {
1241 sx: _objectSpread({
1242 width: '100%'
1243 }, sx)
1244 })));
1245 };
1246 Loader.propTypes = {
1247 sx: _propTypes.default.object,
1248 BoxProps: _propTypes.default.object
1249 };
1250 var _default = Loader;
1251 exports["default"] = _default;
1252
1253 /***/ }),
1254
1255 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1256 /*!******************************************************************!*\
1257 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1258 \******************************************************************/
1259 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1260
1261 "use strict";
1262
1263
1264 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1265 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1266 Object.defineProperty(exports, "__esModule", ({
1267 value: true
1268 }));
1269 exports["default"] = void 0;
1270 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1271 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1272 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1273 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1274 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1275 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1276 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1277 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1278 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); }
1279 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; }
1280 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; }
1281 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; }
1282 var DraggablePaper = function DraggablePaper(props) {
1283 var _useState = (0, _react.useState)({
1284 x: 0,
1285 y: 0
1286 }),
1287 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1288 position = _useState2[0],
1289 setPosition = _useState2[1];
1290 var paperRef = (0, _react.useRef)(null);
1291 var timeout = (0, _react.useRef)(null);
1292 var onDrag = function onDrag(_e, _ref) {
1293 var x = _ref.x,
1294 y = _ref.y;
1295 return setPosition({
1296 x: x,
1297 y: y
1298 });
1299 };
1300 var handlePositionBoundaries = function handlePositionBoundaries() {
1301 clearTimeout(timeout.current);
1302
1303 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1304 timeout.current = setTimeout(function () {
1305 var _paperRef$current;
1306 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1307 if (dialogTop < 0) {
1308 setPosition(function (prev) {
1309 return _objectSpread(_objectSpread({}, prev), {}, {
1310 y: prev.y - dialogTop
1311 });
1312 });
1313 }
1314 }, 50);
1315 };
1316 (0, _react.useEffect)(function () {
1317 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1318 resizeObserver.observe(paperRef.current);
1319 return function () {
1320 resizeObserver.disconnect();
1321 };
1322 }, []);
1323 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1324 position: position,
1325 onDrag: onDrag,
1326 handle: ".MuiAppBar-root",
1327 cancel: '[class*="MuiDialogContent-root"]',
1328 bounds: "parent"
1329 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1330 ref: paperRef
1331 })));
1332 };
1333 var PromptDialog = function PromptDialog(props) {
1334 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1335 scroll: "paper",
1336 open: true,
1337 fullWidth: true,
1338 hideBackdrop: true,
1339 PaperComponent: DraggablePaper,
1340 disableScrollLock: true,
1341 sx: {
1342 '& .MuiDialog-container': {
1343 alignItems: 'flex-start',
1344 mt: '18vh'
1345 }
1346 },
1347 PaperProps: {
1348 sx: {
1349 m: 0,
1350 maxHeight: '76vh'
1351 }
1352 }
1353 }, props), props.children);
1354 };
1355 PromptDialog.propTypes = {
1356 onClose: _propTypes.default.func.isRequired,
1357 children: _propTypes.default.node,
1358 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1359 };
1360 PromptDialog.Header = _dialogHeader.default;
1361 PromptDialog.Content = _ui.DialogContent;
1362 var _default = PromptDialog;
1363 exports["default"] = _default;
1364
1365 /***/ }),
1366
1367 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1368 /*!*************************************************************************!*\
1369 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1370 \*************************************************************************/
1371 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1372
1373 "use strict";
1374 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1375
1376
1377 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1378 Object.defineProperty(exports, "__esModule", ({
1379 value: true
1380 }));
1381 exports["default"] = void 0;
1382 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1383 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1384 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1385 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1386 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1387 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1388 var _excluded = ["error", "onRetry", "actionPosition"];
1389 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1390 var error = _ref.error,
1391 _ref$onRetry = _ref.onRetry,
1392 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1393 _ref$actionPosition = _ref.actionPosition,
1394 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1395 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1396 function getQuotaReachedTrailMessage(featureName) {
1397 if (!featureName) {
1398 return {
1399 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1400 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1401 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1402 buttonAction: function buttonAction() {
1403 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1404 }
1405 };
1406 }
1407 return {
1408 // Translators: %s is the feature name.
1409 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1410 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1411 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1412 buttonAction: function buttonAction() {
1413 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1414 }
1415 };
1416 }
1417 function getErrorMessage() {
1418 var _error$extra_data;
1419 var errMsg = error.message || error;
1420 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1421 var messages = {
1422 default: {
1423 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1424 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1425 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1426 buttonAction: onRetry
1427 },
1428 service_outage_internal: {
1429 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1430 description: (0, _i18n.__)('Wait a moment and give it another go.', 'elementor'),
1431 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1432 buttonAction: onRetry
1433 },
1434 invalid_connect_data: {
1435 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1436 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1437 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1438 target: "_blank",
1439 rel: "noreferrer"
1440 }, (0, _i18n.__)('Show me how', 'elementor'))),
1441 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1442 buttonAction: function buttonAction() {
1443 return window.open(window.ElementorAiConfig.connect_url);
1444 }
1445 },
1446 not_connected: {
1447 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1448 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1449 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1450 buttonAction: function buttonAction() {
1451 return window.open(window.ElementorAiConfig.connect_url);
1452 }
1453 },
1454 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1455 quota_reached_subscription: {
1456 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Looks like you\'re out of credits.', 'elementor')),
1457 description: (0, _i18n.__)('Ready to take it to the next level?', 'elementor'),
1458 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1459 buttonAction: function buttonAction() {
1460 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1461 }
1462 },
1463 rate_limit_network: {
1464 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1465 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1466 },
1467 invalid_prompts: {
1468 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1469 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1470 },
1471 service_unavailable: {
1472 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1473 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1474 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1475 buttonAction: onRetry
1476 },
1477 request_timeout_error: {
1478 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1479 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1480 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1481 buttonAction: onRetry
1482 },
1483 invalid_token: {
1484 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Try again', 'elementor')),
1485 description: (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'),
1486 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1487 buttonAction: onRetry
1488 },
1489 file_too_large: {
1490 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('The file is too large.', 'elementor')),
1491 description: (0, _i18n.__)('Please upload a file that is less than 4MB.', 'elementor')
1492 }
1493 };
1494 return messages[errMsg] || messages.default;
1495 }
1496 var message = getErrorMessage();
1497 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1498 color: "inherit",
1499 size: "small",
1500 variant: "outlined",
1501 onClick: message.buttonAction
1502 }, message.buttonText);
1503 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1504 severity: message.severity || 'error',
1505 action: 'default' === actionPosition && action
1506 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1507 sx: {
1508 mt: 1
1509 }
1510 }, action));
1511 };
1512 PromptErrorMessage.propTypes = {
1513 error: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
1514 onRetry: _propTypes.default.func,
1515 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1516 };
1517 var _default = PromptErrorMessage;
1518 exports["default"] = _default;
1519
1520 /***/ }),
1521
1522 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1523 /*!************************************************************************!*\
1524 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1525 \************************************************************************/
1526 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1527
1528 "use strict";
1529
1530
1531 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1532 Object.defineProperty(exports, "__esModule", ({
1533 value: true
1534 }));
1535 exports["default"] = void 0;
1536 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1537 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1538 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1539 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1540 var PromptLibraryLink = function PromptLibraryLink(props) {
1541 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1542 variant: "body2",
1543 color: "text.secondary"
1544 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1545 href: props.libraryLink,
1546 className: "elementor-clickable",
1547 target: "_blank"
1548 }, (0, _i18n.__)('prompt library')));
1549 };
1550 PromptLibraryLink.propTypes = {
1551 libraryLink: _propTypes.default.string
1552 };
1553 var _default = PromptLibraryLink;
1554 exports["default"] = _default;
1555
1556 /***/ }),
1557
1558 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1559 /*!*****************************************************************!*\
1560 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1561 \*****************************************************************/
1562 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1563
1564 "use strict";
1565
1566
1567 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1568 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1569 Object.defineProperty(exports, "__esModule", ({
1570 value: true
1571 }));
1572 exports["default"] = void 0;
1573 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1574 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1575 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1576 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1577 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1578 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1579 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); }
1580 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; }
1581 var popoverId = 'e-ai-upgrade-popover';
1582 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1583 var theme = _ref.theme;
1584 return {
1585 position: 'relative',
1586 '[data-popper-placement="top"] &': {
1587 marginBottom: theme.spacing(2.5)
1588 },
1589 '[data-popper-placement="bottom"] &': {
1590 marginTop: theme.spacing(2.5)
1591 },
1592 padding: theme.spacing(3),
1593 boxShadow: theme.shadows[4],
1594 zIndex: '9999'
1595 };
1596 });
1597 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1598 var theme = _ref2.theme;
1599 return {
1600 width: theme.spacing(5),
1601 height: theme.spacing(2.5),
1602 position: 'absolute',
1603 overflow: 'hidden',
1604 // Override Popper inline styles.
1605 left: '50% !important',
1606 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1607 '[data-popper-placement="top"] &': {
1608 top: '100%'
1609 },
1610 '[data-popper-placement="bottom"] &': {
1611 '--rotate': '180deg',
1612 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1613 },
1614 '&::after': {
1615 backgroundColor: theme.palette.background.paper,
1616 content: '""',
1617 display: 'block',
1618 position: 'absolute',
1619 width: theme.spacing(2.5),
1620 height: theme.spacing(2.5),
1621 top: 0,
1622 left: '50%',
1623 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1624 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1625 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1626 }
1627 };
1628 });
1629 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')];
1630 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1631 return {
1632 '& .MuiChip-label': {
1633 lineHeight: 1.5
1634 },
1635 '& .MuiSvgIcon-root.MuiChip-icon': {
1636 fontSize: '1.25rem'
1637 }
1638 };
1639 });
1640 var UpgradeChip = function UpgradeChip(_ref3) {
1641 var _ref3$hasSubscription = _ref3.hasSubscription,
1642 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1643 _ref3$usagePercentage = _ref3.usagePercentage,
1644 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1645 var _useState = (0, _react.useState)(false),
1646 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1647 isPopoverOpen = _useState2[0],
1648 setIsPopoverOpen = _useState2[1];
1649 var anchorEl = (0, _react.useRef)(null);
1650 var arrowEl = (0, _react.useRef)(null);
1651 var showPopover = function showPopover() {
1652 return setIsPopoverOpen(true);
1653 };
1654 var hidePopover = function hidePopover() {
1655 return setIsPopoverOpen(false);
1656 };
1657 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1658 if (hasSubscription) {
1659 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1660 }
1661 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1662 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1663 component: "span",
1664 "aria-owns": isPopoverOpen ? popoverId : undefined,
1665 "aria-haspopup": "true",
1666 onMouseEnter: showPopover,
1667 onMouseLeave: hidePopover,
1668 ref: anchorEl,
1669 display: "flex",
1670 alignItems: "center"
1671 }, /*#__PURE__*/_react.default.createElement(Chip, {
1672 color: "promotion",
1673 label: (0, _i18n.__)('Upgrade', 'elementor'),
1674 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1675 size: "small"
1676 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1677 open: isPopoverOpen,
1678 anchorEl: anchorEl.current,
1679 sx: {
1680 zIndex: '9999',
1681 maxWidth: 300
1682 },
1683 modifiers: [{
1684 name: 'arrow',
1685 enabled: true,
1686 options: {
1687 element: arrowEl.current
1688 }
1689 }]
1690 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1691 ref: arrowEl
1692 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1693 variant: "h5",
1694 color: "text.primary"
1695 }, (0, _i18n.__)('Unlimited access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1696 sx: {
1697 mb: 1
1698 }
1699 }, upgradeBullets.map(function (bullet, index) {
1700 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1701 key: index,
1702 disableGutters: true,
1703 sx: {
1704 alignItems: 'flex-start'
1705 }
1706 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1707 sx: {
1708 m: 0
1709 }
1710 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1711 variant: "body2"
1712 }, bullet)));
1713 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1714 variant: "contained",
1715 color: "promotion",
1716 size: "small",
1717 href: actionUrl,
1718 target: "_blank",
1719 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1720 sx: {
1721 '&:hover': {
1722 color: 'promotion.contrastText'
1723 }
1724 }
1725 }, actionLabel))));
1726 };
1727 var _default = UpgradeChip;
1728 exports["default"] = _default;
1729 UpgradeChip.propTypes = {
1730 hasSubscription: _propTypes.default.bool,
1731 usagePercentage: _propTypes.default.number
1732 };
1733
1734 /***/ }),
1735
1736 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
1737 /*!**************************************************************************!*\
1738 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
1739 \**************************************************************************/
1740 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1741
1742 "use strict";
1743 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1744 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1745
1746
1747 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1748 Object.defineProperty(exports, "__esModule", ({
1749 value: true
1750 }));
1751 exports["default"] = exports.VoicePromotionAlert = void 0;
1752 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1753 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1754 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1755 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
1756 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
1757 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; }
1758 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; }
1759 var VoicePromotionAlert = function VoicePromotionAlert(props) {
1760 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
1761 isViewed = _useIntroduction.isViewed,
1762 markAsViewed = _useIntroduction.markAsViewed;
1763 if (isViewed) {
1764 return null;
1765 }
1766 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1767 sx: _objectSpread({
1768 mt: 2
1769 }, props.sx),
1770 alignItems: "top"
1771 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
1772 severity: "info",
1773 variant: "standard",
1774 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
1775 sx: {
1776 alignSelf: 'flex-start'
1777 }
1778 }),
1779 onClose: markAsViewed
1780 }, __('Get improved results from AI by adding personal context.', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
1781 onClick: function onClick() {
1782 return $e.route('panel/global/menu');
1783 },
1784 className: "elementor-clickable",
1785 style: {
1786 textDecoration: 'none'
1787 },
1788 color: "info.main",
1789 href: "#"
1790 }, __('Let’s do it', 'elementor'))));
1791 };
1792 exports.VoicePromotionAlert = VoicePromotionAlert;
1793 VoicePromotionAlert.propTypes = {
1794 sx: PropTypes.object,
1795 introductionKey: PropTypes.string
1796 };
1797 var _default = VoicePromotionAlert;
1798 exports["default"] = _default;
1799
1800 /***/ }),
1801
1802 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1803 /*!******************************************************************!*\
1804 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1805 \******************************************************************/
1806 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1807
1808 "use strict";
1809
1810
1811 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1812 Object.defineProperty(exports, "__esModule", ({
1813 value: true
1814 }));
1815 exports["default"] = void 0;
1816 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1817 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1818 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1819 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1820 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1821 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1822 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1823 var _excluded = ["sx"];
1824 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; }
1825 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; }
1826 var WizardDialog = function WizardDialog(props) {
1827 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1828 open: true,
1829 onClose: props.onClose,
1830 fullWidth: true,
1831 hideBackdrop: true,
1832 maxWidth: "lg",
1833 PaperProps: {
1834 sx: {
1835 height: '88vh'
1836 }
1837 },
1838 sx: {
1839 zIndex: 9999
1840 }
1841 }, props.children);
1842 };
1843 WizardDialog.propTypes = {
1844 onClose: _propTypes.default.func.isRequired,
1845 children: _propTypes.default.node.isRequired
1846 };
1847 var WizardDialogContent = function WizardDialogContent(_ref) {
1848 var _ref$sx = _ref.sx,
1849 sx = _ref$sx === void 0 ? {} : _ref$sx,
1850 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1851 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1852 sx: _objectSpread({
1853 display: 'flex',
1854 flexDirection: 'column',
1855 justifyContent: 'center'
1856 }, sx)
1857 }));
1858 };
1859 WizardDialogContent.propTypes = {
1860 sx: _propTypes.default.object
1861 };
1862 WizardDialog.Header = _dialogHeader.default;
1863 WizardDialog.Content = WizardDialogContent;
1864 var _default = WizardDialog;
1865 exports["default"] = _default;
1866
1867 /***/ }),
1868
1869 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1870 /*!**************************************************************!*\
1871 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1872 \**************************************************************/
1873 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1874
1875 "use strict";
1876
1877
1878 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1879 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1880 Object.defineProperty(exports, "__esModule", ({
1881 value: true
1882 }));
1883 exports["default"] = exports.RequestIdsProvider = void 0;
1884 exports.generateIds = generateIds;
1885 exports.useRequestIds = exports.getUniqueId = void 0;
1886 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1887 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1888 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); }
1889 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; }
1890 var Context = (0, _react.createContext)({});
1891 var useRequestIds = function useRequestIds() {
1892 var context = (0, _react.useContext)(Context);
1893 if (!context) {
1894 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1895 }
1896 return context;
1897 };
1898 exports.useRequestIds = useRequestIds;
1899 var getUniqueId = function getUniqueId(prefix) {
1900 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1901 };
1902 exports.getUniqueId = getUniqueId;
1903 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
1904 function generateIds(template) {
1905 var _template$elements;
1906 template.id = getUniqueId().toString();
1907 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1908 template.elements.map(function (child) {
1909 return generateIds(child);
1910 });
1911 }
1912 return template;
1913 }
1914 var RequestIdsProvider = function RequestIdsProvider(props) {
1915 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1916 var sessionId = (0, _react.useRef)('');
1917 var generateId = (0, _react.useRef)('');
1918 var batchId = (0, _react.useRef)('');
1919 var requestId = (0, _react.useRef)('');
1920 sessionId.current = getUniqueId('session');
1921 var setGenerate = function setGenerate() {
1922 generateId.current = getUniqueId('generate');
1923 return generateId;
1924 };
1925 var setBatch = function setBatch() {
1926 batchId.current = getUniqueId('batch');
1927 return batchId;
1928 };
1929 var setRequest = function setRequest() {
1930 requestId.current = getUniqueId('request');
1931 return requestId;
1932 };
1933 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1934 value: {
1935 editorSessionId: editorSessionId,
1936 sessionId: sessionId,
1937 generateId: generateId,
1938 batchId: batchId,
1939 requestId: requestId,
1940 setGenerate: setGenerate,
1941 setBatch: setBatch,
1942 setRequest: setRequest
1943 }
1944 }, props.children);
1945 };
1946 exports.RequestIdsProvider = RequestIdsProvider;
1947 RequestIdsProvider.propTypes = {
1948 children: _propTypes.default.node.isRequired
1949 };
1950 var _default = Context;
1951 exports["default"] = _default;
1952
1953 /***/ }),
1954
1955 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1956 /*!****************************************************************!*\
1957 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1958 \****************************************************************/
1959 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1960
1961 "use strict";
1962
1963
1964 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1965 Object.defineProperty(exports, "__esModule", ({
1966 value: true
1967 }));
1968 exports["default"] = useIntroduction;
1969 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1970 var _react = __webpack_require__(/*! react */ "react");
1971 function useIntroduction(key) {
1972 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1973 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;
1974 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1975 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1976 isViewed = _useState2[0],
1977 setIsViewed = _useState2[1];
1978 function markAsViewed() {
1979 if (!key) {
1980 return Promise.reject();
1981 }
1982 return new Promise(function (resolve, reject) {
1983 if (isViewed) {
1984 reject();
1985 }
1986 setIsViewed(true);
1987 elementorCommon.ajax.addRequest('introduction_viewed', {
1988 data: {
1989 introductionKey: key
1990 },
1991 error: function error() {
1992 setIsViewed(false);
1993 reject();
1994 },
1995 success: function success() {
1996 setIsViewed(true);
1997 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1998 globalConfig.introduction[key] = true;
1999 }
2000 resolve();
2001 }
2002 });
2003 });
2004 }
2005 return {
2006 isViewed: isViewed,
2007 markAsViewed: markAsViewed
2008 };
2009 }
2010
2011 /***/ }),
2012
2013 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
2014 /*!*******************************************************************!*\
2015 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
2016 \*******************************************************************/
2017 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2018
2019 "use strict";
2020
2021
2022 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2023 Object.defineProperty(exports, "__esModule", ({
2024 value: true
2025 }));
2026 exports["default"] = void 0;
2027 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2028 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
2029 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2030 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
2031 var getResult = function getResult(prompt, type, enhanceType) {
2032 if (!enhancePromptMap.has(type)) {
2033 throw new Error("Invalid prompt type: ".concat(type));
2034 }
2035 return enhancePromptMap.get(type)(prompt, enhanceType);
2036 };
2037
2038 /**
2039 * Hook to enhance a prompt.
2040 *
2041 * @param {string} prompt
2042 * @param {'media' | 'layout'} type
2043 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
2044 */
2045 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
2046 var _useConfig = (0, _config.useConfig)(),
2047 mode = _useConfig.mode;
2048 var _usePrompt = (0, _usePrompt2.default)(function () {
2049 return getResult(prompt, type, mode);
2050 }, prompt),
2051 enhancedData = _usePrompt.data,
2052 isEnhancing = _usePrompt.isLoading,
2053 enhance = _usePrompt.send;
2054 return {
2055 enhance: enhance,
2056 isEnhancing: isEnhancing,
2057 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
2058 };
2059 };
2060 var _default = usePromptEnhancer;
2061 exports["default"] = _default;
2062
2063 /***/ }),
2064
2065 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
2066 /*!**********************************************************!*\
2067 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
2068 \**********************************************************/
2069 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2070
2071 "use strict";
2072
2073
2074 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2075 Object.defineProperty(exports, "__esModule", ({
2076 value: true
2077 }));
2078 exports["default"] = void 0;
2079 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2080 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2081 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2082 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2083 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2084 var _react = __webpack_require__(/*! react */ "react");
2085 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2086 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2087 var _excluded = ["text", "response_id", "usage", "images"];
2088 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; }
2089 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; }
2090 var normalizeResponse = function normalizeResponse(_ref) {
2091 var text = _ref.text,
2092 responseId = _ref.response_id,
2093 usage = _ref.usage,
2094 images = _ref.images,
2095 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2096 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
2097 var credits = Math.max(creditsData, 0);
2098 var result = text || images;
2099 var normalized = {
2100 result: result,
2101 responseId: responseId,
2102 credits: credits
2103 };
2104 if (optional.base_template_id) {
2105 normalized.baseTemplateId = optional.base_template_id;
2106 }
2107 normalized.type = optional.template_type;
2108 return normalized;
2109 };
2110 var usePrompt = function usePrompt(fetchData, initialState) {
2111 var _useState = (0, _react.useState)(false),
2112 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2113 isLoading = _useState2[0],
2114 setIsLoading = _useState2[1];
2115 var _useState3 = (0, _react.useState)(''),
2116 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2117 error = _useState4[0],
2118 setError = _useState4[1];
2119 var _useState5 = (0, _react.useState)(initialState),
2120 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2121 data = _useState6[0],
2122 setData = _useState6[1];
2123 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
2124 setRequest = _useRequestIds.setRequest,
2125 editorSessionId = _useRequestIds.editorSessionId,
2126 sessionId = _useRequestIds.sessionId,
2127 generateId = _useRequestIds.generateId,
2128 batchId = _useRequestIds.batchId;
2129 var send = /*#__PURE__*/function () {
2130 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
2131 return _regenerator.default.wrap(function _callee$(_context) {
2132 while (1) switch (_context.prev = _context.next) {
2133 case 0:
2134 return _context.abrupt("return", new Promise(function (resolve, reject) {
2135 setError('');
2136 setIsLoading(true);
2137 var requestId = setRequest();
2138 var requestIds = {
2139 editorSessionId: editorSessionId.current,
2140 sessionId: sessionId.current,
2141 generateId: generateId.current,
2142 batchId: batchId.current,
2143 requestId: requestId.current
2144 };
2145 payload = _objectSpread(_objectSpread({}, payload), {}, {
2146 requestIds: requestIds
2147 });
2148 fetchData(payload).then(function (result) {
2149 var normalizedData = normalizeResponse(result);
2150 setData(normalizedData);
2151 resolve(normalizedData);
2152 }).catch(function (err) {
2153 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
2154 setError(finalError);
2155 reject(finalError);
2156 }).finally(function () {
2157 return setIsLoading(false);
2158 });
2159 }));
2160 case 1:
2161 case "end":
2162 return _context.stop();
2163 }
2164 }, _callee);
2165 }));
2166 return function send(_x) {
2167 return _ref2.apply(this, arguments);
2168 };
2169 }();
2170 var sendUsageData = function sendUsageData() {
2171 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2172 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2173 };
2174 var reset = function reset() {
2175 setData(function (_ref3) {
2176 var credits = _ref3.credits;
2177 return {
2178 credits: credits,
2179 result: '',
2180 responseId: ''
2181 };
2182 });
2183 setError('');
2184 setIsLoading(false);
2185 };
2186 var setResult = function setResult(result) {
2187 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2188 var updatedResult = _objectSpread({}, data);
2189 updatedResult.result = result;
2190 if (responseId) {
2191 updatedResult.responseId = responseId;
2192 }
2193 setData(updatedResult);
2194 };
2195 return {
2196 isLoading: isLoading,
2197 error: error,
2198 data: data,
2199 setResult: setResult,
2200 reset: reset,
2201 send: send,
2202 sendUsageData: sendUsageData
2203 };
2204 };
2205 var _default = usePrompt;
2206 exports["default"] = _default;
2207
2208 /***/ }),
2209
2210 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2211 /*!***********************************************************!*\
2212 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2213 \***********************************************************/
2214 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2215
2216 "use strict";
2217
2218
2219 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2220 Object.defineProperty(exports, "__esModule", ({
2221 value: true
2222 }));
2223 exports.useTimeout = void 0;
2224 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2225 var _react = __webpack_require__(/*! react */ "react");
2226 var useTimeout = function useTimeout(delay) {
2227 var _useState = (0, _react.useState)(false),
2228 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2229 isTimeout = _useState2[0],
2230 setIsTimeout = _useState2[1];
2231 var timeoutIdRef = (0, _react.useRef)(null);
2232 var turnOffTimeout = function turnOffTimeout() {
2233 clearTimeout(timeoutIdRef.current);
2234 setIsTimeout(false);
2235 };
2236 (0, _react.useEffect)(function () {
2237 timeoutIdRef.current = setTimeout(function () {
2238 setIsTimeout(true);
2239 }, delay);
2240 return function () {
2241 clearTimeout(timeoutIdRef.current);
2242 };
2243 }, [delay]);
2244 return [isTimeout, turnOffTimeout];
2245 };
2246 exports.useTimeout = useTimeout;
2247
2248 /***/ }),
2249
2250 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2251 /*!*************************************************************!*\
2252 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2253 \*************************************************************/
2254 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2255
2256 "use strict";
2257
2258
2259 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2260 Object.defineProperty(exports, "__esModule", ({
2261 value: true
2262 }));
2263 exports["default"] = void 0;
2264 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2265 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2266 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
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 _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2270 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2271 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; }
2272 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; }
2273 var useUserInfo = function useUserInfo() {
2274 var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2275 var _useState = (0, _react.useState)(false),
2276 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2277 isLoaded = _useState2[0],
2278 setIsLoaded = _useState2[1];
2279 var _useState3 = (0, _react.useState)(false),
2280 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2281 isLoading = _useState4[0],
2282 setIsLoading = _useState4[1];
2283 var _useState5 = (0, _react.useState)({
2284 is_connected: false,
2285 is_get_started: false,
2286 connect_url: '',
2287 usage: {
2288 hasAiSubscription: false,
2289 quota: 0,
2290 usedQuota: 0
2291 }
2292 }),
2293 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2294 userInfo = _useState6[0],
2295 setUserInfo = _useState6[1];
2296 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2297 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2298 var fetchData = /*#__PURE__*/function () {
2299 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2300 var userInfoResult;
2301 return _regenerator.default.wrap(function _callee$(_context) {
2302 while (1) switch (_context.prev = _context.next) {
2303 case 0:
2304 setIsLoading(true);
2305 _context.next = 3;
2306 return (0, _api.getUserInformation)(immediately);
2307 case 3:
2308 userInfoResult = _context.sent;
2309 setUserInfo(function (prevState) {
2310 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2311 });
2312 setIsLoaded(true);
2313 setIsLoading(false);
2314 case 7:
2315 case "end":
2316 return _context.stop();
2317 }
2318 }, _callee);
2319 }));
2320 return function fetchData() {
2321 return _ref.apply(this, arguments);
2322 };
2323 }();
2324 if (!isLoaded && !isLoading) {
2325 fetchData();
2326 }
2327 return {
2328 isLoading: isLoading,
2329 isLoaded: isLoaded,
2330 isConnected: userInfo.is_connected,
2331 isGetStarted: userInfo.is_get_started,
2332 connectUrl: userInfo.connect_url,
2333 builderUrl: userInfo.usage.builderUrl,
2334 hasSubscription: userInfo.usage.hasAiSubscription,
2335 credits: credits < 0 ? 0 : credits,
2336 usagePercentage: Math.round(usagePercentage),
2337 fetchData: fetchData
2338 };
2339 };
2340 useUserInfo.propTypes = {
2341 immediately: _propTypes.default.bool
2342 };
2343 var _default = useUserInfo;
2344 exports["default"] = _default;
2345
2346 /***/ }),
2347
2348 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2349 /*!***************************************************************!*\
2350 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2351 \***************************************************************/
2352 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2353
2354 "use strict";
2355
2356
2357 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2358 Object.defineProperty(exports, "__esModule", ({
2359 value: true
2360 }));
2361 exports["default"] = void 0;
2362 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2363 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2364 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2365 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2366 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2367 viewBox: "0 0 24 24"
2368 }, props, {
2369 ref: ref
2370 }), /*#__PURE__*/_react.default.createElement("path", {
2371 fillRule: "evenodd",
2372 clipRule: "evenodd",
2373 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"
2374 }));
2375 });
2376 var _default = ArrowLeftIcon;
2377 exports["default"] = _default;
2378
2379 /***/ }),
2380
2381 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
2382 /*!*********************************************************!*\
2383 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
2384 \*********************************************************/
2385 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2386
2387 "use strict";
2388
2389
2390 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2391 Object.defineProperty(exports, "__esModule", ({
2392 value: true
2393 }));
2394 exports["default"] = void 0;
2395 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2396 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2397 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2398 var BulbIcon = _react.default.forwardRef(function (props, ref) {
2399 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
2400 ref: ref
2401 }), /*#__PURE__*/_react.default.createElement("svg", {
2402 width: "22",
2403 height: "22",
2404 viewBox: "0 0 22 22",
2405 fill: "none",
2406 xmlns: "http://www.w3.org/2000/svg"
2407 }, /*#__PURE__*/_react.default.createElement("g", {
2408 clipPath: "url(#clip0_10743_8902)"
2409 }, /*#__PURE__*/_react.default.createElement("path", {
2410 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",
2411 stroke: "#2563EB",
2412 strokeWidth: "1.5",
2413 strokeLinecap: "round",
2414 strokeLinejoin: "round"
2415 }), /*#__PURE__*/_react.default.createElement("path", {
2416 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",
2417 stroke: "#2563EB",
2418 strokeWidth: "1.5",
2419 strokeLinecap: "round",
2420 strokeLinejoin: "round"
2421 }), /*#__PURE__*/_react.default.createElement("path", {
2422 d: "M10.0833 16.5H11.9166",
2423 stroke: "#2563EB",
2424 strokeWidth: "1.5",
2425 strokeLinecap: "round",
2426 strokeLinejoin: "round"
2427 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
2428 id: "clip0_10743_8902"
2429 }, /*#__PURE__*/_react.default.createElement("rect", {
2430 width: "22",
2431 height: "22",
2432 fill: "white"
2433 })))));
2434 });
2435 var _default = BulbIcon;
2436 exports["default"] = _default;
2437
2438 /***/ }),
2439
2440 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2441 /*!**************************************************************!*\
2442 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2443 \**************************************************************/
2444 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2445
2446 "use strict";
2447
2448
2449 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2450 Object.defineProperty(exports, "__esModule", ({
2451 value: true
2452 }));
2453 exports["default"] = void 0;
2454 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2455 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2456 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2457 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2458 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2459 viewBox: "0 0 24 24"
2460 }, props, {
2461 ref: ref
2462 }), /*#__PURE__*/_react.default.createElement("path", {
2463 fillRule: "evenodd",
2464 clipRule: "evenodd",
2465 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"
2466 }));
2467 });
2468 var _default = CopyPageIcon;
2469 exports["default"] = _default;
2470
2471 /***/ }),
2472
2473 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2474 /*!*********************************************************!*\
2475 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2476 \*********************************************************/
2477 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2478
2479 "use strict";
2480
2481
2482 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2483 Object.defineProperty(exports, "__esModule", ({
2484 value: true
2485 }));
2486 exports["default"] = void 0;
2487 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2488 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2489 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2490 var EditIcon = _react.default.forwardRef(function (props, ref) {
2491 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2492 viewBox: "0 0 24 24"
2493 }, props, {
2494 ref: ref
2495 }), /*#__PURE__*/_react.default.createElement("path", {
2496 fillRule: "evenodd",
2497 clipRule: "evenodd",
2498 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"
2499 }), /*#__PURE__*/_react.default.createElement("path", {
2500 fillRule: "evenodd",
2501 clipRule: "evenodd",
2502 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"
2503 }));
2504 });
2505 var _default = EditIcon;
2506 exports["default"] = _default;
2507
2508 /***/ }),
2509
2510 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2511 /*!********************************************************************!*\
2512 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2513 \********************************************************************/
2514 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2515
2516 "use strict";
2517
2518
2519 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2520 Object.defineProperty(exports, "__esModule", ({
2521 value: true
2522 }));
2523 exports["default"] = void 0;
2524 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2525 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2526 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2527 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2528 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2529 viewBox: "0 0 24 24"
2530 }, props, {
2531 ref: ref
2532 }), /*#__PURE__*/_react.default.createElement("path", {
2533 fillRule: "evenodd",
2534 clipRule: "evenodd",
2535 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"
2536 }));
2537 });
2538 var _default = ExpandDiagonalIcon;
2539 exports["default"] = _default;
2540
2541 /***/ }),
2542
2543 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2544 /*!*********************************************************!*\
2545 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2546 \*********************************************************/
2547 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2548
2549 "use strict";
2550
2551
2552 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2553 Object.defineProperty(exports, "__esModule", ({
2554 value: true
2555 }));
2556 exports["default"] = void 0;
2557 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2558 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2559 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2560 var LockIcon = _react.default.forwardRef(function (props, ref) {
2561 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2562 viewBox: "0 0 24 24"
2563 }, props, {
2564 ref: ref
2565 }), /*#__PURE__*/_react.default.createElement("path", {
2566 fillRule: "evenodd",
2567 clipRule: "evenodd",
2568 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"
2569 }), /*#__PURE__*/_react.default.createElement("path", {
2570 fillRule: "evenodd",
2571 clipRule: "evenodd",
2572 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"
2573 }), /*#__PURE__*/_react.default.createElement("path", {
2574 d: "M6 12H19V20H6V12Z"
2575 }));
2576 });
2577 var _default = LockIcon;
2578 exports["default"] = _default;
2579
2580 /***/ }),
2581
2582 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2583 /*!**********************************************************************!*\
2584 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2585 \**********************************************************************/
2586 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2587
2588 "use strict";
2589
2590
2591 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2592 Object.defineProperty(exports, "__esModule", ({
2593 value: true
2594 }));
2595 exports["default"] = void 0;
2596 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2597 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2598 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2599 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2600 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2601 viewBox: "0 0 24 24"
2602 }, props, {
2603 ref: ref
2604 }), /*#__PURE__*/_react.default.createElement("path", {
2605 fillRule: "evenodd",
2606 clipRule: "evenodd",
2607 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"
2608 }));
2609 });
2610 var _default = MinimizeDiagonalIcon;
2611 exports["default"] = _default;
2612
2613 /***/ }),
2614
2615 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2616 /*!****************************************************************!*\
2617 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2618 \****************************************************************/
2619 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2620
2621 "use strict";
2622
2623
2624 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2625 Object.defineProperty(exports, "__esModule", ({
2626 value: true
2627 }));
2628 exports["default"] = void 0;
2629 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2630 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2631 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2632 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2633 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2634 viewBox: "0 0 24 24"
2635 }, props, {
2636 ref: ref
2637 }), /*#__PURE__*/_react.default.createElement("path", {
2638 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"
2639 }));
2640 });
2641 var _default = PlusCircleIcon;
2642 exports["default"] = _default;
2643
2644 /***/ }),
2645
2646 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2647 /*!************************************************************!*\
2648 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2649 \************************************************************/
2650 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2651
2652 "use strict";
2653
2654
2655 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2656 Object.defineProperty(exports, "__esModule", ({
2657 value: true
2658 }));
2659 exports["default"] = void 0;
2660 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2661 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2662 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2663 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2664 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2665 viewBox: "0 0 24 24"
2666 }, props, {
2667 ref: ref
2668 }), /*#__PURE__*/_react.default.createElement("path", {
2669 fillRule: "evenodd",
2670 clipRule: "evenodd",
2671 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"
2672 }), /*#__PURE__*/_react.default.createElement("path", {
2673 fillRule: "evenodd",
2674 clipRule: "evenodd",
2675 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"
2676 }));
2677 });
2678 var _default = RefreshIcon;
2679 exports["default"] = _default;
2680
2681 /***/ }),
2682
2683 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2684 /*!*********************************************************!*\
2685 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2686 \*********************************************************/
2687 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2688
2689 "use strict";
2690
2691
2692 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2693 Object.defineProperty(exports, "__esModule", ({
2694 value: true
2695 }));
2696 exports["default"] = void 0;
2697 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2698 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2699 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2700 var WandIcon = _react.default.forwardRef(function (props, ref) {
2701 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2702 viewBox: "0 0 24 24"
2703 }, props, {
2704 ref: ref
2705 }), /*#__PURE__*/_react.default.createElement("path", {
2706 fillRule: "evenodd",
2707 clipRule: "evenodd",
2708 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"
2709 }), /*#__PURE__*/_react.default.createElement("path", {
2710 fillRule: "evenodd",
2711 clipRule: "evenodd",
2712 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"
2713 }), /*#__PURE__*/_react.default.createElement("path", {
2714 fillRule: "evenodd",
2715 clipRule: "evenodd",
2716 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"
2717 }));
2718 });
2719 var _default = WandIcon;
2720 exports["default"] = _default;
2721
2722 /***/ }),
2723
2724 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2725 /*!************************************************************!*\
2726 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2727 \************************************************************/
2728 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2729
2730 "use strict";
2731
2732
2733 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2734 Object.defineProperty(exports, "__esModule", ({
2735 value: true
2736 }));
2737 exports["default"] = void 0;
2738 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2739 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2740 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2741 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2742 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2743 viewBox: "0 0 24 24"
2744 }, props, {
2745 ref: ref
2746 }), /*#__PURE__*/_react.default.createElement("path", {
2747 fillRule: "evenodd",
2748 clipRule: "evenodd",
2749 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"
2750 }));
2751 });
2752 var _default = WebsiteIcon;
2753 exports["default"] = _default;
2754
2755 /***/ }),
2756
2757 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2758 /*!*************************************************************!*\
2759 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2760 \*************************************************************/
2761 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2762
2763 "use strict";
2764
2765
2766 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2767 Object.defineProperty(exports, "__esModule", ({
2768 value: true
2769 }));
2770 exports["default"] = void 0;
2771 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2772 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2773 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2774 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2775 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2776 viewBox: "0 0 24 24"
2777 }, props, {
2778 ref: ref
2779 }), /*#__PURE__*/_react.default.createElement("path", {
2780 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"
2781 }));
2782 });
2783 var _default = XCircleIcon;
2784 exports["default"] = _default;
2785
2786 /***/ }),
2787
2788 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2789 /*!********************************************************************************************!*\
2790 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2791 \********************************************************************************************/
2792 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2793
2794 "use strict";
2795
2796
2797 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2798 renderLayoutApp = _require.renderLayoutApp,
2799 importToEditor = _require.importToEditor;
2800 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2801 MODE_VARIATION = _require2.MODE_VARIATION;
2802 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2803 __ = _require3.__;
2804 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2805 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2806 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2807 var ApplyTemplateForAiBehavior;
2808 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2809 ui: {
2810 applyButton: '.elementor-template-library-template-apply-ai',
2811 generateVariation: '.elementor-template-library-template-generate-variation'
2812 },
2813 events: {
2814 'click @ui.applyButton': 'onApplyButtonClick',
2815 'click @ui.generateVariation': 'onGenerateVariationClick'
2816 },
2817 onGenerateVariationClick: function onGenerateVariationClick() {
2818 var _libraryComponent$man, _libraryComponent$man2;
2819 var args = {
2820 model: this.view.model
2821 };
2822 var libraryComponent = $e.components.get('library');
2823 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;
2824 libraryComponent.downloadTemplate(args, function (data) {
2825 var model = args.model;
2826 var attachment = {
2827 type: ATTACHMENT_TYPE_JSON,
2828 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2829 content: data.content[0],
2830 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2831 source: ELEMENTOR_LIBRARY_SOURCE
2832 };
2833 renderLayoutApp({
2834 parentContainer: elementor.getPreviewContainer(),
2835 mode: MODE_VARIATION,
2836 at: at,
2837 attachments: [attachment],
2838 onInsert: function onInsert(template) {
2839 importToEditor({
2840 parentContainer: elementor.getPreviewContainer(),
2841 at: at,
2842 template: template,
2843 historyTitle: __('AI Variation from library', 'elementor')
2844 });
2845 }
2846 });
2847 $e.run('library/close');
2848 });
2849 },
2850 onApplyButtonClick: function onApplyButtonClick() {
2851 var args = {
2852 model: this.view.model
2853 };
2854 this.ui.applyButton.addClass('elementor-disabled');
2855 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2856 $e.route('library/connect', args);
2857 return;
2858 }
2859 $e.run('library/generate-ai-variation', args);
2860 }
2861 });
2862 module.exports = ApplyTemplateForAiBehavior;
2863
2864 /***/ }),
2865
2866 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2867 /*!************************************************************!*\
2868 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2869 \************************************************************/
2870 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2871
2872 "use strict";
2873
2874
2875 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2876 Object.defineProperty(exports, "__esModule", ({
2877 value: true
2878 }));
2879 exports["default"] = void 0;
2880 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2881 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2882 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2883 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2884 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2885 rtl: props.isRTL
2886 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2887 colorScheme: props.colorScheme
2888 }, props.children));
2889 };
2890 LayoutAppWrapper.propTypes = {
2891 children: _propTypes.default.node,
2892 isRTL: _propTypes.default.bool,
2893 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2894 };
2895 var _default = LayoutAppWrapper;
2896 exports["default"] = _default;
2897
2898 /***/ }),
2899
2900 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2901 /*!****************************************************!*\
2902 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2903 \****************************************************/
2904 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2905
2906 "use strict";
2907
2908
2909 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2910 Object.defineProperty(exports, "__esModule", ({
2911 value: true
2912 }));
2913 exports["default"] = void 0;
2914 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2915 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2916 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2917 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2918 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2919 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2920 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2921 var LayoutApp = function LayoutApp(props) {
2922 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2923 onError: props.onClose
2924 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2925 mode: props.mode,
2926 attachmentsTypes: props.attachmentsTypes,
2927 onClose: props.onClose,
2928 onConnect: props.onConnect,
2929 onData: props.onData,
2930 onInsert: props.onInsert,
2931 onSelect: props.onSelect,
2932 onGenerate: props.onGenerate,
2933 currentContext: props.currentContext,
2934 hasPro: props.hasPro
2935 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2936 attachments: props.attachments
2937 }))));
2938 };
2939 LayoutApp.propTypes = {
2940 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2941 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2942 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2943 onClose: _propTypes.default.func.isRequired,
2944 onConnect: _propTypes.default.func.isRequired,
2945 onData: _propTypes.default.func.isRequired,
2946 onInsert: _propTypes.default.func.isRequired,
2947 onSelect: _propTypes.default.func.isRequired,
2948 onGenerate: _propTypes.default.func.isRequired,
2949 currentContext: _propTypes.default.object,
2950 hasPro: _propTypes.default.bool
2951 };
2952 var _default = LayoutApp;
2953 exports["default"] = _default;
2954
2955 /***/ }),
2956
2957 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2958 /*!********************************************************!*\
2959 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2960 \********************************************************/
2961 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2962
2963 "use strict";
2964
2965
2966 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2967 Object.defineProperty(exports, "__esModule", ({
2968 value: true
2969 }));
2970 exports["default"] = void 0;
2971 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2972 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
2973 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
2974 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
2975 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
2976 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
2977 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
2978 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
2979 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
2980 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2981 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2982 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2983 var LayoutContent = function LayoutContent(props) {
2984 var _useUserInfo = (0, _useUserInfo2.default)(),
2985 isLoading = _useUserInfo.isLoading,
2986 isConnected = _useUserInfo.isConnected,
2987 isGetStarted = _useUserInfo.isGetStarted,
2988 connectUrl = _useUserInfo.connectUrl,
2989 fetchData = _useUserInfo.fetchData,
2990 hasSubscription = _useUserInfo.hasSubscription,
2991 usagePercentage = _useUserInfo.usagePercentage;
2992 var _useConfig = (0, _config.useConfig)(),
2993 onClose = _useConfig.onClose,
2994 onConnect = _useConfig.onConnect;
2995 if (isLoading) {
2996 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2997 onClose: onClose
2998 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
2999 onClose: onClose
3000 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
3001 dividers: true
3002 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
3003 BoxProps: {
3004 sx: {
3005 px: 3
3006 }
3007 }
3008 })));
3009 }
3010 if (!isConnected) {
3011 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3012 onClose: onClose
3013 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3014 onClose: onClose
3015 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3016 dividers: true
3017 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
3018 connectUrl: connectUrl,
3019 onSuccess: function onSuccess(data) {
3020 onConnect(data);
3021 fetchData();
3022 }
3023 })));
3024 }
3025 if (!isGetStarted) {
3026 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3027 onClose: onClose
3028 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3029 onClose: onClose
3030 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3031 dividers: true
3032 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
3033 onSuccess: fetchData
3034 })));
3035 }
3036 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
3037 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
3038 attachments: props.attachments,
3039 DialogHeaderProps: {
3040 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
3041 hasSubscription: hasSubscription,
3042 usagePercentage: usagePercentage
3043 })
3044 }
3045 });
3046 };
3047 LayoutContent.propTypes = {
3048 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
3049 };
3050 var _default = LayoutContent;
3051 exports["default"] = _default;
3052
3053 /***/ }),
3054
3055 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
3056 /*!*************************************************************!*\
3057 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
3058 \*************************************************************/
3059 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3060
3061 "use strict";
3062
3063
3064 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3065 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3066 Object.defineProperty(exports, "__esModule", ({
3067 value: true
3068 }));
3069 exports["default"] = void 0;
3070 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3071 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3072 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3073 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3074 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3075 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); }
3076 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; }
3077 var Connect = function Connect(_ref) {
3078 var connectUrl = _ref.connectUrl,
3079 onSuccess = _ref.onSuccess;
3080 var approveButtonRef = (0, _react.useRef)();
3081 (0, _react.useEffect)(function () {
3082 // On local dev (as a standalone app), the connect lib is not loaded.
3083 if (!jQuery.fn.elementorConnect) {
3084 return;
3085 }
3086 jQuery(approveButtonRef.current).elementorConnect({
3087 success: function success(_, data) {
3088 return onSuccess(data);
3089 },
3090 error: function error() {
3091 throw new Error('Elementor AI: Failed to connect.');
3092 }
3093 });
3094 }, []);
3095 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3096 alignItems: "center",
3097 gap: 2
3098 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3099 sx: {
3100 color: 'text.primary',
3101 fontSize: '60px',
3102 mb: 1
3103 }
3104 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3105 variant: "h4",
3106 sx: {
3107 color: 'text.primary'
3108 }
3109 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3110 variant: "body2"
3111 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3112 variant: "caption",
3113 sx: {
3114 maxWidth: 520,
3115 textAlign: 'center'
3116 }
3117 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
3118 href: "https://go.elementor.com/ai-terms/",
3119 target: "_blank",
3120 color: "info.main"
3121 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
3122 href: "https://go.elementor.com/ai-privacy-policy/",
3123 target: "_blank",
3124 color: "info.main"
3125 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3126 ref: approveButtonRef,
3127 href: connectUrl,
3128 variant: "contained",
3129 sx: {
3130 mt: 1,
3131 '&:hover': {
3132 color: 'primary.contrastText'
3133 }
3134 }
3135 }, (0, _i18n.__)('Connect', 'elementor')));
3136 };
3137 Connect.propTypes = {
3138 connectUrl: _propTypes.default.string.isRequired,
3139 onSuccess: _propTypes.default.func.isRequired
3140 };
3141 var _default = Connect;
3142 exports["default"] = _default;
3143
3144 /***/ }),
3145
3146 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
3147 /*!**********************************************************************************!*\
3148 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
3149 \**********************************************************************************/
3150 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3151
3152 "use strict";
3153
3154
3155 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3156 Object.defineProperty(exports, "__esModule", ({
3157 value: true
3158 }));
3159 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;
3160 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3161 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3162 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
3163 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
3164 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
3165 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
3166 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
3167 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3168 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3169 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3170 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3171 var ATTACHMENT_TYPE_JSON = 'json';
3172 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
3173 var ATTACHMENT_TYPE_URL = 'url';
3174 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
3175 var MENU_TYPE_LIBRARY = 'library';
3176 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
3177 var USER_VARIATION_SOURCE = 'user-variation';
3178 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
3179 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
3180 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
3181 var USER_URL_SOURCE = 'user-url';
3182 exports.USER_URL_SOURCE = USER_URL_SOURCE;
3183 var Attachments = function Attachments(props) {
3184 if (!props.attachments.length) {
3185 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
3186 disabled: props.disabled,
3187 onAttach: props.onAttach,
3188 items: [{
3189 title: (0, _i18n.__)('Reference a website', 'elementor'),
3190 icon: _websiteIcon.default,
3191 type: ATTACHMENT_TYPE_URL
3192 }, {
3193 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
3194 icon: _copyPageIcon.default,
3195 type: MENU_TYPE_LIBRARY
3196 }]
3197 });
3198 }
3199 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3200 direction: "row",
3201 spacing: 1
3202 }, props.attachments.map(function (attachment, index) {
3203 switch (attachment.type) {
3204 case ATTACHMENT_TYPE_JSON:
3205 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
3206 key: index
3207 }, props));
3208 case ATTACHMENT_TYPE_URL:
3209 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
3210 key: index
3211 }, props));
3212 default:
3213 return null;
3214 }
3215 }));
3216 };
3217 Attachments.propTypes = {
3218 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3219 onAttach: _propTypes.default.func.isRequired,
3220 onDetach: _propTypes.default.func,
3221 disabled: _propTypes.default.bool
3222 };
3223 var _default = Attachments;
3224 exports["default"] = _default;
3225
3226 /***/ }),
3227
3228 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
3229 /*!************************************************************************************************!*\
3230 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
3231 \************************************************************************************************/
3232 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3233
3234 "use strict";
3235
3236
3237 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3238 Object.defineProperty(exports, "__esModule", ({
3239 value: true
3240 }));
3241 exports["default"] = exports.AttachDialog = void 0;
3242 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3243 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3244 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3245 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3246 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3247 var AttachDialog = function AttachDialog(props) {
3248 var type = props.type;
3249 var url = props.url;
3250 switch (type) {
3251 case _attachments.ATTACHMENT_TYPE_URL:
3252 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3253 url: url,
3254 onAttach: props.onAttach,
3255 onClose: props.onClose
3256 });
3257 case _attachments.MENU_TYPE_LIBRARY:
3258 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3259 onAttach: props.onAttach,
3260 onClose: props.onClose
3261 });
3262 }
3263 return null;
3264 };
3265 exports.AttachDialog = AttachDialog;
3266 AttachDialog.propTypes = {
3267 type: _propTypes.default.string,
3268 onAttach: _propTypes.default.func,
3269 onClose: _propTypes.default.func,
3270 url: _propTypes.default.string
3271 };
3272 var _default = AttachDialog;
3273 exports["default"] = _default;
3274
3275 /***/ }),
3276
3277 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3278 /*!*************************************************************************************************!*\
3279 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3280 \*************************************************************************************************/
3281 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3282
3283 "use strict";
3284
3285
3286 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3287 Object.defineProperty(exports, "__esModule", ({
3288 value: true
3289 }));
3290 exports.LibraryDialog = void 0;
3291 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3292 var _react = __webpack_require__(/*! react */ "react");
3293 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3294 var LibraryDialog = function LibraryDialog(props) {
3295 var isApplyingTemplate = (0, _react.useRef)(false);
3296 (0, _react.useEffect)(function () {
3297 var onLibraryHide = function onLibraryHide() {
3298 if (isApplyingTemplate.current) {
3299 return;
3300 }
3301 props.onClose();
3302 };
3303 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3304 return function () {
3305 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3306 };
3307 }, [props]);
3308 (0, _react.useEffect)(function () {
3309 var onMessage = function onMessage(event) {
3310 var _event$data = event.data,
3311 type = _event$data.type,
3312 json = _event$data.json,
3313 html = _event$data.html,
3314 label = _event$data.label,
3315 source = _event$data.source;
3316 switch (type) {
3317 case 'library/attach:start':
3318 isApplyingTemplate.current = true;
3319 break;
3320 case 'library/attach':
3321 props.onAttach([{
3322 type: _attachments.ATTACHMENT_TYPE_JSON,
3323 previewHTML: html,
3324 content: json,
3325 label: label,
3326 source: source
3327 }]);
3328 isApplyingTemplate.current = false;
3329 props.onClose();
3330 break;
3331 }
3332 };
3333 window.addEventListener('message', onMessage);
3334 return function () {
3335 window.removeEventListener('message', onMessage);
3336 };
3337 });
3338 $e.run('library/open', {
3339 toDefault: true,
3340 mode: 'ai-attachment'
3341 });
3342 isApplyingTemplate.current = false;
3343 return null;
3344 };
3345 exports.LibraryDialog = LibraryDialog;
3346 LibraryDialog.propTypes = {
3347 onAttach: _propTypes.default.func.isRequired,
3348 onClose: _propTypes.default.func.isRequired
3349 };
3350
3351 /***/ }),
3352
3353 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3354 /*!***************************************************************************************!*\
3355 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3356 \***************************************************************************************/
3357 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3358
3359 "use strict";
3360
3361
3362 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3363 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3364 Object.defineProperty(exports, "__esModule", ({
3365 value: true
3366 }));
3367 exports.Menu = void 0;
3368 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3369 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3370 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3371 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3372 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3373 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3374 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3375 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3376 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); }
3377 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; }
3378 var Menu = function Menu(props) {
3379 var _useState = (0, _react.useState)(false),
3380 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3381 isOpen = _useState2[0],
3382 setIsOpen = _useState2[1];
3383 var _useState3 = (0, _react.useState)(null),
3384 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3385 selectedType = _useState4[0],
3386 setSelectedType = _useState4[1];
3387 var _useTheme = (0, _ui.useTheme)(),
3388 direction = _useTheme.direction;
3389 var anchorRef = (0, _react.useRef)(null);
3390 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3391 isViewed = _useIntroduction.isViewed,
3392 markAsViewed = _useIntroduction.markAsViewed;
3393 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3394 size: "small",
3395 ref: anchorRef,
3396 disabled: props.disabled,
3397 onClick: function onClick() {
3398 setIsOpen(true);
3399 if (!isViewed) {
3400 markAsViewed();
3401 }
3402 },
3403 color: "secondary"
3404 }, function () {
3405 if (isOpen) {
3406 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3407 fontSize: "small"
3408 });
3409 } else if (isViewed) {
3410 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3411 fontSize: "small"
3412 });
3413 }
3414 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3415 color: "primary",
3416 badgeContent: " ",
3417 variant: "dot"
3418 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3419 fontSize: "small"
3420 }));
3421 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3422 open: isOpen,
3423 anchorEl: anchorRef.current,
3424 onClose: function onClose() {
3425 return setIsOpen(false);
3426 },
3427 anchorOrigin: {
3428 vertical: 'bottom',
3429 horizontal: 'rtl' === direction ? 'right' : 'left'
3430 },
3431 transformOrigin: {
3432 vertical: 'top',
3433 horizontal: 'rtl' === direction ? 'right' : 'left'
3434 }
3435 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3436 sx: {
3437 width: 440
3438 }
3439 }, props.items.map(function (item) {
3440 var IconComponent = item.icon;
3441 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3442 key: item.type,
3443 onClick: function onClick() {
3444 setSelectedType(item.type);
3445 setIsOpen(false);
3446 }
3447 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3448 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3449 type: selectedType,
3450 onAttach: props.onAttach,
3451 onClose: function onClose() {
3452 setIsOpen(false);
3453 setSelectedType(null);
3454 }
3455 }));
3456 };
3457 exports.Menu = Menu;
3458 Menu.propTypes = {
3459 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3460 title: _propTypes.default.string.isRequired,
3461 type: _propTypes.default.string.isRequired,
3462 icon: _propTypes.default.elementType
3463 })).isRequired,
3464 onAttach: _propTypes.default.func.isRequired,
3465 disabled: _propTypes.default.bool
3466 };
3467
3468 /***/ }),
3469
3470 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3471 /*!******************************************************************************************************!*\
3472 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3473 \******************************************************************************************************/
3474 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3475
3476 "use strict";
3477
3478
3479 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3480 Object.defineProperty(exports, "__esModule", ({
3481 value: true
3482 }));
3483 exports.PromptPowerNotice = void 0;
3484 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3485 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3486 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3487 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3488 var PromptPowerNotice = function PromptPowerNotice() {
3489 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3490 isViewed = _useIntroduction.isViewed,
3491 markAsViewed = _useIntroduction.markAsViewed;
3492 if (isViewed) {
3493 return null;
3494 }
3495 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3496 sx: {
3497 pt: 2,
3498 px: 2,
3499 pb: 0
3500 }
3501 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3502 severity: "info",
3503 onClose: function onClose() {
3504 return markAsViewed();
3505 }
3506 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3507 variant: "body2",
3508 display: "inline-block",
3509 sx: {
3510 paddingInlineEnd: 1
3511 }
3512 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3513 variant: "body2",
3514 display: "inline-block"
3515 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3516 };
3517 exports.PromptPowerNotice = PromptPowerNotice;
3518
3519 /***/ }),
3520
3521 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3522 /*!*************************************************************************************************!*\
3523 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3524 \*************************************************************************************************/
3525 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3526
3527 "use strict";
3528
3529
3530 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3531 Object.defineProperty(exports, "__esModule", ({
3532 value: true
3533 }));
3534 exports["default"] = exports.ThumbnailJson = void 0;
3535 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3536 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3537 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3538 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3539 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3540 var ThumbnailJson = function ThumbnailJson(props) {
3541 var _props$attachments;
3542 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3543 return 'json' === item.type;
3544 });
3545 if (!attachment) {
3546 return null;
3547 }
3548 if (!attachment.previewHTML) {
3549 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3550 animation: "wave",
3551 variant: "rounded",
3552 width: 60,
3553 height: 60
3554 });
3555 }
3556 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3557 html: attachment.previewHTML,
3558 disabled: props.disabled
3559 });
3560 };
3561 exports.ThumbnailJson = ThumbnailJson;
3562 ThumbnailJson.propTypes = {
3563 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3564 disabled: _propTypes.default.bool
3565 };
3566 var _default = ThumbnailJson;
3567 exports["default"] = _default;
3568
3569 /***/ }),
3570
3571 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3572 /*!************************************************************************************************!*\
3573 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3574 \************************************************************************************************/
3575 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3576
3577 "use strict";
3578
3579
3580 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3581 Object.defineProperty(exports, "__esModule", ({
3582 value: true
3583 }));
3584 exports["default"] = exports.ThumbnailUrl = void 0;
3585 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3586 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3587 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3588 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3589 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3590 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3591 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3592 var ThumbnailUrl = function ThumbnailUrl(props) {
3593 var _props$attachments;
3594 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3595 return 'url' === item.type;
3596 });
3597 if (!attachment) {
3598 return null;
3599 }
3600 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3601 sx: {
3602 position: 'relative',
3603 '&:hover::before': {
3604 content: '""',
3605 position: 'absolute',
3606 userSelect: 'none',
3607 inset: 0,
3608 backgroundColor: 'rgba(0,0,0,0.6)',
3609 borderRadius: 1,
3610 zIndex: 1
3611 },
3612 '&:hover .remove-attachment': {
3613 display: 'flex'
3614 }
3615 }
3616 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3617 className: "remove-attachment",
3618 size: "small",
3619 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3620 disabled: props.disabled,
3621 onClick: function onClick(event) {
3622 event.stopPropagation();
3623 props.onDetach();
3624 },
3625 sx: {
3626 display: 'none',
3627 position: 'absolute',
3628 insetInlineEnd: 4,
3629 insetBlockStart: 4,
3630 backgroundColor: 'secondary.main',
3631 zIndex: 1,
3632 borderRadius: 1,
3633 p: '3px',
3634 '&:hover': {
3635 backgroundColor: 'secondary.dark'
3636 }
3637 }
3638 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3639 sx: {
3640 fontSize: '1.125rem',
3641 color: 'common.white'
3642 }
3643 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3644 disabled: props.disabled,
3645 html: attachment.previewHTML
3646 }));
3647 };
3648 exports.ThumbnailUrl = ThumbnailUrl;
3649 ThumbnailUrl.propTypes = {
3650 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3651 disabled: _propTypes.default.bool,
3652 onDetach: _propTypes.default.func
3653 };
3654 var _default = ThumbnailUrl;
3655 exports["default"] = _default;
3656
3657 /***/ }),
3658
3659 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3660 /*!********************************************************************************************!*\
3661 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3662 \********************************************************************************************/
3663 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3664
3665 "use strict";
3666
3667
3668 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3669 Object.defineProperty(exports, "__esModule", ({
3670 value: true
3671 }));
3672 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3673 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3674 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3675 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3676 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3677 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3678 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3679 var _templateObject;
3680 var THUMBNAIL_SIZE = 64;
3681 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3682 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);
3683 var Thumbnail = function Thumbnail(props) {
3684 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3685 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;
3686 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;
3687 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3688 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3689 var scaleFactor = Math.min(height, width);
3690 var scale = THUMBNAIL_SIZE / scaleFactor;
3691
3692 // Center the preview
3693 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3694 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3695 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3696 dir: "ltr",
3697 sx: {
3698 position: 'relative',
3699 cursor: 'default',
3700 overflow: 'hidden',
3701 border: '1px solid',
3702 borderColor: 'grey.300',
3703 borderRadius: 1,
3704 boxSizing: 'border-box',
3705 width: THUMBNAIL_SIZE,
3706 height: THUMBNAIL_SIZE,
3707 opacity: props.disabled ? 0.5 : 1
3708 }
3709 }, /*#__PURE__*/_react.default.createElement("iframe", {
3710 title: (0, _i18n.__)('Preview', 'elementor'),
3711 sandbox: "",
3712 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3713 style: {
3714 border: 'none',
3715 overflow: 'hidden',
3716 width: width,
3717 height: height,
3718 transform: "scale(".concat(scale, ")"),
3719 transformOrigin: "".concat(left, "px ").concat(top, "px")
3720 }
3721 }));
3722 };
3723 exports.Thumbnail = Thumbnail;
3724 Thumbnail.propTypes = {
3725 html: _propTypes.default.string.isRequired,
3726 disabled: _propTypes.default.bool
3727 };
3728
3729 /***/ }),
3730
3731 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3732 /*!*********************************************************************************************!*\
3733 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3734 \*********************************************************************************************/
3735 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3736
3737 "use strict";
3738
3739
3740 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3741 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3742 Object.defineProperty(exports, "__esModule", ({
3743 value: true
3744 }));
3745 exports.UrlDialog = void 0;
3746 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3747 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3748 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3749 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3750 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3751 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3752 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3753 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3754 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3755 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3756 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3757 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); }
3758 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; }
3759 var UrlDialog = function UrlDialog(props) {
3760 var iframeRef = (0, _react.useRef)(null);
3761 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3762 targetUrl: props.url
3763 }),
3764 iframeSource = _useAttachUrlService.iframeSource;
3765 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3766 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3767 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3768 isTimeout = _useTimeout2[0],
3769 turnOffTimeout = _useTimeout2[1];
3770 var _useUserInfo = (0, _useUserInfo2.default)(),
3771 isConnected = _useUserInfo.isConnected,
3772 hasSubscription = _useUserInfo.hasSubscription,
3773 credits = _useUserInfo.credits,
3774 usagePercentage = _useUserInfo.usagePercentage;
3775 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3776 isLoaded = _useRemoteConfig.isLoaded,
3777 isError = _useRemoteConfig.isError,
3778 remoteConfig = _useRemoteConfig.remoteConfig;
3779 (0, _react.useEffect)(function () {
3780 var onMessage = function onMessage(event) {
3781 if (event.origin !== iframeOrigin) {
3782 return;
3783 }
3784 var _event$data = event.data,
3785 type = _event$data.type,
3786 html = _event$data.html,
3787 url = _event$data.url;
3788 switch (type) {
3789 case 'element-selector/close':
3790 props.onClose();
3791 break;
3792 case 'element-selector/loaded':
3793 turnOffTimeout();
3794 break;
3795 case 'element-selector/attach':
3796 props.onAttach([{
3797 type: 'url',
3798 previewHTML: html,
3799 content: html,
3800 label: url ? new URL(url).host : '',
3801 source: _attachments.USER_URL_SOURCE
3802 }]);
3803 break;
3804 }
3805 };
3806 window.addEventListener('message', onMessage);
3807 return function () {
3808 window.removeEventListener('message', onMessage);
3809 };
3810 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3811 if (!iframeSource) {
3812 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3813 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3814 onClose: props.onClose
3815 });
3816 }
3817 if (!isLoaded || isError) {
3818 return null;
3819 }
3820 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3821 open: true,
3822 fullScreen: true,
3823 hideBackdrop: true,
3824 maxWidth: "md",
3825 sx: {
3826 '& .MuiPaper-root': {
3827 backgroundColor: 'transparent'
3828 }
3829 }
3830 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3831 sx: {
3832 padding: 0
3833 }
3834 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3835 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3836 onClose: props.onClose
3837 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3838 ref: iframeRef,
3839 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3840 src: iframeSource,
3841 onLoad: function onLoad() {
3842 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3843 accessLevel = _window$elementorAppC.access_level,
3844 accessTier = _window$elementorAppC.access_tier,
3845 isPro = _window$elementorAppC.is_pro;
3846 iframeRef.current.contentWindow.postMessage({
3847 type: 'referrer/info',
3848 info: {
3849 page: {
3850 url: window.location.href
3851 },
3852 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3853 products: {
3854 core: {
3855 version: window.elementor.config.version
3856 },
3857 pro: {
3858 isPro: isPro,
3859 accessLevel: accessLevel,
3860 accessTier: accessTier
3861 },
3862 ai: {
3863 isConnected: isConnected,
3864 hasSubscription: hasSubscription,
3865 credits: credits,
3866 usagePercentage: usagePercentage
3867 }
3868 },
3869 user: {
3870 isAdmin: window.elementor.config.user.is_administrator
3871 }
3872 }
3873 }, iframeOrigin);
3874 },
3875 style: {
3876 border: 'none',
3877 overflow: 'scroll',
3878 width: '100%',
3879 height: '100%',
3880 backgroundColor: 'rgba(255,255,255,0.6)'
3881 }
3882 })));
3883 };
3884 exports.UrlDialog = UrlDialog;
3885 UrlDialog.propTypes = {
3886 onAttach: _propTypes.default.func.isRequired,
3887 onClose: _propTypes.default.func.isRequired,
3888 url: _propTypes.default.string
3889 };
3890
3891 /***/ }),
3892
3893 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3894 /*!************************************************************************************!*\
3895 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3896 \************************************************************************************/
3897 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3898
3899 "use strict";
3900
3901
3902 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3903 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3904 Object.defineProperty(exports, "__esModule", ({
3905 value: true
3906 }));
3907 exports["default"] = void 0;
3908 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3909 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3910 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3911 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3912 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3913 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3914 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3915 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3916 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3917 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3918 var _excluded = ["sx", "PaperProps"];
3919 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); }
3920 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; }
3921 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; }
3922 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; }
3923 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3924 return {
3925 '& .MuiDialog-container': {
3926 marginTop: 0,
3927 alignItems: 'flex-end',
3928 paddingBottom: '16vh'
3929 },
3930 '& .MuiPaper-root': {
3931 margin: 0,
3932 maxHeight: '55vh'
3933 }
3934 };
3935 });
3936 var DialogHeader = function DialogHeader(_ref) {
3937 var onClose = _ref.onClose,
3938 children = _ref.children;
3939 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3940 sx: {
3941 fontWeight: 'normal'
3942 },
3943 color: "transparent",
3944 position: "relative"
3945 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3946 variant: "dense"
3947 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3948 sx: {
3949 mr: 1
3950 }
3951 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3952 component: "span",
3953 variant: "subtitle2",
3954 sx: {
3955 fontWeight: 'bold',
3956 textTransform: 'uppercase'
3957 }
3958 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3959 label: (0, _i18n.__)('Beta', 'elementor'),
3960 color: "default",
3961 size: "small",
3962 sx: {
3963 ml: 1
3964 }
3965 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3966 direction: "row",
3967 spacing: 1,
3968 alignItems: "center",
3969 sx: {
3970 ml: 'auto'
3971 }
3972 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3973 size: "small",
3974 "aria-label": "close",
3975 onClick: onClose,
3976 sx: {
3977 '&.MuiButtonBase-root': {
3978 mr: -1
3979 }
3980 }
3981 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
3982 };
3983 DialogHeader.propTypes = {
3984 children: _propTypes.default.node,
3985 onClose: _propTypes.default.func.isRequired
3986 };
3987 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
3988 return {
3989 '&.MuiDialogContent-root': {
3990 padding: 0
3991 }
3992 };
3993 });
3994 var LayoutDialog = function LayoutDialog(_ref2) {
3995 var _ref2$sx = _ref2.sx,
3996 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
3997 _ref2$PaperProps = _ref2.PaperProps,
3998 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
3999 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
4000 var _useState = (0, _react.useState)({
4001 pointerEvents: 'none'
4002 }),
4003 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4004 sxStyle = _useState2[0],
4005 setSxStyle = _useState2[1];
4006 var timeoutRef = (0, _react.useRef)(null);
4007
4008 /**
4009 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
4010 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
4011 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
4012 */
4013 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
4014 maxWidth: "md",
4015 PaperProps: _objectSpread({
4016 sx: {
4017 pointerEvents: 'auto'
4018 },
4019 onMouseEnter: function onMouseEnter() {
4020 clearTimeout(timeoutRef.current);
4021 setSxStyle({
4022 pointerEvents: 'all'
4023 });
4024 },
4025 onMouseLeave: function onMouseLeave() {
4026 clearTimeout(timeoutRef.current);
4027 timeoutRef.current = setTimeout(function () {
4028 setSxStyle({
4029 pointerEvents: 'none'
4030 });
4031 }, 200);
4032 }
4033 }, PaperProps)
4034 }, props, {
4035 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
4036 }));
4037 };
4038 LayoutDialog.propTypes = {
4039 sx: _propTypes.default.object,
4040 PaperProps: _propTypes.default.object
4041 };
4042 LayoutDialog.Header = DialogHeader;
4043 LayoutDialog.Content = StyledDialogContent;
4044 var _default = LayoutDialog;
4045 exports["default"] = _default;
4046
4047 /***/ }),
4048
4049 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
4050 /*!*********************************************************************************************!*\
4051 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
4052 \*********************************************************************************************/
4053 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4054
4055 "use strict";
4056
4057
4058 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4059 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4060 Object.defineProperty(exports, "__esModule", ({
4061 value: true
4062 }));
4063 exports.ProTemplateIndicator = void 0;
4064 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4065 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4066 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4067 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4068 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4069 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); }
4070 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; }
4071 var popoverId = 'e-pro-upgrade-popover';
4072 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
4073 var theme = _ref.theme;
4074 return {
4075 position: 'relative',
4076 padding: theme.spacing(3),
4077 boxShadow: theme.shadows[4],
4078 zIndex: '9999'
4079 };
4080 });
4081 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
4082 var theme = _ref2.theme;
4083 return {
4084 position: 'absolute',
4085 width: theme.spacing(5),
4086 height: theme.spacing(5),
4087 overflow: 'hidden',
4088 // Override Popper inline styles.
4089 left: '100% !important',
4090 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
4091 '&::after': {
4092 backgroundColor: theme.palette.background.paper,
4093 content: '""',
4094 display: 'block',
4095 position: 'absolute',
4096 width: theme.spacing(2.5),
4097 height: theme.spacing(2.5),
4098 top: '50%',
4099 left: '50%',
4100 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
4101 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
4102 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
4103 }
4104 };
4105 });
4106 var ProTemplateIndicator = function ProTemplateIndicator() {
4107 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
4108 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
4109 var _useState = (0, _react.useState)(false),
4110 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4111 isPopoverOpen = _useState2[0],
4112 setIsPopoverOpen = _useState2[1];
4113 var anchorEl = (0, _react.useRef)(null);
4114 var arrowEl = (0, _react.useRef)(null);
4115 var showPopover = function showPopover() {
4116 return setIsPopoverOpen(true);
4117 };
4118 var hidePopover = function hidePopover() {
4119 return setIsPopoverOpen(false);
4120 };
4121 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4122 flexDirection: "row-reverse",
4123 component: "span",
4124 display: "flex",
4125 onMouseLeave: hidePopover,
4126 alignItems: "center"
4127 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4128 ref: anchorEl,
4129 onMouseEnter: showPopover,
4130 onClick: function onClick(e) {
4131 return e.stopPropagation();
4132 } /* Do nothing */,
4133 "aria-owns": isPopoverOpen ? popoverId : undefined,
4134 "aria-haspopup": "true",
4135 sx: {
4136 m: 1,
4137 '&:hover': {
4138 backgroundColor: 'action.selected'
4139 }
4140 }
4141 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
4142 sx: {
4143 color: 'text.primary'
4144 }
4145 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
4146 open: isPopoverOpen,
4147 popperOptions: {
4148 placement: 'left-start',
4149 modifiers: [{
4150 name: 'arrow',
4151 enabled: true,
4152 options: {
4153 element: arrowEl.current,
4154 padding: 5
4155 }
4156 }, {
4157 name: 'offset',
4158 options: {
4159 offset: [0, 10]
4160 }
4161 }]
4162 },
4163 anchorEl: anchorEl.current,
4164 sx: {
4165 zIndex: '9999',
4166 maxWidth: 300
4167 }
4168 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
4169 ref: arrowEl
4170 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4171 alignItems: "start",
4172 spacing: 2
4173 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4174 color: "promotion",
4175 variant: "outlined",
4176 size: "small",
4177 label: (0, _i18n.__)('Pro', 'elementor'),
4178 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
4179 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4180 variant: "body2"
4181 }, (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, {
4182 variant: "contained",
4183 color: "promotion",
4184 size: "small",
4185 href: actionUrl,
4186 target: "_blank",
4187 sx: {
4188 alignSelf: 'flex-end'
4189 }
4190 }, actionLabel)))));
4191 };
4192 exports.ProTemplateIndicator = ProTemplateIndicator;
4193
4194 /***/ }),
4195
4196 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
4197 /*!*****************************************************************************************!*\
4198 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
4199 \*****************************************************************************************/
4200 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4201
4202 "use strict";
4203
4204
4205 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4206 Object.defineProperty(exports, "__esModule", ({
4207 value: true
4208 }));
4209 exports.ProWidgetsNotice = void 0;
4210 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4211 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4212 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4213 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4214 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
4215 var ProWidgetsNotice = function ProWidgetsNotice() {
4216 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-pro-widget'),
4217 isViewed = _useIntroduction.isViewed,
4218 markAsViewed = _useIntroduction.markAsViewed;
4219 if (isViewed) {
4220 return null;
4221 }
4222 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4223 sx: {
4224 pt: 2,
4225 px: 2,
4226 pb: 0
4227 }
4228 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
4229 severity: "info",
4230 variant: "filled",
4231 color: "promotion",
4232 onClose: function onClose() {
4233 return markAsViewed();
4234 },
4235 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
4236 sx: {
4237 '& .MuiAlert-message': {
4238 width: '100%'
4239 }
4240 }
4241 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4242 flexDirection: "row",
4243 alignItems: "baseline",
4244 justifyContent: "space-between"
4245 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4246 variant: "body2",
4247 component: "span",
4248 sx: {
4249 paddingInlineEnd: 0.5
4250 }
4251 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4252 variant: "subtitle2",
4253 component: "span",
4254 sx: {
4255 paddingInlineEnd: 1
4256 }
4257 }, (0, _i18n.__)('Upgrade your plan for best results.', 'elementor')), (0, _i18n.__)('You won’t be able to use layouts with Elementor Pro widgets until you do.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4258 variant: "outlined",
4259 size: "small",
4260 onClick: function onClick() {
4261 return window.open('https://go.elementor.com/upgrade-pro/', '_blank');
4262 },
4263 color: "inherit"
4264 }, (0, _i18n.__)('Go Pro', 'elementor')))));
4265 };
4266 exports.ProWidgetsNotice = ProWidgetsNotice;
4267
4268 /***/ }),
4269
4270 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4271 /*!******************************************************************************************!*\
4272 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4273 \******************************************************************************************/
4274 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4275
4276 "use strict";
4277
4278
4279 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4280 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4281 Object.defineProperty(exports, "__esModule", ({
4282 value: true
4283 }));
4284 exports["default"] = void 0;
4285 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4286 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4287 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4288 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4289 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4290 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4291 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4292 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4293 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4294 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4295 var _excluded = ["onSubmit"];
4296 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); }
4297 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; }
4298 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; }
4299 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; }
4300 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4301 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4302 // eslint-disable-next-line jsx-a11y/no-autofocus
4303 , (0, _extends2.default)({
4304 autoFocus: true,
4305 multiline: true,
4306 size: "small",
4307 maxRows: 3,
4308 color: "secondary",
4309 variant: "standard"
4310 }, props, {
4311 inputRef: ref,
4312 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4313 type: 'search',
4314 sx: {
4315 pt: 0
4316 }
4317 })
4318 }));
4319 });
4320 TextInput.propTypes = {
4321 InputProps: _propTypes.default.object
4322 };
4323 var PaperComponent = function PaperComponent(props) {
4324 var _useConfig = (0, _config.useConfig)(),
4325 mode = _useConfig.mode;
4326 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4327 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4328 elevation: 8,
4329 sx: {
4330 borderRadius: 2
4331 }
4332 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4333 component: _ui.Box,
4334 color: function color(theme) {
4335 return theme.palette.text.tertiary;
4336 },
4337 variant: "caption",
4338 paddingX: 2,
4339 paddingY: 1
4340 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4341 sx: {
4342 m: 2
4343 }
4344 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4345 libraryLink: libraryLink
4346 })));
4347 };
4348 PaperComponent.propTypes = {
4349 children: _propTypes.default.node
4350 };
4351 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4352 var onSubmit = _ref.onSubmit,
4353 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4354 var _useState = (0, _react.useState)(false),
4355 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4356 showSuggestions = _useState2[0],
4357 setShowSuggestions = _useState2[1];
4358 var theme = (0, _ui.useTheme)();
4359 var itemHeight = parseInt(theme.spacing(4));
4360 var maxItems = 5;
4361 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4362 PaperComponent: PaperComponent,
4363 ListboxProps: {
4364 sx: {
4365 maxHeight: maxItems * itemHeight
4366 }
4367 },
4368 renderOption: function renderOption(optionProps, option) {
4369 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4370 title: option.text,
4371 noWrap: true,
4372 variant: "body2",
4373 component: _ui.Box,
4374 sx: {
4375 '&.MuiAutocomplete-option': {
4376 display: 'block',
4377 minHeight: itemHeight
4378 }
4379 }
4380 }), option.text);
4381 },
4382 freeSolo: true,
4383 fullWidth: true,
4384 disableClearable: true,
4385 open: showSuggestions,
4386 onClose: function onClose(e) {
4387 var _e$relatedTarget;
4388 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4389 },
4390 onKeyDown: function onKeyDown(e) {
4391 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4392 onSubmit(e);
4393 } else if ('/' === e.key && '' === e.target.value) {
4394 e.preventDefault();
4395 setShowSuggestions(true);
4396 }
4397 }
4398 }, props));
4399 };
4400 PromptAutocomplete.propTypes = {
4401 onSubmit: _propTypes.default.func.isRequired
4402 };
4403 PromptAutocomplete.TextInput = TextInput;
4404 var _default = PromptAutocomplete;
4405 exports["default"] = _default;
4406
4407 /***/ }),
4408
4409 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4410 /*!**********************************************************************************!*\
4411 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4412 \**********************************************************************************/
4413 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4414
4415 "use strict";
4416
4417
4418 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4419 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4420 Object.defineProperty(exports, "__esModule", ({
4421 value: true
4422 }));
4423 exports["default"] = void 0;
4424 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4425 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4426 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4427 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4428 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4429 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4430 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4431 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4432 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4433 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4434 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4435 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4436 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4437 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4438 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4439 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4440 var _excluded = ["tooltip"];
4441 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); }
4442 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; }
4443 var PROMPT_SUGGESTIONS = Object.freeze([{
4444 text: (0, _i18n.__)('Hero section on [topic] with heading, text, buttons on the right, and an image on the left', 'elementor.com')
4445 }, {
4446 text: (0, _i18n.__)('About Us section on [topic] with heading, text, and big image below', 'elementor.com')
4447 }, {
4448 text: (0, _i18n.__)('Team section with four image boxes showcasing team members', 'elementor.com')
4449 }, {
4450 text: (0, _i18n.__)('FAQ section with a toggle widget showcasing FAQs about [topic]', 'elementor.com')
4451 }, {
4452 text: (0, _i18n.__)('Gallery section with a carousel displaying three images at once', 'elementor.com')
4453 }, {
4454 text: (0, _i18n.__)('Contact section with a form for [topic]', 'elementor.com')
4455 }, {
4456 text: (0, _i18n.__)('Client section featuring companies\' logos', 'elementor.com')
4457 }, {
4458 text: (0, _i18n.__)('Testimonial section with testimonials, each featuring a star rating and an image', 'elementor.com')
4459 }, {
4460 text: (0, _i18n.__)('Service section about [topic], showcasing four services with buttons', 'elementor.com')
4461 }, {
4462 text: (0, _i18n.__)('Stats section with counters displaying data about [topic]', 'elementor.com')
4463 }, {
4464 text: (0, _i18n.__)('Quote section with colored background, featuring a centered quote', 'elementor.com')
4465 }, {
4466 text: (0, _i18n.__)('Pricing section for [topic] with a pricing list', 'elementor.com')
4467 }, {
4468 text: (0, _i18n.__)('Subscribe section featuring a simple email form, inviting users to stay informed on [topic]', 'elementor.com')
4469 }]);
4470 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4471 var tooltip = _ref.tooltip,
4472 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4473 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4474 title: tooltip
4475 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4476 component: "span",
4477 sx: {
4478 cursor: props.disabled ? 'default' : 'pointer'
4479 }
4480 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4481 };
4482 IconButtonWithTooltip.propTypes = {
4483 tooltip: _propTypes.default.string,
4484 disabled: _propTypes.default.bool
4485 };
4486 var BackButton = function BackButton(props) {
4487 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4488 size: "small",
4489 color: "secondary",
4490 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4491 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4492 };
4493 var EditButton = function EditButton(props) {
4494 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4495 size: "small",
4496 color: "primary",
4497 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4498 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4499 };
4500 var GenerateButton = function GenerateButton(props) {
4501 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4502 size: "small",
4503 fullWidth: false
4504 }, props), (0, _i18n.__)('Generate', 'elementor'));
4505 };
4506 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4507 var _attachments$;
4508 var attachments = _ref2.attachments,
4509 isActive = _ref2.isActive,
4510 isLoading = _ref2.isLoading,
4511 _ref2$showActions = _ref2.showActions,
4512 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4513 onAttach = _ref2.onAttach,
4514 onDetach = _ref2.onDetach,
4515 _onSubmit = _ref2.onSubmit,
4516 onBack = _ref2.onBack,
4517 onEdit = _ref2.onEdit,
4518 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4519 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4520 var _useState = (0, _react.useState)(''),
4521 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4522 prompt = _useState2[0],
4523 setPrompt = _useState2[1];
4524 (0, _react.useEffect)(function () {
4525 if (shouldResetPrompt) {
4526 setPrompt('');
4527 }
4528 }, [shouldResetPrompt]);
4529 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4530 isEnhancing = _usePromptEnhancer.isEnhancing,
4531 enhance = _usePromptEnhancer.enhance;
4532 var previousPrompt = (0, _react.useRef)('');
4533 var _useConfig = (0, _config.useConfig)(),
4534 attachmentsTypes = _useConfig.attachmentsTypes;
4535 var isInputDisabled = isLoading || isEnhancing || !isActive;
4536 var isInputEmpty = '' === prompt && !attachments.length;
4537 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4538 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4539 var attachmentsConfig = attachmentsTypes[attachmentsType];
4540 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4541 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');
4542 var handleBack = function handleBack() {
4543 setPrompt(previousPrompt.current);
4544 onBack();
4545 };
4546 var handleEdit = function handleEdit() {
4547 previousPrompt.current = prompt;
4548 onEdit();
4549 };
4550 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4551 component: "form",
4552 onSubmit: function onSubmit(e) {
4553 return _onSubmit(e, prompt);
4554 },
4555 direction: "row",
4556 sx: {
4557 p: 3
4558 },
4559 alignItems: "start",
4560 gap: 1
4561 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4562 direction: "row",
4563 alignItems: "start",
4564 flexGrow: 1,
4565 spacing: 2
4566 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4567 disabled: isLoading || isEnhancing,
4568 onClick: handleBack
4569 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4570 disabled: isLoading,
4571 onClick: handleEdit
4572 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4573 attachments: attachments,
4574 onAttach: onAttach,
4575 onDetach: onDetach,
4576 disabled: isInputDisabled
4577 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4578 value: prompt,
4579 disabled: isInputDisabled,
4580 onSubmit: function onSubmit(e) {
4581 return _onSubmit(e, prompt);
4582 },
4583 options: promptSuggestions,
4584 onChange: function onChange(_, selectedValue) {
4585 return setPrompt(selectedValue.text + ' ');
4586 },
4587 renderInput: function renderInput(params) {
4588 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4589 ref: ref,
4590 onChange: function onChange(e) {
4591 return setPrompt(e.target.value);
4592 },
4593 placeholder: promptPlaceholder
4594 }));
4595 }
4596 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4597 size: "small",
4598 disabled: isGenerateDisabled || '' === prompt,
4599 isLoading: isEnhancing,
4600 onClick: function onClick() {
4601 return enhance().then(function (_ref3) {
4602 var result = _ref3.result;
4603 return setPrompt(result);
4604 });
4605 }
4606 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4607 disabled: isGenerateDisabled
4608 }));
4609 });
4610 PromptForm.propTypes = {
4611 isActive: _propTypes.default.bool,
4612 onAttach: _propTypes.default.func,
4613 onDetach: _propTypes.default.func,
4614 isLoading: _propTypes.default.bool,
4615 showActions: _propTypes.default.bool,
4616 onSubmit: _propTypes.default.func.isRequired,
4617 onBack: _propTypes.default.func.isRequired,
4618 onEdit: _propTypes.default.func.isRequired,
4619 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4620 shouldResetPrompt: _propTypes.default.bool
4621 };
4622 var _default = PromptForm;
4623 exports["default"] = _default;
4624
4625 /***/ }),
4626
4627 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4628 /*!*******************************************************************************************!*\
4629 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4630 \*******************************************************************************************/
4631 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4632
4633 "use strict";
4634
4635
4636 Object.defineProperty(exports, "__esModule", ({
4637 value: true
4638 }));
4639 exports["default"] = void 0;
4640 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4641 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4642 shouldForwardProp: function shouldForwardProp(prop) {
4643 return prop !== 'outlineOffset';
4644 }
4645 })(function (_ref) {
4646 var theme = _ref.theme,
4647 selected = _ref.selected,
4648 height = _ref.height,
4649 disabled = _ref.disabled,
4650 _ref$outlineOffset = _ref.outlineOffset,
4651 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4652 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4653 var outline = "2px solid ".concat(outlineColor);
4654 return {
4655 height: height,
4656 cursor: disabled ? 'default' : 'pointer',
4657 overflow: 'hidden',
4658 boxSizing: 'border-box',
4659 backgroundPosition: 'top center',
4660 backgroundSize: '100% auto',
4661 backgroundRepeat: 'no-repeat',
4662 backgroundColor: theme.palette.common.white,
4663 borderRadius: theme.shape.borderRadius * 0.5,
4664 outlineOffset: outlineOffset,
4665 outline: outline,
4666 opacity: disabled ? '0.4' : '1',
4667 transition: "all 50ms linear",
4668 '&:hover': disabled ? {} : {
4669 outlineColor: theme.palette.text.primary
4670 }
4671 };
4672 });
4673 var _default = ScreenshotContainer;
4674 exports["default"] = _default;
4675
4676 /***/ }),
4677
4678 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4679 /*!*********************************************************************************************!*\
4680 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4681 \*********************************************************************************************/
4682 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4683
4684 "use strict";
4685
4686
4687 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4688 Object.defineProperty(exports, "__esModule", ({
4689 value: true
4690 }));
4691 exports["default"] = ScreenshotUnavailable;
4692 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4693 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4694 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4695 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4696 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4697 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4698 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; }
4699 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; }
4700 function ScreenshotUnavailable(props) {
4701 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4702 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4703 display: 'flex',
4704 alignItems: 'center',
4705 justifyContent: 'center',
4706 backgroundColor: 'background.paper',
4707 color: 'text.tertiary',
4708 fontStyle: 'italic',
4709 fontSize: '12px',
4710 paddingInline: 12,
4711 textAlign: 'center',
4712 lineHeight: 1.5
4713 })
4714 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4715 }
4716 ScreenshotUnavailable.propTypes = {
4717 sx: _propTypes.default.object
4718 };
4719
4720 /***/ }),
4721
4722 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4723 /*!*********************************************************************************!*\
4724 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4725 \*********************************************************************************/
4726 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4727
4728 "use strict";
4729
4730
4731 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4732 Object.defineProperty(exports, "__esModule", ({
4733 value: true
4734 }));
4735 exports["default"] = void 0;
4736 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4737 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4738 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4739 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4740 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4741 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4742 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4743 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; }
4744 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; }
4745 var SCREENSHOT_HEIGHT = '138px';
4746 var Screenshot = function Screenshot(_ref) {
4747 var url = _ref.url,
4748 type = _ref.type,
4749 _ref$isLoading = _ref.isLoading,
4750 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4751 _ref$isSelected = _ref.isSelected,
4752 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4753 isPlaceholder = _ref.isPlaceholder,
4754 disabled = _ref.disabled,
4755 onClick = _ref.onClick,
4756 _ref$sx = _ref.sx,
4757 sx = _ref$sx === void 0 ? {} : _ref$sx,
4758 outlineOffset = _ref.outlineOffset;
4759 if (isPlaceholder) {
4760 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4761 sx: _objectSpread({
4762 height: SCREENSHOT_HEIGHT
4763 }, sx)
4764 });
4765 }
4766 if (isLoading) {
4767 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4768 width: "100%",
4769 animation: "wave",
4770 variant: "rounded",
4771 height: SCREENSHOT_HEIGHT,
4772 sx: sx
4773 });
4774 }
4775 if (!url) {
4776 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4777 selected: isSelected,
4778 disabled: disabled,
4779 sx: sx,
4780 onClick: onClick,
4781 height: SCREENSHOT_HEIGHT,
4782 outlineOffset: outlineOffset
4783 });
4784 }
4785 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4786 selected: isSelected,
4787 disabled: disabled,
4788 sx: _objectSpread({
4789 backgroundImage: "url('".concat(url, "')")
4790 }, sx),
4791 onClick: onClick,
4792 height: SCREENSHOT_HEIGHT,
4793 outlineOffset: outlineOffset
4794 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4795 type: type
4796 }));
4797 };
4798 Screenshot.propTypes = {
4799 isSelected: _propTypes.default.bool,
4800 isLoading: _propTypes.default.bool,
4801 isPlaceholder: _propTypes.default.bool,
4802 disabled: _propTypes.default.bool,
4803 onClick: _propTypes.default.func.isRequired,
4804 url: _propTypes.default.string,
4805 type: _propTypes.default.string,
4806 sx: _propTypes.default.object,
4807 outlineOffset: _propTypes.default.string
4808 };
4809 var _default = Screenshot;
4810 exports["default"] = _default;
4811
4812 /***/ }),
4813
4814 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4815 /*!*************************************************************************************!*\
4816 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4817 \*************************************************************************************/
4818 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4819
4820 "use strict";
4821
4822
4823 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4824 Object.defineProperty(exports, "__esModule", ({
4825 value: true
4826 }));
4827 exports["default"] = void 0;
4828 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4829 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4830 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4831 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4832 var TemplateBadge = function TemplateBadge(props) {
4833 var _useConfig = (0, _config.useConfig)(),
4834 hasPro = _useConfig.hasPro;
4835 if ('Pro' === props.type && !hasPro) {
4836 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4837 }
4838 return null;
4839 };
4840 var _default = TemplateBadge;
4841 exports["default"] = _default;
4842 TemplateBadge.propTypes = {
4843 type: _propTypes.default.string
4844 };
4845
4846 /***/ }),
4847
4848 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4849 /*!********************************************************************************************!*\
4850 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4851 \********************************************************************************************/
4852 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4853
4854 "use strict";
4855
4856
4857 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4858 Object.defineProperty(exports, "__esModule", ({
4859 value: true
4860 }));
4861 exports["default"] = void 0;
4862 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4863 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4864 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4865 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4866 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4867 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4868 var _excluded = ["onClose", "onCancel", "title", "text"];
4869 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4870 var onClose = _ref.onClose,
4871 onCancel = _ref.onCancel,
4872 title = _ref.title,
4873 text = _ref.text,
4874 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4875 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4876 "aria-labelledby": "unsaved-changes-alert-title",
4877 "aria-describedby": "unsaved-changes-alert-description"
4878 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4879 id: "unsaved-changes-alert-title"
4880 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4881 id: "unsaved-changes-alert-description"
4882 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4883 onClick: onCancel,
4884 color: "secondary"
4885 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4886 onClick: onClose,
4887 color: "error",
4888 variant: "contained"
4889 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4890 };
4891 UnsavedChangesAlert.propTypes = {
4892 title: _propTypes.default.string,
4893 text: _propTypes.default.string,
4894 onCancel: _propTypes.default.func,
4895 onClose: _propTypes.default.func
4896 };
4897 var _default = UnsavedChangesAlert;
4898 exports["default"] = _default;
4899
4900 /***/ }),
4901
4902 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4903 /*!**************************************************************************!*\
4904 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4905 \**************************************************************************/
4906 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4907
4908 "use strict";
4909
4910
4911 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4912 Object.defineProperty(exports, "__esModule", ({
4913 value: true
4914 }));
4915 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4916 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4917 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4918 var MODE_LAYOUT = 'layout';
4919 exports.MODE_LAYOUT = MODE_LAYOUT;
4920 var MODE_VARIATION = 'variation';
4921 exports.MODE_VARIATION = MODE_VARIATION;
4922 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4923 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4924 var ConfigContext = _react.default.createContext({});
4925 var useConfig = function useConfig() {
4926 return _react.default.useContext(ConfigContext);
4927 };
4928 exports.useConfig = useConfig;
4929 var ConfigProvider = function ConfigProvider(props) {
4930 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4931 value: {
4932 mode: props.mode,
4933 attachmentsTypes: props.attachmentsTypes,
4934 onClose: props.onClose,
4935 onConnect: props.onConnect,
4936 onData: props.onData,
4937 onInsert: props.onInsert,
4938 onSelect: props.onSelect,
4939 onGenerate: props.onGenerate,
4940 currentContext: props.currentContext,
4941 hasPro: props.hasPro
4942 }
4943 }, props.children);
4944 };
4945 exports.ConfigProvider = ConfigProvider;
4946 ConfigProvider.propTypes = {
4947 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4948 children: _propTypes.default.node.isRequired,
4949 attachmentsTypes: _propTypes.default.object.isRequired,
4950 onClose: _propTypes.default.func.isRequired,
4951 onConnect: _propTypes.default.func.isRequired,
4952 onData: _propTypes.default.func.isRequired,
4953 onInsert: _propTypes.default.func.isRequired,
4954 onSelect: _propTypes.default.func.isRequired,
4955 onGenerate: _propTypes.default.func.isRequired,
4956 currentContext: _propTypes.default.object,
4957 hasPro: _propTypes.default.bool
4958 };
4959 var _default = ConfigContext;
4960 exports["default"] = _default;
4961
4962 /***/ }),
4963
4964 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4965 /*!*********************************************************************************!*\
4966 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4967 \*********************************************************************************/
4968 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4969
4970 "use strict";
4971
4972
4973 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4974 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4975 Object.defineProperty(exports, "__esModule", ({
4976 value: true
4977 }));
4978 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4979 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4980 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4981 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4982 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4983 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4984 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4985 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); }
4986 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; }
4987 var RemoteConfigContext = _react.default.createContext({});
4988 var useRemoteConfig = function useRemoteConfig() {
4989 return _react.default.useContext(RemoteConfigContext);
4990 };
4991 exports.useRemoteConfig = useRemoteConfig;
4992 var CONFIG_KEYS = {
4993 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4994 AUTH_TOKEN: 'jwt'
4995 };
4996 exports.CONFIG_KEYS = CONFIG_KEYS;
4997 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4998 var _useState = (0, _react.useState)(false),
4999 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5000 isLoading = _useState2[0],
5001 setIsLoading = _useState2[1];
5002 var _useState3 = (0, _react.useState)(false),
5003 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5004 isLoaded = _useState4[0],
5005 setIsLoaded = _useState4[1];
5006 var _useState5 = (0, _react.useState)(false),
5007 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5008 isError = _useState6[0],
5009 setIsError = _useState6[1];
5010 var _useState7 = (0, _react.useState)({}),
5011 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5012 remoteConfig = _useState8[0],
5013 setRemoteConfig = _useState8[1];
5014 var fetchData = /*#__PURE__*/function () {
5015 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5016 var result;
5017 return _regenerator.default.wrap(function _callee$(_context) {
5018 while (1) switch (_context.prev = _context.next) {
5019 case 0:
5020 setIsLoading(true);
5021 _context.prev = 1;
5022 _context.next = 4;
5023 return (0, _api.getRemoteConfig)().finally(function () {
5024 setIsLoaded(true);
5025 setIsLoading(false);
5026 });
5027 case 4:
5028 result = _context.sent;
5029 if (result.config) {
5030 _context.next = 7;
5031 break;
5032 }
5033 throw new Error('Invalid remote config');
5034 case 7:
5035 setRemoteConfig(result.config);
5036 _context.next = 15;
5037 break;
5038 case 10:
5039 _context.prev = 10;
5040 _context.t0 = _context["catch"](1);
5041 setIsError(true);
5042 setIsLoaded(true);
5043 setIsLoading(false);
5044 case 15:
5045 case "end":
5046 return _context.stop();
5047 }
5048 }, _callee, null, [[1, 10]]);
5049 }));
5050 return function fetchData() {
5051 return _ref.apply(this, arguments);
5052 };
5053 }();
5054 if (!isLoaded && !isLoading) {
5055 fetchData();
5056 }
5057 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
5058 value: {
5059 isLoading: isLoading,
5060 isLoaded: isLoaded,
5061 isError: isError,
5062 remoteConfig: remoteConfig
5063 }
5064 }, props.children);
5065 };
5066 exports.RemoteConfigProvider = RemoteConfigProvider;
5067 RemoteConfigProvider.propTypes = {
5068 children: _propTypes.default.node.isRequired,
5069 onError: _propTypes.default.func.isRequired
5070 };
5071
5072 /***/ }),
5073
5074 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
5075 /*!****************************************************************************************!*\
5076 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
5077 \****************************************************************************************/
5078 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5079
5080 "use strict";
5081
5082
5083 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5084 Object.defineProperty(exports, "__esModule", ({
5085 value: true
5086 }));
5087 exports.useAttachUrlService = void 0;
5088 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5089 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5090 var _react = __webpack_require__(/*! react */ "react");
5091 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
5092 var useAttachUrlService = function useAttachUrlService(args) {
5093 var _window$elementorComm, _window$elementorComm2;
5094 var _useState = (0, _react.useState)(args.targetUrl),
5095 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5096 currentUrl = _useState2[0],
5097 setCurrentUrl = _useState2[1];
5098 var theme = (0, _ui.useTheme)();
5099 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
5100 isLoaded = _useRemoteConfig.isLoaded,
5101 isError = _useRemoteConfig.isError,
5102 remoteConfig = _useRemoteConfig.remoteConfig;
5103 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
5104 return {
5105 iframeSource: '',
5106 currentUrl: currentUrl,
5107 setCurrentUrl: setCurrentUrl
5108 };
5109 }
5110 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
5111 urlObject.searchParams.append('colorScheme', theme.palette.mode);
5112 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
5113 urlObject.searchParams.append('version', (_window$elementorComm = window.elementorCommon) === null || _window$elementorComm === void 0 ? void 0 : (_window$elementorComm2 = _window$elementorComm.config) === null || _window$elementorComm2 === void 0 ? void 0 : _window$elementorComm2.version);
5114 if (currentUrl) {
5115 urlObject.searchParams.append('url', currentUrl);
5116 }
5117 return {
5118 iframeSource: urlObject.toString(),
5119 currentUrl: currentUrl,
5120 setCurrentUrl: setCurrentUrl
5121 };
5122 };
5123 exports.useAttachUrlService = useAttachUrlService;
5124
5125 /***/ }),
5126
5127 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
5128 /*!***********************************************************************************!*\
5129 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
5130 \***********************************************************************************/
5131 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5132
5133 "use strict";
5134
5135
5136 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5137 Object.defineProperty(exports, "__esModule", ({
5138 value: true
5139 }));
5140 exports["default"] = void 0;
5141 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
5142 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
5143 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
5144 return (0, _usePrompt.default)(function (requestBody, signal) {
5145 requestBody.variationType = type;
5146 return (0, _api.generateLayout)(requestBody, signal);
5147 }, initialValue);
5148 };
5149 var _default = useLayoutPrompt;
5150 exports["default"] = _default;
5151
5152 /***/ }),
5153
5154 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
5155 /*!********************************************************************************!*\
5156 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
5157 \********************************************************************************/
5158 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5159
5160 "use strict";
5161
5162
5163 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5164 Object.defineProperty(exports, "__esModule", ({
5165 value: true
5166 }));
5167 exports["default"] = void 0;
5168 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5169 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5170 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5171 var _react = __webpack_require__(/*! react */ "react");
5172 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
5173 var ERROR_INITIAL_VALUE = '';
5174 var useScreenshot = function useScreenshot(type, onData) {
5175 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
5176 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5177 error = _useState2[0],
5178 setError = _useState2[1];
5179 var _useState3 = (0, _react.useState)(false),
5180 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5181 isLoading = _useState4[0],
5182 setIsLoading = _useState4[1];
5183 var layoutData = (0, _useLayoutPrompt.default)(type, null);
5184 var generate = function generate(requestBody, signal) {
5185 setIsLoading(true);
5186 setError(ERROR_INITIAL_VALUE);
5187 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
5188 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
5189 var createdScreenshot;
5190 return _regenerator.default.wrap(function _callee$(_context) {
5191 while (1) switch (_context.prev = _context.next) {
5192 case 0:
5193 _context.next = 2;
5194 return onData(data.result);
5195 case 2:
5196 createdScreenshot = _context.sent;
5197 createdScreenshot.sendUsageData = function () {
5198 return layoutData.sendUsageData(data);
5199 };
5200 createdScreenshot.baseTemplateId = data.baseTemplateId;
5201 createdScreenshot.type = data.type;
5202 return _context.abrupt("return", createdScreenshot);
5203 case 7:
5204 case "end":
5205 return _context.stop();
5206 }
5207 }, _callee);
5208 }));
5209 return function (_x) {
5210 return _ref.apply(this, arguments);
5211 };
5212 }()).catch(function (err) {
5213 setError(err.extra_data ? err : err.message || err);
5214 throw err;
5215 }).finally(function () {
5216 return setIsLoading(false);
5217 });
5218 };
5219 return {
5220 generate: generate,
5221 error: error,
5222 isLoading: isLoading
5223 };
5224 };
5225 var _default = useScreenshot;
5226 exports["default"] = _default;
5227
5228 /***/ }),
5229
5230 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
5231 /*!*********************************************************************************!*\
5232 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
5233 \*********************************************************************************/
5234 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5235
5236 "use strict";
5237
5238
5239 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5240 Object.defineProperty(exports, "__esModule", ({
5241 value: true
5242 }));
5243 exports["default"] = void 0;
5244 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5245 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5246 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5247 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5248 var _react = __webpack_require__(/*! react */ "react");
5249 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5250 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5251 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5252 var PENDING_VALUE = {
5253 isPending: true
5254 };
5255 var useScreenshots = function useScreenshots(_ref) {
5256 var onData = _ref.onData;
5257 var _useState = (0, _react.useState)([]),
5258 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5259 screenshots = _useState2[0],
5260 setScreenshots = _useState2[1];
5261
5262 /**
5263 * The ids for each request are:
5264 * - editorSessionId: a unique id for each editor opening
5265 * - sessionId: a unique id for each session. (open the AI builder)
5266 * - generateId: a unique id for each generate request. (prompt change)
5267 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5268 * - requestId: a unique id for each generate request.
5269 */
5270
5271 var _useConfig = (0, _config.useConfig)(),
5272 currentContext = _useConfig.currentContext;
5273 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5274 editorSessionId = _useRequestIds.editorSessionId,
5275 sessionId = _useRequestIds.sessionId,
5276 setRequest = _useRequestIds.setRequest,
5277 setBatch = _useRequestIds.setBatch,
5278 setGenerate = _useRequestIds.setGenerate;
5279 var generateIdRef = (0, _react.useRef)('');
5280 var batchId = setBatch();
5281 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5282 var screenshotsGroupCount = screenshotsData.length;
5283 var error = screenshotsData.every(function (s) {
5284 return s === null || s === void 0 ? void 0 : s.error;
5285 }) ? screenshotsData[0].error : '';
5286 var isLoading = screenshotsData.some(function (s) {
5287 return s === null || s === void 0 ? void 0 : s.isLoading;
5288 });
5289 var abortController = (0, _react.useRef)(null);
5290 var abort = function abort() {
5291 var _abortController$curr;
5292 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5293 };
5294 var createScreenshots = /*#__PURE__*/function () {
5295 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5296 var onGenerate, onError, promises, results, isAllFailed;
5297 return _regenerator.default.wrap(function _callee$(_context) {
5298 while (1) switch (_context.prev = _context.next) {
5299 case 0:
5300 abortController.current = new AbortController();
5301 onGenerate = function onGenerate(screenshot) {
5302 setScreenshots(function (prev) {
5303 var updatedData = (0, _toConsumableArray2.default)(prev);
5304 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5305 updatedData[pendingIndex] = screenshot;
5306 return updatedData;
5307 });
5308 return true;
5309 };
5310 onError = function onError() {
5311 setScreenshots(function (prev) {
5312 var updatedData = (0, _toConsumableArray2.default)(prev);
5313 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5314 updatedData[pendingIndex] = {
5315 isError: true
5316 };
5317 return updatedData;
5318 });
5319 return false;
5320 };
5321 promises = screenshotsData.map(function (_ref3) {
5322 var generate = _ref3.generate;
5323 var prevGeneratedIds = screenshots.map(function (screenshot) {
5324 return screenshot.baseTemplateId || '';
5325 });
5326 var requestBody = {
5327 prompt: prompt,
5328 prevGeneratedIds: prevGeneratedIds,
5329 currentContext: currentContext,
5330 ids: {
5331 editorSessionId: editorSessionId.current,
5332 sessionId: sessionId.current,
5333 generateId: generateIdRef.current,
5334 batchId: batchId.current,
5335 requestId: setRequest().current
5336 },
5337 attachments: attachments.map(function (_ref4) {
5338 var type = _ref4.type,
5339 content = _ref4.content,
5340 label = _ref4.label,
5341 source = _ref4.source;
5342 // Send only the data that is needed for the generation.
5343 return {
5344 type: type,
5345 content: content,
5346 label: label,
5347 source: source
5348 };
5349 })
5350 };
5351 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5352 });
5353 _context.next = 6;
5354 return Promise.all(promises);
5355 case 6:
5356 results = _context.sent;
5357 isAllFailed = results.every(function (value) {
5358 return false === value;
5359 });
5360 if (isAllFailed) {
5361 setScreenshots(function (prev) {
5362 var updatedData = (0, _toConsumableArray2.default)(prev);
5363 updatedData.splice(screenshotsGroupCount * -1);
5364 return updatedData;
5365 });
5366 }
5367 case 9:
5368 case "end":
5369 return _context.stop();
5370 }
5371 }, _callee);
5372 }));
5373 return function createScreenshots(_x, _x2) {
5374 return _ref2.apply(this, arguments);
5375 };
5376 }();
5377 var generate = function generate(prompt, attachments) {
5378 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5379 generateIdRef.current = setGenerate().current;
5380 setScreenshots(placeholders);
5381 createScreenshots(prompt, attachments);
5382 };
5383 var regenerate = function regenerate(prompt, attachments) {
5384 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5385 setScreenshots(function (prev) {
5386 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5387 });
5388 createScreenshots(prompt, attachments);
5389 };
5390 return {
5391 generate: generate,
5392 regenerate: regenerate,
5393 screenshots: screenshots,
5394 isLoading: isLoading,
5395 error: error,
5396 abort: abort
5397 };
5398 };
5399 var _default = useScreenshots;
5400 exports["default"] = _default;
5401
5402 /***/ }),
5403
5404 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5405 /*!****************************************************************************!*\
5406 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5407 \****************************************************************************/
5408 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5409
5410 "use strict";
5411
5412
5413 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5414 Object.defineProperty(exports, "__esModule", ({
5415 value: true
5416 }));
5417 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5418 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5419 var _react = __webpack_require__(/*! react */ "react");
5420 var SCREENSHOTS_PER_PAGE = 3;
5421 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5422 var MAX_PAGES = 5;
5423 exports.MAX_PAGES = MAX_PAGES;
5424 var useSlider = function useSlider() {
5425 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5426 _ref$slidesCount = _ref.slidesCount,
5427 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5428 _ref$slidesPerPage = _ref.slidesPerPage,
5429 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5430 _ref$gapPercentage = _ref.gapPercentage,
5431 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5432 var _useState = (0, _react.useState)(1),
5433 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5434 currentPage = _useState2[0],
5435 setCurrentPage = _useState2[1];
5436 var gapsCount = slidesPerPage - 1;
5437 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5438 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5439 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5440 (0, _react.useEffect)(function () {
5441 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5442 if (currentPage > 1 && currentPage > pagesCount) {
5443 setCurrentPage(pagesCount);
5444 }
5445 }, [pagesCount]);
5446 return {
5447 currentPage: currentPage,
5448 setCurrentPage: setCurrentPage,
5449 pagesCount: pagesCount,
5450 slidesPerPage: slidesPerPage,
5451 gapPercentage: gapPercentage,
5452 offsetXPercentage: offsetXPercentage,
5453 slideWidthPercentage: slideWidthPercentage
5454 };
5455 };
5456 var _default = useSlider;
5457 exports["default"] = _default;
5458
5459 /***/ }),
5460
5461 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5462 /*!*****************************************************************!*\
5463 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5464 \*****************************************************************/
5465 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5466
5467 "use strict";
5468
5469
5470 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5471 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5472 Object.defineProperty(exports, "__esModule", ({
5473 value: true
5474 }));
5475 exports["default"] = void 0;
5476 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5477 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5478 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5479 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5480 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5481 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5482 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5483 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5484 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5485 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5486 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5487 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5488 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5489 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5490 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5491 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5492 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5493 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5494 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5495 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5496 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5497 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
5498 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5499 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5500 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5501 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5502 var _excluded = ["children"];
5503 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); }
5504 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; }
5505 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5506 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5507
5508 /**
5509 * @typedef {Object} Attachment
5510 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5511 * @property {string} previewHTML - HTML content as a string, representing a preview.
5512 * @property {string} content - Actual content of the attachment as a string.
5513 * @property {string} label - Label for the attachment.
5514 */
5515
5516 var RegenerateButton = function RegenerateButton(props) {
5517 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5518 size: "small",
5519 color: "secondary",
5520 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5521 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5522 };
5523 var UseLayoutButton = function UseLayoutButton(props) {
5524 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5525 size: "small",
5526 variant: "contained"
5527 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5528 };
5529 UseLayoutButton.propTypes = {
5530 sx: _propTypes.default.object
5531 };
5532 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5533 if (isLoading || isPromptFormActive) {
5534 return true;
5535 }
5536 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5537 };
5538 var FormLayout = function FormLayout(_ref) {
5539 var _screenshots$selected, _screenshots$2;
5540 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5541 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5542 _ref$DialogContentPro = _ref.DialogContentProps,
5543 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5544 initialAttachments = _ref.attachments;
5545 var _useConfig = (0, _config.useConfig)(),
5546 attachmentsTypes = _useConfig.attachmentsTypes,
5547 onData = _useConfig.onData,
5548 onInsert = _useConfig.onInsert,
5549 onSelect = _useConfig.onSelect,
5550 onClose = _useConfig.onClose,
5551 onGenerate = _useConfig.onGenerate,
5552 hasPro = _useConfig.hasPro;
5553 var _useScreenshots = (0, _useScreenshots2.default)({
5554 onData: onData
5555 }),
5556 screenshots = _useScreenshots.screenshots,
5557 generate = _useScreenshots.generate,
5558 regenerate = _useScreenshots.regenerate,
5559 isLoading = _useScreenshots.isLoading,
5560 error = _useScreenshots.error,
5561 abort = _useScreenshots.abort;
5562 var screenshotOutlineOffset = '2px';
5563 var _useSlider = (0, _useSlider2.default)({
5564 slidesCount: screenshots.length
5565 }),
5566 currentPage = _useSlider.currentPage,
5567 setCurrentPage = _useSlider.setCurrentPage,
5568 pagesCount = _useSlider.pagesCount,
5569 gapPercentage = _useSlider.gapPercentage,
5570 slidesPerPage = _useSlider.slidesPerPage,
5571 offsetXPercentage = _useSlider.offsetXPercentage,
5572 slideWidthPercentage = _useSlider.slideWidthPercentage;
5573 var _useState = (0, _react.useState)(-1),
5574 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5575 selectedScreenshotIndex = _useState2[0],
5576 setSelectedScreenshotIndex = _useState2[1];
5577 var _useState3 = (0, _react.useState)(false),
5578 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5579 showUnsavedChangesAlert = _useState4[0],
5580 setShowUnsavedChangesAlert = _useState4[1];
5581 var _useState5 = (0, _react.useState)(true),
5582 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5583 isPromptEditable = _useState6[0],
5584 setIsPromptEditable = _useState6[1];
5585 var _useState7 = (0, _react.useState)([]),
5586 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5587 attachments = _useState8[0],
5588 setAttachments = _useState8[1];
5589 var _useState9 = (0, _react.useState)(false),
5590 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5591 shouldRenderWebApp = _useState10[0],
5592 setShouldRenderWebApp = _useState10[1];
5593 var _useState11 = (0, _react.useState)(false),
5594 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5595 isMinimized = _useState12[0],
5596 setIsMinimized = _useState12[1];
5597 var lastRun = (0, _react.useRef)(function () {});
5598 var promptInputRef = (0, _react.useRef)(null);
5599 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5600 var dialogContentChildren = DialogContentProps.children,
5601 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5602
5603 // When there are no screenshots the prompt field should be editable.
5604 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5605 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5606 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
5607 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
5608 });
5609 var abortAndClose = function abortAndClose() {
5610 abort();
5611 onClose();
5612 };
5613 var onCloseIntent = function onCloseIntent() {
5614 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5615 if (hasUnsavedChanges) {
5616 return setShowUnsavedChangesAlert(true);
5617 }
5618 abortAndClose();
5619 };
5620 var handleGenerate = function handleGenerate(event, prompt) {
5621 event.preventDefault();
5622 if ('' === prompt.trim() && 0 === attachments.length) {
5623 return;
5624 }
5625 if ((0, _isURL.default)(prompt)) {
5626 setShouldRenderWebApp(true);
5627 return;
5628 }
5629 onGenerate();
5630 lastRun.current = function () {
5631 setSelectedScreenshotIndex(-1);
5632 generate(prompt, attachments);
5633 };
5634 lastRun.current();
5635 setIsPromptEditable(false);
5636 setCurrentPage(1);
5637 };
5638 var handleRegenerate = function handleRegenerate() {
5639 lastRun.current = function () {
5640 regenerate(promptInputRef.current.value, attachments);
5641 // Changing the current page to the next page number.
5642 setCurrentPage(pagesCount + 1);
5643 };
5644 lastRun.current();
5645 };
5646 var applyTemplate = function applyTemplate() {
5647 onInsert(selectedTemplate);
5648 screenshots[selectedScreenshotIndex].sendUsageData();
5649 abortAndClose();
5650 };
5651 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5652 return function () {
5653 if (isPromptFormActive) {
5654 return;
5655 }
5656 setSelectedScreenshotIndex(index);
5657 onSelect(template);
5658 };
5659 };
5660
5661 /**
5662 * @param {Attachment[]} items
5663 */
5664 var onAttach = function onAttach(items) {
5665 items.forEach(function (item) {
5666 if (!attachmentsTypes[item.type]) {
5667 throw new Error("Invalid attachment type: ".concat(item.type));
5668 }
5669 var typeConfig = attachmentsTypes[item.type];
5670 if (!item.previewHTML && typeConfig.previewGenerator) {
5671 typeConfig.previewGenerator(item.content).then(function (html) {
5672 item.previewHTML = html;
5673 setAttachments(function (prev) {
5674 // Replace the attachment with the updated one.
5675 return prev.map(function (attachment) {
5676 if (attachment.content === item.content) {
5677 return item;
5678 }
5679 return attachment;
5680 });
5681 });
5682 });
5683 }
5684 });
5685 setAttachments(items);
5686 setShouldRenderWebApp(false);
5687 setIsPromptEditable(true);
5688 };
5689 (0, _react.useEffect)(function () {
5690 var _screenshots$;
5691 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5692 if (isFirstTemplateExist) {
5693 onSelect(screenshots[0].template);
5694 setSelectedScreenshotIndex(0);
5695 }
5696 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5697 (0, _react.useEffect)(function () {
5698 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5699 onAttach(initialAttachments);
5700 }
5701 }, []);
5702 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5703 onClose: onCloseIntent
5704 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5705 onClose: onCloseIntent
5706 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5707 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5708 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5709 size: "small",
5710 "aria-label": "minimize",
5711 onClick: function onClick() {
5712 return setIsMinimized(function (prev) {
5713 return !prev;
5714 });
5715 }
5716 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5717 dividers: true
5718 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5719 in: !isMinimized
5720 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5721 sx: {
5722 pt: 2,
5723 px: 2,
5724 pb: 0
5725 }
5726 }, dialogContentChildren), mayContainProWidgets && !hasPro && /*#__PURE__*/_react.default.createElement(_proWidgetsNotice.ProWidgetsNotice, null), attachments.length > 0 && /*#__PURE__*/_react.default.createElement(_promptPowerNotice.PromptPowerNotice, null), error && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5727 sx: {
5728 pt: 2,
5729 px: 2,
5730 pb: 0
5731 }
5732 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5733 error: error,
5734 onRetry: lastRun.current
5735 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5736 open: showUnsavedChangesAlert,
5737 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5738 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5739 onClose: abortAndClose,
5740 onCancel: function onCancel() {
5741 return setShowUnsavedChangesAlert(false);
5742 }
5743 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5744 type: _attachments.ATTACHMENT_TYPE_URL,
5745 url: promptInputRef.current.value,
5746 onAttach: onAttach,
5747 onClose: function onClose() {
5748 setShouldRenderWebApp(false);
5749 }
5750 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5751 shouldResetPrompt: shouldRenderWebApp,
5752 ref: promptInputRef,
5753 isActive: isPromptFormActive,
5754 isLoading: isLoading,
5755 showActions: screenshots.length > 0 || isLoading,
5756 attachmentsTypes: attachmentsTypes,
5757 attachments: attachments,
5758 onAttach: onAttach,
5759 onDetach: function onDetach(index) {
5760 setAttachments(function (prev) {
5761 var newAttachments = (0, _toConsumableArray2.default)(prev);
5762 newAttachments.splice(index, 1);
5763 return newAttachments;
5764 });
5765 setIsPromptEditable(true);
5766 },
5767 onSubmit: handleGenerate,
5768 onBack: function onBack() {
5769 return setIsPromptEditable(false);
5770 },
5771 onEdit: function onEdit() {
5772 return setIsPromptEditable(true);
5773 }
5774 }), (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, {
5775 sx: {
5776 p: 1.5
5777 }
5778 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5779 sx: {
5780 overflow: 'hidden',
5781 p: 0.5
5782 }
5783 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5784 sx: {
5785 display: 'flex',
5786 transition: 'all 0.4s ease',
5787 gap: "".concat(gapPercentage, "%"),
5788 transform: "translateX(".concat(offsetXPercentage, "%)")
5789 }
5790 }, screenshots.map(function (_ref2, index) {
5791 var screenshot = _ref2.screenshot,
5792 type = _ref2.type,
5793 template = _ref2.template,
5794 isError = _ref2.isError,
5795 isPending = _ref2.isPending;
5796 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5797 key: index,
5798 url: screenshot,
5799 type: type,
5800 disabled: isPromptFormActive,
5801 isPlaceholder: isError,
5802 isLoading: isPending,
5803 isSelected: selectedScreenshotIndex === index,
5804 onClick: handleScreenshotClick(index, template),
5805 outlineOffset: screenshotOutlineOffset,
5806 sx: {
5807 flex: "0 0 ".concat(slideWidthPercentage, "%")
5808 }
5809 });
5810 }))), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5811 introductionKey: "ai-context-layout-promotion"
5812 })), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5813 sx: {
5814 pt: 0,
5815 px: 2,
5816 pb: 2
5817 },
5818 display: "grid",
5819 gridTemplateColumns: "repeat(3, 1fr)",
5820 justifyItems: "center"
5821 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5822 onClick: handleRegenerate,
5823 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5824 sx: {
5825 justifySelf: 'start'
5826 }
5827 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5828 page: currentPage,
5829 count: pagesCount,
5830 disabled: isPromptFormActive,
5831 onChange: function onChange(_, page) {
5832 return setCurrentPage(page);
5833 }
5834 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5835 onClick: applyTemplate,
5836 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5837 sx: {
5838 justifySelf: 'end',
5839 gridColumn: 3
5840 }
5841 }))))));
5842 };
5843 FormLayout.propTypes = {
5844 DialogHeaderProps: _propTypes.default.object,
5845 DialogContentProps: _propTypes.default.object,
5846 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5847 };
5848 var _default = FormLayout;
5849 exports["default"] = _default;
5850
5851 /***/ }),
5852
5853 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5854 /*!************************************************************************************!*\
5855 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5856 \************************************************************************************/
5857 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5858
5859 "use strict";
5860
5861
5862 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5863 Object.defineProperty(exports, "__esModule", ({
5864 value: true
5865 }));
5866 exports["default"] = void 0;
5867 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5868 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5869 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5870 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5871 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5872 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5873 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5874 var _excluded = ["isLoading"];
5875 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5876 var EnhanceButton = function EnhanceButton(_ref) {
5877 var isLoading = _ref.isLoading,
5878 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5879 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5880 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5881 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5882 component: "span",
5883 sx: {
5884 cursor: props.disabled ? 'default' : 'pointer'
5885 }
5886 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5887 size: "small",
5888 color: "secondary"
5889 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5890 color: "secondary",
5891 size: 20
5892 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5893 fontSize: "small"
5894 }))));
5895 };
5896 EnhanceButton.propTypes = {
5897 disabled: _propTypes.default.bool,
5898 isLoading: _propTypes.default.bool
5899 };
5900 var _default = EnhanceButton;
5901 exports["default"] = _default;
5902
5903 /***/ }),
5904
5905 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5906 /*!*************************************************************************************!*\
5907 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5908 \*************************************************************************************/
5909 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5910
5911 "use strict";
5912
5913
5914 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5915 Object.defineProperty(exports, "__esModule", ({
5916 value: true
5917 }));
5918 exports["default"] = void 0;
5919 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5920 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5921 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5922 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5923 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5924 var GenerateSubmit = function GenerateSubmit(props) {
5925 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5926 fullWidth: true,
5927 size: "medium",
5928 type: "submit",
5929 variant: "contained"
5930 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5931 };
5932 GenerateSubmit.propTypes = {
5933 children: _propTypes.default.node
5934 };
5935 var _default = GenerateSubmit;
5936 exports["default"] = _default;
5937
5938 /***/ }),
5939
5940 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5941 /*!*****************************************************************!*\
5942 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5943 \*****************************************************************/
5944 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5945
5946 "use strict";
5947
5948
5949 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5950 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5951 Object.defineProperty(exports, "__esModule", ({
5952 value: true
5953 }));
5954 exports["default"] = void 0;
5955 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5956 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5957 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5958 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5959 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5960 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5961 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5962 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5963 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5964 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); }
5965 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; }
5966 var GetStarted = function GetStarted(_ref) {
5967 var onSuccess = _ref.onSuccess;
5968 var _useState = (0, _react.useState)(false),
5969 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5970 isTermsChecked = _useState2[0],
5971 setIsTermsChecked = _useState2[1];
5972 var onGetStartedClick = /*#__PURE__*/function () {
5973 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5974 return _regenerator.default.wrap(function _callee$(_context) {
5975 while (1) switch (_context.prev = _context.next) {
5976 case 0:
5977 _context.next = 2;
5978 return (0, _api.setGetStarted)();
5979 case 2:
5980 onSuccess();
5981 case 3:
5982 case "end":
5983 return _context.stop();
5984 }
5985 }, _callee);
5986 }));
5987 return function onGetStartedClick() {
5988 return _ref2.apply(this, arguments);
5989 };
5990 }();
5991 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5992 alignItems: "center",
5993 gap: 1.5
5994 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5995 sx: {
5996 color: 'text.primary',
5997 fontSize: '60px',
5998 mb: 1
5999 }
6000 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6001 variant: "h4",
6002 sx: {
6003 color: 'text.primary'
6004 }
6005 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6006 variant: "body2"
6007 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6008 direction: "row",
6009 gap: 1.5,
6010 alignItems: "flex-start"
6011 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
6012 id: "e-ai-terms-approval",
6013 color: "secondary",
6014 checked: isTermsChecked,
6015 onClick: function onClick() {
6016 return setIsTermsChecked(function (prevState) {
6017 return !prevState;
6018 });
6019 }
6020 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6021 variant: "caption",
6022 sx: {
6023 maxWidth: 520
6024 },
6025 component: "label",
6026 htmlFor: "e-ai-terms-approval"
6027 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
6028 href: "https://go.elementor.com/ai-terms/",
6029 target: "_blank",
6030 color: "info.main"
6031 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
6032 href: "https://go.elementor.com/ai-privacy-policy/",
6033 target: "_blank",
6034 color: "info.main"
6035 }, (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, {
6036 disabled: !isTermsChecked,
6037 variant: "contained",
6038 onClick: onGetStartedClick,
6039 sx: {
6040 mt: 1,
6041 '&:hover': {
6042 color: 'primary.contrastText'
6043 }
6044 }
6045 }, (0, _i18n.__)('Get Started', 'elementor')));
6046 };
6047 GetStarted.propTypes = {
6048 onSuccess: _propTypes.default.func.isRequired
6049 };
6050 var _default = GetStarted;
6051 exports["default"] = _default;
6052
6053 /***/ }),
6054
6055 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
6056 /*!**********************************************************!*\
6057 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
6058 \**********************************************************/
6059 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6060
6061 "use strict";
6062
6063
6064 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6065 Object.defineProperty(exports, "__esModule", ({
6066 value: true
6067 }));
6068 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
6069 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6070 var AttachmentPropType = _propTypes.default.shape({
6071 type: _propTypes.default.string,
6072 previewHTML: _propTypes.default.string,
6073 content: _propTypes.default.string,
6074 label: _propTypes.default.string,
6075 source: _propTypes.default.string
6076 });
6077 exports.AttachmentPropType = AttachmentPropType;
6078 var AttachmentsTypesPropType = _propTypes.default.shape({
6079 type: _propTypes.default.shape({
6080 promptPlaceholder: _propTypes.default.string,
6081 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
6082 text: _propTypes.default.string.isRequired
6083 })),
6084 previewGenerator: _propTypes.default.func
6085 })
6086 });
6087 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
6088
6089 /***/ }),
6090
6091 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
6092 /*!******************************************************************!*\
6093 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
6094 \******************************************************************/
6095 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6096
6097 "use strict";
6098
6099
6100 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6101 Object.defineProperty(exports, "__esModule", ({
6102 value: true
6103 }));
6104 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
6105 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6106 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6107 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6108 var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js"));
6109 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
6110 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
6111 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
6112 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6113 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6114 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
6115 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6116 var closePanel = function closePanel() {
6117 $e.run('panel/close');
6118 $e.components.get('panel').blockUserInteractions();
6119 };
6120 exports.closePanel = closePanel;
6121 var openPanel = function openPanel() {
6122 $e.run('panel/open');
6123 $e.components.get('panel').unblockUserInteractions();
6124 };
6125 exports.openPanel = openPanel;
6126 var onConnect = function onConnect(data) {
6127 elementorCommon.config.library_connect.is_connected = true;
6128 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
6129 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
6130 };
6131 exports.onConnect = onConnect;
6132 var getUiConfig = function getUiConfig() {
6133 var _elementor, _elementor$getPrefere;
6134 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';
6135 var isRTL = elementorCommon.config.isRTL;
6136 return {
6137 colorScheme: colorScheme,
6138 isRTL: isRTL
6139 };
6140 };
6141 exports.getUiConfig = getUiConfig;
6142 var VARIATIONS_PROMPTS = [{
6143 text: (0, _i18n.__)('Change the content to be about [topic]', 'elementor')
6144 }, {
6145 text: (0, _i18n.__)('Generate lorem ipsum placeholder text for all paragraphs', 'elementor')
6146 }, {
6147 text: (0, _i18n.__)('Revise the content to focus on [topic] and then translate it into Spanish', 'elementor')
6148 }, {
6149 text: (0, _i18n.__)('Shift the focus of the content to [topic] in order to showcase our company\'s mission and values', 'elementor')
6150 }, {
6151 text: (0, _i18n.__)('Alter the content to provide helpful tips related to [topic]', 'elementor')
6152 }, {
6153 text: (0, _i18n.__)('Adjust the content to include FAQs and answers for common inquiries about [topic]', 'elementor')
6154 }];
6155 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
6156 var renderLayoutApp = function renderLayoutApp() {
6157 var _options$onRenderApp;
6158 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6159 parentContainer: null,
6160 mode: '',
6161 at: null,
6162 onClose: null,
6163 onGenerate: null,
6164 onInsert: null,
6165 onRenderApp: null,
6166 onSelect: null,
6167 attachments: []
6168 };
6169 closePanel();
6170 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
6171 // Create the container at the "drag widget here" area position.
6172 at: options.at
6173 });
6174 var _getUiConfig = getUiConfig(),
6175 colorScheme = _getUiConfig.colorScheme,
6176 isRTL = _getUiConfig.isRTL;
6177 var rootElement = document.createElement('div');
6178 document.body.append(rootElement);
6179 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
6180 var _ReactUtils$render = _react2.default.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
6181 isRTL: isRTL,
6182 colorScheme: colorScheme
6183 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
6184 mode: options.mode,
6185 currentContext: {
6186 body: {
6187 backgroundColor: bodyStyle.backgroundColor,
6188 backgroundImage: bodyStyle.backgroundImage
6189 }
6190 },
6191 attachmentsTypes: {
6192 json: {
6193 promptSuggestions: VARIATIONS_PROMPTS,
6194 promptPlaceholder: PROMPT_PLACEHOLDER,
6195 previewGenerator: function () {
6196 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
6197 var screenshot;
6198 return _regenerator.default.wrap(function _callee$(_context) {
6199 while (1) switch (_context.prev = _context.next) {
6200 case 0:
6201 _context.next = 2;
6202 return (0, _screenshot.takeScreenshot)(json);
6203 case 2:
6204 screenshot = _context.sent;
6205 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
6206 case 4:
6207 case "end":
6208 return _context.stop();
6209 }
6210 }, _callee);
6211 }));
6212 function previewGenerator(_x) {
6213 return _previewGenerator.apply(this, arguments);
6214 }
6215 return previewGenerator;
6216 }()
6217 },
6218 url: {
6219 promptPlaceholder: PROMPT_PLACEHOLDER,
6220 promptSuggestions: VARIATIONS_PROMPTS
6221 }
6222 },
6223 attachments: options.attachments || [],
6224 onClose: function onClose() {
6225 var _options$onClose;
6226 previewContainer.destroy();
6227 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
6228 unmount();
6229 rootElement.remove();
6230 openPanel();
6231 },
6232 onConnect: onConnect,
6233 onGenerate: function onGenerate() {
6234 var _options$onGenerate;
6235 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6236 previewContainer: previewContainer
6237 });
6238 },
6239 onData: /*#__PURE__*/function () {
6240 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6241 var screenshot;
6242 return _regenerator.default.wrap(function _callee2$(_context2) {
6243 while (1) switch (_context2.prev = _context2.next) {
6244 case 0:
6245 _context2.next = 2;
6246 return (0, _screenshot.takeScreenshot)(template);
6247 case 2:
6248 screenshot = _context2.sent;
6249 return _context2.abrupt("return", {
6250 screenshot: screenshot,
6251 template: template
6252 });
6253 case 4:
6254 case "end":
6255 return _context2.stop();
6256 }
6257 }, _callee2);
6258 }));
6259 return function (_x2) {
6260 return _ref.apply(this, arguments);
6261 };
6262 }(),
6263 onSelect: function onSelect(template) {
6264 var _options$onSelect;
6265 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6266 previewContainer.setContent(template);
6267 },
6268 onInsert: options.onInsert,
6269 hasPro: elementor.helpers.hasPro()
6270 })), rootElement),
6271 unmount = _ReactUtils$render.unmount;
6272 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6273 previewContainer: previewContainer
6274 });
6275 };
6276 exports.renderLayoutApp = renderLayoutApp;
6277 var importToEditor = function importToEditor(_ref2) {
6278 var parentContainer = _ref2.parentContainer,
6279 at = _ref2.at,
6280 template = _ref2.template,
6281 historyTitle = _ref2.historyTitle,
6282 _ref2$replace = _ref2.replace,
6283 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6284 var endHistoryLog = (0, _history.startHistoryLog)({
6285 type: 'import',
6286 title: historyTitle
6287 });
6288 if (replace) {
6289 $e.run('document/elements/delete', {
6290 container: parentContainer.children.at(at)
6291 });
6292 }
6293 $e.run('document/elements/create', {
6294 container: parentContainer,
6295 model: (0, _requestsIds.generateIds)(template),
6296 options: {
6297 at: at,
6298 edit: true
6299 }
6300 });
6301 endHistoryLog();
6302 };
6303 exports.importToEditor = importToEditor;
6304
6305 /***/ }),
6306
6307 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6308 /*!*******************************************************!*\
6309 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6310 \*******************************************************/
6311 /***/ ((__unused_webpack_module, exports) => {
6312
6313 "use strict";
6314
6315
6316 Object.defineProperty(exports, "__esModule", ({
6317 value: true
6318 }));
6319 exports.startHistoryLog = startHistoryLog;
6320 exports.toggleHistory = toggleHistory;
6321 function toggleHistory(isActive) {
6322 elementor.documents.getCurrent().history.setActive(isActive);
6323 }
6324
6325 /**
6326 * @param {Object} options
6327 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6328 * @param { string } options.title
6329 *
6330 * @return {*}
6331 */
6332 function startHistoryLog(_ref) {
6333 var type = _ref.type,
6334 title = _ref.title;
6335 var id = $e.internal('document/history/start-log', {
6336 type: type,
6337 title: title
6338 });
6339 return function () {
6340 return $e.internal('document/history/end-log', {
6341 id: id
6342 });
6343 };
6344 }
6345
6346 /***/ }),
6347
6348 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6349 /*!*****************************************************************!*\
6350 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6351 \*****************************************************************/
6352 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6353
6354 "use strict";
6355
6356
6357 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6358 Object.defineProperty(exports, "__esModule", ({
6359 value: true
6360 }));
6361 exports.createPreviewContainer = createPreviewContainer;
6362 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6363 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6364 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6365 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; }
6366 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; }
6367 /**
6368 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6369 */
6370
6371 var PREFIX = 'e-ai-preview-container';
6372 var CLASS_HIDDEN = PREFIX + '--hidden';
6373 var CLASS_IDLE = PREFIX + '--idle';
6374
6375 /**
6376 * @param {Container} parentContainer
6377 * @param {{}} containerOptions
6378 * @return {{init, setContent, reset, destroy}}
6379 */
6380
6381 function createPreviewContainer(parentContainer) {
6382 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6383 var createdContainers = new Map();
6384 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6385 function init() {
6386 showContainer(idleContainer);
6387 }
6388 function getAllContainers() {
6389 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6390 }
6391 function reset() {
6392 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6393 createdContainers.clear();
6394 showContainer(idleContainer);
6395 }
6396 function setContent(template) {
6397 if (!template) {
6398 return;
6399 }
6400 hideContainers(getAllContainers());
6401 if (!createdContainers.has(template)) {
6402 var newContainer = createContainer(parentContainer, template, containerOptions);
6403 createdContainers.set(template, newContainer);
6404 }
6405 showContainer(createdContainers.get(template));
6406 }
6407 function destroy() {
6408 deleteContainers(getAllContainers());
6409 createdContainers.clear();
6410 }
6411 return {
6412 init: init,
6413 reset: reset,
6414 setContent: setContent,
6415 destroy: destroy
6416 };
6417 }
6418
6419 /**
6420 * @param {Container} parentContainer
6421 * @param {{}} model
6422 * @param {{}} options
6423 * @return {*}
6424 */
6425 function createContainer(parentContainer, model) {
6426 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6427 (0, _history.toggleHistory)(false);
6428 var container = $e.run('document/elements/create', {
6429 container: parentContainer,
6430 model: _objectSpread(_objectSpread({}, model), {}, {
6431 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6432 }),
6433 options: _objectSpread(_objectSpread({}, options), {}, {
6434 edit: false
6435 })
6436 });
6437 (0, _history.toggleHistory)(true);
6438 container.view.$el.addClass(CLASS_HIDDEN);
6439 return container;
6440 }
6441
6442 /**
6443 * @param {Container} parentContainer
6444 * @param {{}} containerOptions
6445 * @return {*}
6446 */
6447 function createIdleContainer(parentContainer) {
6448 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6449 // Create an empty container that'll be used of UI purposes.
6450 var container = createContainer(parentContainer, {
6451 elType: 'container'
6452 }, containerOptions);
6453 container.view.$el.addClass(CLASS_IDLE);
6454 return container;
6455 }
6456 function hideContainers(containers) {
6457 containers.forEach(function (container) {
6458 container.view.$el.addClass(CLASS_HIDDEN);
6459 });
6460 }
6461 function showContainer(container) {
6462 container.view.$el.removeClass(CLASS_HIDDEN);
6463
6464 // Delay the scroll to avoid UI jumps when toggling between containers.
6465 setTimeout(function () {
6466 container.view.$el[0].scrollIntoView({
6467 behavior: 'smooth',
6468 block: 'start'
6469 });
6470 });
6471 }
6472 function deleteContainers(containers) {
6473 (0, _history.toggleHistory)(false);
6474 $e.run('document/elements/delete', {
6475 containers: containers
6476 });
6477 (0, _history.toggleHistory)(true);
6478 }
6479
6480 /***/ }),
6481
6482 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6483 /*!**********************************************************!*\
6484 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6485 \**********************************************************/
6486 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6487
6488 "use strict";
6489
6490
6491 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6492 Object.defineProperty(exports, "__esModule", ({
6493 value: true
6494 }));
6495 exports.takeScreenshot = void 0;
6496 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6497 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6498 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6499 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6500 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6501 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6502 var takeScreenshot = /*#__PURE__*/function () {
6503 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6504 var hiddenWrapper, container, screenshot;
6505 return _regenerator.default.wrap(function _callee$(_context) {
6506 while (1) switch (_context.prev = _context.next) {
6507 case 0:
6508 if (template) {
6509 _context.next = 2;
6510 break;
6511 }
6512 return _context.abrupt("return", '');
6513 case 2:
6514 // Disable history so the Editor won't show our hidden container as a user action.
6515 (0, _history.toggleHistory)(false);
6516 hiddenWrapper = createHiddenWrapper();
6517 container = createContainer(template);
6518 wrapContainer(container, hiddenWrapper);
6519 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6520
6521 // Wait for the container to render.
6522 _context.next = 9;
6523 return waitForContainer(container.id);
6524 case 9:
6525 if (!template.elements.length) {
6526 _context.next = 12;
6527 break;
6528 }
6529 _context.next = 12;
6530 return Promise.all(template.elements.map(function (child) {
6531 return waitForContainer(child.id);
6532 }));
6533 case 12:
6534 _context.prev = 12;
6535 _context.next = 15;
6536 return screenshotNode(container.view.$el[0]);
6537 case 15:
6538 screenshot = _context.sent;
6539 _context.next = 21;
6540 break;
6541 case 18:
6542 _context.prev = 18;
6543 _context.t0 = _context["catch"](12);
6544 // Return an empty image url if the screenshot failed.
6545 screenshot = '';
6546 case 21:
6547 deleteContainer(container);
6548 hiddenWrapper.remove();
6549 (0, _history.toggleHistory)(true);
6550 return _context.abrupt("return", screenshot);
6551 case 25:
6552 case "end":
6553 return _context.stop();
6554 }
6555 }, _callee, null, [[12, 18]]);
6556 }));
6557 return function takeScreenshot(_x) {
6558 return _ref.apply(this, arguments);
6559 };
6560 }();
6561 exports.takeScreenshot = takeScreenshot;
6562 function screenshotNode(node) {
6563 return toWebp(node, {
6564 quality: 0.01,
6565 // Transparent 1x1 pixel.
6566 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6567 });
6568 }
6569 function toWebp(_x2) {
6570 return _toWebp.apply(this, arguments);
6571 }
6572 function _toWebp() {
6573 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6574 var _options$quality;
6575 var options,
6576 canvas,
6577 _args3 = arguments;
6578 return _regenerator.default.wrap(function _callee3$(_context3) {
6579 while (1) switch (_context3.prev = _context3.next) {
6580 case 0:
6581 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6582 _context3.next = 3;
6583 return (0, _htmlToImage.toCanvas)(node, options);
6584 case 3:
6585 canvas = _context3.sent;
6586 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6587 case 5:
6588 case "end":
6589 return _context3.stop();
6590 }
6591 }, _callee3);
6592 }));
6593 return _toWebp.apply(this, arguments);
6594 }
6595 function createHiddenWrapper() {
6596 var wrapper = document.createElement('div');
6597 wrapper.style.position = 'fixed';
6598 wrapper.style.opacity = '0';
6599 wrapper.style.inset = '0';
6600 return wrapper;
6601 }
6602 function createContainer(template) {
6603 var model = (0, _requestsIds.generateIds)(template);
6604
6605 // Set a custom ID, so it can be used later on in the backend.
6606 model.id = "e-ai-screenshot-container-".concat(model.id);
6607 return $e.run('document/elements/create', {
6608 container: elementor.getPreviewContainer(),
6609 model: model,
6610 options: {
6611 edit: false
6612 }
6613 });
6614 }
6615 function deleteContainer(container) {
6616 return $e.run('document/elements/delete', {
6617 container: container
6618 });
6619 }
6620 function waitForContainer(id) {
6621 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6622 var timeoutPromise = sleep(timeout);
6623 var waitPromise = new Promise(function (resolve) {
6624 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6625 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6626 var images;
6627 return _regenerator.default.wrap(function _callee2$(_context2) {
6628 while (1) switch (_context2.prev = _context2.next) {
6629 case 0:
6630 if (!($element.data('id') === id)) {
6631 _context2.next = 5;
6632 break;
6633 }
6634 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6635 _context2.next = 4;
6636 return Promise.all(images.map(waitForImage));
6637 case 4:
6638 resolve();
6639 case 5:
6640 case "end":
6641 return _context2.stop();
6642 }
6643 }, _callee2);
6644 }));
6645 return function (_x3) {
6646 return _ref2.apply(this, arguments);
6647 };
6648 }());
6649 });
6650 return Promise.any([timeoutPromise, waitPromise]);
6651 }
6652 function waitForImage(image) {
6653 if (image.complete) {
6654 return Promise.resolve();
6655 }
6656 return new Promise(function (resolve) {
6657 image.addEventListener('load', resolve);
6658 image.addEventListener('error', function () {
6659 // Remove the image to make sure it won't break the screenshot.
6660 image.remove();
6661 resolve();
6662 });
6663 });
6664 }
6665 function sleep(ms) {
6666 return new Promise(function (resolve) {
6667 return setTimeout(resolve, ms);
6668 });
6669 }
6670 function wrapContainer(container, wrapper) {
6671 var el = container.view.$el[0];
6672 el.parentNode.insertBefore(wrapper, el);
6673 wrapper.appendChild(el);
6674 }
6675
6676 /***/ }),
6677
6678 /***/ "../node_modules/clsx/dist/clsx.m.js":
6679 /*!*******************************************!*\
6680 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6681 \*******************************************/
6682 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6683
6684 "use strict";
6685 __webpack_require__.r(__webpack_exports__);
6686 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6687 /* harmony export */ clsx: () => (/* binding */ clsx),
6688 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6689 /* harmony export */ });
6690 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);
6691
6692 /***/ }),
6693
6694 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6695 /*!***********************************************************************************!*\
6696 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6697 \***********************************************************************************/
6698 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6699
6700 "use strict";
6701
6702
6703 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6704
6705 /**
6706 * Copyright 2015, Yahoo! Inc.
6707 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6708 */
6709 var REACT_STATICS = {
6710 childContextTypes: true,
6711 contextType: true,
6712 contextTypes: true,
6713 defaultProps: true,
6714 displayName: true,
6715 getDefaultProps: true,
6716 getDerivedStateFromError: true,
6717 getDerivedStateFromProps: true,
6718 mixins: true,
6719 propTypes: true,
6720 type: true
6721 };
6722 var KNOWN_STATICS = {
6723 name: true,
6724 length: true,
6725 prototype: true,
6726 caller: true,
6727 callee: true,
6728 arguments: true,
6729 arity: true
6730 };
6731 var FORWARD_REF_STATICS = {
6732 '$$typeof': true,
6733 render: true,
6734 defaultProps: true,
6735 displayName: true,
6736 propTypes: true
6737 };
6738 var MEMO_STATICS = {
6739 '$$typeof': true,
6740 compare: true,
6741 defaultProps: true,
6742 displayName: true,
6743 propTypes: true,
6744 type: true
6745 };
6746 var TYPE_STATICS = {};
6747 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6748 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6749
6750 function getStatics(component) {
6751 // React v16.11 and below
6752 if (reactIs.isMemo(component)) {
6753 return MEMO_STATICS;
6754 } // React v16.12 and above
6755
6756
6757 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6758 }
6759
6760 var defineProperty = Object.defineProperty;
6761 var getOwnPropertyNames = Object.getOwnPropertyNames;
6762 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6763 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6764 var getPrototypeOf = Object.getPrototypeOf;
6765 var objectPrototype = Object.prototype;
6766 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6767 if (typeof sourceComponent !== 'string') {
6768 // don't hoist over string (html) components
6769 if (objectPrototype) {
6770 var inheritedComponent = getPrototypeOf(sourceComponent);
6771
6772 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6773 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6774 }
6775 }
6776
6777 var keys = getOwnPropertyNames(sourceComponent);
6778
6779 if (getOwnPropertySymbols) {
6780 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6781 }
6782
6783 var targetStatics = getStatics(targetComponent);
6784 var sourceStatics = getStatics(sourceComponent);
6785
6786 for (var i = 0; i < keys.length; ++i) {
6787 var key = keys[i];
6788
6789 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6790 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6791
6792 try {
6793 // Avoid failures from read-only properties
6794 defineProperty(targetComponent, key, descriptor);
6795 } catch (e) {}
6796 }
6797 }
6798 }
6799
6800 return targetComponent;
6801 }
6802
6803 module.exports = hoistNonReactStatics;
6804
6805
6806 /***/ }),
6807
6808 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6809 /*!*************************************************************************************************!*\
6810 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6811 \*************************************************************************************************/
6812 /***/ ((__unused_webpack_module, exports) => {
6813
6814 "use strict";
6815 /** @license React v16.13.1
6816 * react-is.development.js
6817 *
6818 * Copyright (c) Facebook, Inc. and its affiliates.
6819 *
6820 * This source code is licensed under the MIT license found in the
6821 * LICENSE file in the root directory of this source tree.
6822 */
6823
6824
6825
6826
6827
6828 if (true) {
6829 (function() {
6830 'use strict';
6831
6832 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6833 // nor polyfill, then a plain number is used for performance.
6834 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6835 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6836 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6837 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6838 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6839 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6840 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6841 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6842 // (unstable) APIs that have been removed. Can we remove the symbols?
6843
6844 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6845 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6846 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6847 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6848 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6849 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6850 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6851 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6852 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6853 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6854 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6855
6856 function isValidElementType(type) {
6857 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6858 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);
6859 }
6860
6861 function typeOf(object) {
6862 if (typeof object === 'object' && object !== null) {
6863 var $$typeof = object.$$typeof;
6864
6865 switch ($$typeof) {
6866 case REACT_ELEMENT_TYPE:
6867 var type = object.type;
6868
6869 switch (type) {
6870 case REACT_ASYNC_MODE_TYPE:
6871 case REACT_CONCURRENT_MODE_TYPE:
6872 case REACT_FRAGMENT_TYPE:
6873 case REACT_PROFILER_TYPE:
6874 case REACT_STRICT_MODE_TYPE:
6875 case REACT_SUSPENSE_TYPE:
6876 return type;
6877
6878 default:
6879 var $$typeofType = type && type.$$typeof;
6880
6881 switch ($$typeofType) {
6882 case REACT_CONTEXT_TYPE:
6883 case REACT_FORWARD_REF_TYPE:
6884 case REACT_LAZY_TYPE:
6885 case REACT_MEMO_TYPE:
6886 case REACT_PROVIDER_TYPE:
6887 return $$typeofType;
6888
6889 default:
6890 return $$typeof;
6891 }
6892
6893 }
6894
6895 case REACT_PORTAL_TYPE:
6896 return $$typeof;
6897 }
6898 }
6899
6900 return undefined;
6901 } // AsyncMode is deprecated along with isAsyncMode
6902
6903 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6904 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6905 var ContextConsumer = REACT_CONTEXT_TYPE;
6906 var ContextProvider = REACT_PROVIDER_TYPE;
6907 var Element = REACT_ELEMENT_TYPE;
6908 var ForwardRef = REACT_FORWARD_REF_TYPE;
6909 var Fragment = REACT_FRAGMENT_TYPE;
6910 var Lazy = REACT_LAZY_TYPE;
6911 var Memo = REACT_MEMO_TYPE;
6912 var Portal = REACT_PORTAL_TYPE;
6913 var Profiler = REACT_PROFILER_TYPE;
6914 var StrictMode = REACT_STRICT_MODE_TYPE;
6915 var Suspense = REACT_SUSPENSE_TYPE;
6916 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6917
6918 function isAsyncMode(object) {
6919 {
6920 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6921 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6922
6923 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.');
6924 }
6925 }
6926
6927 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6928 }
6929 function isConcurrentMode(object) {
6930 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6931 }
6932 function isContextConsumer(object) {
6933 return typeOf(object) === REACT_CONTEXT_TYPE;
6934 }
6935 function isContextProvider(object) {
6936 return typeOf(object) === REACT_PROVIDER_TYPE;
6937 }
6938 function isElement(object) {
6939 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6940 }
6941 function isForwardRef(object) {
6942 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6943 }
6944 function isFragment(object) {
6945 return typeOf(object) === REACT_FRAGMENT_TYPE;
6946 }
6947 function isLazy(object) {
6948 return typeOf(object) === REACT_LAZY_TYPE;
6949 }
6950 function isMemo(object) {
6951 return typeOf(object) === REACT_MEMO_TYPE;
6952 }
6953 function isPortal(object) {
6954 return typeOf(object) === REACT_PORTAL_TYPE;
6955 }
6956 function isProfiler(object) {
6957 return typeOf(object) === REACT_PROFILER_TYPE;
6958 }
6959 function isStrictMode(object) {
6960 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6961 }
6962 function isSuspense(object) {
6963 return typeOf(object) === REACT_SUSPENSE_TYPE;
6964 }
6965
6966 exports.AsyncMode = AsyncMode;
6967 exports.ConcurrentMode = ConcurrentMode;
6968 exports.ContextConsumer = ContextConsumer;
6969 exports.ContextProvider = ContextProvider;
6970 exports.Element = Element;
6971 exports.ForwardRef = ForwardRef;
6972 exports.Fragment = Fragment;
6973 exports.Lazy = Lazy;
6974 exports.Memo = Memo;
6975 exports.Portal = Portal;
6976 exports.Profiler = Profiler;
6977 exports.StrictMode = StrictMode;
6978 exports.Suspense = Suspense;
6979 exports.isAsyncMode = isAsyncMode;
6980 exports.isConcurrentMode = isConcurrentMode;
6981 exports.isContextConsumer = isContextConsumer;
6982 exports.isContextProvider = isContextProvider;
6983 exports.isElement = isElement;
6984 exports.isForwardRef = isForwardRef;
6985 exports.isFragment = isFragment;
6986 exports.isLazy = isLazy;
6987 exports.isMemo = isMemo;
6988 exports.isPortal = isPortal;
6989 exports.isProfiler = isProfiler;
6990 exports.isStrictMode = isStrictMode;
6991 exports.isSuspense = isSuspense;
6992 exports.isValidElementType = isValidElementType;
6993 exports.typeOf = typeOf;
6994 })();
6995 }
6996
6997
6998 /***/ }),
6999
7000 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
7001 /*!******************************************************************************!*\
7002 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
7003 \******************************************************************************/
7004 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7005
7006 "use strict";
7007
7008
7009 if (false) {} else {
7010 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
7011 }
7012
7013
7014 /***/ }),
7015
7016 /***/ "../node_modules/html-to-image/es/apply-style.js":
7017 /*!*******************************************************!*\
7018 !*** ../node_modules/html-to-image/es/apply-style.js ***!
7019 \*******************************************************/
7020 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7021
7022 "use strict";
7023 __webpack_require__.r(__webpack_exports__);
7024 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7025 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
7026 /* harmony export */ });
7027 function applyStyle(node, options) {
7028 const { style } = node;
7029 if (options.backgroundColor) {
7030 style.backgroundColor = options.backgroundColor;
7031 }
7032 if (options.width) {
7033 style.width = `${options.width}px`;
7034 }
7035 if (options.height) {
7036 style.height = `${options.height}px`;
7037 }
7038 const manual = options.style;
7039 if (manual != null) {
7040 Object.keys(manual).forEach((key) => {
7041 style[key] = manual[key];
7042 });
7043 }
7044 return node;
7045 }
7046 //# sourceMappingURL=apply-style.js.map
7047
7048 /***/ }),
7049
7050 /***/ "../node_modules/html-to-image/es/clone-node.js":
7051 /*!******************************************************!*\
7052 !*** ../node_modules/html-to-image/es/clone-node.js ***!
7053 \******************************************************/
7054 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7055
7056 "use strict";
7057 __webpack_require__.r(__webpack_exports__);
7058 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7059 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
7060 /* harmony export */ });
7061 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
7062 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7063 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7064 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7065
7066
7067
7068
7069 async function cloneCanvasElement(canvas) {
7070 const dataURL = canvas.toDataURL();
7071 if (dataURL === 'data:,') {
7072 return canvas.cloneNode(false);
7073 }
7074 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7075 }
7076 async function cloneVideoElement(video, options) {
7077 if (video.currentSrc) {
7078 const canvas = document.createElement('canvas');
7079 const ctx = canvas.getContext('2d');
7080 canvas.width = video.clientWidth;
7081 canvas.height = video.clientHeight;
7082 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
7083 const dataURL = canvas.toDataURL();
7084 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7085 }
7086 const poster = video.poster;
7087 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
7088 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
7089 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7090 }
7091 async function cloneIFrameElement(iframe) {
7092 var _a;
7093 try {
7094 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
7095 return (await cloneNode(iframe.contentDocument.body, {}, true));
7096 }
7097 }
7098 catch (_b) {
7099 // Failed to clone iframe
7100 }
7101 return iframe.cloneNode(false);
7102 }
7103 async function cloneSingleNode(node, options) {
7104 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
7105 return cloneCanvasElement(node);
7106 }
7107 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
7108 return cloneVideoElement(node, options);
7109 }
7110 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
7111 return cloneIFrameElement(node);
7112 }
7113 return node.cloneNode(false);
7114 }
7115 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
7116 async function cloneChildren(nativeNode, clonedNode, options) {
7117 var _a, _b;
7118 let children = [];
7119 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
7120 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
7121 }
7122 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7123 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
7124 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
7125 }
7126 else {
7127 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
7128 }
7129 if (children.length === 0 ||
7130 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
7131 return clonedNode;
7132 }
7133 await children.reduce((deferred, child) => deferred
7134 .then(() => cloneNode(child, options))
7135 .then((clonedChild) => {
7136 if (clonedChild) {
7137 clonedNode.appendChild(clonedChild);
7138 }
7139 }), Promise.resolve());
7140 return clonedNode;
7141 }
7142 function cloneCSSStyle(nativeNode, clonedNode) {
7143 const targetStyle = clonedNode.style;
7144 if (!targetStyle) {
7145 return;
7146 }
7147 const sourceStyle = window.getComputedStyle(nativeNode);
7148 if (sourceStyle.cssText) {
7149 targetStyle.cssText = sourceStyle.cssText;
7150 targetStyle.transformOrigin = sourceStyle.transformOrigin;
7151 }
7152 else {
7153 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
7154 let value = sourceStyle.getPropertyValue(name);
7155 if (name === 'font-size' && value.endsWith('px')) {
7156 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
7157 value = `${reducedFont}px`;
7158 }
7159 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7160 name === 'display' &&
7161 value === 'inline') {
7162 value = 'block';
7163 }
7164 if (name === 'd' && clonedNode.getAttribute('d')) {
7165 value = `path(${clonedNode.getAttribute('d')})`;
7166 }
7167 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
7168 });
7169 }
7170 }
7171 function cloneInputValue(nativeNode, clonedNode) {
7172 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
7173 clonedNode.innerHTML = nativeNode.value;
7174 }
7175 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
7176 clonedNode.setAttribute('value', nativeNode.value);
7177 }
7178 }
7179 function cloneSelectValue(nativeNode, clonedNode) {
7180 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
7181 const clonedSelect = clonedNode;
7182 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
7183 if (selectedOption) {
7184 selectedOption.setAttribute('selected', '');
7185 }
7186 }
7187 }
7188 function decorate(nativeNode, clonedNode) {
7189 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7190 cloneCSSStyle(nativeNode, clonedNode);
7191 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
7192 cloneInputValue(nativeNode, clonedNode);
7193 cloneSelectValue(nativeNode, clonedNode);
7194 }
7195 return clonedNode;
7196 }
7197 async function ensureSVGSymbols(clone, options) {
7198 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
7199 if (uses.length === 0) {
7200 return clone;
7201 }
7202 const processedDefs = {};
7203 for (let i = 0; i < uses.length; i++) {
7204 const use = uses[i];
7205 const id = use.getAttribute('xlink:href');
7206 if (id) {
7207 const exist = clone.querySelector(id);
7208 const definition = document.querySelector(id);
7209 if (!exist && definition && !processedDefs[id]) {
7210 // eslint-disable-next-line no-await-in-loop
7211 processedDefs[id] = (await cloneNode(definition, options, true));
7212 }
7213 }
7214 }
7215 const nodes = Object.values(processedDefs);
7216 if (nodes.length) {
7217 const ns = 'http://www.w3.org/1999/xhtml';
7218 const svg = document.createElementNS(ns, 'svg');
7219 svg.setAttribute('xmlns', ns);
7220 svg.style.position = 'absolute';
7221 svg.style.width = '0';
7222 svg.style.height = '0';
7223 svg.style.overflow = 'hidden';
7224 svg.style.display = 'none';
7225 const defs = document.createElementNS(ns, 'defs');
7226 svg.appendChild(defs);
7227 for (let i = 0; i < nodes.length; i++) {
7228 defs.appendChild(nodes[i]);
7229 }
7230 clone.appendChild(svg);
7231 }
7232 return clone;
7233 }
7234 async function cloneNode(node, options, isRoot) {
7235 if (!isRoot && options.filter && !options.filter(node)) {
7236 return null;
7237 }
7238 return Promise.resolve(node)
7239 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7240 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7241 .then((clonedNode) => decorate(node, clonedNode))
7242 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7243 }
7244 //# sourceMappingURL=clone-node.js.map
7245
7246 /***/ }),
7247
7248 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7249 /*!*********************************************************!*\
7250 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7251 \*********************************************************/
7252 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7253
7254 "use strict";
7255 __webpack_require__.r(__webpack_exports__);
7256 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7257 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7258 /* harmony export */ });
7259 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7260
7261 function formatCSSText(style) {
7262 const content = style.getPropertyValue('content');
7263 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7264 }
7265 function formatCSSProperties(style) {
7266 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7267 .map((name) => {
7268 const value = style.getPropertyValue(name);
7269 const priority = style.getPropertyPriority(name);
7270 return `${name}: ${value}${priority ? ' !important' : ''};`;
7271 })
7272 .join(' ');
7273 }
7274 function getPseudoElementStyle(className, pseudo, style) {
7275 const selector = `.${className}:${pseudo}`;
7276 const cssText = style.cssText
7277 ? formatCSSText(style)
7278 : formatCSSProperties(style);
7279 return document.createTextNode(`${selector}{${cssText}}`);
7280 }
7281 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7282 const style = window.getComputedStyle(nativeNode, pseudo);
7283 const content = style.getPropertyValue('content');
7284 if (content === '' || content === 'none') {
7285 return;
7286 }
7287 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7288 try {
7289 clonedNode.className = `${clonedNode.className} ${className}`;
7290 }
7291 catch (err) {
7292 return;
7293 }
7294 const styleElement = document.createElement('style');
7295 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7296 clonedNode.appendChild(styleElement);
7297 }
7298 function clonePseudoElements(nativeNode, clonedNode) {
7299 clonePseudoElement(nativeNode, clonedNode, ':before');
7300 clonePseudoElement(nativeNode, clonedNode, ':after');
7301 }
7302 //# sourceMappingURL=clone-pseudos.js.map
7303
7304 /***/ }),
7305
7306 /***/ "../node_modules/html-to-image/es/dataurl.js":
7307 /*!***************************************************!*\
7308 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7309 \***************************************************/
7310 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7311
7312 "use strict";
7313 __webpack_require__.r(__webpack_exports__);
7314 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7315 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7316 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7317 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7318 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7319 /* harmony export */ });
7320 function getContentFromDataUrl(dataURL) {
7321 return dataURL.split(/,/)[1];
7322 }
7323 function isDataUrl(url) {
7324 return url.search(/^(data:)/) !== -1;
7325 }
7326 function makeDataUrl(content, mimeType) {
7327 return `data:${mimeType};base64,${content}`;
7328 }
7329 async function fetchAsDataURL(url, init, process) {
7330 const res = await fetch(url, init);
7331 if (res.status === 404) {
7332 throw new Error(`Resource "${res.url}" not found`);
7333 }
7334 const blob = await res.blob();
7335 return new Promise((resolve, reject) => {
7336 const reader = new FileReader();
7337 reader.onerror = reject;
7338 reader.onloadend = () => {
7339 try {
7340 resolve(process({ res, result: reader.result }));
7341 }
7342 catch (error) {
7343 reject(error);
7344 }
7345 };
7346 reader.readAsDataURL(blob);
7347 });
7348 }
7349 const cache = {};
7350 function getCacheKey(url, contentType, includeQueryParams) {
7351 let key = url.replace(/\?.*/, '');
7352 if (includeQueryParams) {
7353 key = url;
7354 }
7355 // font resource
7356 if (/ttf|otf|eot|woff2?/i.test(key)) {
7357 key = key.replace(/.*\//, '');
7358 }
7359 return contentType ? `[${contentType}]${key}` : key;
7360 }
7361 async function resourceToDataURL(resourceUrl, contentType, options) {
7362 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7363 if (cache[cacheKey] != null) {
7364 return cache[cacheKey];
7365 }
7366 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7367 if (options.cacheBust) {
7368 // eslint-disable-next-line no-param-reassign
7369 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7370 }
7371 let dataURL;
7372 try {
7373 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7374 if (!contentType) {
7375 // eslint-disable-next-line no-param-reassign
7376 contentType = res.headers.get('Content-Type') || '';
7377 }
7378 return getContentFromDataUrl(result);
7379 });
7380 dataURL = makeDataUrl(content, contentType);
7381 }
7382 catch (error) {
7383 dataURL = options.imagePlaceholder || '';
7384 let msg = `Failed to fetch resource: ${resourceUrl}`;
7385 if (error) {
7386 msg = typeof error === 'string' ? error : error.message;
7387 }
7388 if (msg) {
7389 console.warn(msg);
7390 }
7391 }
7392 cache[cacheKey] = dataURL;
7393 return dataURL;
7394 }
7395 //# sourceMappingURL=dataurl.js.map
7396
7397 /***/ }),
7398
7399 /***/ "../node_modules/html-to-image/es/embed-images.js":
7400 /*!********************************************************!*\
7401 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7402 \********************************************************/
7403 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7404
7405 "use strict";
7406 __webpack_require__.r(__webpack_exports__);
7407 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7408 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7409 /* harmony export */ });
7410 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7411 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7412 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7413 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7414
7415
7416
7417
7418 async function embedProp(propName, node, options) {
7419 var _a;
7420 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7421 if (propValue) {
7422 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7423 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7424 return true;
7425 }
7426 return false;
7427 }
7428 async function embedBackground(clonedNode, options) {
7429 if (!(await embedProp('background', clonedNode, options))) {
7430 await embedProp('background-image', clonedNode, options);
7431 }
7432 if (!(await embedProp('mask', clonedNode, options))) {
7433 await embedProp('mask-image', clonedNode, options);
7434 }
7435 }
7436 async function embedImageNode(clonedNode, options) {
7437 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7438 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7439 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7440 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7441 return;
7442 }
7443 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7444 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7445 await new Promise((resolve, reject) => {
7446 clonedNode.onload = resolve;
7447 clonedNode.onerror = reject;
7448 const image = clonedNode;
7449 if (image.decode) {
7450 image.decode = resolve;
7451 }
7452 if (image.loading === 'lazy') {
7453 image.loading = 'eager';
7454 }
7455 if (isImageElement) {
7456 clonedNode.srcset = '';
7457 clonedNode.src = dataURL;
7458 }
7459 else {
7460 clonedNode.href.baseVal = dataURL;
7461 }
7462 });
7463 }
7464 async function embedChildren(clonedNode, options) {
7465 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7466 const deferreds = children.map((child) => embedImages(child, options));
7467 await Promise.all(deferreds).then(() => clonedNode);
7468 }
7469 async function embedImages(clonedNode, options) {
7470 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7471 await embedBackground(clonedNode, options);
7472 await embedImageNode(clonedNode, options);
7473 await embedChildren(clonedNode, options);
7474 }
7475 }
7476 //# sourceMappingURL=embed-images.js.map
7477
7478 /***/ }),
7479
7480 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7481 /*!***********************************************************!*\
7482 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7483 \***********************************************************/
7484 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7485
7486 "use strict";
7487 __webpack_require__.r(__webpack_exports__);
7488 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7489 /* harmony export */ embed: () => (/* binding */ embed),
7490 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7491 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7492 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7493 /* harmony export */ });
7494 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7495 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7496 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7497
7498
7499
7500 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7501 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7502 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7503 function toRegex(url) {
7504 // eslint-disable-next-line no-useless-escape
7505 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7506 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7507 }
7508 function parseURLs(cssText) {
7509 const urls = [];
7510 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7511 urls.push(url);
7512 return raw;
7513 });
7514 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7515 }
7516 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7517 try {
7518 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7519 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7520 let dataURL;
7521 if (getContentFromUrl) {
7522 const content = await getContentFromUrl(resolvedURL);
7523 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7524 }
7525 else {
7526 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7527 }
7528 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7529 }
7530 catch (error) {
7531 // pass
7532 }
7533 return cssText;
7534 }
7535 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7536 return !preferredFontFormat
7537 ? str
7538 : str.replace(FONT_SRC_REGEX, (match) => {
7539 // eslint-disable-next-line no-constant-condition
7540 while (true) {
7541 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7542 if (!format) {
7543 return '';
7544 }
7545 if (format === preferredFontFormat) {
7546 return `src: ${src};`;
7547 }
7548 }
7549 });
7550 }
7551 function shouldEmbed(url) {
7552 return url.search(URL_REGEX) !== -1;
7553 }
7554 async function embedResources(cssText, baseUrl, options) {
7555 if (!shouldEmbed(cssText)) {
7556 return cssText;
7557 }
7558 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7559 const urls = parseURLs(filteredCSSText);
7560 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7561 }
7562 //# sourceMappingURL=embed-resources.js.map
7563
7564 /***/ }),
7565
7566 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7567 /*!**********************************************************!*\
7568 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7569 \**********************************************************/
7570 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7571
7572 "use strict";
7573 __webpack_require__.r(__webpack_exports__);
7574 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7575 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7576 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7577 /* harmony export */ });
7578 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7579 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7580 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7581
7582
7583
7584 const cssFetchCache = {};
7585 async function fetchCSS(url) {
7586 let cache = cssFetchCache[url];
7587 if (cache != null) {
7588 return cache;
7589 }
7590 const res = await fetch(url);
7591 const cssText = await res.text();
7592 cache = { url, cssText };
7593 cssFetchCache[url] = cache;
7594 return cache;
7595 }
7596 async function embedFonts(data, options) {
7597 let cssText = data.cssText;
7598 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7599 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7600 const loadFonts = fontLocs.map(async (loc) => {
7601 let url = loc.replace(regexUrl, '$1');
7602 if (!url.startsWith('https://')) {
7603 url = new URL(url, data.url).href;
7604 }
7605 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7606 cssText = cssText.replace(loc, `url(${result})`);
7607 return [loc, result];
7608 });
7609 });
7610 return Promise.all(loadFonts).then(() => cssText);
7611 }
7612 function parseCSS(source) {
7613 if (source == null) {
7614 return [];
7615 }
7616 const result = [];
7617 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7618 // strip out comments
7619 let cssText = source.replace(commentsRegex, '');
7620 // eslint-disable-next-line prefer-regex-literals
7621 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7622 // eslint-disable-next-line no-constant-condition
7623 while (true) {
7624 const matches = keyframesRegex.exec(cssText);
7625 if (matches === null) {
7626 break;
7627 }
7628 result.push(matches[0]);
7629 }
7630 cssText = cssText.replace(keyframesRegex, '');
7631 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7632 // to match css & media queries together
7633 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7634 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7635 // unified regex
7636 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7637 // eslint-disable-next-line no-constant-condition
7638 while (true) {
7639 let matches = importRegex.exec(cssText);
7640 if (matches === null) {
7641 matches = unifiedRegex.exec(cssText);
7642 if (matches === null) {
7643 break;
7644 }
7645 else {
7646 importRegex.lastIndex = unifiedRegex.lastIndex;
7647 }
7648 }
7649 else {
7650 unifiedRegex.lastIndex = importRegex.lastIndex;
7651 }
7652 result.push(matches[0]);
7653 }
7654 return result;
7655 }
7656 async function getCSSRules(styleSheets, options) {
7657 const ret = [];
7658 const deferreds = [];
7659 // First loop inlines imports
7660 styleSheets.forEach((sheet) => {
7661 if ('cssRules' in sheet) {
7662 try {
7663 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7664 if (item.type === CSSRule.IMPORT_RULE) {
7665 let importIndex = index + 1;
7666 const url = item.href;
7667 const deferred = fetchCSS(url)
7668 .then((metadata) => embedFonts(metadata, options))
7669 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7670 try {
7671 sheet.insertRule(rule, rule.startsWith('@import')
7672 ? (importIndex += 1)
7673 : sheet.cssRules.length);
7674 }
7675 catch (error) {
7676 console.error('Error inserting rule from remote css', {
7677 rule,
7678 error,
7679 });
7680 }
7681 }))
7682 .catch((e) => {
7683 console.error('Error loading remote css', e.toString());
7684 });
7685 deferreds.push(deferred);
7686 }
7687 });
7688 }
7689 catch (e) {
7690 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7691 if (sheet.href != null) {
7692 deferreds.push(fetchCSS(sheet.href)
7693 .then((metadata) => embedFonts(metadata, options))
7694 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7695 inline.insertRule(rule, sheet.cssRules.length);
7696 }))
7697 .catch((err) => {
7698 console.error('Error loading remote stylesheet', err);
7699 }));
7700 }
7701 console.error('Error inlining remote css file', e);
7702 }
7703 }
7704 });
7705 return Promise.all(deferreds).then(() => {
7706 // Second loop parses rules
7707 styleSheets.forEach((sheet) => {
7708 if ('cssRules' in sheet) {
7709 try {
7710 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7711 ret.push(item);
7712 });
7713 }
7714 catch (e) {
7715 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7716 }
7717 }
7718 });
7719 return ret;
7720 });
7721 }
7722 function getWebFontRules(cssRules) {
7723 return cssRules
7724 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7725 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7726 }
7727 async function parseWebFontRules(node, options) {
7728 if (node.ownerDocument == null) {
7729 throw new Error('Provided element is not within a Document');
7730 }
7731 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7732 const cssRules = await getCSSRules(styleSheets, options);
7733 return getWebFontRules(cssRules);
7734 }
7735 async function getWebFontCSS(node, options) {
7736 const rules = await parseWebFontRules(node, options);
7737 const cssTexts = await Promise.all(rules.map((rule) => {
7738 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7739 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7740 }));
7741 return cssTexts.join('\n');
7742 }
7743 async function embedWebFonts(clonedNode, options) {
7744 const cssText = options.fontEmbedCSS != null
7745 ? options.fontEmbedCSS
7746 : options.skipFonts
7747 ? null
7748 : await getWebFontCSS(clonedNode, options);
7749 if (cssText) {
7750 const styleNode = document.createElement('style');
7751 const sytleContent = document.createTextNode(cssText);
7752 styleNode.appendChild(sytleContent);
7753 if (clonedNode.firstChild) {
7754 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7755 }
7756 else {
7757 clonedNode.appendChild(styleNode);
7758 }
7759 }
7760 }
7761 //# sourceMappingURL=embed-webfonts.js.map
7762
7763 /***/ }),
7764
7765 /***/ "../node_modules/html-to-image/es/index.js":
7766 /*!*************************************************!*\
7767 !*** ../node_modules/html-to-image/es/index.js ***!
7768 \*************************************************/
7769 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7770
7771 "use strict";
7772 __webpack_require__.r(__webpack_exports__);
7773 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7774 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7775 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7776 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7777 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7778 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7779 /* harmony export */ toPng: () => (/* binding */ toPng),
7780 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7781 /* harmony export */ });
7782 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7783 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7784 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7785 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7786 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7787
7788
7789
7790
7791
7792 async function toSvg(node, options = {}) {
7793 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7794 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7795 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7796 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7797 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7798 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7799 return datauri;
7800 }
7801 async function toCanvas(node, options = {}) {
7802 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7803 const svg = await toSvg(node, options);
7804 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7805 const canvas = document.createElement('canvas');
7806 const context = canvas.getContext('2d');
7807 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7808 const canvasWidth = options.canvasWidth || width;
7809 const canvasHeight = options.canvasHeight || height;
7810 canvas.width = canvasWidth * ratio;
7811 canvas.height = canvasHeight * ratio;
7812 if (!options.skipAutoScale) {
7813 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7814 }
7815 canvas.style.width = `${canvasWidth}`;
7816 canvas.style.height = `${canvasHeight}`;
7817 if (options.backgroundColor) {
7818 context.fillStyle = options.backgroundColor;
7819 context.fillRect(0, 0, canvas.width, canvas.height);
7820 }
7821 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7822 return canvas;
7823 }
7824 async function toPixelData(node, options = {}) {
7825 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7826 const canvas = await toCanvas(node, options);
7827 const ctx = canvas.getContext('2d');
7828 return ctx.getImageData(0, 0, width, height).data;
7829 }
7830 async function toPng(node, options = {}) {
7831 const canvas = await toCanvas(node, options);
7832 return canvas.toDataURL();
7833 }
7834 async function toJpeg(node, options = {}) {
7835 const canvas = await toCanvas(node, options);
7836 return canvas.toDataURL('image/jpeg', options.quality || 1);
7837 }
7838 async function toBlob(node, options = {}) {
7839 const canvas = await toCanvas(node, options);
7840 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7841 return blob;
7842 }
7843 async function getFontEmbedCSS(node, options = {}) {
7844 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7845 }
7846 //# sourceMappingURL=index.js.map
7847
7848 /***/ }),
7849
7850 /***/ "../node_modules/html-to-image/es/mimes.js":
7851 /*!*************************************************!*\
7852 !*** ../node_modules/html-to-image/es/mimes.js ***!
7853 \*************************************************/
7854 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7855
7856 "use strict";
7857 __webpack_require__.r(__webpack_exports__);
7858 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7859 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7860 /* harmony export */ });
7861 const WOFF = 'application/font-woff';
7862 const JPEG = 'image/jpeg';
7863 const mimes = {
7864 woff: WOFF,
7865 woff2: WOFF,
7866 ttf: 'application/font-truetype',
7867 eot: 'application/vnd.ms-fontobject',
7868 png: 'image/png',
7869 jpg: JPEG,
7870 jpeg: JPEG,
7871 gif: 'image/gif',
7872 tiff: 'image/tiff',
7873 svg: 'image/svg+xml',
7874 webp: 'image/webp',
7875 };
7876 function getExtension(url) {
7877 const match = /\.([^./]*?)$/g.exec(url);
7878 return match ? match[1] : '';
7879 }
7880 function getMimeType(url) {
7881 const extension = getExtension(url).toLowerCase();
7882 return mimes[extension] || '';
7883 }
7884 //# sourceMappingURL=mimes.js.map
7885
7886 /***/ }),
7887
7888 /***/ "../node_modules/html-to-image/es/util.js":
7889 /*!************************************************!*\
7890 !*** ../node_modules/html-to-image/es/util.js ***!
7891 \************************************************/
7892 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7893
7894 "use strict";
7895 __webpack_require__.r(__webpack_exports__);
7896 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7897 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7898 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7899 /* harmony export */ createImage: () => (/* binding */ createImage),
7900 /* harmony export */ delay: () => (/* binding */ delay),
7901 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7902 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7903 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7904 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7905 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7906 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7907 /* harmony export */ toArray: () => (/* binding */ toArray),
7908 /* harmony export */ uuid: () => (/* binding */ uuid)
7909 /* harmony export */ });
7910 function resolveUrl(url, baseUrl) {
7911 // url is absolute already
7912 if (url.match(/^[a-z]+:\/\//i)) {
7913 return url;
7914 }
7915 // url is absolute already, without protocol
7916 if (url.match(/^\/\//)) {
7917 return window.location.protocol + url;
7918 }
7919 // dataURI, mailto:, tel:, etc.
7920 if (url.match(/^[a-z]+:/i)) {
7921 return url;
7922 }
7923 const doc = document.implementation.createHTMLDocument();
7924 const base = doc.createElement('base');
7925 const a = doc.createElement('a');
7926 doc.head.appendChild(base);
7927 doc.body.appendChild(a);
7928 if (baseUrl) {
7929 base.href = baseUrl;
7930 }
7931 a.href = url;
7932 return a.href;
7933 }
7934 const uuid = (() => {
7935 // generate uuid for className of pseudo elements.
7936 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7937 let counter = 0;
7938 // ref: http://stackoverflow.com/a/6248722/2519373
7939 const random = () =>
7940 // eslint-disable-next-line no-bitwise
7941 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7942 return () => {
7943 counter += 1;
7944 return `u${random()}${counter}`;
7945 };
7946 })();
7947 function delay(ms) {
7948 return (args) => new Promise((resolve) => {
7949 setTimeout(() => resolve(args), ms);
7950 });
7951 }
7952 function toArray(arrayLike) {
7953 const arr = [];
7954 for (let i = 0, l = arrayLike.length; i < l; i++) {
7955 arr.push(arrayLike[i]);
7956 }
7957 return arr;
7958 }
7959 function px(node, styleProperty) {
7960 const win = node.ownerDocument.defaultView || window;
7961 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7962 return val ? parseFloat(val.replace('px', '')) : 0;
7963 }
7964 function getNodeWidth(node) {
7965 const leftBorder = px(node, 'border-left-width');
7966 const rightBorder = px(node, 'border-right-width');
7967 return node.clientWidth + leftBorder + rightBorder;
7968 }
7969 function getNodeHeight(node) {
7970 const topBorder = px(node, 'border-top-width');
7971 const bottomBorder = px(node, 'border-bottom-width');
7972 return node.clientHeight + topBorder + bottomBorder;
7973 }
7974 function getImageSize(targetNode, options = {}) {
7975 const width = options.width || getNodeWidth(targetNode);
7976 const height = options.height || getNodeHeight(targetNode);
7977 return { width, height };
7978 }
7979 function getPixelRatio() {
7980 let ratio;
7981 let FINAL_PROCESS;
7982 try {
7983 FINAL_PROCESS = process;
7984 }
7985 catch (e) {
7986 // pass
7987 }
7988 const val = FINAL_PROCESS && FINAL_PROCESS.env
7989 ? FINAL_PROCESS.env.devicePixelRatio
7990 : null;
7991 if (val) {
7992 ratio = parseInt(val, 10);
7993 if (Number.isNaN(ratio)) {
7994 ratio = 1;
7995 }
7996 }
7997 return ratio || window.devicePixelRatio || 1;
7998 }
7999 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
8000 const canvasDimensionLimit = 16384;
8001 function checkCanvasDimensions(canvas) {
8002 if (canvas.width > canvasDimensionLimit ||
8003 canvas.height > canvasDimensionLimit) {
8004 if (canvas.width > canvasDimensionLimit &&
8005 canvas.height > canvasDimensionLimit) {
8006 if (canvas.width > canvas.height) {
8007 canvas.height *= canvasDimensionLimit / canvas.width;
8008 canvas.width = canvasDimensionLimit;
8009 }
8010 else {
8011 canvas.width *= canvasDimensionLimit / canvas.height;
8012 canvas.height = canvasDimensionLimit;
8013 }
8014 }
8015 else if (canvas.width > canvasDimensionLimit) {
8016 canvas.height *= canvasDimensionLimit / canvas.width;
8017 canvas.width = canvasDimensionLimit;
8018 }
8019 else {
8020 canvas.width *= canvasDimensionLimit / canvas.height;
8021 canvas.height = canvasDimensionLimit;
8022 }
8023 }
8024 }
8025 function canvasToBlob(canvas, options = {}) {
8026 if (canvas.toBlob) {
8027 return new Promise((resolve) => {
8028 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
8029 });
8030 }
8031 return new Promise((resolve) => {
8032 const binaryString = window.atob(canvas
8033 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
8034 .split(',')[1]);
8035 const len = binaryString.length;
8036 const binaryArray = new Uint8Array(len);
8037 for (let i = 0; i < len; i += 1) {
8038 binaryArray[i] = binaryString.charCodeAt(i);
8039 }
8040 resolve(new Blob([binaryArray], {
8041 type: options.type ? options.type : 'image/png',
8042 }));
8043 });
8044 }
8045 function createImage(url) {
8046 return new Promise((resolve, reject) => {
8047 const img = new Image();
8048 img.decode = () => resolve(img);
8049 img.onload = () => resolve(img);
8050 img.onerror = reject;
8051 img.crossOrigin = 'anonymous';
8052 img.decoding = 'async';
8053 img.src = url;
8054 });
8055 }
8056 async function svgToDataURL(svg) {
8057 return Promise.resolve()
8058 .then(() => new XMLSerializer().serializeToString(svg))
8059 .then(encodeURIComponent)
8060 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
8061 }
8062 async function nodeToDataURL(node, width, height) {
8063 const xmlns = 'http://www.w3.org/2000/svg';
8064 const svg = document.createElementNS(xmlns, 'svg');
8065 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
8066 svg.setAttribute('width', `${width}`);
8067 svg.setAttribute('height', `${height}`);
8068 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
8069 foreignObject.setAttribute('width', '100%');
8070 foreignObject.setAttribute('height', '100%');
8071 foreignObject.setAttribute('x', '0');
8072 foreignObject.setAttribute('y', '0');
8073 foreignObject.setAttribute('externalResourcesRequired', 'true');
8074 svg.appendChild(foreignObject);
8075 foreignObject.appendChild(node);
8076 return svgToDataURL(svg);
8077 }
8078 const isInstanceOfElement = (node, instance) => {
8079 if (node instanceof instance)
8080 return true;
8081 const nodePrototype = Object.getPrototypeOf(node);
8082 if (nodePrototype === null)
8083 return false;
8084 return (nodePrototype.constructor.name === instance.name ||
8085 isInstanceOfElement(nodePrototype, instance));
8086 };
8087 //# sourceMappingURL=util.js.map
8088
8089 /***/ }),
8090
8091 /***/ "../node_modules/object-assign/index.js":
8092 /*!**********************************************!*\
8093 !*** ../node_modules/object-assign/index.js ***!
8094 \**********************************************/
8095 /***/ ((module) => {
8096
8097 "use strict";
8098 /*
8099 object-assign
8100 (c) Sindre Sorhus
8101 @license MIT
8102 */
8103
8104
8105 /* eslint-disable no-unused-vars */
8106 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
8107 var hasOwnProperty = Object.prototype.hasOwnProperty;
8108 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8109
8110 function toObject(val) {
8111 if (val === null || val === undefined) {
8112 throw new TypeError('Object.assign cannot be called with null or undefined');
8113 }
8114
8115 return Object(val);
8116 }
8117
8118 function shouldUseNative() {
8119 try {
8120 if (!Object.assign) {
8121 return false;
8122 }
8123
8124 // Detect buggy property enumeration order in older V8 versions.
8125
8126 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
8127 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
8128 test1[5] = 'de';
8129 if (Object.getOwnPropertyNames(test1)[0] === '5') {
8130 return false;
8131 }
8132
8133 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8134 var test2 = {};
8135 for (var i = 0; i < 10; i++) {
8136 test2['_' + String.fromCharCode(i)] = i;
8137 }
8138 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
8139 return test2[n];
8140 });
8141 if (order2.join('') !== '0123456789') {
8142 return false;
8143 }
8144
8145 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8146 var test3 = {};
8147 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
8148 test3[letter] = letter;
8149 });
8150 if (Object.keys(Object.assign({}, test3)).join('') !==
8151 'abcdefghijklmnopqrst') {
8152 return false;
8153 }
8154
8155 return true;
8156 } catch (err) {
8157 // We don't expect any of the above to throw, but better to be safe.
8158 return false;
8159 }
8160 }
8161
8162 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
8163 var from;
8164 var to = toObject(target);
8165 var symbols;
8166
8167 for (var s = 1; s < arguments.length; s++) {
8168 from = Object(arguments[s]);
8169
8170 for (var key in from) {
8171 if (hasOwnProperty.call(from, key)) {
8172 to[key] = from[key];
8173 }
8174 }
8175
8176 if (getOwnPropertySymbols) {
8177 symbols = getOwnPropertySymbols(from);
8178 for (var i = 0; i < symbols.length; i++) {
8179 if (propIsEnumerable.call(from, symbols[i])) {
8180 to[symbols[i]] = from[symbols[i]];
8181 }
8182 }
8183 }
8184 }
8185
8186 return to;
8187 };
8188
8189
8190 /***/ }),
8191
8192 /***/ "../node_modules/prop-types/checkPropTypes.js":
8193 /*!****************************************************!*\
8194 !*** ../node_modules/prop-types/checkPropTypes.js ***!
8195 \****************************************************/
8196 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8197
8198 "use strict";
8199 /**
8200 * Copyright (c) 2013-present, Facebook, Inc.
8201 *
8202 * This source code is licensed under the MIT license found in the
8203 * LICENSE file in the root directory of this source tree.
8204 */
8205
8206
8207
8208 var printWarning = function() {};
8209
8210 if (true) {
8211 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8212 var loggedTypeFailures = {};
8213 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8214
8215 printWarning = function(text) {
8216 var message = 'Warning: ' + text;
8217 if (typeof console !== 'undefined') {
8218 console.error(message);
8219 }
8220 try {
8221 // --- Welcome to debugging React ---
8222 // This error was thrown as a convenience so that you can use this stack
8223 // to find the callsite that caused this warning to fire.
8224 throw new Error(message);
8225 } catch (x) { /**/ }
8226 };
8227 }
8228
8229 /**
8230 * Assert that the values match with the type specs.
8231 * Error messages are memorized and will only be shown once.
8232 *
8233 * @param {object} typeSpecs Map of name to a ReactPropType
8234 * @param {object} values Runtime values that need to be type-checked
8235 * @param {string} location e.g. "prop", "context", "child context"
8236 * @param {string} componentName Name of the component for error messages.
8237 * @param {?Function} getStack Returns the component stack.
8238 * @private
8239 */
8240 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8241 if (true) {
8242 for (var typeSpecName in typeSpecs) {
8243 if (has(typeSpecs, typeSpecName)) {
8244 var error;
8245 // Prop type validation may throw. In case they do, we don't want to
8246 // fail the render phase where it didn't fail before. So we log it.
8247 // After these have been cleaned up, we'll let them throw.
8248 try {
8249 // This is intentionally an invariant that gets caught. It's the same
8250 // behavior as without this statement except with a better message.
8251 if (typeof typeSpecs[typeSpecName] !== 'function') {
8252 var err = Error(
8253 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8254 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8255 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8256 );
8257 err.name = 'Invariant Violation';
8258 throw err;
8259 }
8260 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8261 } catch (ex) {
8262 error = ex;
8263 }
8264 if (error && !(error instanceof Error)) {
8265 printWarning(
8266 (componentName || 'React class') + ': type specification of ' +
8267 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8268 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8269 'You may have forgotten to pass an argument to the type checker ' +
8270 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8271 'shape all require an argument).'
8272 );
8273 }
8274 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8275 // Only monitor this failure once because there tends to be a lot of the
8276 // same error.
8277 loggedTypeFailures[error.message] = true;
8278
8279 var stack = getStack ? getStack() : '';
8280
8281 printWarning(
8282 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8283 );
8284 }
8285 }
8286 }
8287 }
8288 }
8289
8290 /**
8291 * Resets warning cache when testing.
8292 *
8293 * @private
8294 */
8295 checkPropTypes.resetWarningCache = function() {
8296 if (true) {
8297 loggedTypeFailures = {};
8298 }
8299 }
8300
8301 module.exports = checkPropTypes;
8302
8303
8304 /***/ }),
8305
8306 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8307 /*!*************************************************************!*\
8308 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8309 \*************************************************************/
8310 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8311
8312 "use strict";
8313 /**
8314 * Copyright (c) 2013-present, Facebook, Inc.
8315 *
8316 * This source code is licensed under the MIT license found in the
8317 * LICENSE file in the root directory of this source tree.
8318 */
8319
8320
8321
8322 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8323 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8324
8325 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8326 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8327 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8328
8329 var printWarning = function() {};
8330
8331 if (true) {
8332 printWarning = function(text) {
8333 var message = 'Warning: ' + text;
8334 if (typeof console !== 'undefined') {
8335 console.error(message);
8336 }
8337 try {
8338 // --- Welcome to debugging React ---
8339 // This error was thrown as a convenience so that you can use this stack
8340 // to find the callsite that caused this warning to fire.
8341 throw new Error(message);
8342 } catch (x) {}
8343 };
8344 }
8345
8346 function emptyFunctionThatReturnsNull() {
8347 return null;
8348 }
8349
8350 module.exports = function(isValidElement, throwOnDirectAccess) {
8351 /* global Symbol */
8352 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8353 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8354
8355 /**
8356 * Returns the iterator method function contained on the iterable object.
8357 *
8358 * Be sure to invoke the function with the iterable as context:
8359 *
8360 * var iteratorFn = getIteratorFn(myIterable);
8361 * if (iteratorFn) {
8362 * var iterator = iteratorFn.call(myIterable);
8363 * ...
8364 * }
8365 *
8366 * @param {?object} maybeIterable
8367 * @return {?function}
8368 */
8369 function getIteratorFn(maybeIterable) {
8370 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8371 if (typeof iteratorFn === 'function') {
8372 return iteratorFn;
8373 }
8374 }
8375
8376 /**
8377 * Collection of methods that allow declaration and validation of props that are
8378 * supplied to React components. Example usage:
8379 *
8380 * var Props = require('ReactPropTypes');
8381 * var MyArticle = React.createClass({
8382 * propTypes: {
8383 * // An optional string prop named "description".
8384 * description: Props.string,
8385 *
8386 * // A required enum prop named "category".
8387 * category: Props.oneOf(['News','Photos']).isRequired,
8388 *
8389 * // A prop named "dialog" that requires an instance of Dialog.
8390 * dialog: Props.instanceOf(Dialog).isRequired
8391 * },
8392 * render: function() { ... }
8393 * });
8394 *
8395 * A more formal specification of how these methods are used:
8396 *
8397 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8398 * decl := ReactPropTypes.{type}(.isRequired)?
8399 *
8400 * Each and every declaration produces a function with the same signature. This
8401 * allows the creation of custom validation functions. For example:
8402 *
8403 * var MyLink = React.createClass({
8404 * propTypes: {
8405 * // An optional string or URI prop named "href".
8406 * href: function(props, propName, componentName) {
8407 * var propValue = props[propName];
8408 * if (propValue != null && typeof propValue !== 'string' &&
8409 * !(propValue instanceof URI)) {
8410 * return new Error(
8411 * 'Expected a string or an URI for ' + propName + ' in ' +
8412 * componentName
8413 * );
8414 * }
8415 * }
8416 * },
8417 * render: function() {...}
8418 * });
8419 *
8420 * @internal
8421 */
8422
8423 var ANONYMOUS = '<<anonymous>>';
8424
8425 // Important!
8426 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8427 var ReactPropTypes = {
8428 array: createPrimitiveTypeChecker('array'),
8429 bigint: createPrimitiveTypeChecker('bigint'),
8430 bool: createPrimitiveTypeChecker('boolean'),
8431 func: createPrimitiveTypeChecker('function'),
8432 number: createPrimitiveTypeChecker('number'),
8433 object: createPrimitiveTypeChecker('object'),
8434 string: createPrimitiveTypeChecker('string'),
8435 symbol: createPrimitiveTypeChecker('symbol'),
8436
8437 any: createAnyTypeChecker(),
8438 arrayOf: createArrayOfTypeChecker,
8439 element: createElementTypeChecker(),
8440 elementType: createElementTypeTypeChecker(),
8441 instanceOf: createInstanceTypeChecker,
8442 node: createNodeChecker(),
8443 objectOf: createObjectOfTypeChecker,
8444 oneOf: createEnumTypeChecker,
8445 oneOfType: createUnionTypeChecker,
8446 shape: createShapeTypeChecker,
8447 exact: createStrictShapeTypeChecker,
8448 };
8449
8450 /**
8451 * inlined Object.is polyfill to avoid requiring consumers ship their own
8452 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8453 */
8454 /*eslint-disable no-self-compare*/
8455 function is(x, y) {
8456 // SameValue algorithm
8457 if (x === y) {
8458 // Steps 1-5, 7-10
8459 // Steps 6.b-6.e: +0 != -0
8460 return x !== 0 || 1 / x === 1 / y;
8461 } else {
8462 // Step 6.a: NaN == NaN
8463 return x !== x && y !== y;
8464 }
8465 }
8466 /*eslint-enable no-self-compare*/
8467
8468 /**
8469 * We use an Error-like object for backward compatibility as people may call
8470 * PropTypes directly and inspect their output. However, we don't use real
8471 * Errors anymore. We don't inspect their stack anyway, and creating them
8472 * is prohibitively expensive if they are created too often, such as what
8473 * happens in oneOfType() for any type before the one that matched.
8474 */
8475 function PropTypeError(message, data) {
8476 this.message = message;
8477 this.data = data && typeof data === 'object' ? data: {};
8478 this.stack = '';
8479 }
8480 // Make `instanceof Error` still work for returned errors.
8481 PropTypeError.prototype = Error.prototype;
8482
8483 function createChainableTypeChecker(validate) {
8484 if (true) {
8485 var manualPropTypeCallCache = {};
8486 var manualPropTypeWarningCount = 0;
8487 }
8488 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8489 componentName = componentName || ANONYMOUS;
8490 propFullName = propFullName || propName;
8491
8492 if (secret !== ReactPropTypesSecret) {
8493 if (throwOnDirectAccess) {
8494 // New behavior only for users of `prop-types` package
8495 var err = new Error(
8496 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8497 'Use `PropTypes.checkPropTypes()` to call them. ' +
8498 'Read more at http://fb.me/use-check-prop-types'
8499 );
8500 err.name = 'Invariant Violation';
8501 throw err;
8502 } else if ( true && typeof console !== 'undefined') {
8503 // Old behavior for people using React.PropTypes
8504 var cacheKey = componentName + ':' + propName;
8505 if (
8506 !manualPropTypeCallCache[cacheKey] &&
8507 // Avoid spamming the console because they are often not actionable except for lib authors
8508 manualPropTypeWarningCount < 3
8509 ) {
8510 printWarning(
8511 'You are manually calling a React.PropTypes validation ' +
8512 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8513 'and will throw in the standalone `prop-types` package. ' +
8514 'You may be seeing this warning due to a third-party PropTypes ' +
8515 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8516 );
8517 manualPropTypeCallCache[cacheKey] = true;
8518 manualPropTypeWarningCount++;
8519 }
8520 }
8521 }
8522 if (props[propName] == null) {
8523 if (isRequired) {
8524 if (props[propName] === null) {
8525 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8526 }
8527 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8528 }
8529 return null;
8530 } else {
8531 return validate(props, propName, componentName, location, propFullName);
8532 }
8533 }
8534
8535 var chainedCheckType = checkType.bind(null, false);
8536 chainedCheckType.isRequired = checkType.bind(null, true);
8537
8538 return chainedCheckType;
8539 }
8540
8541 function createPrimitiveTypeChecker(expectedType) {
8542 function validate(props, propName, componentName, location, propFullName, secret) {
8543 var propValue = props[propName];
8544 var propType = getPropType(propValue);
8545 if (propType !== expectedType) {
8546 // `propValue` being instance of, say, date/regexp, pass the 'object'
8547 // check, but we can offer a more precise error message here rather than
8548 // 'of type `object`'.
8549 var preciseType = getPreciseType(propValue);
8550
8551 return new PropTypeError(
8552 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8553 {expectedType: expectedType}
8554 );
8555 }
8556 return null;
8557 }
8558 return createChainableTypeChecker(validate);
8559 }
8560
8561 function createAnyTypeChecker() {
8562 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8563 }
8564
8565 function createArrayOfTypeChecker(typeChecker) {
8566 function validate(props, propName, componentName, location, propFullName) {
8567 if (typeof typeChecker !== 'function') {
8568 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8569 }
8570 var propValue = props[propName];
8571 if (!Array.isArray(propValue)) {
8572 var propType = getPropType(propValue);
8573 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8574 }
8575 for (var i = 0; i < propValue.length; i++) {
8576 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8577 if (error instanceof Error) {
8578 return error;
8579 }
8580 }
8581 return null;
8582 }
8583 return createChainableTypeChecker(validate);
8584 }
8585
8586 function createElementTypeChecker() {
8587 function validate(props, propName, componentName, location, propFullName) {
8588 var propValue = props[propName];
8589 if (!isValidElement(propValue)) {
8590 var propType = getPropType(propValue);
8591 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8592 }
8593 return null;
8594 }
8595 return createChainableTypeChecker(validate);
8596 }
8597
8598 function createElementTypeTypeChecker() {
8599 function validate(props, propName, componentName, location, propFullName) {
8600 var propValue = props[propName];
8601 if (!ReactIs.isValidElementType(propValue)) {
8602 var propType = getPropType(propValue);
8603 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8604 }
8605 return null;
8606 }
8607 return createChainableTypeChecker(validate);
8608 }
8609
8610 function createInstanceTypeChecker(expectedClass) {
8611 function validate(props, propName, componentName, location, propFullName) {
8612 if (!(props[propName] instanceof expectedClass)) {
8613 var expectedClassName = expectedClass.name || ANONYMOUS;
8614 var actualClassName = getClassName(props[propName]);
8615 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8616 }
8617 return null;
8618 }
8619 return createChainableTypeChecker(validate);
8620 }
8621
8622 function createEnumTypeChecker(expectedValues) {
8623 if (!Array.isArray(expectedValues)) {
8624 if (true) {
8625 if (arguments.length > 1) {
8626 printWarning(
8627 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8628 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8629 );
8630 } else {
8631 printWarning('Invalid argument supplied to oneOf, expected an array.');
8632 }
8633 }
8634 return emptyFunctionThatReturnsNull;
8635 }
8636
8637 function validate(props, propName, componentName, location, propFullName) {
8638 var propValue = props[propName];
8639 for (var i = 0; i < expectedValues.length; i++) {
8640 if (is(propValue, expectedValues[i])) {
8641 return null;
8642 }
8643 }
8644
8645 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8646 var type = getPreciseType(value);
8647 if (type === 'symbol') {
8648 return String(value);
8649 }
8650 return value;
8651 });
8652 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8653 }
8654 return createChainableTypeChecker(validate);
8655 }
8656
8657 function createObjectOfTypeChecker(typeChecker) {
8658 function validate(props, propName, componentName, location, propFullName) {
8659 if (typeof typeChecker !== 'function') {
8660 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8661 }
8662 var propValue = props[propName];
8663 var propType = getPropType(propValue);
8664 if (propType !== 'object') {
8665 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8666 }
8667 for (var key in propValue) {
8668 if (has(propValue, key)) {
8669 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8670 if (error instanceof Error) {
8671 return error;
8672 }
8673 }
8674 }
8675 return null;
8676 }
8677 return createChainableTypeChecker(validate);
8678 }
8679
8680 function createUnionTypeChecker(arrayOfTypeCheckers) {
8681 if (!Array.isArray(arrayOfTypeCheckers)) {
8682 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8683 return emptyFunctionThatReturnsNull;
8684 }
8685
8686 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8687 var checker = arrayOfTypeCheckers[i];
8688 if (typeof checker !== 'function') {
8689 printWarning(
8690 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8691 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8692 );
8693 return emptyFunctionThatReturnsNull;
8694 }
8695 }
8696
8697 function validate(props, propName, componentName, location, propFullName) {
8698 var expectedTypes = [];
8699 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8700 var checker = arrayOfTypeCheckers[i];
8701 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8702 if (checkerResult == null) {
8703 return null;
8704 }
8705 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8706 expectedTypes.push(checkerResult.data.expectedType);
8707 }
8708 }
8709 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8710 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8711 }
8712 return createChainableTypeChecker(validate);
8713 }
8714
8715 function createNodeChecker() {
8716 function validate(props, propName, componentName, location, propFullName) {
8717 if (!isNode(props[propName])) {
8718 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8719 }
8720 return null;
8721 }
8722 return createChainableTypeChecker(validate);
8723 }
8724
8725 function invalidValidatorError(componentName, location, propFullName, key, type) {
8726 return new PropTypeError(
8727 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8728 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8729 );
8730 }
8731
8732 function createShapeTypeChecker(shapeTypes) {
8733 function validate(props, propName, componentName, location, propFullName) {
8734 var propValue = props[propName];
8735 var propType = getPropType(propValue);
8736 if (propType !== 'object') {
8737 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8738 }
8739 for (var key in shapeTypes) {
8740 var checker = shapeTypes[key];
8741 if (typeof checker !== 'function') {
8742 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8743 }
8744 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8745 if (error) {
8746 return error;
8747 }
8748 }
8749 return null;
8750 }
8751 return createChainableTypeChecker(validate);
8752 }
8753
8754 function createStrictShapeTypeChecker(shapeTypes) {
8755 function validate(props, propName, componentName, location, propFullName) {
8756 var propValue = props[propName];
8757 var propType = getPropType(propValue);
8758 if (propType !== 'object') {
8759 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8760 }
8761 // We need to check all keys in case some are required but missing from props.
8762 var allKeys = assign({}, props[propName], shapeTypes);
8763 for (var key in allKeys) {
8764 var checker = shapeTypes[key];
8765 if (has(shapeTypes, key) && typeof checker !== 'function') {
8766 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8767 }
8768 if (!checker) {
8769 return new PropTypeError(
8770 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8771 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8772 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8773 );
8774 }
8775 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8776 if (error) {
8777 return error;
8778 }
8779 }
8780 return null;
8781 }
8782
8783 return createChainableTypeChecker(validate);
8784 }
8785
8786 function isNode(propValue) {
8787 switch (typeof propValue) {
8788 case 'number':
8789 case 'string':
8790 case 'undefined':
8791 return true;
8792 case 'boolean':
8793 return !propValue;
8794 case 'object':
8795 if (Array.isArray(propValue)) {
8796 return propValue.every(isNode);
8797 }
8798 if (propValue === null || isValidElement(propValue)) {
8799 return true;
8800 }
8801
8802 var iteratorFn = getIteratorFn(propValue);
8803 if (iteratorFn) {
8804 var iterator = iteratorFn.call(propValue);
8805 var step;
8806 if (iteratorFn !== propValue.entries) {
8807 while (!(step = iterator.next()).done) {
8808 if (!isNode(step.value)) {
8809 return false;
8810 }
8811 }
8812 } else {
8813 // Iterator will provide entry [k,v] tuples rather than values.
8814 while (!(step = iterator.next()).done) {
8815 var entry = step.value;
8816 if (entry) {
8817 if (!isNode(entry[1])) {
8818 return false;
8819 }
8820 }
8821 }
8822 }
8823 } else {
8824 return false;
8825 }
8826
8827 return true;
8828 default:
8829 return false;
8830 }
8831 }
8832
8833 function isSymbol(propType, propValue) {
8834 // Native Symbol.
8835 if (propType === 'symbol') {
8836 return true;
8837 }
8838
8839 // falsy value can't be a Symbol
8840 if (!propValue) {
8841 return false;
8842 }
8843
8844 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8845 if (propValue['@@toStringTag'] === 'Symbol') {
8846 return true;
8847 }
8848
8849 // Fallback for non-spec compliant Symbols which are polyfilled.
8850 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8851 return true;
8852 }
8853
8854 return false;
8855 }
8856
8857 // Equivalent of `typeof` but with special handling for array and regexp.
8858 function getPropType(propValue) {
8859 var propType = typeof propValue;
8860 if (Array.isArray(propValue)) {
8861 return 'array';
8862 }
8863 if (propValue instanceof RegExp) {
8864 // Old webkits (at least until Android 4.0) return 'function' rather than
8865 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8866 // passes PropTypes.object.
8867 return 'object';
8868 }
8869 if (isSymbol(propType, propValue)) {
8870 return 'symbol';
8871 }
8872 return propType;
8873 }
8874
8875 // This handles more types than `getPropType`. Only used for error messages.
8876 // See `createPrimitiveTypeChecker`.
8877 function getPreciseType(propValue) {
8878 if (typeof propValue === 'undefined' || propValue === null) {
8879 return '' + propValue;
8880 }
8881 var propType = getPropType(propValue);
8882 if (propType === 'object') {
8883 if (propValue instanceof Date) {
8884 return 'date';
8885 } else if (propValue instanceof RegExp) {
8886 return 'regexp';
8887 }
8888 }
8889 return propType;
8890 }
8891
8892 // Returns a string that is postfixed to a warning about an invalid type.
8893 // For example, "undefined" or "of type array"
8894 function getPostfixForTypeWarning(value) {
8895 var type = getPreciseType(value);
8896 switch (type) {
8897 case 'array':
8898 case 'object':
8899 return 'an ' + type;
8900 case 'boolean':
8901 case 'date':
8902 case 'regexp':
8903 return 'a ' + type;
8904 default:
8905 return type;
8906 }
8907 }
8908
8909 // Returns class name of the object, if any.
8910 function getClassName(propValue) {
8911 if (!propValue.constructor || !propValue.constructor.name) {
8912 return ANONYMOUS;
8913 }
8914 return propValue.constructor.name;
8915 }
8916
8917 ReactPropTypes.checkPropTypes = checkPropTypes;
8918 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8919 ReactPropTypes.PropTypes = ReactPropTypes;
8920
8921 return ReactPropTypes;
8922 };
8923
8924
8925 /***/ }),
8926
8927 /***/ "../node_modules/prop-types/index.js":
8928 /*!*******************************************!*\
8929 !*** ../node_modules/prop-types/index.js ***!
8930 \*******************************************/
8931 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8932
8933 /**
8934 * Copyright (c) 2013-present, Facebook, Inc.
8935 *
8936 * This source code is licensed under the MIT license found in the
8937 * LICENSE file in the root directory of this source tree.
8938 */
8939
8940 if (true) {
8941 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8942
8943 // By explicitly using `prop-types` you are opting into new development behavior.
8944 // http://fb.me/prop-types-in-prod
8945 var throwOnDirectAccess = true;
8946 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8947 } else {}
8948
8949
8950 /***/ }),
8951
8952 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8953 /*!**************************************************************!*\
8954 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8955 \**************************************************************/
8956 /***/ ((module) => {
8957
8958 "use strict";
8959 /**
8960 * Copyright (c) 2013-present, Facebook, Inc.
8961 *
8962 * This source code is licensed under the MIT license found in the
8963 * LICENSE file in the root directory of this source tree.
8964 */
8965
8966
8967
8968 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8969
8970 module.exports = ReactPropTypesSecret;
8971
8972
8973 /***/ }),
8974
8975 /***/ "../node_modules/prop-types/lib/has.js":
8976 /*!*********************************************!*\
8977 !*** ../node_modules/prop-types/lib/has.js ***!
8978 \*********************************************/
8979 /***/ ((module) => {
8980
8981 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8982
8983
8984 /***/ }),
8985
8986 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8987 /*!************************************************************************************!*\
8988 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8989 \************************************************************************************/
8990 /***/ ((__unused_webpack_module, exports) => {
8991
8992 "use strict";
8993 /** @license React v16.13.1
8994 * react-is.development.js
8995 *
8996 * Copyright (c) Facebook, Inc. and its affiliates.
8997 *
8998 * This source code is licensed under the MIT license found in the
8999 * LICENSE file in the root directory of this source tree.
9000 */
9001
9002
9003
9004
9005
9006 if (true) {
9007 (function() {
9008 'use strict';
9009
9010 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
9011 // nor polyfill, then a plain number is used for performance.
9012 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
9013 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
9014 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
9015 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
9016 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
9017 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
9018 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
9019 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
9020 // (unstable) APIs that have been removed. Can we remove the symbols?
9021
9022 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
9023 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
9024 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
9025 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
9026 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
9027 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
9028 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
9029 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
9030 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
9031 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
9032 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
9033
9034 function isValidElementType(type) {
9035 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
9036 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);
9037 }
9038
9039 function typeOf(object) {
9040 if (typeof object === 'object' && object !== null) {
9041 var $$typeof = object.$$typeof;
9042
9043 switch ($$typeof) {
9044 case REACT_ELEMENT_TYPE:
9045 var type = object.type;
9046
9047 switch (type) {
9048 case REACT_ASYNC_MODE_TYPE:
9049 case REACT_CONCURRENT_MODE_TYPE:
9050 case REACT_FRAGMENT_TYPE:
9051 case REACT_PROFILER_TYPE:
9052 case REACT_STRICT_MODE_TYPE:
9053 case REACT_SUSPENSE_TYPE:
9054 return type;
9055
9056 default:
9057 var $$typeofType = type && type.$$typeof;
9058
9059 switch ($$typeofType) {
9060 case REACT_CONTEXT_TYPE:
9061 case REACT_FORWARD_REF_TYPE:
9062 case REACT_LAZY_TYPE:
9063 case REACT_MEMO_TYPE:
9064 case REACT_PROVIDER_TYPE:
9065 return $$typeofType;
9066
9067 default:
9068 return $$typeof;
9069 }
9070
9071 }
9072
9073 case REACT_PORTAL_TYPE:
9074 return $$typeof;
9075 }
9076 }
9077
9078 return undefined;
9079 } // AsyncMode is deprecated along with isAsyncMode
9080
9081 var AsyncMode = REACT_ASYNC_MODE_TYPE;
9082 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9083 var ContextConsumer = REACT_CONTEXT_TYPE;
9084 var ContextProvider = REACT_PROVIDER_TYPE;
9085 var Element = REACT_ELEMENT_TYPE;
9086 var ForwardRef = REACT_FORWARD_REF_TYPE;
9087 var Fragment = REACT_FRAGMENT_TYPE;
9088 var Lazy = REACT_LAZY_TYPE;
9089 var Memo = REACT_MEMO_TYPE;
9090 var Portal = REACT_PORTAL_TYPE;
9091 var Profiler = REACT_PROFILER_TYPE;
9092 var StrictMode = REACT_STRICT_MODE_TYPE;
9093 var Suspense = REACT_SUSPENSE_TYPE;
9094 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
9095
9096 function isAsyncMode(object) {
9097 {
9098 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9099 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
9100
9101 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.');
9102 }
9103 }
9104
9105 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9106 }
9107 function isConcurrentMode(object) {
9108 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9109 }
9110 function isContextConsumer(object) {
9111 return typeOf(object) === REACT_CONTEXT_TYPE;
9112 }
9113 function isContextProvider(object) {
9114 return typeOf(object) === REACT_PROVIDER_TYPE;
9115 }
9116 function isElement(object) {
9117 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9118 }
9119 function isForwardRef(object) {
9120 return typeOf(object) === REACT_FORWARD_REF_TYPE;
9121 }
9122 function isFragment(object) {
9123 return typeOf(object) === REACT_FRAGMENT_TYPE;
9124 }
9125 function isLazy(object) {
9126 return typeOf(object) === REACT_LAZY_TYPE;
9127 }
9128 function isMemo(object) {
9129 return typeOf(object) === REACT_MEMO_TYPE;
9130 }
9131 function isPortal(object) {
9132 return typeOf(object) === REACT_PORTAL_TYPE;
9133 }
9134 function isProfiler(object) {
9135 return typeOf(object) === REACT_PROFILER_TYPE;
9136 }
9137 function isStrictMode(object) {
9138 return typeOf(object) === REACT_STRICT_MODE_TYPE;
9139 }
9140 function isSuspense(object) {
9141 return typeOf(object) === REACT_SUSPENSE_TYPE;
9142 }
9143
9144 exports.AsyncMode = AsyncMode;
9145 exports.ConcurrentMode = ConcurrentMode;
9146 exports.ContextConsumer = ContextConsumer;
9147 exports.ContextProvider = ContextProvider;
9148 exports.Element = Element;
9149 exports.ForwardRef = ForwardRef;
9150 exports.Fragment = Fragment;
9151 exports.Lazy = Lazy;
9152 exports.Memo = Memo;
9153 exports.Portal = Portal;
9154 exports.Profiler = Profiler;
9155 exports.StrictMode = StrictMode;
9156 exports.Suspense = Suspense;
9157 exports.isAsyncMode = isAsyncMode;
9158 exports.isConcurrentMode = isConcurrentMode;
9159 exports.isContextConsumer = isContextConsumer;
9160 exports.isContextProvider = isContextProvider;
9161 exports.isElement = isElement;
9162 exports.isForwardRef = isForwardRef;
9163 exports.isFragment = isFragment;
9164 exports.isLazy = isLazy;
9165 exports.isMemo = isMemo;
9166 exports.isPortal = isPortal;
9167 exports.isProfiler = isProfiler;
9168 exports.isStrictMode = isStrictMode;
9169 exports.isSuspense = isSuspense;
9170 exports.isValidElementType = isValidElementType;
9171 exports.typeOf = typeOf;
9172 })();
9173 }
9174
9175
9176 /***/ }),
9177
9178 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
9179 /*!*****************************************************************!*\
9180 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
9181 \*****************************************************************/
9182 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9183
9184 "use strict";
9185
9186
9187 if (false) {} else {
9188 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
9189 }
9190
9191
9192 /***/ }),
9193
9194 /***/ "../node_modules/react-dom/client.js":
9195 /*!*******************************************!*\
9196 !*** ../node_modules/react-dom/client.js ***!
9197 \*******************************************/
9198 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9199
9200 "use strict";
9201
9202
9203 var m = __webpack_require__(/*! react-dom */ "react-dom");
9204 if (false) {} else {
9205 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9206 exports.createRoot = function(c, o) {
9207 i.usingClientEntryPoint = true;
9208 try {
9209 return m.createRoot(c, o);
9210 } finally {
9211 i.usingClientEntryPoint = false;
9212 }
9213 };
9214 exports.hydrateRoot = function(c, h, o) {
9215 i.usingClientEntryPoint = true;
9216 try {
9217 return m.hydrateRoot(c, h, o);
9218 } finally {
9219 i.usingClientEntryPoint = false;
9220 }
9221 };
9222 }
9223
9224
9225 /***/ }),
9226
9227 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
9228 /*!**************************************************************!*\
9229 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
9230 \**************************************************************/
9231 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9232
9233 "use strict";
9234
9235
9236 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); }
9237
9238 Object.defineProperty(exports, "__esModule", ({
9239 value: true
9240 }));
9241 Object.defineProperty(exports, "DraggableCore", ({
9242 enumerable: true,
9243 get: function get() {
9244 return _DraggableCore.default;
9245 }
9246 }));
9247 exports["default"] = void 0;
9248
9249 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9250
9251 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9252
9253 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9254
9255 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
9256
9257 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9258
9259 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9260
9261 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9262
9263 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
9264
9265 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9266
9267 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
9268
9269 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9270
9271 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); }
9272
9273 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; }
9274
9275 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); }
9276
9277 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; }
9278
9279 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; }
9280
9281 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; }
9282
9283 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; }
9284
9285 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9286
9287 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."); }
9288
9289 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); }
9290
9291 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; }
9292
9293 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; }
9294
9295 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9296
9297 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9298
9299 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); } }
9300
9301 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9302
9303 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); }
9304
9305 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9306
9307 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); }; }
9308
9309 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); }
9310
9311 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9312
9313 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; } }
9314
9315 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9316
9317 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; }
9318
9319 //
9320 // Define <Draggable>
9321 //
9322 var Draggable = /*#__PURE__*/function (_React$Component) {
9323 _inherits(Draggable, _React$Component);
9324
9325 var _super = _createSuper(Draggable);
9326
9327 function Draggable(props
9328 /*: DraggableProps*/
9329 ) {
9330 var _this;
9331
9332 _classCallCheck(this, Draggable);
9333
9334 _this = _super.call(this, props);
9335
9336 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9337 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9338
9339 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.
9340
9341
9342 if (shouldStart === false) return false;
9343
9344 _this.setState({
9345 dragging: true,
9346 dragged: true
9347 });
9348 });
9349
9350 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9351 if (!_this.state.dragging) return false;
9352 (0, _log.default)('Draggable: onDrag: %j', coreData);
9353 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9354 var newState
9355 /*: $Shape<DraggableState>*/
9356 = {
9357 x: uiData.x,
9358 y: uiData.y
9359 }; // Keep within bounds.
9360
9361 if (_this.props.bounds) {
9362 // Save original x and y.
9363 var x = newState.x,
9364 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9365 // we start removing slack, the element won't react to it right away until it's been
9366 // completely removed.
9367
9368 newState.x += _this.state.slackX;
9369 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9370
9371 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9372 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9373 newStateX = _getBoundPosition2[0],
9374 newStateY = _getBoundPosition2[1];
9375
9376 newState.x = newStateX;
9377 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9378
9379 newState.slackX = _this.state.slackX + (x - newState.x);
9380 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9381
9382 uiData.x = newState.x;
9383 uiData.y = newState.y;
9384 uiData.deltaX = newState.x - _this.state.x;
9385 uiData.deltaY = newState.y - _this.state.y;
9386 } // Short-circuit if user's callback killed it.
9387
9388
9389 var shouldUpdate = _this.props.onDrag(e, uiData);
9390
9391 if (shouldUpdate === false) return false;
9392
9393 _this.setState(newState);
9394 });
9395
9396 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9397 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9398
9399 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9400
9401 if (shouldContinue === false) return false;
9402 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9403 var newState
9404 /*: $Shape<DraggableState>*/
9405 = {
9406 dragging: false,
9407 slackX: 0,
9408 slackY: 0
9409 }; // If this is a controlled component, the result of this operation will be to
9410 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9411
9412 var controlled = Boolean(_this.props.position);
9413
9414 if (controlled) {
9415 var _this$props$position = _this.props.position,
9416 x = _this$props$position.x,
9417 y = _this$props$position.y;
9418 newState.x = x;
9419 newState.y = y;
9420 }
9421
9422 _this.setState(newState);
9423 });
9424
9425 _this.state = {
9426 // Whether or not we are currently dragging.
9427 dragging: false,
9428 // Whether or not we have been dragged before.
9429 dragged: false,
9430 // Current transform x and y.
9431 x: props.position ? props.position.x : props.defaultPosition.x,
9432 y: props.position ? props.position.y : props.defaultPosition.y,
9433 prevPropsPosition: _objectSpread({}, props.position),
9434 // Used for compensating for out-of-bounds drags
9435 slackX: 0,
9436 slackY: 0,
9437 // Can only determine if SVG after mounting
9438 isElementSVG: false
9439 };
9440
9441 if (props.position && !(props.onDrag || props.onStop)) {
9442 // eslint-disable-next-line no-console
9443 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.');
9444 }
9445
9446 return _this;
9447 }
9448
9449 _createClass(Draggable, [{
9450 key: "componentDidMount",
9451 value: function componentDidMount() {
9452 // Check to see if the element passed is an instanceof SVGElement
9453 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9454 this.setState({
9455 isElementSVG: true
9456 });
9457 }
9458 }
9459 }, {
9460 key: "componentWillUnmount",
9461 value: function componentWillUnmount() {
9462 this.setState({
9463 dragging: false
9464 }); // prevents invariant if unmounted while dragging
9465 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9466 // the underlying DOM node ourselves. See the README for more information.
9467
9468 }, {
9469 key: "findDOMNode",
9470 value: function findDOMNode()
9471 /*: ?HTMLElement*/
9472 {
9473 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9474
9475 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);
9476 }
9477 }, {
9478 key: "render",
9479 value: function render()
9480 /*: ReactElement<any>*/
9481 {
9482 var _clsx;
9483
9484 var _this$props2 = this.props,
9485 axis = _this$props2.axis,
9486 bounds = _this$props2.bounds,
9487 children = _this$props2.children,
9488 defaultPosition = _this$props2.defaultPosition,
9489 defaultClassName = _this$props2.defaultClassName,
9490 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9491 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9492 position = _this$props2.position,
9493 positionOffset = _this$props2.positionOffset,
9494 scale = _this$props2.scale,
9495 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9496
9497 var style = {};
9498 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9499
9500 var controlled = Boolean(position);
9501 var draggable = !controlled || this.state.dragging;
9502 var validPosition = position || defaultPosition;
9503 var transformOpts = {
9504 // Set left if horizontal drag is enabled
9505 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9506 // Set top if vertical drag is enabled
9507 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9508 }; // If this element was SVG, we use the `transform` attribute.
9509
9510 if (this.state.isElementSVG) {
9511 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9512 } else {
9513 // Add a CSS transform to move the element around. This allows us to move the element around
9514 // without worrying about whether or not it is relatively or absolutely positioned.
9515 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9516 // has a clean slate.
9517 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9518 } // Mark with class while dragging
9519
9520
9521 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
9522 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9523
9524 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9525 onStart: this.onDragStart,
9526 onDrag: this.onDrag,
9527 onStop: this.onDragStop
9528 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9529 className: className,
9530 style: _objectSpread(_objectSpread({}, children.props.style), style),
9531 transform: svgTransform
9532 }));
9533 }
9534 }], [{
9535 key: "getDerivedStateFromProps",
9536 value: // React 16.3+
9537 // Arity (props, state)
9538 function getDerivedStateFromProps(_ref, _ref2)
9539 /*: ?$Shape<DraggableState>*/
9540 {
9541 var position = _ref.position;
9542 var prevPropsPosition = _ref2.prevPropsPosition;
9543
9544 // Set x/y if a new position is provided in props that is different than the previous.
9545 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9546 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9547 position: position,
9548 prevPropsPosition: prevPropsPosition
9549 });
9550 return {
9551 x: position.x,
9552 y: position.y,
9553 prevPropsPosition: _objectSpread({}, position)
9554 };
9555 }
9556
9557 return null;
9558 }
9559 }]);
9560
9561 return Draggable;
9562 }(React.Component);
9563
9564 exports["default"] = Draggable;
9565
9566 _defineProperty(Draggable, "displayName", 'Draggable');
9567
9568 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9569 /**
9570 * `axis` determines which axis the draggable can move.
9571 *
9572 * Note that all callbacks will still return data as normal. This only
9573 * controls flushing to the DOM.
9574 *
9575 * 'both' allows movement horizontally and vertically.
9576 * 'x' limits movement to horizontal axis.
9577 * 'y' limits movement to vertical axis.
9578 * 'none' limits all movement.
9579 *
9580 * Defaults to 'both'.
9581 */
9582 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9583
9584 /**
9585 * `bounds` determines the range of movement available to the element.
9586 * Available values are:
9587 *
9588 * 'parent' restricts movement within the Draggable's parent node.
9589 *
9590 * Alternatively, pass an object with the following properties, all of which are optional:
9591 *
9592 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9593 *
9594 * All values are in px.
9595 *
9596 * Example:
9597 *
9598 * ```jsx
9599 * let App = React.createClass({
9600 * render: function () {
9601 * return (
9602 * <Draggable bounds={{right: 300, bottom: 300}}>
9603 * <div>Content</div>
9604 * </Draggable>
9605 * );
9606 * }
9607 * });
9608 * ```
9609 */
9610 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9611 left: _propTypes.default.number,
9612 right: _propTypes.default.number,
9613 top: _propTypes.default.number,
9614 bottom: _propTypes.default.number
9615 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9616 defaultClassName: _propTypes.default.string,
9617 defaultClassNameDragging: _propTypes.default.string,
9618 defaultClassNameDragged: _propTypes.default.string,
9619
9620 /**
9621 * `defaultPosition` specifies the x and y that the dragged item should start at
9622 *
9623 * Example:
9624 *
9625 * ```jsx
9626 * let App = React.createClass({
9627 * render: function () {
9628 * return (
9629 * <Draggable defaultPosition={{x: 25, y: 25}}>
9630 * <div>I start with transformX: 25px and transformY: 25px;</div>
9631 * </Draggable>
9632 * );
9633 * }
9634 * });
9635 * ```
9636 */
9637 defaultPosition: _propTypes.default.shape({
9638 x: _propTypes.default.number,
9639 y: _propTypes.default.number
9640 }),
9641 positionOffset: _propTypes.default.shape({
9642 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9643 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9644 }),
9645
9646 /**
9647 * `position`, if present, defines the current position of the element.
9648 *
9649 * This is similar to how form elements in React work - if no `position` is supplied, the component
9650 * is uncontrolled.
9651 *
9652 * Example:
9653 *
9654 * ```jsx
9655 * let App = React.createClass({
9656 * render: function () {
9657 * return (
9658 * <Draggable position={{x: 25, y: 25}}>
9659 * <div>I start with transformX: 25px and transformY: 25px;</div>
9660 * </Draggable>
9661 * );
9662 * }
9663 * });
9664 * ```
9665 */
9666 position: _propTypes.default.shape({
9667 x: _propTypes.default.number,
9668 y: _propTypes.default.number
9669 }),
9670
9671 /**
9672 * These properties should be defined on the child, not here.
9673 */
9674 className: _shims.dontSetMe,
9675 style: _shims.dontSetMe,
9676 transform: _shims.dontSetMe
9677 }));
9678
9679 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9680 axis: 'both',
9681 bounds: false,
9682 defaultClassName: 'react-draggable',
9683 defaultClassNameDragging: 'react-draggable-dragging',
9684 defaultClassNameDragged: 'react-draggable-dragged',
9685 defaultPosition: {
9686 x: 0,
9687 y: 0
9688 },
9689 scale: 1
9690 }));
9691
9692 /***/ }),
9693
9694 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9695 /*!******************************************************************!*\
9696 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9697 \******************************************************************/
9698 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9699
9700 "use strict";
9701
9702
9703 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); }
9704
9705 Object.defineProperty(exports, "__esModule", ({
9706 value: true
9707 }));
9708 exports["default"] = void 0;
9709
9710 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9711
9712 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9713
9714 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9715
9716 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9717
9718 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9719
9720 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9721
9722 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9723
9724 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9725
9726 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); }
9727
9728 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; }
9729
9730 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9731
9732 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."); }
9733
9734 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); }
9735
9736 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; }
9737
9738 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; }
9739
9740 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9741
9742 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9743
9744 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); } }
9745
9746 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9747
9748 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); }
9749
9750 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9751
9752 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); }; }
9753
9754 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); }
9755
9756 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9757
9758 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; } }
9759
9760 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9761
9762 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; }
9763
9764 // Simple abstraction for dragging events names.
9765 var eventsFor = {
9766 touch: {
9767 start: 'touchstart',
9768 move: 'touchmove',
9769 stop: 'touchend'
9770 },
9771 mouse: {
9772 start: 'mousedown',
9773 move: 'mousemove',
9774 stop: 'mouseup'
9775 }
9776 }; // Default to mouse events.
9777
9778 var dragEventFor = eventsFor.mouse;
9779 /*:: type DraggableCoreState = {
9780 dragging: boolean,
9781 lastX: number,
9782 lastY: number,
9783 touchIdentifier: ?number
9784 };*/
9785
9786 /*:: export type DraggableData = {
9787 node: HTMLElement,
9788 x: number, y: number,
9789 deltaX: number, deltaY: number,
9790 lastX: number, lastY: number,
9791 };*/
9792
9793 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9794
9795 /*:: export type ControlPosition = {x: number, y: number};*/
9796
9797 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9798
9799 /*:: export type DraggableCoreDefaultProps = {
9800 allowAnyClick: boolean,
9801 disabled: boolean,
9802 enableUserSelectHack: boolean,
9803 onStart: DraggableEventHandler,
9804 onDrag: DraggableEventHandler,
9805 onStop: DraggableEventHandler,
9806 onMouseDown: (e: MouseEvent) => void,
9807 scale: number,
9808 };*/
9809
9810 /*:: export type DraggableCoreProps = {
9811 ...DraggableCoreDefaultProps,
9812 cancel: string,
9813 children: ReactElement<any>,
9814 offsetParent: HTMLElement,
9815 grid: [number, number],
9816 handle: string,
9817 nodeRef?: ?React.ElementRef<any>,
9818 };*/
9819
9820 //
9821 // Define <DraggableCore>.
9822 //
9823 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9824 // work well with libraries that require more control over the element.
9825 //
9826 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9827 _inherits(DraggableCore, _React$Component);
9828
9829 var _super = _createSuper(DraggableCore);
9830
9831 function DraggableCore() {
9832 var _this;
9833
9834 _classCallCheck(this, DraggableCore);
9835
9836 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9837 args[_key] = arguments[_key];
9838 }
9839
9840 _this = _super.call.apply(_super, [this].concat(args));
9841
9842 _defineProperty(_assertThisInitialized(_this), "state", {
9843 dragging: false,
9844 // Used while dragging to determine deltas.
9845 lastX: NaN,
9846 lastY: NaN,
9847 touchIdentifier: null
9848 });
9849
9850 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9851
9852 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9853 // Make it possible to attach event handlers on top of this one.
9854 _this.props.onMouseDown(e); // Only accept left-clicks.
9855
9856
9857 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9858
9859 var thisNode = _this.findDOMNode();
9860
9861 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9862 throw new Error('<DraggableCore> not mounted on DragStart!');
9863 }
9864
9865 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9866
9867 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)) {
9868 return;
9869 } // Prevent scrolling on mobile devices, like ipad/iphone.
9870 // Important that this is after handle/cancel.
9871
9872
9873 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9874 // distinguish between individual touches on multitouch screens by identifying which
9875 // touchpoint was set to this element.
9876
9877 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9878
9879 _this.setState({
9880 touchIdentifier: touchIdentifier
9881 }); // Get the current drag point from the event. This is used as the offset.
9882
9883
9884 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9885 if (position == null) return; // not possible but satisfies flow
9886
9887 var x = position.x,
9888 y = position.y; // Create an event object with all the data parents need to make a decision here.
9889
9890 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9891 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9892
9893 (0, _log.default)('calling', _this.props.onStart);
9894
9895 var shouldUpdate = _this.props.onStart(e, coreEvent);
9896
9897 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9898 // being selected all over the page.
9899
9900 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9901 // so we know how much we've moved during the drag. This allows us
9902 // to drag elements around even if they have been moved, without issue.
9903
9904 _this.setState({
9905 dragging: true,
9906 lastX: x,
9907 lastY: y
9908 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9909 // this element. We use different events depending on whether or not we have detected that this
9910 // is a touch-capable device.
9911
9912
9913 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9914 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9915 });
9916
9917 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9918 // Get the current drag point from the event. This is used as the offset.
9919 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9920 if (position == null) return;
9921 var x = position.x,
9922 y = position.y; // Snap to grid if prop has been provided
9923
9924 if (Array.isArray(_this.props.grid)) {
9925 var deltaX = x - _this.state.lastX,
9926 deltaY = y - _this.state.lastY;
9927
9928 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9929
9930 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9931
9932 deltaX = _snapToGrid2[0];
9933 deltaY = _snapToGrid2[1];
9934 if (!deltaX && !deltaY) return; // skip useless drag
9935
9936 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9937 }
9938
9939 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9940 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9941
9942 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9943
9944 if (shouldUpdate === false || _this.mounted === false) {
9945 try {
9946 // $FlowIgnore
9947 _this.handleDragStop(new MouseEvent('mouseup'));
9948 } catch (err) {
9949 // Old browsers
9950 var event = ((document.createEvent('MouseEvents')
9951 /*: any*/
9952 )
9953 /*: MouseTouchEvent*/
9954 ); // I see why this insanity was deprecated
9955 // $FlowIgnore
9956
9957 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9958
9959 _this.handleDragStop(event);
9960 }
9961
9962 return;
9963 }
9964
9965 _this.setState({
9966 lastX: x,
9967 lastY: y
9968 });
9969 });
9970
9971 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9972 if (!_this.state.dragging) return;
9973 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9974 if (position == null) return;
9975 var x = position.x,
9976 y = position.y; // Snap to grid if prop has been provided
9977
9978 if (Array.isArray(_this.props.grid)) {
9979 var deltaX = x - _this.state.lastX || 0;
9980 var deltaY = y - _this.state.lastY || 0;
9981
9982 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9983
9984 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9985
9986 deltaX = _snapToGrid4[0];
9987 deltaY = _snapToGrid4[1];
9988 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9989 }
9990
9991 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9992
9993 var shouldContinue = _this.props.onStop(e, coreEvent);
9994
9995 if (shouldContinue === false || _this.mounted === false) return false;
9996
9997 var thisNode = _this.findDOMNode();
9998
9999 if (thisNode) {
10000 // Remove user-select hack
10001 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
10002 }
10003
10004 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
10005
10006 _this.setState({
10007 dragging: false,
10008 lastX: NaN,
10009 lastY: NaN
10010 });
10011
10012 if (thisNode) {
10013 // Remove event handlers
10014 (0, _log.default)('DraggableCore: Removing handlers');
10015 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
10016 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
10017 }
10018 });
10019
10020 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
10021 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
10022
10023 return _this.handleDragStart(e);
10024 });
10025
10026 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
10027 dragEventFor = eventsFor.mouse;
10028 return _this.handleDragStop(e);
10029 });
10030
10031 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
10032 // We're on a touch device now, so change the event handlers
10033 dragEventFor = eventsFor.touch;
10034 return _this.handleDragStart(e);
10035 });
10036
10037 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
10038 // We're on a touch device now, so change the event handlers
10039 dragEventFor = eventsFor.touch;
10040 return _this.handleDragStop(e);
10041 });
10042
10043 return _this;
10044 }
10045
10046 _createClass(DraggableCore, [{
10047 key: "componentDidMount",
10048 value: function componentDidMount() {
10049 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
10050 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10051
10052 var thisNode = this.findDOMNode();
10053
10054 if (thisNode) {
10055 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10056 passive: false
10057 });
10058 }
10059 }
10060 }, {
10061 key: "componentWillUnmount",
10062 value: function componentWillUnmount() {
10063 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
10064 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
10065
10066 var thisNode = this.findDOMNode();
10067
10068 if (thisNode) {
10069 var ownerDocument = thisNode.ownerDocument;
10070 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
10071 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
10072 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
10073 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
10074 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10075 passive: false
10076 });
10077 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
10078 }
10079 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
10080 // the underlying DOM node ourselves. See the README for more information.
10081
10082 }, {
10083 key: "findDOMNode",
10084 value: function findDOMNode()
10085 /*: ?HTMLElement*/
10086 {
10087 var _this$props, _this$props2, _this$props2$nodeRef;
10088
10089 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);
10090 }
10091 }, {
10092 key: "render",
10093 value: function render()
10094 /*: React.Element<any>*/
10095 {
10096 // Reuse the child provided
10097 // This makes it flexible to use whatever element is wanted (div, ul, etc)
10098 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
10099 // Note: mouseMove handler is attached to document so it will still function
10100 // when the user drags quickly and leaves the bounds of the element.
10101 onMouseDown: this.onMouseDown,
10102 onMouseUp: this.onMouseUp,
10103 // onTouchStart is added on `componentDidMount` so they can be added with
10104 // {passive: false}, which allows it to cancel. See
10105 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10106 onTouchEnd: this.onTouchEnd
10107 });
10108 }
10109 }]);
10110
10111 return DraggableCore;
10112 }(React.Component);
10113
10114 exports["default"] = DraggableCore;
10115
10116 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
10117
10118 _defineProperty(DraggableCore, "propTypes", {
10119 /**
10120 * `allowAnyClick` allows dragging using any mouse button.
10121 * By default, we only accept the left button.
10122 *
10123 * Defaults to `false`.
10124 */
10125 allowAnyClick: _propTypes.default.bool,
10126
10127 /**
10128 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
10129 * with the exception of `onMouseDown`, will not fire.
10130 */
10131 disabled: _propTypes.default.bool,
10132
10133 /**
10134 * By default, we add 'user-select:none' attributes to the document body
10135 * to prevent ugly text selection during drag. If this is causing problems
10136 * for your app, set this to `false`.
10137 */
10138 enableUserSelectHack: _propTypes.default.bool,
10139
10140 /**
10141 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
10142 * instead of using the parent node.
10143 */
10144 offsetParent: function offsetParent(props
10145 /*: DraggableCoreProps*/
10146 , propName
10147 /*: $Keys<DraggableCoreProps>*/
10148 ) {
10149 if (props[propName] && props[propName].nodeType !== 1) {
10150 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
10151 }
10152 },
10153
10154 /**
10155 * `grid` specifies the x and y that dragging should snap to.
10156 */
10157 grid: _propTypes.default.arrayOf(_propTypes.default.number),
10158
10159 /**
10160 * `handle` specifies a selector to be used as the handle that initiates drag.
10161 *
10162 * Example:
10163 *
10164 * ```jsx
10165 * let App = React.createClass({
10166 * render: function () {
10167 * return (
10168 * <Draggable handle=".handle">
10169 * <div>
10170 * <div className="handle">Click me to drag</div>
10171 * <div>This is some other content</div>
10172 * </div>
10173 * </Draggable>
10174 * );
10175 * }
10176 * });
10177 * ```
10178 */
10179 handle: _propTypes.default.string,
10180
10181 /**
10182 * `cancel` specifies a selector to be used to prevent drag initialization.
10183 *
10184 * Example:
10185 *
10186 * ```jsx
10187 * let App = React.createClass({
10188 * render: function () {
10189 * return(
10190 * <Draggable cancel=".cancel">
10191 * <div>
10192 * <div className="cancel">You can't drag from here</div>
10193 * <div>Dragging here works fine</div>
10194 * </div>
10195 * </Draggable>
10196 * );
10197 * }
10198 * });
10199 * ```
10200 */
10201 cancel: _propTypes.default.string,
10202
10203 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
10204 * Unfortunately, in order for <Draggable> to work properly, we need raw access
10205 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
10206 * as in this example:
10207 *
10208 * function MyComponent() {
10209 * const nodeRef = React.useRef(null);
10210 * return (
10211 * <Draggable nodeRef={nodeRef}>
10212 * <div ref={nodeRef}>Example Target</div>
10213 * </Draggable>
10214 * );
10215 * }
10216 *
10217 * This can be used for arbitrarily nested components, so long as the ref ends up
10218 * pointing to the actual child DOM node and not a custom component.
10219 */
10220 nodeRef: _propTypes.default.object,
10221
10222 /**
10223 * Called when dragging starts.
10224 * If this function returns the boolean false, dragging will be canceled.
10225 */
10226 onStart: _propTypes.default.func,
10227
10228 /**
10229 * Called while dragging.
10230 * If this function returns the boolean false, dragging will be canceled.
10231 */
10232 onDrag: _propTypes.default.func,
10233
10234 /**
10235 * Called when dragging stops.
10236 * If this function returns the boolean false, the drag will remain active.
10237 */
10238 onStop: _propTypes.default.func,
10239
10240 /**
10241 * A workaround option which can be passed if onMouseDown needs to be accessed,
10242 * since it'll always be blocked (as there is internal use of onMouseDown)
10243 */
10244 onMouseDown: _propTypes.default.func,
10245
10246 /**
10247 * `scale`, if set, applies scaling while dragging an element
10248 */
10249 scale: _propTypes.default.number,
10250
10251 /**
10252 * These properties should be defined on the child, not here.
10253 */
10254 className: _shims.dontSetMe,
10255 style: _shims.dontSetMe,
10256 transform: _shims.dontSetMe
10257 });
10258
10259 _defineProperty(DraggableCore, "defaultProps", {
10260 allowAnyClick: false,
10261 // by default only accept left click
10262 disabled: false,
10263 enableUserSelectHack: true,
10264 onStart: function onStart() {},
10265 onDrag: function onDrag() {},
10266 onStop: function onStop() {},
10267 onMouseDown: function onMouseDown() {},
10268 scale: 1
10269 });
10270
10271 /***/ }),
10272
10273 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10274 /*!********************************************************!*\
10275 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10276 \********************************************************/
10277 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10278
10279 "use strict";
10280
10281
10282 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10283 Draggable = _require.default,
10284 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'.
10285 // See https://github.com/mzabriskie/react-draggable/pull/254
10286 // and https://github.com/mzabriskie/react-draggable/issues/266
10287
10288
10289 module.exports = Draggable;
10290 module.exports["default"] = Draggable;
10291 module.exports.DraggableCore = DraggableCore;
10292
10293 /***/ }),
10294
10295 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10296 /*!*****************************************************************!*\
10297 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10298 \*****************************************************************/
10299 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10300
10301 "use strict";
10302
10303
10304 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); }
10305
10306 Object.defineProperty(exports, "__esModule", ({
10307 value: true
10308 }));
10309 exports.addClassName = addClassName;
10310 exports.addEvent = addEvent;
10311 exports.addUserSelectStyles = addUserSelectStyles;
10312 exports.createCSSTransform = createCSSTransform;
10313 exports.createSVGTransform = createSVGTransform;
10314 exports.getTouch = getTouch;
10315 exports.getTouchIdentifier = getTouchIdentifier;
10316 exports.getTranslation = getTranslation;
10317 exports.innerHeight = innerHeight;
10318 exports.innerWidth = innerWidth;
10319 exports.matchesSelector = matchesSelector;
10320 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10321 exports.offsetXYFromParent = offsetXYFromParent;
10322 exports.outerHeight = outerHeight;
10323 exports.outerWidth = outerWidth;
10324 exports.removeClassName = removeClassName;
10325 exports.removeEvent = removeEvent;
10326 exports.removeUserSelectStyles = removeUserSelectStyles;
10327
10328 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10329
10330 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10331
10332 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); }
10333
10334 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; }
10335
10336 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; }
10337
10338 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; }
10339
10340 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; }
10341
10342 var matchesSelectorFunc = '';
10343
10344 function matchesSelector(el
10345 /*: Node*/
10346 , selector
10347 /*: string*/
10348 )
10349 /*: boolean*/
10350 {
10351 if (!matchesSelectorFunc) {
10352 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10353 // $FlowIgnore: Doesn't think elements are indexable
10354 return (0, _shims.isFunction)(el[method]);
10355 });
10356 } // Might not be found entirely (not an Element?) - in that case, bail
10357 // $FlowIgnore: Doesn't think elements are indexable
10358
10359
10360 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10361
10362 return el[matchesSelectorFunc](selector);
10363 } // Works up the tree to the draggable itself attempting to match selector.
10364
10365
10366 function matchesSelectorAndParentsTo(el
10367 /*: Node*/
10368 , selector
10369 /*: string*/
10370 , baseNode
10371 /*: Node*/
10372 )
10373 /*: boolean*/
10374 {
10375 var node = el;
10376
10377 do {
10378 if (matchesSelector(node, selector)) return true;
10379 if (node === baseNode) return false;
10380 node = node.parentNode;
10381 } while (node);
10382
10383 return false;
10384 }
10385
10386 function addEvent(el
10387 /*: ?Node*/
10388 , event
10389 /*: string*/
10390 , handler
10391 /*: Function*/
10392 , inputOptions
10393 /*: Object*/
10394 )
10395 /*: void*/
10396 {
10397 if (!el) return;
10398
10399 var options = _objectSpread({
10400 capture: true
10401 }, inputOptions); // $FlowIgnore[method-unbinding]
10402
10403
10404 if (el.addEventListener) {
10405 el.addEventListener(event, handler, options);
10406 } else if (el.attachEvent) {
10407 el.attachEvent('on' + event, handler);
10408 } else {
10409 // $FlowIgnore: Doesn't think elements are indexable
10410 el['on' + event] = handler;
10411 }
10412 }
10413
10414 function removeEvent(el
10415 /*: ?Node*/
10416 , event
10417 /*: string*/
10418 , handler
10419 /*: Function*/
10420 , inputOptions
10421 /*: Object*/
10422 )
10423 /*: void*/
10424 {
10425 if (!el) return;
10426
10427 var options = _objectSpread({
10428 capture: true
10429 }, inputOptions); // $FlowIgnore[method-unbinding]
10430
10431
10432 if (el.removeEventListener) {
10433 el.removeEventListener(event, handler, options);
10434 } else if (el.detachEvent) {
10435 el.detachEvent('on' + event, handler);
10436 } else {
10437 // $FlowIgnore: Doesn't think elements are indexable
10438 el['on' + event] = null;
10439 }
10440 }
10441
10442 function outerHeight(node
10443 /*: HTMLElement*/
10444 )
10445 /*: number*/
10446 {
10447 // This is deliberately excluding margin for our calculations, since we are using
10448 // offsetTop which is including margin. See getBoundPosition
10449 var height = node.clientHeight;
10450 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10451 height += (0, _shims.int)(computedStyle.borderTopWidth);
10452 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10453 return height;
10454 }
10455
10456 function outerWidth(node
10457 /*: HTMLElement*/
10458 )
10459 /*: number*/
10460 {
10461 // This is deliberately excluding margin for our calculations, since we are using
10462 // offsetLeft which is including margin. See getBoundPosition
10463 var width = node.clientWidth;
10464 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10465 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10466 width += (0, _shims.int)(computedStyle.borderRightWidth);
10467 return width;
10468 }
10469
10470 function innerHeight(node
10471 /*: HTMLElement*/
10472 )
10473 /*: number*/
10474 {
10475 var height = node.clientHeight;
10476 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10477 height -= (0, _shims.int)(computedStyle.paddingTop);
10478 height -= (0, _shims.int)(computedStyle.paddingBottom);
10479 return height;
10480 }
10481
10482 function innerWidth(node
10483 /*: HTMLElement*/
10484 )
10485 /*: number*/
10486 {
10487 var width = node.clientWidth;
10488 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10489 width -= (0, _shims.int)(computedStyle.paddingLeft);
10490 width -= (0, _shims.int)(computedStyle.paddingRight);
10491 return width;
10492 }
10493 /*:: interface EventWithOffset {
10494 clientX: number, clientY: number
10495 }*/
10496
10497
10498 // Get from offsetParent
10499 function offsetXYFromParent(evt
10500 /*: EventWithOffset*/
10501 , offsetParent
10502 /*: HTMLElement*/
10503 , scale
10504 /*: number*/
10505 )
10506 /*: ControlPosition*/
10507 {
10508 var isBody = offsetParent === offsetParent.ownerDocument.body;
10509 var offsetParentRect = isBody ? {
10510 left: 0,
10511 top: 0
10512 } : offsetParent.getBoundingClientRect();
10513 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10514 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10515 return {
10516 x: x,
10517 y: y
10518 };
10519 }
10520
10521 function createCSSTransform(controlPos
10522 /*: ControlPosition*/
10523 , positionOffset
10524 /*: PositionOffsetControlPosition*/
10525 )
10526 /*: Object*/
10527 {
10528 var translation = getTranslation(controlPos, positionOffset, 'px');
10529 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10530 }
10531
10532 function createSVGTransform(controlPos
10533 /*: ControlPosition*/
10534 , positionOffset
10535 /*: PositionOffsetControlPosition*/
10536 )
10537 /*: string*/
10538 {
10539 var translation = getTranslation(controlPos, positionOffset, '');
10540 return translation;
10541 }
10542
10543 function getTranslation(_ref2, positionOffset
10544 /*: PositionOffsetControlPosition*/
10545 , unitSuffix
10546 /*: string*/
10547 )
10548 /*: string*/
10549 {
10550 var x = _ref2.x,
10551 y = _ref2.y;
10552 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10553
10554 if (positionOffset) {
10555 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10556 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10557 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10558 }
10559
10560 return translation;
10561 }
10562
10563 function getTouch(e
10564 /*: MouseTouchEvent*/
10565 , identifier
10566 /*: number*/
10567 )
10568 /*: ?{clientX: number, clientY: number}*/
10569 {
10570 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10571 return identifier === t.identifier;
10572 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10573 return identifier === t.identifier;
10574 });
10575 }
10576
10577 function getTouchIdentifier(e
10578 /*: MouseTouchEvent*/
10579 )
10580 /*: ?number*/
10581 {
10582 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10583 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10584 } // User-select Hacks:
10585 //
10586 // Useful for preventing blue highlights all over everything when dragging.
10587 // Note we're passing `document` b/c we could be iframed
10588
10589
10590 function addUserSelectStyles(doc
10591 /*: ?Document*/
10592 ) {
10593 if (!doc) return;
10594 var styleEl = doc.getElementById('react-draggable-style-el');
10595
10596 if (!styleEl) {
10597 styleEl = doc.createElement('style');
10598 styleEl.type = 'text/css';
10599 styleEl.id = 'react-draggable-style-el';
10600 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10601 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10602 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10603 }
10604
10605 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10606 }
10607
10608 function removeUserSelectStyles(doc
10609 /*: ?Document*/
10610 ) {
10611 if (!doc) return;
10612
10613 try {
10614 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10615
10616 if (doc.selection) {
10617 // $FlowIgnore: IE
10618 doc.selection.empty();
10619 } else {
10620 // Remove selection caused by scroll, unless it's a focused input
10621 // (we use doc.defaultView in case we're in an iframe)
10622 var selection = (doc.defaultView || window).getSelection();
10623
10624 if (selection && selection.type !== 'Caret') {
10625 selection.removeAllRanges();
10626 }
10627 }
10628 } catch (e) {// probably IE
10629 }
10630 }
10631
10632 function addClassName(el
10633 /*: HTMLElement*/
10634 , className
10635 /*: string*/
10636 ) {
10637 if (el.classList) {
10638 el.classList.add(className);
10639 } else {
10640 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10641 el.className += " ".concat(className);
10642 }
10643 }
10644 }
10645
10646 function removeClassName(el
10647 /*: HTMLElement*/
10648 , className
10649 /*: string*/
10650 ) {
10651 if (el.classList) {
10652 el.classList.remove(className);
10653 } else {
10654 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10655 }
10656 }
10657
10658 /***/ }),
10659
10660 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10661 /*!********************************************************************!*\
10662 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10663 \********************************************************************/
10664 /***/ ((__unused_webpack_module, exports) => {
10665
10666 "use strict";
10667
10668
10669 Object.defineProperty(exports, "__esModule", ({
10670 value: true
10671 }));
10672 exports.browserPrefixToKey = browserPrefixToKey;
10673 exports.browserPrefixToStyle = browserPrefixToStyle;
10674 exports["default"] = void 0;
10675 exports.getPrefix = getPrefix;
10676 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10677
10678 function getPrefix()
10679 /*: string*/
10680 {
10681 var _window$document, _window$document$docu;
10682
10683 var prop
10684 /*: string*/
10685 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10686 // Ensure we're running in an environment where there is actually a global
10687 // `window` obj
10688 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10689 // path may not exist, so bail out if it doesn't.
10690
10691 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;
10692 if (!style) return '';
10693 if (prop in style) return '';
10694
10695 for (var i = 0; i < prefixes.length; i++) {
10696 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10697 }
10698
10699 return '';
10700 }
10701
10702 function browserPrefixToKey(prop
10703 /*: string*/
10704 , prefix
10705 /*: string*/
10706 )
10707 /*: string*/
10708 {
10709 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10710 }
10711
10712 function browserPrefixToStyle(prop
10713 /*: string*/
10714 , prefix
10715 /*: string*/
10716 )
10717 /*: string*/
10718 {
10719 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10720 }
10721
10722 function kebabToTitleCase(str
10723 /*: string*/
10724 )
10725 /*: string*/
10726 {
10727 var out = '';
10728 var shouldCapitalize = true;
10729
10730 for (var i = 0; i < str.length; i++) {
10731 if (shouldCapitalize) {
10732 out += str[i].toUpperCase();
10733 shouldCapitalize = false;
10734 } else if (str[i] === '-') {
10735 shouldCapitalize = true;
10736 } else {
10737 out += str[i];
10738 }
10739 }
10740
10741 return out;
10742 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10743 // Note that you may have to re-test for certain things; for instance, Chrome 50
10744 // can handle unprefixed `transform`, but not unprefixed `user-select`
10745
10746
10747 var _default = (getPrefix()
10748 /*: string*/
10749 );
10750
10751 exports["default"] = _default;
10752
10753 /***/ }),
10754
10755 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10756 /*!**************************************************************!*\
10757 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10758 \**************************************************************/
10759 /***/ ((__unused_webpack_module, exports) => {
10760
10761 "use strict";
10762
10763
10764 Object.defineProperty(exports, "__esModule", ({
10765 value: true
10766 }));
10767 exports["default"] = log;
10768
10769 /*eslint no-console:0*/
10770 function log() {
10771 var _console;
10772
10773 if (false) {}
10774 }
10775
10776 /***/ }),
10777
10778 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10779 /*!**********************************************************************!*\
10780 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10781 \**********************************************************************/
10782 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10783
10784 "use strict";
10785
10786
10787 Object.defineProperty(exports, "__esModule", ({
10788 value: true
10789 }));
10790 exports.canDragX = canDragX;
10791 exports.canDragY = canDragY;
10792 exports.createCoreData = createCoreData;
10793 exports.createDraggableData = createDraggableData;
10794 exports.getBoundPosition = getBoundPosition;
10795 exports.getControlPosition = getControlPosition;
10796 exports.snapToGrid = snapToGrid;
10797
10798 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10799
10800 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10801
10802 function getBoundPosition(draggable
10803 /*: Draggable*/
10804 , x
10805 /*: number*/
10806 , y
10807 /*: number*/
10808 )
10809 /*: [number, number]*/
10810 {
10811 // If no bounds, short-circuit and move on
10812 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10813
10814 var bounds = draggable.props.bounds;
10815 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10816 var node = findDOMNode(draggable);
10817
10818 if (typeof bounds === 'string') {
10819 var ownerDocument = node.ownerDocument;
10820 var ownerWindow = ownerDocument.defaultView;
10821 var boundNode;
10822
10823 if (bounds === 'parent') {
10824 boundNode = node.parentNode;
10825 } else {
10826 boundNode = ownerDocument.querySelector(bounds);
10827 }
10828
10829 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10830 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10831 }
10832
10833 var boundNodeEl
10834 /*: HTMLElement*/
10835 = boundNode; // for Flow, can't seem to refine correctly
10836
10837 var nodeStyle = ownerWindow.getComputedStyle(node);
10838 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10839
10840 bounds = {
10841 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10842 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10843 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10844 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10845 };
10846 } // Keep x and y below right and bottom limits...
10847
10848
10849 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10850 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10851
10852 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10853 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10854 return [x, y];
10855 }
10856
10857 function snapToGrid(grid
10858 /*: [number, number]*/
10859 , pendingX
10860 /*: number*/
10861 , pendingY
10862 /*: number*/
10863 )
10864 /*: [number, number]*/
10865 {
10866 var x = Math.round(pendingX / grid[0]) * grid[0];
10867 var y = Math.round(pendingY / grid[1]) * grid[1];
10868 return [x, y];
10869 }
10870
10871 function canDragX(draggable
10872 /*: Draggable*/
10873 )
10874 /*: boolean*/
10875 {
10876 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10877 }
10878
10879 function canDragY(draggable
10880 /*: Draggable*/
10881 )
10882 /*: boolean*/
10883 {
10884 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10885 } // Get {x, y} positions from event.
10886
10887
10888 function getControlPosition(e
10889 /*: MouseTouchEvent*/
10890 , touchIdentifier
10891 /*: ?number*/
10892 , draggableCore
10893 /*: DraggableCore*/
10894 )
10895 /*: ?ControlPosition*/
10896 {
10897 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10898 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10899
10900 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10901
10902 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10903 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10904 } // Create an data object exposed by <DraggableCore>'s events
10905
10906
10907 function createCoreData(draggable
10908 /*: DraggableCore*/
10909 , x
10910 /*: number*/
10911 , y
10912 /*: number*/
10913 )
10914 /*: DraggableData*/
10915 {
10916 var state = draggable.state;
10917 var isStart = !(0, _shims.isNum)(state.lastX);
10918 var node = findDOMNode(draggable);
10919
10920 if (isStart) {
10921 // If this is our first move, use the x and y as last coords.
10922 return {
10923 node: node,
10924 deltaX: 0,
10925 deltaY: 0,
10926 lastX: x,
10927 lastY: y,
10928 x: x,
10929 y: y
10930 };
10931 } else {
10932 // Otherwise calculate proper values.
10933 return {
10934 node: node,
10935 deltaX: x - state.lastX,
10936 deltaY: y - state.lastY,
10937 lastX: state.lastX,
10938 lastY: state.lastY,
10939 x: x,
10940 y: y
10941 };
10942 }
10943 } // Create an data exposed by <Draggable>'s events
10944
10945
10946 function createDraggableData(draggable
10947 /*: Draggable*/
10948 , coreData
10949 /*: DraggableData*/
10950 )
10951 /*: DraggableData*/
10952 {
10953 var scale = draggable.props.scale;
10954 return {
10955 node: coreData.node,
10956 x: draggable.state.x + coreData.deltaX / scale,
10957 y: draggable.state.y + coreData.deltaY / scale,
10958 deltaX: coreData.deltaX / scale,
10959 deltaY: coreData.deltaY / scale,
10960 lastX: draggable.state.x,
10961 lastY: draggable.state.y
10962 };
10963 } // A lot faster than stringify/parse
10964
10965
10966 function cloneBounds(bounds
10967 /*: Bounds*/
10968 )
10969 /*: Bounds*/
10970 {
10971 return {
10972 left: bounds.left,
10973 top: bounds.top,
10974 right: bounds.right,
10975 bottom: bounds.bottom
10976 };
10977 }
10978
10979 function findDOMNode(draggable
10980 /*: Draggable | DraggableCore*/
10981 )
10982 /*: HTMLElement*/
10983 {
10984 var node = draggable.findDOMNode();
10985
10986 if (!node) {
10987 throw new Error('<DraggableCore>: Unmounted during event!');
10988 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10989
10990
10991 return node;
10992 }
10993
10994 /***/ }),
10995
10996 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10997 /*!****************************************************************!*\
10998 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10999 \****************************************************************/
11000 /***/ ((__unused_webpack_module, exports) => {
11001
11002 "use strict";
11003
11004
11005 Object.defineProperty(exports, "__esModule", ({
11006 value: true
11007 }));
11008 exports.dontSetMe = dontSetMe;
11009 exports.findInArray = findInArray;
11010 exports.int = int;
11011 exports.isFunction = isFunction;
11012 exports.isNum = isNum;
11013
11014 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
11015 function findInArray(array
11016 /*: Array<any> | TouchList*/
11017 , callback
11018 /*: Function*/
11019 )
11020 /*: any*/
11021 {
11022 for (var i = 0, length = array.length; i < length; i++) {
11023 if (callback.apply(callback, [array[i], i, array])) return array[i];
11024 }
11025 }
11026
11027 function isFunction(func
11028 /*: any*/
11029 )
11030 /*: boolean %checks*/
11031 {
11032 // $FlowIgnore[method-unbinding]
11033 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
11034 }
11035
11036 function isNum(num
11037 /*: any*/
11038 )
11039 /*: boolean %checks*/
11040 {
11041 return typeof num === 'number' && !isNaN(num);
11042 }
11043
11044 function int(a
11045 /*: string*/
11046 )
11047 /*: number*/
11048 {
11049 return parseInt(a, 10);
11050 }
11051
11052 function dontSetMe(props
11053 /*: Object*/
11054 , propName
11055 /*: string*/
11056 , componentName
11057 /*: string*/
11058 )
11059 /*: ?Error*/
11060 {
11061 if (props[propName]) {
11062 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
11063 }
11064 }
11065
11066 /***/ }),
11067
11068 /***/ "../node_modules/react-is/cjs/react-is.development.js":
11069 /*!************************************************************!*\
11070 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
11071 \************************************************************/
11072 /***/ ((__unused_webpack_module, exports) => {
11073
11074 "use strict";
11075 /**
11076 * @license React
11077 * react-is.development.js
11078 *
11079 * Copyright (c) Facebook, Inc. and its affiliates.
11080 *
11081 * This source code is licensed under the MIT license found in the
11082 * LICENSE file in the root directory of this source tree.
11083 */
11084
11085
11086
11087 if (true) {
11088 (function() {
11089 'use strict';
11090
11091 // ATTENTION
11092 // When adding new symbols to this file,
11093 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
11094 // The Symbol used to tag the ReactElement-like types.
11095 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
11096 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
11097 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
11098 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
11099 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
11100 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
11101 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
11102 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
11103 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
11104 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
11105 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
11106 var REACT_MEMO_TYPE = Symbol.for('react.memo');
11107 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
11108 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
11109
11110 // -----------------------------------------------------------------------------
11111
11112 var enableScopeAPI = false; // Experimental Create Event Handle API.
11113 var enableCacheElement = false;
11114 var enableTransitionTracing = false; // No known bugs, but needs performance testing
11115
11116 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
11117 // stuff. Intended to enable React core members to more easily debug scheduling
11118 // issues in DEV builds.
11119
11120 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
11121
11122 var REACT_MODULE_REFERENCE;
11123
11124 {
11125 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
11126 }
11127
11128 function isValidElementType(type) {
11129 if (typeof type === 'string' || typeof type === 'function') {
11130 return true;
11131 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
11132
11133
11134 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 ) {
11135 return true;
11136 }
11137
11138 if (typeof type === 'object' && type !== null) {
11139 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
11140 // types supported by any Flight configuration anywhere since
11141 // we don't know which Flight build this will end up being used
11142 // with.
11143 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
11144 return true;
11145 }
11146 }
11147
11148 return false;
11149 }
11150
11151 function typeOf(object) {
11152 if (typeof object === 'object' && object !== null) {
11153 var $$typeof = object.$$typeof;
11154
11155 switch ($$typeof) {
11156 case REACT_ELEMENT_TYPE:
11157 var type = object.type;
11158
11159 switch (type) {
11160 case REACT_FRAGMENT_TYPE:
11161 case REACT_PROFILER_TYPE:
11162 case REACT_STRICT_MODE_TYPE:
11163 case REACT_SUSPENSE_TYPE:
11164 case REACT_SUSPENSE_LIST_TYPE:
11165 return type;
11166
11167 default:
11168 var $$typeofType = type && type.$$typeof;
11169
11170 switch ($$typeofType) {
11171 case REACT_SERVER_CONTEXT_TYPE:
11172 case REACT_CONTEXT_TYPE:
11173 case REACT_FORWARD_REF_TYPE:
11174 case REACT_LAZY_TYPE:
11175 case REACT_MEMO_TYPE:
11176 case REACT_PROVIDER_TYPE:
11177 return $$typeofType;
11178
11179 default:
11180 return $$typeof;
11181 }
11182
11183 }
11184
11185 case REACT_PORTAL_TYPE:
11186 return $$typeof;
11187 }
11188 }
11189
11190 return undefined;
11191 }
11192 var ContextConsumer = REACT_CONTEXT_TYPE;
11193 var ContextProvider = REACT_PROVIDER_TYPE;
11194 var Element = REACT_ELEMENT_TYPE;
11195 var ForwardRef = REACT_FORWARD_REF_TYPE;
11196 var Fragment = REACT_FRAGMENT_TYPE;
11197 var Lazy = REACT_LAZY_TYPE;
11198 var Memo = REACT_MEMO_TYPE;
11199 var Portal = REACT_PORTAL_TYPE;
11200 var Profiler = REACT_PROFILER_TYPE;
11201 var StrictMode = REACT_STRICT_MODE_TYPE;
11202 var Suspense = REACT_SUSPENSE_TYPE;
11203 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
11204 var hasWarnedAboutDeprecatedIsAsyncMode = false;
11205 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
11206
11207 function isAsyncMode(object) {
11208 {
11209 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
11210 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
11211
11212 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11213 }
11214 }
11215
11216 return false;
11217 }
11218 function isConcurrentMode(object) {
11219 {
11220 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
11221 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
11222
11223 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11224 }
11225 }
11226
11227 return false;
11228 }
11229 function isContextConsumer(object) {
11230 return typeOf(object) === REACT_CONTEXT_TYPE;
11231 }
11232 function isContextProvider(object) {
11233 return typeOf(object) === REACT_PROVIDER_TYPE;
11234 }
11235 function isElement(object) {
11236 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
11237 }
11238 function isForwardRef(object) {
11239 return typeOf(object) === REACT_FORWARD_REF_TYPE;
11240 }
11241 function isFragment(object) {
11242 return typeOf(object) === REACT_FRAGMENT_TYPE;
11243 }
11244 function isLazy(object) {
11245 return typeOf(object) === REACT_LAZY_TYPE;
11246 }
11247 function isMemo(object) {
11248 return typeOf(object) === REACT_MEMO_TYPE;
11249 }
11250 function isPortal(object) {
11251 return typeOf(object) === REACT_PORTAL_TYPE;
11252 }
11253 function isProfiler(object) {
11254 return typeOf(object) === REACT_PROFILER_TYPE;
11255 }
11256 function isStrictMode(object) {
11257 return typeOf(object) === REACT_STRICT_MODE_TYPE;
11258 }
11259 function isSuspense(object) {
11260 return typeOf(object) === REACT_SUSPENSE_TYPE;
11261 }
11262 function isSuspenseList(object) {
11263 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
11264 }
11265
11266 exports.ContextConsumer = ContextConsumer;
11267 exports.ContextProvider = ContextProvider;
11268 exports.Element = Element;
11269 exports.ForwardRef = ForwardRef;
11270 exports.Fragment = Fragment;
11271 exports.Lazy = Lazy;
11272 exports.Memo = Memo;
11273 exports.Portal = Portal;
11274 exports.Profiler = Profiler;
11275 exports.StrictMode = StrictMode;
11276 exports.Suspense = Suspense;
11277 exports.SuspenseList = SuspenseList;
11278 exports.isAsyncMode = isAsyncMode;
11279 exports.isConcurrentMode = isConcurrentMode;
11280 exports.isContextConsumer = isContextConsumer;
11281 exports.isContextProvider = isContextProvider;
11282 exports.isElement = isElement;
11283 exports.isForwardRef = isForwardRef;
11284 exports.isFragment = isFragment;
11285 exports.isLazy = isLazy;
11286 exports.isMemo = isMemo;
11287 exports.isPortal = isPortal;
11288 exports.isProfiler = isProfiler;
11289 exports.isStrictMode = isStrictMode;
11290 exports.isSuspense = isSuspense;
11291 exports.isSuspenseList = isSuspenseList;
11292 exports.isValidElementType = isValidElementType;
11293 exports.typeOf = typeOf;
11294 })();
11295 }
11296
11297
11298 /***/ }),
11299
11300 /***/ "../node_modules/react-is/index.js":
11301 /*!*****************************************!*\
11302 !*** ../node_modules/react-is/index.js ***!
11303 \*****************************************/
11304 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11305
11306 "use strict";
11307
11308
11309 if (false) {} else {
11310 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11311 }
11312
11313
11314 /***/ }),
11315
11316 /***/ "../node_modules/shallowequal/index.js":
11317 /*!*********************************************!*\
11318 !*** ../node_modules/shallowequal/index.js ***!
11319 \*********************************************/
11320 /***/ ((module) => {
11321
11322 //
11323
11324 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11325 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11326
11327 if (ret !== void 0) {
11328 return !!ret;
11329 }
11330
11331 if (objA === objB) {
11332 return true;
11333 }
11334
11335 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11336 return false;
11337 }
11338
11339 var keysA = Object.keys(objA);
11340 var keysB = Object.keys(objB);
11341
11342 if (keysA.length !== keysB.length) {
11343 return false;
11344 }
11345
11346 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11347
11348 // Test for A's keys different from B.
11349 for (var idx = 0; idx < keysA.length; idx++) {
11350 var key = keysA[idx];
11351
11352 if (!bHasOwnProperty(key)) {
11353 return false;
11354 }
11355
11356 var valueA = objA[key];
11357 var valueB = objB[key];
11358
11359 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11360
11361 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11362 return false;
11363 }
11364 }
11365
11366 return true;
11367 };
11368
11369
11370 /***/ }),
11371
11372 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11373 /*!*******************************************************************************!*\
11374 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11375 \*******************************************************************************/
11376 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11377
11378 "use strict";
11379 __webpack_require__.r(__webpack_exports__);
11380 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11381 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11382 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11383 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11384 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11385 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11386 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11387 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11388 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11389 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11390 /* harmony export */ css: () => (/* binding */ Ae),
11391 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11392 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11393 /* harmony export */ keyframes: () => (/* binding */ We),
11394 /* harmony export */ useTheme: () => (/* binding */ Xe),
11395 /* harmony export */ version: () => (/* binding */ A),
11396 /* harmony export */ withTheme: () => (/* binding */ Je)
11397 /* harmony export */ });
11398 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11399 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11400 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11401 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11402 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11403 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11404 /* 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");
11405 /* 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");
11406 /* 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");
11407 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11408 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);
11409 //# sourceMappingURL=styled-components.browser.esm.js.map
11410
11411
11412 /***/ }),
11413
11414 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11415 /*!*****************************************************************************************************!*\
11416 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11417 \*****************************************************************************************************/
11418 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11419
11420 "use strict";
11421 __webpack_require__.r(__webpack_exports__);
11422 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11423 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11424 /* harmony export */ });
11425 var unitlessKeys = {
11426 animationIterationCount: 1,
11427 borderImageOutset: 1,
11428 borderImageSlice: 1,
11429 borderImageWidth: 1,
11430 boxFlex: 1,
11431 boxFlexGroup: 1,
11432 boxOrdinalGroup: 1,
11433 columnCount: 1,
11434 columns: 1,
11435 flex: 1,
11436 flexGrow: 1,
11437 flexPositive: 1,
11438 flexShrink: 1,
11439 flexNegative: 1,
11440 flexOrder: 1,
11441 gridRow: 1,
11442 gridRowEnd: 1,
11443 gridRowSpan: 1,
11444 gridRowStart: 1,
11445 gridColumn: 1,
11446 gridColumnEnd: 1,
11447 gridColumnSpan: 1,
11448 gridColumnStart: 1,
11449 msGridRow: 1,
11450 msGridRowSpan: 1,
11451 msGridColumn: 1,
11452 msGridColumnSpan: 1,
11453 fontWeight: 1,
11454 lineHeight: 1,
11455 opacity: 1,
11456 order: 1,
11457 orphans: 1,
11458 tabSize: 1,
11459 widows: 1,
11460 zIndex: 1,
11461 zoom: 1,
11462 WebkitLineClamp: 1,
11463 // SVG-related properties
11464 fillOpacity: 1,
11465 floodOpacity: 1,
11466 stopOpacity: 1,
11467 strokeDasharray: 1,
11468 strokeDashoffset: 1,
11469 strokeMiterlimit: 1,
11470 strokeOpacity: 1,
11471 strokeWidth: 1
11472 };
11473
11474 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11475
11476
11477 /***/ }),
11478
11479 /***/ "../node_modules/validator/lib/isFQDN.js":
11480 /*!***********************************************!*\
11481 !*** ../node_modules/validator/lib/isFQDN.js ***!
11482 \***********************************************/
11483 /***/ ((module, exports, __webpack_require__) => {
11484
11485 "use strict";
11486
11487
11488 Object.defineProperty(exports, "__esModule", ({
11489 value: true
11490 }));
11491 exports["default"] = isFQDN;
11492
11493 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11494
11495 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11496
11497 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11498
11499 var default_fqdn_options = {
11500 require_tld: true,
11501 allow_underscores: false,
11502 allow_trailing_dot: false,
11503 allow_numeric_tld: false,
11504 allow_wildcard: false,
11505 ignore_max_length: false
11506 };
11507
11508 function isFQDN(str, options) {
11509 (0, _assertString.default)(str);
11510 options = (0, _merge.default)(options, default_fqdn_options);
11511 /* Remove the optional trailing dot before checking validity */
11512
11513 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11514 str = str.substring(0, str.length - 1);
11515 }
11516 /* Remove the optional wildcard before checking validity */
11517
11518
11519 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11520 str = str.substring(2);
11521 }
11522
11523 var parts = str.split('.');
11524 var tld = parts[parts.length - 1];
11525
11526 if (options.require_tld) {
11527 // disallow fqdns without tld
11528 if (parts.length < 2) {
11529 return false;
11530 }
11531
11532 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11533 return false;
11534 } // disallow spaces
11535
11536
11537 if (/\s/.test(tld)) {
11538 return false;
11539 }
11540 } // reject numeric TLDs
11541
11542
11543 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11544 return false;
11545 }
11546
11547 return parts.every(function (part) {
11548 if (part.length > 63 && !options.ignore_max_length) {
11549 return false;
11550 }
11551
11552 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11553 return false;
11554 } // disallow full-width chars
11555
11556
11557 if (/[\uff01-\uff5e]/.test(part)) {
11558 return false;
11559 } // disallow parts starting or ending with hyphen
11560
11561
11562 if (/^-|-$/.test(part)) {
11563 return false;
11564 }
11565
11566 if (!options.allow_underscores && /_/.test(part)) {
11567 return false;
11568 }
11569
11570 return true;
11571 });
11572 }
11573
11574 module.exports = exports.default;
11575 module.exports["default"] = exports.default;
11576
11577 /***/ }),
11578
11579 /***/ "../node_modules/validator/lib/isIP.js":
11580 /*!*********************************************!*\
11581 !*** ../node_modules/validator/lib/isIP.js ***!
11582 \*********************************************/
11583 /***/ ((module, exports, __webpack_require__) => {
11584
11585 "use strict";
11586
11587
11588 Object.defineProperty(exports, "__esModule", ({
11589 value: true
11590 }));
11591 exports["default"] = isIP;
11592
11593 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11594
11595 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11596
11597 /**
11598 11.3. Examples
11599
11600 The following addresses
11601
11602 fe80::1234 (on the 1st link of the node)
11603 ff02::5678 (on the 5th link of the node)
11604 ff08::9abc (on the 10th organization of the node)
11605
11606 would be represented as follows:
11607
11608 fe80::1234%1
11609 ff02::5678%5
11610 ff08::9abc%10
11611
11612 (Here we assume a natural translation from a zone index to the
11613 <zone_id> part, where the Nth zone of any scope is translated into
11614 "N".)
11615
11616 If we use interface names as <zone_id>, those addresses could also be
11617 represented as follows:
11618
11619 fe80::1234%ne0
11620 ff02::5678%pvc1.3
11621 ff08::9abc%interface10
11622
11623 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11624 to the 5th link, and "interface10" belongs to the 10th organization.
11625 * * */
11626 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11627 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11628 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11629 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11630 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,})?$');
11631
11632 function isIP(str) {
11633 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11634 (0, _assertString.default)(str);
11635 version = String(version);
11636
11637 if (!version) {
11638 return isIP(str, 4) || isIP(str, 6);
11639 }
11640
11641 if (version === '4') {
11642 return IPv4AddressRegExp.test(str);
11643 }
11644
11645 if (version === '6') {
11646 return IPv6AddressRegExp.test(str);
11647 }
11648
11649 return false;
11650 }
11651
11652 module.exports = exports.default;
11653 module.exports["default"] = exports.default;
11654
11655 /***/ }),
11656
11657 /***/ "../node_modules/validator/lib/isURL.js":
11658 /*!**********************************************!*\
11659 !*** ../node_modules/validator/lib/isURL.js ***!
11660 \**********************************************/
11661 /***/ ((module, exports, __webpack_require__) => {
11662
11663 "use strict";
11664
11665
11666 Object.defineProperty(exports, "__esModule", ({
11667 value: true
11668 }));
11669 exports["default"] = isURL;
11670
11671 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11672
11673 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11674
11675 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11676
11677 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11678
11679 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11680
11681 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11682
11683 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."); }
11684
11685 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); }
11686
11687 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; }
11688
11689 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; }
11690
11691 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11692
11693 /*
11694 options for isURL method
11695
11696 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11697 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11698 protocols - valid protocols can be modified with this option
11699 require_host - if set as false isURL will not check if host is present in the URL
11700 require_port - if set as true isURL will check if port is present in the URL
11701 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11702 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11703
11704 */
11705 var default_url_options = {
11706 protocols: ['http', 'https', 'ftp'],
11707 require_tld: true,
11708 require_protocol: false,
11709 require_host: true,
11710 require_port: false,
11711 require_valid_protocol: true,
11712 allow_underscores: false,
11713 allow_trailing_dot: false,
11714 allow_protocol_relative_urls: false,
11715 allow_fragments: true,
11716 allow_query_components: true,
11717 validate_length: true
11718 };
11719 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11720
11721 function isRegExp(obj) {
11722 return Object.prototype.toString.call(obj) === '[object RegExp]';
11723 }
11724
11725 function checkHost(host, matches) {
11726 for (var i = 0; i < matches.length; i++) {
11727 var match = matches[i];
11728
11729 if (host === match || isRegExp(match) && match.test(host)) {
11730 return true;
11731 }
11732 }
11733
11734 return false;
11735 }
11736
11737 function isURL(url, options) {
11738 (0, _assertString.default)(url);
11739
11740 if (!url || /[\s<>]/.test(url)) {
11741 return false;
11742 }
11743
11744 if (url.indexOf('mailto:') === 0) {
11745 return false;
11746 }
11747
11748 options = (0, _merge.default)(options, default_url_options);
11749
11750 if (options.validate_length && url.length >= 2083) {
11751 return false;
11752 }
11753
11754 if (!options.allow_fragments && url.includes('#')) {
11755 return false;
11756 }
11757
11758 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11759 return false;
11760 }
11761
11762 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11763 split = url.split('#');
11764 url = split.shift();
11765 split = url.split('?');
11766 url = split.shift();
11767 split = url.split('://');
11768
11769 if (split.length > 1) {
11770 protocol = split.shift().toLowerCase();
11771
11772 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11773 return false;
11774 }
11775 } else if (options.require_protocol) {
11776 return false;
11777 } else if (url.slice(0, 2) === '//') {
11778 if (!options.allow_protocol_relative_urls) {
11779 return false;
11780 }
11781
11782 split[0] = url.slice(2);
11783 }
11784
11785 url = split.join('://');
11786
11787 if (url === '') {
11788 return false;
11789 }
11790
11791 split = url.split('/');
11792 url = split.shift();
11793
11794 if (url === '' && !options.require_host) {
11795 return true;
11796 }
11797
11798 split = url.split('@');
11799
11800 if (split.length > 1) {
11801 if (options.disallow_auth) {
11802 return false;
11803 }
11804
11805 if (split[0] === '') {
11806 return false;
11807 }
11808
11809 auth = split.shift();
11810
11811 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11812 return false;
11813 }
11814
11815 var _auth$split = auth.split(':'),
11816 _auth$split2 = _slicedToArray(_auth$split, 2),
11817 user = _auth$split2[0],
11818 password = _auth$split2[1];
11819
11820 if (user === '' && password === '') {
11821 return false;
11822 }
11823 }
11824
11825 hostname = split.join('@');
11826 port_str = null;
11827 ipv6 = null;
11828 var ipv6_match = hostname.match(wrapped_ipv6);
11829
11830 if (ipv6_match) {
11831 host = '';
11832 ipv6 = ipv6_match[1];
11833 port_str = ipv6_match[2] || null;
11834 } else {
11835 split = hostname.split(':');
11836 host = split.shift();
11837
11838 if (split.length) {
11839 port_str = split.join(':');
11840 }
11841 }
11842
11843 if (port_str !== null && port_str.length > 0) {
11844 port = parseInt(port_str, 10);
11845
11846 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11847 return false;
11848 }
11849 } else if (options.require_port) {
11850 return false;
11851 }
11852
11853 if (options.host_whitelist) {
11854 return checkHost(host, options.host_whitelist);
11855 }
11856
11857 if (host === '' && !options.require_host) {
11858 return true;
11859 }
11860
11861 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11862 return false;
11863 }
11864
11865 host = host || ipv6;
11866
11867 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11868 return false;
11869 }
11870
11871 return true;
11872 }
11873
11874 module.exports = exports.default;
11875 module.exports["default"] = exports.default;
11876
11877 /***/ }),
11878
11879 /***/ "../node_modules/validator/lib/util/assertString.js":
11880 /*!**********************************************************!*\
11881 !*** ../node_modules/validator/lib/util/assertString.js ***!
11882 \**********************************************************/
11883 /***/ ((module, exports) => {
11884
11885 "use strict";
11886
11887
11888 Object.defineProperty(exports, "__esModule", ({
11889 value: true
11890 }));
11891 exports["default"] = assertString;
11892
11893 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); }
11894
11895 function assertString(input) {
11896 var isString = typeof input === 'string' || input instanceof String;
11897
11898 if (!isString) {
11899 var invalidType = _typeof(input);
11900
11901 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11902 throw new TypeError("Expected a string but received a ".concat(invalidType));
11903 }
11904 }
11905
11906 module.exports = exports.default;
11907 module.exports["default"] = exports.default;
11908
11909 /***/ }),
11910
11911 /***/ "../node_modules/validator/lib/util/merge.js":
11912 /*!***************************************************!*\
11913 !*** ../node_modules/validator/lib/util/merge.js ***!
11914 \***************************************************/
11915 /***/ ((module, exports) => {
11916
11917 "use strict";
11918
11919
11920 Object.defineProperty(exports, "__esModule", ({
11921 value: true
11922 }));
11923 exports["default"] = merge;
11924
11925 function merge() {
11926 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11927 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11928
11929 for (var key in defaults) {
11930 if (typeof obj[key] === 'undefined') {
11931 obj[key] = defaults[key];
11932 }
11933 }
11934
11935 return obj;
11936 }
11937
11938 module.exports = exports.default;
11939 module.exports["default"] = exports.default;
11940
11941 /***/ }),
11942
11943 /***/ "react":
11944 /*!************************!*\
11945 !*** external "React" ***!
11946 \************************/
11947 /***/ ((module) => {
11948
11949 "use strict";
11950 module.exports = React;
11951
11952 /***/ }),
11953
11954 /***/ "react-dom":
11955 /*!***************************!*\
11956 !*** external "ReactDOM" ***!
11957 \***************************/
11958 /***/ ((module) => {
11959
11960 "use strict";
11961 module.exports = ReactDOM;
11962
11963 /***/ }),
11964
11965 /***/ "@elementor/icons":
11966 /*!************************************!*\
11967 !*** external "elementorV2.icons" ***!
11968 \************************************/
11969 /***/ ((module) => {
11970
11971 "use strict";
11972 module.exports = elementorV2.icons;
11973
11974 /***/ }),
11975
11976 /***/ "@elementor/ui":
11977 /*!*********************************!*\
11978 !*** external "elementorV2.ui" ***!
11979 \*********************************/
11980 /***/ ((module) => {
11981
11982 "use strict";
11983 module.exports = elementorV2.ui;
11984
11985 /***/ }),
11986
11987 /***/ "@wordpress/i18n":
11988 /*!**************************!*\
11989 !*** external "wp.i18n" ***!
11990 \**************************/
11991 /***/ ((module) => {
11992
11993 "use strict";
11994 module.exports = wp.i18n;
11995
11996 /***/ }),
11997
11998 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11999 /*!******************************************************************!*\
12000 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
12001 \******************************************************************/
12002 /***/ ((module) => {
12003
12004 function _arrayLikeToArray(arr, len) {
12005 if (len == null || len > arr.length) len = arr.length;
12006 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
12007 return arr2;
12008 }
12009 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12010
12011 /***/ }),
12012
12013 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
12014 /*!****************************************************************!*\
12015 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
12016 \****************************************************************/
12017 /***/ ((module) => {
12018
12019 function _arrayWithHoles(arr) {
12020 if (Array.isArray(arr)) return arr;
12021 }
12022 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12023
12024 /***/ }),
12025
12026 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
12027 /*!*******************************************************************!*\
12028 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
12029 \*******************************************************************/
12030 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12031
12032 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12033 function _arrayWithoutHoles(arr) {
12034 if (Array.isArray(arr)) return arrayLikeToArray(arr);
12035 }
12036 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12037
12038 /***/ }),
12039
12040 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
12041 /*!***********************************************************************!*\
12042 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
12043 \***********************************************************************/
12044 /***/ ((module) => {
12045
12046 function _assertThisInitialized(self) {
12047 if (self === void 0) {
12048 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12049 }
12050 return self;
12051 }
12052 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
12053
12054 /***/ }),
12055
12056 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
12057 /*!******************************************************************!*\
12058 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
12059 \******************************************************************/
12060 /***/ ((module) => {
12061
12062 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
12063 try {
12064 var info = gen[key](arg);
12065 var value = info.value;
12066 } catch (error) {
12067 reject(error);
12068 return;
12069 }
12070 if (info.done) {
12071 resolve(value);
12072 } else {
12073 Promise.resolve(value).then(_next, _throw);
12074 }
12075 }
12076 function _asyncToGenerator(fn) {
12077 return function () {
12078 var self = this,
12079 args = arguments;
12080 return new Promise(function (resolve, reject) {
12081 var gen = fn.apply(self, args);
12082 function _next(value) {
12083 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
12084 }
12085 function _throw(err) {
12086 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
12087 }
12088 _next(undefined);
12089 });
12090 };
12091 }
12092 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
12093
12094 /***/ }),
12095
12096 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
12097 /*!****************************************************************!*\
12098 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
12099 \****************************************************************/
12100 /***/ ((module) => {
12101
12102 function _classCallCheck(instance, Constructor) {
12103 if (!(instance instanceof Constructor)) {
12104 throw new TypeError("Cannot call a class as a function");
12105 }
12106 }
12107 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
12108
12109 /***/ }),
12110
12111 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
12112 /*!*************************************************************!*\
12113 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
12114 \*************************************************************/
12115 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12116
12117 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12118 function _defineProperties(target, props) {
12119 for (var i = 0; i < props.length; i++) {
12120 var descriptor = props[i];
12121 descriptor.enumerable = descriptor.enumerable || false;
12122 descriptor.configurable = true;
12123 if ("value" in descriptor) descriptor.writable = true;
12124 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
12125 }
12126 }
12127 function _createClass(Constructor, protoProps, staticProps) {
12128 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12129 if (staticProps) _defineProperties(Constructor, staticProps);
12130 Object.defineProperty(Constructor, "prototype", {
12131 writable: false
12132 });
12133 return Constructor;
12134 }
12135 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
12136
12137 /***/ }),
12138
12139 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
12140 /*!****************************************************************!*\
12141 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
12142 \****************************************************************/
12143 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12144
12145 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12146 function _defineProperty(obj, key, value) {
12147 key = toPropertyKey(key);
12148 if (key in obj) {
12149 Object.defineProperty(obj, key, {
12150 value: value,
12151 enumerable: true,
12152 configurable: true,
12153 writable: true
12154 });
12155 } else {
12156 obj[key] = value;
12157 }
12158 return obj;
12159 }
12160 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
12161
12162 /***/ }),
12163
12164 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
12165 /*!*********************************************************!*\
12166 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
12167 \*********************************************************/
12168 /***/ ((module) => {
12169
12170 function _extends() {
12171 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
12172 for (var i = 1; i < arguments.length; i++) {
12173 var source = arguments[i];
12174 for (var key in source) {
12175 if (Object.prototype.hasOwnProperty.call(source, key)) {
12176 target[key] = source[key];
12177 }
12178 }
12179 }
12180 return target;
12181 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12182 return _extends.apply(this, arguments);
12183 }
12184 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
12185
12186 /***/ }),
12187
12188 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
12189 /*!****************************************************************!*\
12190 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
12191 \****************************************************************/
12192 /***/ ((module) => {
12193
12194 function _getPrototypeOf(o) {
12195 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
12196 return o.__proto__ || Object.getPrototypeOf(o);
12197 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12198 return _getPrototypeOf(o);
12199 }
12200 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12201
12202 /***/ }),
12203
12204 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
12205 /*!**********************************************************!*\
12206 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
12207 \**********************************************************/
12208 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12209
12210 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
12211 function _inherits(subClass, superClass) {
12212 if (typeof superClass !== "function" && superClass !== null) {
12213 throw new TypeError("Super expression must either be null or a function");
12214 }
12215 subClass.prototype = Object.create(superClass && superClass.prototype, {
12216 constructor: {
12217 value: subClass,
12218 writable: true,
12219 configurable: true
12220 }
12221 });
12222 Object.defineProperty(subClass, "prototype", {
12223 writable: false
12224 });
12225 if (superClass) setPrototypeOf(subClass, superClass);
12226 }
12227 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
12228
12229 /***/ }),
12230
12231 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
12232 /*!***********************************************************************!*\
12233 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
12234 \***********************************************************************/
12235 /***/ ((module) => {
12236
12237 function _interopRequireDefault(obj) {
12238 return obj && obj.__esModule ? obj : {
12239 "default": obj
12240 };
12241 }
12242 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
12243
12244 /***/ }),
12245
12246 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
12247 /*!*****************************************************************!*\
12248 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
12249 \*****************************************************************/
12250 /***/ ((module) => {
12251
12252 function _iterableToArray(iter) {
12253 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12254 }
12255 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12256
12257 /***/ }),
12258
12259 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
12260 /*!**********************************************************************!*\
12261 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
12262 \**********************************************************************/
12263 /***/ ((module) => {
12264
12265 function _iterableToArrayLimit(r, l) {
12266 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
12267 if (null != t) {
12268 var e,
12269 n,
12270 i,
12271 u,
12272 a = [],
12273 f = !0,
12274 o = !1;
12275 try {
12276 if (i = (t = t.call(r)).next, 0 === l) {
12277 if (Object(t) !== t) return;
12278 f = !1;
12279 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12280 } catch (r) {
12281 o = !0, n = r;
12282 } finally {
12283 try {
12284 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12285 } finally {
12286 if (o) throw n;
12287 }
12288 }
12289 return a;
12290 }
12291 }
12292 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12293
12294 /***/ }),
12295
12296 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12297 /*!*****************************************************************!*\
12298 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12299 \*****************************************************************/
12300 /***/ ((module) => {
12301
12302 function _nonIterableRest() {
12303 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12304 }
12305 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12306
12307 /***/ }),
12308
12309 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12310 /*!*******************************************************************!*\
12311 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12312 \*******************************************************************/
12313 /***/ ((module) => {
12314
12315 function _nonIterableSpread() {
12316 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12317 }
12318 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12319
12320 /***/ }),
12321
12322 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12323 /*!*************************************************************************!*\
12324 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12325 \*************************************************************************/
12326 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12327
12328 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12329 function _objectWithoutProperties(source, excluded) {
12330 if (source == null) return {};
12331 var target = objectWithoutPropertiesLoose(source, excluded);
12332 var key, i;
12333 if (Object.getOwnPropertySymbols) {
12334 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12335 for (i = 0; i < sourceSymbolKeys.length; i++) {
12336 key = sourceSymbolKeys[i];
12337 if (excluded.indexOf(key) >= 0) continue;
12338 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12339 target[key] = source[key];
12340 }
12341 }
12342 return target;
12343 }
12344 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12345
12346 /***/ }),
12347
12348 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12349 /*!******************************************************************************!*\
12350 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12351 \******************************************************************************/
12352 /***/ ((module) => {
12353
12354 function _objectWithoutPropertiesLoose(source, excluded) {
12355 if (source == null) return {};
12356 var target = {};
12357 var sourceKeys = Object.keys(source);
12358 var key, i;
12359 for (i = 0; i < sourceKeys.length; i++) {
12360 key = sourceKeys[i];
12361 if (excluded.indexOf(key) >= 0) continue;
12362 target[key] = source[key];
12363 }
12364 return target;
12365 }
12366 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12367
12368 /***/ }),
12369
12370 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12371 /*!***************************************************************************!*\
12372 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12373 \***************************************************************************/
12374 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12375
12376 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12377 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12378 function _possibleConstructorReturn(self, call) {
12379 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12380 return call;
12381 } else if (call !== void 0) {
12382 throw new TypeError("Derived constructors may only return object or undefined");
12383 }
12384 return assertThisInitialized(self);
12385 }
12386 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12387
12388 /***/ }),
12389
12390 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12391 /*!********************************************************************!*\
12392 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12393 \********************************************************************/
12394 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12395
12396 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12397 function _regeneratorRuntime() {
12398 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12399 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12400 return e;
12401 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12402 var t,
12403 e = {},
12404 r = Object.prototype,
12405 n = r.hasOwnProperty,
12406 o = Object.defineProperty || function (t, e, r) {
12407 t[e] = r.value;
12408 },
12409 i = "function" == typeof Symbol ? Symbol : {},
12410 a = i.iterator || "@@iterator",
12411 c = i.asyncIterator || "@@asyncIterator",
12412 u = i.toStringTag || "@@toStringTag";
12413 function define(t, e, r) {
12414 return Object.defineProperty(t, e, {
12415 value: r,
12416 enumerable: !0,
12417 configurable: !0,
12418 writable: !0
12419 }), t[e];
12420 }
12421 try {
12422 define({}, "");
12423 } catch (t) {
12424 define = function define(t, e, r) {
12425 return t[e] = r;
12426 };
12427 }
12428 function wrap(t, e, r, n) {
12429 var i = e && e.prototype instanceof Generator ? e : Generator,
12430 a = Object.create(i.prototype),
12431 c = new Context(n || []);
12432 return o(a, "_invoke", {
12433 value: makeInvokeMethod(t, r, c)
12434 }), a;
12435 }
12436 function tryCatch(t, e, r) {
12437 try {
12438 return {
12439 type: "normal",
12440 arg: t.call(e, r)
12441 };
12442 } catch (t) {
12443 return {
12444 type: "throw",
12445 arg: t
12446 };
12447 }
12448 }
12449 e.wrap = wrap;
12450 var h = "suspendedStart",
12451 l = "suspendedYield",
12452 f = "executing",
12453 s = "completed",
12454 y = {};
12455 function Generator() {}
12456 function GeneratorFunction() {}
12457 function GeneratorFunctionPrototype() {}
12458 var p = {};
12459 define(p, a, function () {
12460 return this;
12461 });
12462 var d = Object.getPrototypeOf,
12463 v = d && d(d(values([])));
12464 v && v !== r && n.call(v, a) && (p = v);
12465 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12466 function defineIteratorMethods(t) {
12467 ["next", "throw", "return"].forEach(function (e) {
12468 define(t, e, function (t) {
12469 return this._invoke(e, t);
12470 });
12471 });
12472 }
12473 function AsyncIterator(t, e) {
12474 function invoke(r, o, i, a) {
12475 var c = tryCatch(t[r], t, o);
12476 if ("throw" !== c.type) {
12477 var u = c.arg,
12478 h = u.value;
12479 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12480 invoke("next", t, i, a);
12481 }, function (t) {
12482 invoke("throw", t, i, a);
12483 }) : e.resolve(h).then(function (t) {
12484 u.value = t, i(u);
12485 }, function (t) {
12486 return invoke("throw", t, i, a);
12487 });
12488 }
12489 a(c.arg);
12490 }
12491 var r;
12492 o(this, "_invoke", {
12493 value: function value(t, n) {
12494 function callInvokeWithMethodAndArg() {
12495 return new e(function (e, r) {
12496 invoke(t, n, e, r);
12497 });
12498 }
12499 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12500 }
12501 });
12502 }
12503 function makeInvokeMethod(e, r, n) {
12504 var o = h;
12505 return function (i, a) {
12506 if (o === f) throw new Error("Generator is already running");
12507 if (o === s) {
12508 if ("throw" === i) throw a;
12509 return {
12510 value: t,
12511 done: !0
12512 };
12513 }
12514 for (n.method = i, n.arg = a;;) {
12515 var c = n.delegate;
12516 if (c) {
12517 var u = maybeInvokeDelegate(c, n);
12518 if (u) {
12519 if (u === y) continue;
12520 return u;
12521 }
12522 }
12523 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12524 if (o === h) throw o = s, n.arg;
12525 n.dispatchException(n.arg);
12526 } else "return" === n.method && n.abrupt("return", n.arg);
12527 o = f;
12528 var p = tryCatch(e, r, n);
12529 if ("normal" === p.type) {
12530 if (o = n.done ? s : l, p.arg === y) continue;
12531 return {
12532 value: p.arg,
12533 done: n.done
12534 };
12535 }
12536 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12537 }
12538 };
12539 }
12540 function maybeInvokeDelegate(e, r) {
12541 var n = r.method,
12542 o = e.iterator[n];
12543 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;
12544 var i = tryCatch(o, e.iterator, r.arg);
12545 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12546 var a = i.arg;
12547 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);
12548 }
12549 function pushTryEntry(t) {
12550 var e = {
12551 tryLoc: t[0]
12552 };
12553 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12554 }
12555 function resetTryEntry(t) {
12556 var e = t.completion || {};
12557 e.type = "normal", delete e.arg, t.completion = e;
12558 }
12559 function Context(t) {
12560 this.tryEntries = [{
12561 tryLoc: "root"
12562 }], t.forEach(pushTryEntry, this), this.reset(!0);
12563 }
12564 function values(e) {
12565 if (e || "" === e) {
12566 var r = e[a];
12567 if (r) return r.call(e);
12568 if ("function" == typeof e.next) return e;
12569 if (!isNaN(e.length)) {
12570 var o = -1,
12571 i = function next() {
12572 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12573 return next.value = t, next.done = !0, next;
12574 };
12575 return i.next = i;
12576 }
12577 }
12578 throw new TypeError(_typeof(e) + " is not iterable");
12579 }
12580 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12581 value: GeneratorFunctionPrototype,
12582 configurable: !0
12583 }), o(GeneratorFunctionPrototype, "constructor", {
12584 value: GeneratorFunction,
12585 configurable: !0
12586 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12587 var e = "function" == typeof t && t.constructor;
12588 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12589 }, e.mark = function (t) {
12590 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12591 }, e.awrap = function (t) {
12592 return {
12593 __await: t
12594 };
12595 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12596 return this;
12597 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12598 void 0 === i && (i = Promise);
12599 var a = new AsyncIterator(wrap(t, r, n, o), i);
12600 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12601 return t.done ? t.value : a.next();
12602 });
12603 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12604 return this;
12605 }), define(g, "toString", function () {
12606 return "[object Generator]";
12607 }), e.keys = function (t) {
12608 var e = Object(t),
12609 r = [];
12610 for (var n in e) r.push(n);
12611 return r.reverse(), function next() {
12612 for (; r.length;) {
12613 var t = r.pop();
12614 if (t in e) return next.value = t, next.done = !1, next;
12615 }
12616 return next.done = !0, next;
12617 };
12618 }, e.values = values, Context.prototype = {
12619 constructor: Context,
12620 reset: function reset(e) {
12621 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);
12622 },
12623 stop: function stop() {
12624 this.done = !0;
12625 var t = this.tryEntries[0].completion;
12626 if ("throw" === t.type) throw t.arg;
12627 return this.rval;
12628 },
12629 dispatchException: function dispatchException(e) {
12630 if (this.done) throw e;
12631 var r = this;
12632 function handle(n, o) {
12633 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12634 }
12635 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12636 var i = this.tryEntries[o],
12637 a = i.completion;
12638 if ("root" === i.tryLoc) return handle("end");
12639 if (i.tryLoc <= this.prev) {
12640 var c = n.call(i, "catchLoc"),
12641 u = n.call(i, "finallyLoc");
12642 if (c && u) {
12643 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12644 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12645 } else if (c) {
12646 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12647 } else {
12648 if (!u) throw new Error("try statement without catch or finally");
12649 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12650 }
12651 }
12652 }
12653 },
12654 abrupt: function abrupt(t, e) {
12655 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12656 var o = this.tryEntries[r];
12657 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12658 var i = o;
12659 break;
12660 }
12661 }
12662 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12663 var a = i ? i.completion : {};
12664 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12665 },
12666 complete: function complete(t, e) {
12667 if ("throw" === t.type) throw t.arg;
12668 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;
12669 },
12670 finish: function finish(t) {
12671 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12672 var r = this.tryEntries[e];
12673 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12674 }
12675 },
12676 "catch": function _catch(t) {
12677 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12678 var r = this.tryEntries[e];
12679 if (r.tryLoc === t) {
12680 var n = r.completion;
12681 if ("throw" === n.type) {
12682 var o = n.arg;
12683 resetTryEntry(r);
12684 }
12685 return o;
12686 }
12687 }
12688 throw new Error("illegal catch attempt");
12689 },
12690 delegateYield: function delegateYield(e, r, n) {
12691 return this.delegate = {
12692 iterator: values(e),
12693 resultName: r,
12694 nextLoc: n
12695 }, "next" === this.method && (this.arg = t), y;
12696 }
12697 }, e;
12698 }
12699 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12700
12701 /***/ }),
12702
12703 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12704 /*!****************************************************************!*\
12705 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12706 \****************************************************************/
12707 /***/ ((module) => {
12708
12709 function _setPrototypeOf(o, p) {
12710 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12711 o.__proto__ = p;
12712 return o;
12713 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12714 return _setPrototypeOf(o, p);
12715 }
12716 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12717
12718 /***/ }),
12719
12720 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12721 /*!***************************************************************!*\
12722 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12723 \***************************************************************/
12724 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12725
12726 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12727 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12728 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12729 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12730 function _slicedToArray(arr, i) {
12731 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12732 }
12733 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12734
12735 /***/ }),
12736
12737 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12738 /*!***********************************************************************!*\
12739 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12740 \***********************************************************************/
12741 /***/ ((module) => {
12742
12743 function _taggedTemplateLiteral(strings, raw) {
12744 if (!raw) {
12745 raw = strings.slice(0);
12746 }
12747 return Object.freeze(Object.defineProperties(strings, {
12748 raw: {
12749 value: Object.freeze(raw)
12750 }
12751 }));
12752 }
12753 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12754
12755 /***/ }),
12756
12757 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12758 /*!*******************************************************************!*\
12759 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12760 \*******************************************************************/
12761 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12762
12763 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12764 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12765 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12766 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12767 function _toConsumableArray(arr) {
12768 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12769 }
12770 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12771
12772 /***/ }),
12773
12774 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12775 /*!*************************************************************!*\
12776 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12777 \*************************************************************/
12778 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12779
12780 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12781 function toPrimitive(t, r) {
12782 if ("object" != _typeof(t) || !t) return t;
12783 var e = t[Symbol.toPrimitive];
12784 if (void 0 !== e) {
12785 var i = e.call(t, r || "default");
12786 if ("object" != _typeof(i)) return i;
12787 throw new TypeError("@@toPrimitive must return a primitive value.");
12788 }
12789 return ("string" === r ? String : Number)(t);
12790 }
12791 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12792
12793 /***/ }),
12794
12795 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12796 /*!***************************************************************!*\
12797 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12798 \***************************************************************/
12799 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12800
12801 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12802 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12803 function toPropertyKey(t) {
12804 var i = toPrimitive(t, "string");
12805 return "symbol" == _typeof(i) ? i : String(i);
12806 }
12807 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12808
12809 /***/ }),
12810
12811 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12812 /*!********************************************************!*\
12813 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12814 \********************************************************/
12815 /***/ ((module) => {
12816
12817 function _typeof(o) {
12818 "@babel/helpers - typeof";
12819
12820 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12821 return typeof o;
12822 } : function (o) {
12823 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12824 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12825 }
12826 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12827
12828 /***/ }),
12829
12830 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12831 /*!****************************************************************************!*\
12832 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12833 \****************************************************************************/
12834 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12835
12836 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12837 function _unsupportedIterableToArray(o, minLen) {
12838 if (!o) return;
12839 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12840 var n = Object.prototype.toString.call(o).slice(8, -1);
12841 if (n === "Object" && o.constructor) n = o.constructor.name;
12842 if (n === "Map" || n === "Set") return Array.from(o);
12843 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12844 }
12845 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12846
12847 /***/ }),
12848
12849 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12850 /*!***********************************************************!*\
12851 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12852 \***********************************************************/
12853 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12854
12855 // TODO(Babel 8): Remove this file.
12856
12857 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12858 module.exports = runtime;
12859
12860 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12861 try {
12862 regeneratorRuntime = runtime;
12863 } catch (accidentalStrictMode) {
12864 if (typeof globalThis === "object") {
12865 globalThis.regeneratorRuntime = runtime;
12866 } else {
12867 Function("r", "regeneratorRuntime = r")(runtime);
12868 }
12869 }
12870
12871
12872 /***/ })
12873
12874 /******/ });
12875 /************************************************************************/
12876 /******/ // The module cache
12877 /******/ var __webpack_module_cache__ = {};
12878 /******/
12879 /******/ // The require function
12880 /******/ function __webpack_require__(moduleId) {
12881 /******/ // Check if module is in cache
12882 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12883 /******/ if (cachedModule !== undefined) {
12884 /******/ return cachedModule.exports;
12885 /******/ }
12886 /******/ // Create a new module (and put it into the cache)
12887 /******/ var module = __webpack_module_cache__[moduleId] = {
12888 /******/ // no module.id needed
12889 /******/ // no module.loaded needed
12890 /******/ exports: {}
12891 /******/ };
12892 /******/
12893 /******/ // Execute the module function
12894 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12895 /******/
12896 /******/ // Return the exports of the module
12897 /******/ return module.exports;
12898 /******/ }
12899 /******/
12900 /************************************************************************/
12901 /******/ /* webpack/runtime/compat get default export */
12902 /******/ (() => {
12903 /******/ // getDefaultExport function for compatibility with non-harmony modules
12904 /******/ __webpack_require__.n = (module) => {
12905 /******/ var getter = module && module.__esModule ?
12906 /******/ () => (module['default']) :
12907 /******/ () => (module);
12908 /******/ __webpack_require__.d(getter, { a: getter });
12909 /******/ return getter;
12910 /******/ };
12911 /******/ })();
12912 /******/
12913 /******/ /* webpack/runtime/define property getters */
12914 /******/ (() => {
12915 /******/ // define getter functions for harmony exports
12916 /******/ __webpack_require__.d = (exports, definition) => {
12917 /******/ for(var key in definition) {
12918 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12919 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12920 /******/ }
12921 /******/ }
12922 /******/ };
12923 /******/ })();
12924 /******/
12925 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12926 /******/ (() => {
12927 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12928 /******/ })();
12929 /******/
12930 /******/ /* webpack/runtime/make namespace object */
12931 /******/ (() => {
12932 /******/ // define __esModule on exports
12933 /******/ __webpack_require__.r = (exports) => {
12934 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12935 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12936 /******/ }
12937 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12938 /******/ };
12939 /******/ })();
12940 /******/
12941 /******/ /* webpack/runtime/nonce */
12942 /******/ (() => {
12943 /******/ __webpack_require__.nc = undefined;
12944 /******/ })();
12945 /******/
12946 /************************************************************************/
12947 var __webpack_exports__ = {};
12948 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12949 (() => {
12950 "use strict";
12951 var exports = __webpack_exports__;
12952 /*!*******************************************************!*\
12953 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12954 \*******************************************************/
12955
12956
12957 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12958 Object.defineProperty(exports, "__esModule", ({
12959 value: true
12960 }));
12961 exports["default"] = exports.AI_ATTACHMENT = void 0;
12962 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12963 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12964 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12965 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12966 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12967 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12968 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12969 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12970 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12971 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12972 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12973 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12974 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12975 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"));
12976 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12977 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); }; }
12978 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; } }
12979 var AI_ATTACHMENT = 'ai-attachment';
12980 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12981 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12982 (0, _inherits2.default)(Module, _elementorModules$edi);
12983 var _super = _createSuper(Module);
12984 function Module() {
12985 var _this;
12986 (0, _classCallCheck2.default)(this, Module);
12987 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12988 args[_key] = arguments[_key];
12989 }
12990 _this = _super.call.apply(_super, [this].concat(args));
12991 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12992 var _ElementorAiConfig, _ElementorAiConfig$us;
12993 var saveGroup = groups.find(function (group) {
12994 return 'save' === group.name;
12995 });
12996 if (!saveGroup) {
12997 return groups;
12998 }
12999 var contextMenu = {
13000 name: 'ai',
13001 icon: 'eicon-ai',
13002 isEnabled: function isEnabled() {
13003 return 0 !== currentElement.getContainer().children.length;
13004 },
13005 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
13006 callback: function () {
13007 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
13008 var container, json, attachments;
13009 return _regenerator.default.wrap(function _callee$(_context) {
13010 while (1) switch (_context.prev = _context.next) {
13011 case 0:
13012 container = currentElement.getContainer();
13013 json = container.model.toJSON({
13014 remove: ['default']
13015 });
13016 attachments = [{
13017 type: 'json',
13018 previewHTML: '',
13019 content: json,
13020 label: container.model.get('title'),
13021 source: _attachments.USER_VARIATION_SOURCE
13022 }];
13023 (0, _editorIntegration.renderLayoutApp)({
13024 parentContainer: container.parent,
13025 mode: _config.MODE_VARIATION,
13026 at: container.view._index,
13027 attachments: attachments,
13028 onSelect: function onSelect() {
13029 container.view.$el.hide();
13030 },
13031 onClose: function onClose() {
13032 container.view.$el.show();
13033 },
13034 onInsert: function onInsert(template) {
13035 (0, _editorIntegration.importToEditor)({
13036 parentContainer: container.parent,
13037 at: container.view._index,
13038 template: template,
13039 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
13040 replace: true
13041 });
13042 }
13043 });
13044 case 4:
13045 case "end":
13046 return _context.stop();
13047 }
13048 }, _callee);
13049 }));
13050 function callback() {
13051 return _callback.apply(this, arguments);
13052 }
13053 return callback;
13054 }()
13055 };
13056 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
13057 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>";
13058 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
13059 }
13060
13061 // Add on top of save group actions
13062 saveGroup.actions.unshift(contextMenu);
13063 return groups;
13064 });
13065 return _this;
13066 }
13067 (0, _createClass2.default)(Module, [{
13068 key: "onElementorInit",
13069 value: function onElementorInit() {
13070 var _this2 = this;
13071 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
13072 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
13073 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
13074 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
13075 $e.commands.register('library', 'generate-ai-variation', function (args) {
13076 return _this2.applyTemplate(args);
13077 });
13078 }
13079 }, {
13080 key: "applyTemplate",
13081 value: function applyTemplate(args) {
13082 window.postMessage({
13083 type: 'library/attach:start'
13084 });
13085 $e.components.get('library').downloadTemplate(args, function (data) {
13086 var model = args.model;
13087 window.postMessage({
13088 type: 'library/attach',
13089 json: data.content[0],
13090 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
13091 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
13092 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
13093 }, window.location.origin);
13094 });
13095 }
13096 }, {
13097 key: "registerLibraryActionButtonBehavior",
13098 value: function registerLibraryActionButtonBehavior(behaviors) {
13099 behaviors.applyAiTemplate = {
13100 behaviorClass: _applyTemplateForAiBehavior.default
13101 };
13102 return behaviors;
13103 }
13104 }, {
13105 key: "registerAiLayoutBehavior",
13106 value: function registerAiLayoutBehavior(behaviors) {
13107 behaviors.ai = {
13108 behaviorClass: _aiLayoutBehavior.default,
13109 context: {
13110 documentType: window.elementor.documents.getCurrent().config.type
13111 }
13112 };
13113 return behaviors;
13114 }
13115 }, {
13116 key: "filterLibraryActionButtonTemplate",
13117 value: function filterLibraryActionButtonTemplate(viewId) {
13118 var modalConfig = $e.components.get('library').manager.modalConfig;
13119 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
13120 if (originalCoreViewId !== viewId) {
13121 return viewId;
13122 }
13123 if ($e.routes.current.library !== 'library/templates/blocks') {
13124 return viewId;
13125 }
13126 if (AI_ATTACHMENT === modalConfig.mode) {
13127 viewId = '#tmpl-elementor-template-library-apply-ai-button';
13128 } else {
13129 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
13130 }
13131 return viewId;
13132 }
13133 }]);
13134 return Module;
13135 }(elementorModules.editor.utils.Module);
13136 exports["default"] = Module;
13137 new Module();
13138 })();
13139
13140 /******/ })()
13141 ;
13142 //# sourceMappingURL=ai-layout.js.map