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

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

13,133 lines 583.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.22.0 - 27-05-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.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() {
887 return request('ai_get_user_information');
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 getEditText = function getEditText(payload) {
901 return request('ai_get_edit_text', {
902 payload: payload
903 });
904 };
905 exports.getEditText = getEditText;
906 var getCustomCode = function getCustomCode(payload) {
907 return request('ai_get_custom_code', {
908 payload: payload
909 });
910 };
911 exports.getCustomCode = getCustomCode;
912 var getCustomCSS = function getCustomCSS(payload) {
913 return request('ai_get_custom_css', {
914 payload: payload
915 });
916 };
917 exports.getCustomCSS = getCustomCSS;
918 var setGetStarted = function setGetStarted() {
919 return request('ai_set_get_started');
920 };
921 exports.setGetStarted = setGetStarted;
922 var setStatusFeedback = function setStatusFeedback(responseId) {
923 return request('ai_set_status_feedback', {
924 response_id: responseId
925 });
926 };
927 exports.setStatusFeedback = setStatusFeedback;
928 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
929 return request('ai_get_text_to_image', {
930 payload: payload
931 });
932 };
933 exports.getTextToImageGeneration = getTextToImageGeneration;
934 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
935 return request('ai_get_image_to_image', {
936 payload: payload
937 });
938 };
939 exports.getImageToImageGeneration = getImageToImageGeneration;
940 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
941 return request('ai_get_image_to_image_mask', {
942 payload: payload
943 });
944 };
945 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
946 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
947 return request('ai_get_image_to_image_outpainting', {
948 payload: payload
949 });
950 };
951 exports.getImageToImageOutPainting = getImageToImageOutPainting;
952 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
953 return request('ai_get_image_to_image_upscale', {
954 payload: payload
955 });
956 };
957 exports.getImageToImageUpscale = getImageToImageUpscale;
958 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
959 return request('ai_get_image_to_image_remove_background', {
960 payload: payload
961 });
962 };
963 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
964 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
965 return request('ai_get_image_to_image_replace_background', {
966 payload: payload
967 });
968 };
969 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
970 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
971 return request('ai_get_image_to_image_remove_text', {
972 image: image
973 });
974 };
975 exports.getImageToImageRemoveText = getImageToImageRemoveText;
976 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
977 return request('ai_get_image_prompt_enhancer', {
978 prompt: prompt
979 });
980 };
981 exports.getImagePromptEnhanced = getImagePromptEnhanced;
982 var uploadImage = function uploadImage(image) {
983 return request('ai_upload_image', _objectSpread({}, image));
984 };
985
986 /**
987 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
988 * @typedef {Object} requestBody
989 * @property {string} prompt - Prompt to generate the layout from.
990 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
991 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
992 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
993 */
994
995 /**
996 * @param {requestBody} requestBody
997 * @param {AbortSignal} [signal]
998 */
999 exports.uploadImage = uploadImage;
1000 var generateLayout = function generateLayout(requestBody, signal) {
1001 return request('ai_generate_layout', requestBody, true, signal);
1002 };
1003 exports.generateLayout = generateLayout;
1004 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
1005 return request('ai_get_layout_prompt_enhancer', {
1006 prompt: prompt,
1007 enhance_type: enhanceType
1008 });
1009 };
1010 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
1011 var getHistory = function getHistory(type, page, limit) {
1012 return request('ai_get_history', {
1013 type: type,
1014 page: page,
1015 limit: limit
1016 });
1017 };
1018 exports.getHistory = getHistory;
1019 var deleteHistoryItem = function deleteHistoryItem(id) {
1020 return request('ai_delete_history_item', {
1021 id: id
1022 });
1023 };
1024 exports.deleteHistoryItem = deleteHistoryItem;
1025 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
1026 return request('ai_toggle_favorite_history_item', {
1027 id: id
1028 });
1029 };
1030 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
1031
1032 /***/ }),
1033
1034 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
1035 /*!*****************************************************************!*\
1036 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
1037 \*****************************************************************/
1038 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1039
1040 "use strict";
1041
1042
1043 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1044 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1045 Object.defineProperty(exports, "__esModule", ({
1046 value: true
1047 }));
1048 exports.AlertDialog = void 0;
1049 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1050 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1051 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1052 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1053 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1054 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); }
1055 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; }
1056 var AlertDialog = function AlertDialog(props) {
1057 var _useState = (0, _react.useState)(true),
1058 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1059 isShown = _useState2[0],
1060 setIsShown = _useState2[1];
1061 if (!isShown) {
1062 return null;
1063 }
1064 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1065 open: true,
1066 maxWidth: "lg"
1067 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1068 sx: {
1069 padding: 0
1070 }
1071 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1072 sx: {
1073 textAlign: 'center',
1074 padding: 3
1075 }
1076 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1077 alignItems: "center",
1078 spacing: 2,
1079 marginBottom: 2
1080 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1081 variant: "contained",
1082 type: "button",
1083 color: "primary",
1084 onClick: function onClick() {
1085 var _props$onClose;
1086 setIsShown(false);
1087 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1088 }
1089 }, (0, _i18n.__)('Close', 'elementor')))));
1090 };
1091 exports.AlertDialog = AlertDialog;
1092 AlertDialog.propTypes = {
1093 message: _propTypes.default.string.isRequired,
1094 onClose: _propTypes.default.func
1095 };
1096
1097 /***/ }),
1098
1099 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1100 /*!******************************************************************!*\
1101 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1102 \******************************************************************/
1103 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1104
1105 "use strict";
1106
1107
1108 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1109 Object.defineProperty(exports, "__esModule", ({
1110 value: true
1111 }));
1112 exports["default"] = void 0;
1113 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1114 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1115 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1116 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1117 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1118 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1119 var ElementorLogo = function ElementorLogo(props) {
1120 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1121 viewBox: "0 0 32 32"
1122 }, props), /*#__PURE__*/_react.default.createElement("path", {
1123 fillRule: "evenodd",
1124 clipRule: "evenodd",
1125 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"
1126 }));
1127 };
1128 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1129 var theme = _ref.theme;
1130 return {
1131 width: theme.spacing(3),
1132 height: theme.spacing(3),
1133 '& path': {
1134 fill: theme.palette.text.primary
1135 }
1136 };
1137 });
1138 var DialogHeader = function DialogHeader(props) {
1139 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1140 sx: {
1141 fontWeight: 'normal'
1142 },
1143 color: "transparent",
1144 position: "relative"
1145 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1146 variant: "dense"
1147 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1148 sx: {
1149 mr: 1
1150 }
1151 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1152 component: "span",
1153 variant: "subtitle2",
1154 sx: {
1155 fontWeight: 'bold',
1156 textTransform: 'uppercase'
1157 }
1158 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1159 label: (0, _i18n.__)('Beta', 'elementor'),
1160 color: "default",
1161 size: "small",
1162 sx: {
1163 ml: 1
1164 }
1165 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1166 direction: "row",
1167 spacing: 1,
1168 alignItems: "center",
1169 sx: {
1170 ml: 'auto'
1171 }
1172 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1173 size: "small",
1174 "aria-label": "close",
1175 onClick: props.onClose,
1176 sx: {
1177 '&.MuiButtonBase-root': {
1178 mr: -1
1179 }
1180 }
1181 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1182 };
1183 DialogHeader.propTypes = {
1184 onClose: _propTypes.default.func.isRequired,
1185 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1186 };
1187 var _default = DialogHeader;
1188 exports["default"] = _default;
1189
1190 /***/ }),
1191
1192 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1193 /*!***********************************************************!*\
1194 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1195 \***********************************************************/
1196 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1197
1198 "use strict";
1199
1200
1201 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1202 Object.defineProperty(exports, "__esModule", ({
1203 value: true
1204 }));
1205 exports["default"] = void 0;
1206 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1207 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1208 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1209 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1210 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1211 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1212 var _excluded = ["sx", "BoxProps"];
1213 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; }
1214 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; }
1215 var Loader = function Loader(_ref) {
1216 var _ref$sx = _ref.sx,
1217 sx = _ref$sx === void 0 ? {} : _ref$sx,
1218 _ref$BoxProps = _ref.BoxProps,
1219 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1220 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1221 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1222 width: "100%",
1223 display: "flex",
1224 alignItems: "center"
1225 }, BoxProps, {
1226 sx: _objectSpread({
1227 px: 1.5,
1228 minHeight: function minHeight(theme) {
1229 return theme.spacing(5);
1230 }
1231 }, BoxProps.sx || {})
1232 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1233 color: "secondary"
1234 }, props, {
1235 sx: _objectSpread({
1236 width: '100%'
1237 }, sx)
1238 })));
1239 };
1240 Loader.propTypes = {
1241 sx: _propTypes.default.object,
1242 BoxProps: _propTypes.default.object
1243 };
1244 var _default = Loader;
1245 exports["default"] = _default;
1246
1247 /***/ }),
1248
1249 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1250 /*!******************************************************************!*\
1251 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1252 \******************************************************************/
1253 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1254
1255 "use strict";
1256
1257
1258 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1259 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1260 Object.defineProperty(exports, "__esModule", ({
1261 value: true
1262 }));
1263 exports["default"] = void 0;
1264 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1265 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1266 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1267 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1268 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1269 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1270 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1271 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1272 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); }
1273 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; }
1274 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; }
1275 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; }
1276 var DraggablePaper = function DraggablePaper(props) {
1277 var _useState = (0, _react.useState)({
1278 x: 0,
1279 y: 0
1280 }),
1281 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1282 position = _useState2[0],
1283 setPosition = _useState2[1];
1284 var paperRef = (0, _react.useRef)(null);
1285 var timeout = (0, _react.useRef)(null);
1286 var onDrag = function onDrag(_e, _ref) {
1287 var x = _ref.x,
1288 y = _ref.y;
1289 return setPosition({
1290 x: x,
1291 y: y
1292 });
1293 };
1294 var handlePositionBoundaries = function handlePositionBoundaries() {
1295 clearTimeout(timeout.current);
1296
1297 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1298 timeout.current = setTimeout(function () {
1299 var _paperRef$current;
1300 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1301 if (dialogTop < 0) {
1302 setPosition(function (prev) {
1303 return _objectSpread(_objectSpread({}, prev), {}, {
1304 y: prev.y - dialogTop
1305 });
1306 });
1307 }
1308 }, 50);
1309 };
1310 (0, _react.useEffect)(function () {
1311 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1312 resizeObserver.observe(paperRef.current);
1313 return function () {
1314 resizeObserver.disconnect();
1315 };
1316 }, []);
1317 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1318 position: position,
1319 onDrag: onDrag,
1320 handle: ".MuiAppBar-root",
1321 cancel: '[class*="MuiDialogContent-root"]',
1322 bounds: "parent"
1323 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1324 ref: paperRef
1325 })));
1326 };
1327 var PromptDialog = function PromptDialog(props) {
1328 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1329 scroll: "paper",
1330 open: true,
1331 fullWidth: true,
1332 hideBackdrop: true,
1333 PaperComponent: DraggablePaper,
1334 disableScrollLock: true,
1335 sx: {
1336 '& .MuiDialog-container': {
1337 alignItems: 'flex-start',
1338 mt: '18vh'
1339 }
1340 },
1341 PaperProps: {
1342 sx: {
1343 m: 0,
1344 maxHeight: '76vh'
1345 }
1346 }
1347 }, props), props.children);
1348 };
1349 PromptDialog.propTypes = {
1350 onClose: _propTypes.default.func.isRequired,
1351 children: _propTypes.default.node,
1352 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1353 };
1354 PromptDialog.Header = _dialogHeader.default;
1355 PromptDialog.Content = _ui.DialogContent;
1356 var _default = PromptDialog;
1357 exports["default"] = _default;
1358
1359 /***/ }),
1360
1361 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1362 /*!*************************************************************************!*\
1363 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1364 \*************************************************************************/
1365 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1366
1367 "use strict";
1368 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1369
1370
1371 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1372 Object.defineProperty(exports, "__esModule", ({
1373 value: true
1374 }));
1375 exports["default"] = void 0;
1376 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1377 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1378 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1379 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1380 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1381 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1382 var _excluded = ["error", "onRetry", "actionPosition"];
1383 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1384 var error = _ref.error,
1385 _ref$onRetry = _ref.onRetry,
1386 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1387 _ref$actionPosition = _ref.actionPosition,
1388 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1389 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1390 function getQuotaReachedTrailMessage(featureName) {
1391 if (!featureName) {
1392 return {
1393 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1394 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1395 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1396 buttonAction: function buttonAction() {
1397 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1398 }
1399 };
1400 }
1401 return {
1402 // Translators: %s is the feature name.
1403 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1404 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1405 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1406 buttonAction: function buttonAction() {
1407 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1408 }
1409 };
1410 }
1411 function getErrorMessage() {
1412 var _error$extra_data;
1413 var errMsg = error.message || error;
1414 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1415 var messages = {
1416 default: {
1417 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1418 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1419 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1420 buttonAction: onRetry
1421 },
1422 service_outage_internal: {
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.', 'elementor'),
1425 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1426 buttonAction: onRetry
1427 },
1428 invalid_connect_data: {
1429 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1430 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1431 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1432 target: "_blank",
1433 rel: "noreferrer"
1434 }, (0, _i18n.__)('Show me how', 'elementor'))),
1435 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1436 buttonAction: function buttonAction() {
1437 return window.open(window.ElementorAiConfig.connect_url);
1438 }
1439 },
1440 not_connected: {
1441 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1442 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1443 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1444 buttonAction: function buttonAction() {
1445 return window.open(window.ElementorAiConfig.connect_url);
1446 }
1447 },
1448 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1449 quota_reached_subscription: {
1450 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Looks like you\'re out of credits.', 'elementor')),
1451 description: (0, _i18n.__)('Ready to take it to the next level?', 'elementor'),
1452 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1453 buttonAction: function buttonAction() {
1454 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1455 }
1456 },
1457 rate_limit_network: {
1458 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1459 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1460 },
1461 invalid_prompts: {
1462 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1463 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1464 },
1465 service_unavailable: {
1466 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1467 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1468 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1469 buttonAction: onRetry
1470 },
1471 request_timeout_error: {
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 invalid_token: {
1478 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Try again', 'elementor')),
1479 description: (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'),
1480 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1481 buttonAction: onRetry
1482 },
1483 file_too_large: {
1484 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('The file is too large.', 'elementor')),
1485 description: (0, _i18n.__)('Please upload a file that is less than 4MB.', 'elementor')
1486 }
1487 };
1488 return messages[errMsg] || messages.default;
1489 }
1490 var message = getErrorMessage();
1491 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1492 color: "inherit",
1493 size: "small",
1494 variant: "outlined",
1495 onClick: message.buttonAction
1496 }, message.buttonText);
1497 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1498 severity: message.severity || 'error',
1499 action: 'default' === actionPosition && action
1500 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1501 sx: {
1502 mt: 1
1503 }
1504 }, action));
1505 };
1506 PromptErrorMessage.propTypes = {
1507 error: _propTypes.default.string,
1508 onRetry: _propTypes.default.func,
1509 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1510 };
1511 var _default = PromptErrorMessage;
1512 exports["default"] = _default;
1513
1514 /***/ }),
1515
1516 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1517 /*!************************************************************************!*\
1518 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1519 \************************************************************************/
1520 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1521
1522 "use strict";
1523
1524
1525 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1526 Object.defineProperty(exports, "__esModule", ({
1527 value: true
1528 }));
1529 exports["default"] = void 0;
1530 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1531 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1532 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1533 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1534 var PromptLibraryLink = function PromptLibraryLink(props) {
1535 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1536 variant: "body2",
1537 color: "text.secondary"
1538 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1539 href: props.libraryLink,
1540 className: "elementor-clickable",
1541 target: "_blank"
1542 }, (0, _i18n.__)('prompt library')));
1543 };
1544 PromptLibraryLink.propTypes = {
1545 libraryLink: _propTypes.default.string
1546 };
1547 var _default = PromptLibraryLink;
1548 exports["default"] = _default;
1549
1550 /***/ }),
1551
1552 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1553 /*!*****************************************************************!*\
1554 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1555 \*****************************************************************/
1556 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1557
1558 "use strict";
1559
1560
1561 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1562 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1563 Object.defineProperty(exports, "__esModule", ({
1564 value: true
1565 }));
1566 exports["default"] = void 0;
1567 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1568 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1569 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1570 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1571 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1572 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1573 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); }
1574 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; }
1575 var popoverId = 'e-ai-upgrade-popover';
1576 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1577 var theme = _ref.theme;
1578 return {
1579 position: 'relative',
1580 '[data-popper-placement="top"] &': {
1581 marginBottom: theme.spacing(2.5)
1582 },
1583 '[data-popper-placement="bottom"] &': {
1584 marginTop: theme.spacing(2.5)
1585 },
1586 padding: theme.spacing(3),
1587 boxShadow: theme.shadows[4],
1588 zIndex: '9999'
1589 };
1590 });
1591 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1592 var theme = _ref2.theme;
1593 return {
1594 width: theme.spacing(5),
1595 height: theme.spacing(2.5),
1596 position: 'absolute',
1597 overflow: 'hidden',
1598 // Override Popper inline styles.
1599 left: '50% !important',
1600 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1601 '[data-popper-placement="top"] &': {
1602 top: '100%'
1603 },
1604 '[data-popper-placement="bottom"] &': {
1605 '--rotate': '180deg',
1606 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1607 },
1608 '&::after': {
1609 backgroundColor: theme.palette.background.paper,
1610 content: '""',
1611 display: 'block',
1612 position: 'absolute',
1613 width: theme.spacing(2.5),
1614 height: theme.spacing(2.5),
1615 top: 0,
1616 left: '50%',
1617 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1618 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1619 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1620 }
1621 };
1622 });
1623 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')];
1624 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1625 return {
1626 '& .MuiChip-label': {
1627 lineHeight: 1.5
1628 },
1629 '& .MuiSvgIcon-root.MuiChip-icon': {
1630 fontSize: '1.25rem'
1631 }
1632 };
1633 });
1634 var UpgradeChip = function UpgradeChip(_ref3) {
1635 var _ref3$hasSubscription = _ref3.hasSubscription,
1636 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1637 _ref3$usagePercentage = _ref3.usagePercentage,
1638 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1639 var _useState = (0, _react.useState)(false),
1640 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1641 isPopoverOpen = _useState2[0],
1642 setIsPopoverOpen = _useState2[1];
1643 var anchorEl = (0, _react.useRef)(null);
1644 var arrowEl = (0, _react.useRef)(null);
1645 var showPopover = function showPopover() {
1646 return setIsPopoverOpen(true);
1647 };
1648 var hidePopover = function hidePopover() {
1649 return setIsPopoverOpen(false);
1650 };
1651 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1652 if (hasSubscription) {
1653 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1654 }
1655 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1656 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1657 component: "span",
1658 "aria-owns": isPopoverOpen ? popoverId : undefined,
1659 "aria-haspopup": "true",
1660 onMouseEnter: showPopover,
1661 onMouseLeave: hidePopover,
1662 ref: anchorEl,
1663 display: "flex",
1664 alignItems: "center"
1665 }, /*#__PURE__*/_react.default.createElement(Chip, {
1666 color: "promotion",
1667 label: (0, _i18n.__)('Upgrade', 'elementor'),
1668 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1669 size: "small"
1670 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1671 open: isPopoverOpen,
1672 anchorEl: anchorEl.current,
1673 sx: {
1674 zIndex: '9999',
1675 maxWidth: 300
1676 },
1677 modifiers: [{
1678 name: 'arrow',
1679 enabled: true,
1680 options: {
1681 element: arrowEl.current
1682 }
1683 }]
1684 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1685 ref: arrowEl
1686 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1687 variant: "h5",
1688 color: "text.primary"
1689 }, (0, _i18n.__)('Unlimited access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1690 sx: {
1691 mb: 1
1692 }
1693 }, upgradeBullets.map(function (bullet, index) {
1694 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1695 key: index,
1696 disableGutters: true,
1697 sx: {
1698 alignItems: 'flex-start'
1699 }
1700 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1701 sx: {
1702 m: 0
1703 }
1704 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1705 variant: "body2"
1706 }, bullet)));
1707 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1708 variant: "contained",
1709 color: "promotion",
1710 size: "small",
1711 href: actionUrl,
1712 target: "_blank",
1713 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1714 sx: {
1715 '&:hover': {
1716 color: 'promotion.contrastText'
1717 }
1718 }
1719 }, actionLabel))));
1720 };
1721 var _default = UpgradeChip;
1722 exports["default"] = _default;
1723 UpgradeChip.propTypes = {
1724 hasSubscription: _propTypes.default.bool,
1725 usagePercentage: _propTypes.default.number
1726 };
1727
1728 /***/ }),
1729
1730 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
1731 /*!**************************************************************************!*\
1732 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
1733 \**************************************************************************/
1734 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1735
1736 "use strict";
1737 /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"];
1738 /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js");
1739
1740
1741 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1742 Object.defineProperty(exports, "__esModule", ({
1743 value: true
1744 }));
1745 exports["default"] = exports.VoicePromotionAlert = void 0;
1746 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1747 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1748 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1749 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
1750 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
1751 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; }
1752 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; }
1753 var VoicePromotionAlert = function VoicePromotionAlert(props) {
1754 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
1755 isViewed = _useIntroduction.isViewed,
1756 markAsViewed = _useIntroduction.markAsViewed;
1757 if (isViewed) {
1758 return null;
1759 }
1760 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1761 sx: _objectSpread({
1762 mt: 2
1763 }, props.sx),
1764 alignItems: "top"
1765 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
1766 severity: "info",
1767 variant: "standard",
1768 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
1769 sx: {
1770 alignSelf: 'flex-start'
1771 }
1772 }),
1773 onClose: markAsViewed
1774 }, __('Get improved results from AI by adding personal context.', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
1775 onClick: function onClick() {
1776 return $e.route('panel/global/menu');
1777 },
1778 className: "elementor-clickable",
1779 style: {
1780 textDecoration: 'none'
1781 },
1782 color: "info.main",
1783 href: "#"
1784 }, __('Let’s do it', 'elementor'))));
1785 };
1786 exports.VoicePromotionAlert = VoicePromotionAlert;
1787 VoicePromotionAlert.propTypes = {
1788 sx: PropTypes.object,
1789 introductionKey: PropTypes.string
1790 };
1791 var _default = VoicePromotionAlert;
1792 exports["default"] = _default;
1793
1794 /***/ }),
1795
1796 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1797 /*!******************************************************************!*\
1798 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1799 \******************************************************************/
1800 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1801
1802 "use strict";
1803
1804
1805 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1806 Object.defineProperty(exports, "__esModule", ({
1807 value: true
1808 }));
1809 exports["default"] = void 0;
1810 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1811 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1812 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1813 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1814 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1815 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1816 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1817 var _excluded = ["sx"];
1818 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; }
1819 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; }
1820 var WizardDialog = function WizardDialog(props) {
1821 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1822 open: true,
1823 onClose: props.onClose,
1824 fullWidth: true,
1825 hideBackdrop: true,
1826 maxWidth: "lg",
1827 PaperProps: {
1828 sx: {
1829 height: '88vh'
1830 }
1831 },
1832 sx: {
1833 zIndex: 9999
1834 }
1835 }, props.children);
1836 };
1837 WizardDialog.propTypes = {
1838 onClose: _propTypes.default.func.isRequired,
1839 children: _propTypes.default.node.isRequired
1840 };
1841 var WizardDialogContent = function WizardDialogContent(_ref) {
1842 var _ref$sx = _ref.sx,
1843 sx = _ref$sx === void 0 ? {} : _ref$sx,
1844 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1845 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1846 sx: _objectSpread({
1847 display: 'flex',
1848 flexDirection: 'column',
1849 justifyContent: 'center'
1850 }, sx)
1851 }));
1852 };
1853 WizardDialogContent.propTypes = {
1854 sx: _propTypes.default.object
1855 };
1856 WizardDialog.Header = _dialogHeader.default;
1857 WizardDialog.Content = WizardDialogContent;
1858 var _default = WizardDialog;
1859 exports["default"] = _default;
1860
1861 /***/ }),
1862
1863 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1864 /*!**************************************************************!*\
1865 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1866 \**************************************************************/
1867 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1868
1869 "use strict";
1870
1871
1872 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1873 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1874 Object.defineProperty(exports, "__esModule", ({
1875 value: true
1876 }));
1877 exports["default"] = exports.RequestIdsProvider = void 0;
1878 exports.generateIds = generateIds;
1879 exports.useRequestIds = exports.getUniqueId = void 0;
1880 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1881 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1882 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); }
1883 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; }
1884 var Context = (0, _react.createContext)({});
1885 var useRequestIds = function useRequestIds() {
1886 var context = (0, _react.useContext)(Context);
1887 if (!context) {
1888 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1889 }
1890 return context;
1891 };
1892 exports.useRequestIds = useRequestIds;
1893 var getUniqueId = function getUniqueId(prefix) {
1894 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1895 };
1896 exports.getUniqueId = getUniqueId;
1897 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
1898 function generateIds(template) {
1899 var _template$elements;
1900 template.id = getUniqueId().toString();
1901 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1902 template.elements.map(function (child) {
1903 return generateIds(child);
1904 });
1905 }
1906 return template;
1907 }
1908 var RequestIdsProvider = function RequestIdsProvider(props) {
1909 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1910 var sessionId = (0, _react.useRef)('');
1911 var generateId = (0, _react.useRef)('');
1912 var batchId = (0, _react.useRef)('');
1913 var requestId = (0, _react.useRef)('');
1914 sessionId.current = getUniqueId('session');
1915 var setGenerate = function setGenerate() {
1916 generateId.current = getUniqueId('generate');
1917 return generateId;
1918 };
1919 var setBatch = function setBatch() {
1920 batchId.current = getUniqueId('batch');
1921 return batchId;
1922 };
1923 var setRequest = function setRequest() {
1924 requestId.current = getUniqueId('request');
1925 return requestId;
1926 };
1927 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1928 value: {
1929 editorSessionId: editorSessionId,
1930 sessionId: sessionId,
1931 generateId: generateId,
1932 batchId: batchId,
1933 requestId: requestId,
1934 setGenerate: setGenerate,
1935 setBatch: setBatch,
1936 setRequest: setRequest
1937 }
1938 }, props.children);
1939 };
1940 exports.RequestIdsProvider = RequestIdsProvider;
1941 RequestIdsProvider.propTypes = {
1942 children: _propTypes.default.node.isRequired
1943 };
1944 var _default = Context;
1945 exports["default"] = _default;
1946
1947 /***/ }),
1948
1949 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1950 /*!****************************************************************!*\
1951 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1952 \****************************************************************/
1953 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1954
1955 "use strict";
1956
1957
1958 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1959 Object.defineProperty(exports, "__esModule", ({
1960 value: true
1961 }));
1962 exports["default"] = useIntroduction;
1963 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1964 var _react = __webpack_require__(/*! react */ "react");
1965 function useIntroduction(key) {
1966 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1967 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;
1968 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1969 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1970 isViewed = _useState2[0],
1971 setIsViewed = _useState2[1];
1972 function markAsViewed() {
1973 if (!key) {
1974 return Promise.reject();
1975 }
1976 return new Promise(function (resolve, reject) {
1977 if (isViewed) {
1978 reject();
1979 }
1980 setIsViewed(true);
1981 elementorCommon.ajax.addRequest('introduction_viewed', {
1982 data: {
1983 introductionKey: key
1984 },
1985 error: function error() {
1986 setIsViewed(false);
1987 reject();
1988 },
1989 success: function success() {
1990 setIsViewed(true);
1991 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1992 globalConfig.introduction[key] = true;
1993 }
1994 resolve();
1995 }
1996 });
1997 });
1998 }
1999 return {
2000 isViewed: isViewed,
2001 markAsViewed: markAsViewed
2002 };
2003 }
2004
2005 /***/ }),
2006
2007 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
2008 /*!*******************************************************************!*\
2009 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
2010 \*******************************************************************/
2011 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2012
2013 "use strict";
2014
2015
2016 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2017 Object.defineProperty(exports, "__esModule", ({
2018 value: true
2019 }));
2020 exports["default"] = void 0;
2021 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2022 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
2023 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2024 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
2025 var getResult = function getResult(prompt, type, enhanceType) {
2026 if (!enhancePromptMap.has(type)) {
2027 throw new Error("Invalid prompt type: ".concat(type));
2028 }
2029 return enhancePromptMap.get(type)(prompt, enhanceType);
2030 };
2031
2032 /**
2033 * Hook to enhance a prompt.
2034 *
2035 * @param {string} prompt
2036 * @param {'media' | 'layout'} type
2037 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
2038 */
2039 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
2040 var _useConfig = (0, _config.useConfig)(),
2041 mode = _useConfig.mode;
2042 var _usePrompt = (0, _usePrompt2.default)(function () {
2043 return getResult(prompt, type, mode);
2044 }, prompt),
2045 enhancedData = _usePrompt.data,
2046 isEnhancing = _usePrompt.isLoading,
2047 enhance = _usePrompt.send;
2048 return {
2049 enhance: enhance,
2050 isEnhancing: isEnhancing,
2051 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
2052 };
2053 };
2054 var _default = usePromptEnhancer;
2055 exports["default"] = _default;
2056
2057 /***/ }),
2058
2059 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
2060 /*!**********************************************************!*\
2061 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
2062 \**********************************************************/
2063 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2064
2065 "use strict";
2066
2067
2068 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2069 Object.defineProperty(exports, "__esModule", ({
2070 value: true
2071 }));
2072 exports["default"] = void 0;
2073 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2074 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2075 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2076 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2077 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2078 var _react = __webpack_require__(/*! react */ "react");
2079 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2080 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2081 var _excluded = ["text", "response_id", "usage", "images"];
2082 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; }
2083 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; }
2084 var normalizeResponse = function normalizeResponse(_ref) {
2085 var text = _ref.text,
2086 responseId = _ref.response_id,
2087 usage = _ref.usage,
2088 images = _ref.images,
2089 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2090 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
2091 var credits = Math.max(creditsData, 0);
2092 var result = text || images;
2093 var normalized = {
2094 result: result,
2095 responseId: responseId,
2096 credits: credits
2097 };
2098 if (optional.base_template_id) {
2099 normalized.baseTemplateId = optional.base_template_id;
2100 }
2101 normalized.type = optional.template_type;
2102 return normalized;
2103 };
2104 var usePrompt = function usePrompt(fetchData, initialState) {
2105 var _useState = (0, _react.useState)(false),
2106 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2107 isLoading = _useState2[0],
2108 setIsLoading = _useState2[1];
2109 var _useState3 = (0, _react.useState)(''),
2110 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2111 error = _useState4[0],
2112 setError = _useState4[1];
2113 var _useState5 = (0, _react.useState)(initialState),
2114 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2115 data = _useState6[0],
2116 setData = _useState6[1];
2117 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
2118 setRequest = _useRequestIds.setRequest,
2119 editorSessionId = _useRequestIds.editorSessionId,
2120 sessionId = _useRequestIds.sessionId,
2121 generateId = _useRequestIds.generateId,
2122 batchId = _useRequestIds.batchId;
2123 var send = /*#__PURE__*/function () {
2124 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
2125 return _regenerator.default.wrap(function _callee$(_context) {
2126 while (1) switch (_context.prev = _context.next) {
2127 case 0:
2128 return _context.abrupt("return", new Promise(function (resolve, reject) {
2129 setError('');
2130 setIsLoading(true);
2131 var requestId = setRequest();
2132 var requestIds = {
2133 editorSessionId: editorSessionId.current,
2134 sessionId: sessionId.current,
2135 generateId: generateId.current,
2136 batchId: batchId.current,
2137 requestId: requestId.current
2138 };
2139 payload = _objectSpread(_objectSpread({}, payload), {}, {
2140 requestIds: requestIds
2141 });
2142 fetchData(payload).then(function (result) {
2143 var normalizedData = normalizeResponse(result);
2144 setData(normalizedData);
2145 resolve(normalizedData);
2146 }).catch(function (err) {
2147 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
2148 setError(finalError);
2149 reject(finalError);
2150 }).finally(function () {
2151 return setIsLoading(false);
2152 });
2153 }));
2154 case 1:
2155 case "end":
2156 return _context.stop();
2157 }
2158 }, _callee);
2159 }));
2160 return function send(_x) {
2161 return _ref2.apply(this, arguments);
2162 };
2163 }();
2164 var sendUsageData = function sendUsageData() {
2165 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2166 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2167 };
2168 var reset = function reset() {
2169 setData(function (_ref3) {
2170 var credits = _ref3.credits;
2171 return {
2172 credits: credits,
2173 result: '',
2174 responseId: ''
2175 };
2176 });
2177 setError('');
2178 setIsLoading(false);
2179 };
2180 var setResult = function setResult(result) {
2181 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2182 var updatedResult = _objectSpread({}, data);
2183 updatedResult.result = result;
2184 if (responseId) {
2185 updatedResult.responseId = responseId;
2186 }
2187 setData(updatedResult);
2188 };
2189 return {
2190 isLoading: isLoading,
2191 error: error,
2192 data: data,
2193 setResult: setResult,
2194 reset: reset,
2195 send: send,
2196 sendUsageData: sendUsageData
2197 };
2198 };
2199 var _default = usePrompt;
2200 exports["default"] = _default;
2201
2202 /***/ }),
2203
2204 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2205 /*!***********************************************************!*\
2206 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2207 \***********************************************************/
2208 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2209
2210 "use strict";
2211
2212
2213 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2214 Object.defineProperty(exports, "__esModule", ({
2215 value: true
2216 }));
2217 exports.useTimeout = void 0;
2218 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2219 var _react = __webpack_require__(/*! react */ "react");
2220 var useTimeout = function useTimeout(delay) {
2221 var _useState = (0, _react.useState)(false),
2222 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2223 isTimeout = _useState2[0],
2224 setIsTimeout = _useState2[1];
2225 var timeoutIdRef = (0, _react.useRef)(null);
2226 var turnOffTimeout = function turnOffTimeout() {
2227 clearTimeout(timeoutIdRef.current);
2228 setIsTimeout(false);
2229 };
2230 (0, _react.useEffect)(function () {
2231 timeoutIdRef.current = setTimeout(function () {
2232 setIsTimeout(true);
2233 }, delay);
2234 return function () {
2235 clearTimeout(timeoutIdRef.current);
2236 };
2237 }, [delay]);
2238 return [isTimeout, turnOffTimeout];
2239 };
2240 exports.useTimeout = useTimeout;
2241
2242 /***/ }),
2243
2244 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2245 /*!*************************************************************!*\
2246 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2247 \*************************************************************/
2248 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2249
2250 "use strict";
2251
2252
2253 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2254 Object.defineProperty(exports, "__esModule", ({
2255 value: true
2256 }));
2257 exports["default"] = void 0;
2258 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2259 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2260 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2261 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2262 var _react = __webpack_require__(/*! react */ "react");
2263 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2264 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; }
2265 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; }
2266 var useUserInfo = function useUserInfo() {
2267 var _useState = (0, _react.useState)(false),
2268 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2269 isLoaded = _useState2[0],
2270 setIsLoaded = _useState2[1];
2271 var _useState3 = (0, _react.useState)(false),
2272 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2273 isLoading = _useState4[0],
2274 setIsLoading = _useState4[1];
2275 var _useState5 = (0, _react.useState)({
2276 is_connected: false,
2277 is_get_started: false,
2278 connect_url: '',
2279 usage: {
2280 hasAiSubscription: false,
2281 quota: 0,
2282 usedQuota: 0
2283 }
2284 }),
2285 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2286 userInfo = _useState6[0],
2287 setUserInfo = _useState6[1];
2288 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2289 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2290 var fetchData = /*#__PURE__*/function () {
2291 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2292 var userInfoResult;
2293 return _regenerator.default.wrap(function _callee$(_context) {
2294 while (1) switch (_context.prev = _context.next) {
2295 case 0:
2296 setIsLoading(true);
2297 _context.next = 3;
2298 return (0, _api.getUserInformation)();
2299 case 3:
2300 userInfoResult = _context.sent;
2301 setUserInfo(function (prevState) {
2302 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2303 });
2304 setIsLoaded(true);
2305 setIsLoading(false);
2306 case 7:
2307 case "end":
2308 return _context.stop();
2309 }
2310 }, _callee);
2311 }));
2312 return function fetchData() {
2313 return _ref.apply(this, arguments);
2314 };
2315 }();
2316 if (!isLoaded && !isLoading) {
2317 fetchData();
2318 }
2319 return {
2320 isLoading: isLoading,
2321 isLoaded: isLoaded,
2322 isConnected: userInfo.is_connected,
2323 isGetStarted: userInfo.is_get_started,
2324 connectUrl: userInfo.connect_url,
2325 builderUrl: userInfo.usage.builderUrl,
2326 hasSubscription: userInfo.usage.hasAiSubscription,
2327 credits: credits < 0 ? 0 : credits,
2328 usagePercentage: Math.round(usagePercentage),
2329 fetchData: fetchData
2330 };
2331 };
2332 var _default = useUserInfo;
2333 exports["default"] = _default;
2334
2335 /***/ }),
2336
2337 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2338 /*!***************************************************************!*\
2339 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2340 \***************************************************************/
2341 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2342
2343 "use strict";
2344
2345
2346 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2347 Object.defineProperty(exports, "__esModule", ({
2348 value: true
2349 }));
2350 exports["default"] = void 0;
2351 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2352 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2353 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2354 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2355 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2356 viewBox: "0 0 24 24"
2357 }, props, {
2358 ref: ref
2359 }), /*#__PURE__*/_react.default.createElement("path", {
2360 fillRule: "evenodd",
2361 clipRule: "evenodd",
2362 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"
2363 }));
2364 });
2365 var _default = ArrowLeftIcon;
2366 exports["default"] = _default;
2367
2368 /***/ }),
2369
2370 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
2371 /*!*********************************************************!*\
2372 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
2373 \*********************************************************/
2374 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2375
2376 "use strict";
2377
2378
2379 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2380 Object.defineProperty(exports, "__esModule", ({
2381 value: true
2382 }));
2383 exports["default"] = void 0;
2384 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2385 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2386 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2387 var BulbIcon = _react.default.forwardRef(function (props, ref) {
2388 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
2389 ref: ref
2390 }), /*#__PURE__*/_react.default.createElement("svg", {
2391 width: "22",
2392 height: "22",
2393 viewBox: "0 0 22 22",
2394 fill: "none",
2395 xmlns: "http://www.w3.org/2000/svg"
2396 }, /*#__PURE__*/_react.default.createElement("g", {
2397 clipPath: "url(#clip0_10743_8902)"
2398 }, /*#__PURE__*/_react.default.createElement("path", {
2399 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",
2400 stroke: "#2563EB",
2401 strokeWidth: "1.5",
2402 strokeLinecap: "round",
2403 strokeLinejoin: "round"
2404 }), /*#__PURE__*/_react.default.createElement("path", {
2405 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",
2406 stroke: "#2563EB",
2407 strokeWidth: "1.5",
2408 strokeLinecap: "round",
2409 strokeLinejoin: "round"
2410 }), /*#__PURE__*/_react.default.createElement("path", {
2411 d: "M10.0833 16.5H11.9166",
2412 stroke: "#2563EB",
2413 strokeWidth: "1.5",
2414 strokeLinecap: "round",
2415 strokeLinejoin: "round"
2416 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
2417 id: "clip0_10743_8902"
2418 }, /*#__PURE__*/_react.default.createElement("rect", {
2419 width: "22",
2420 height: "22",
2421 fill: "white"
2422 })))));
2423 });
2424 var _default = BulbIcon;
2425 exports["default"] = _default;
2426
2427 /***/ }),
2428
2429 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2430 /*!**************************************************************!*\
2431 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2432 \**************************************************************/
2433 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2434
2435 "use strict";
2436
2437
2438 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2439 Object.defineProperty(exports, "__esModule", ({
2440 value: true
2441 }));
2442 exports["default"] = void 0;
2443 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2444 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2445 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2446 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2447 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2448 viewBox: "0 0 24 24"
2449 }, props, {
2450 ref: ref
2451 }), /*#__PURE__*/_react.default.createElement("path", {
2452 fillRule: "evenodd",
2453 clipRule: "evenodd",
2454 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"
2455 }));
2456 });
2457 var _default = CopyPageIcon;
2458 exports["default"] = _default;
2459
2460 /***/ }),
2461
2462 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2463 /*!*********************************************************!*\
2464 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2465 \*********************************************************/
2466 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2467
2468 "use strict";
2469
2470
2471 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2472 Object.defineProperty(exports, "__esModule", ({
2473 value: true
2474 }));
2475 exports["default"] = void 0;
2476 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2477 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2478 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2479 var EditIcon = _react.default.forwardRef(function (props, ref) {
2480 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2481 viewBox: "0 0 24 24"
2482 }, props, {
2483 ref: ref
2484 }), /*#__PURE__*/_react.default.createElement("path", {
2485 fillRule: "evenodd",
2486 clipRule: "evenodd",
2487 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"
2488 }), /*#__PURE__*/_react.default.createElement("path", {
2489 fillRule: "evenodd",
2490 clipRule: "evenodd",
2491 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"
2492 }));
2493 });
2494 var _default = EditIcon;
2495 exports["default"] = _default;
2496
2497 /***/ }),
2498
2499 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2500 /*!********************************************************************!*\
2501 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2502 \********************************************************************/
2503 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2504
2505 "use strict";
2506
2507
2508 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2509 Object.defineProperty(exports, "__esModule", ({
2510 value: true
2511 }));
2512 exports["default"] = void 0;
2513 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2514 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2515 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2516 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2517 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2518 viewBox: "0 0 24 24"
2519 }, props, {
2520 ref: ref
2521 }), /*#__PURE__*/_react.default.createElement("path", {
2522 fillRule: "evenodd",
2523 clipRule: "evenodd",
2524 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"
2525 }));
2526 });
2527 var _default = ExpandDiagonalIcon;
2528 exports["default"] = _default;
2529
2530 /***/ }),
2531
2532 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2533 /*!*********************************************************!*\
2534 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2535 \*********************************************************/
2536 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2537
2538 "use strict";
2539
2540
2541 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2542 Object.defineProperty(exports, "__esModule", ({
2543 value: true
2544 }));
2545 exports["default"] = void 0;
2546 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2547 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2548 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2549 var LockIcon = _react.default.forwardRef(function (props, ref) {
2550 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2551 viewBox: "0 0 24 24"
2552 }, props, {
2553 ref: ref
2554 }), /*#__PURE__*/_react.default.createElement("path", {
2555 fillRule: "evenodd",
2556 clipRule: "evenodd",
2557 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"
2558 }), /*#__PURE__*/_react.default.createElement("path", {
2559 fillRule: "evenodd",
2560 clipRule: "evenodd",
2561 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"
2562 }), /*#__PURE__*/_react.default.createElement("path", {
2563 d: "M6 12H19V20H6V12Z"
2564 }));
2565 });
2566 var _default = LockIcon;
2567 exports["default"] = _default;
2568
2569 /***/ }),
2570
2571 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2572 /*!**********************************************************************!*\
2573 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2574 \**********************************************************************/
2575 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2576
2577 "use strict";
2578
2579
2580 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2581 Object.defineProperty(exports, "__esModule", ({
2582 value: true
2583 }));
2584 exports["default"] = void 0;
2585 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2586 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2587 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2588 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2589 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2590 viewBox: "0 0 24 24"
2591 }, props, {
2592 ref: ref
2593 }), /*#__PURE__*/_react.default.createElement("path", {
2594 fillRule: "evenodd",
2595 clipRule: "evenodd",
2596 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"
2597 }));
2598 });
2599 var _default = MinimizeDiagonalIcon;
2600 exports["default"] = _default;
2601
2602 /***/ }),
2603
2604 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2605 /*!****************************************************************!*\
2606 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2607 \****************************************************************/
2608 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2609
2610 "use strict";
2611
2612
2613 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2614 Object.defineProperty(exports, "__esModule", ({
2615 value: true
2616 }));
2617 exports["default"] = void 0;
2618 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2619 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2620 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2621 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2622 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2623 viewBox: "0 0 24 24"
2624 }, props, {
2625 ref: ref
2626 }), /*#__PURE__*/_react.default.createElement("path", {
2627 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"
2628 }));
2629 });
2630 var _default = PlusCircleIcon;
2631 exports["default"] = _default;
2632
2633 /***/ }),
2634
2635 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2636 /*!************************************************************!*\
2637 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2638 \************************************************************/
2639 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2640
2641 "use strict";
2642
2643
2644 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2645 Object.defineProperty(exports, "__esModule", ({
2646 value: true
2647 }));
2648 exports["default"] = void 0;
2649 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2650 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2651 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2652 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2653 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2654 viewBox: "0 0 24 24"
2655 }, props, {
2656 ref: ref
2657 }), /*#__PURE__*/_react.default.createElement("path", {
2658 fillRule: "evenodd",
2659 clipRule: "evenodd",
2660 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"
2661 }), /*#__PURE__*/_react.default.createElement("path", {
2662 fillRule: "evenodd",
2663 clipRule: "evenodd",
2664 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"
2665 }));
2666 });
2667 var _default = RefreshIcon;
2668 exports["default"] = _default;
2669
2670 /***/ }),
2671
2672 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2673 /*!*********************************************************!*\
2674 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2675 \*********************************************************/
2676 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2677
2678 "use strict";
2679
2680
2681 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2682 Object.defineProperty(exports, "__esModule", ({
2683 value: true
2684 }));
2685 exports["default"] = void 0;
2686 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2687 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2688 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2689 var WandIcon = _react.default.forwardRef(function (props, ref) {
2690 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2691 viewBox: "0 0 24 24"
2692 }, props, {
2693 ref: ref
2694 }), /*#__PURE__*/_react.default.createElement("path", {
2695 fillRule: "evenodd",
2696 clipRule: "evenodd",
2697 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"
2698 }), /*#__PURE__*/_react.default.createElement("path", {
2699 fillRule: "evenodd",
2700 clipRule: "evenodd",
2701 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"
2702 }), /*#__PURE__*/_react.default.createElement("path", {
2703 fillRule: "evenodd",
2704 clipRule: "evenodd",
2705 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"
2706 }));
2707 });
2708 var _default = WandIcon;
2709 exports["default"] = _default;
2710
2711 /***/ }),
2712
2713 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2714 /*!************************************************************!*\
2715 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2716 \************************************************************/
2717 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2718
2719 "use strict";
2720
2721
2722 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2723 Object.defineProperty(exports, "__esModule", ({
2724 value: true
2725 }));
2726 exports["default"] = void 0;
2727 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2728 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2729 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2730 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2731 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2732 viewBox: "0 0 24 24"
2733 }, props, {
2734 ref: ref
2735 }), /*#__PURE__*/_react.default.createElement("path", {
2736 fillRule: "evenodd",
2737 clipRule: "evenodd",
2738 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"
2739 }));
2740 });
2741 var _default = WebsiteIcon;
2742 exports["default"] = _default;
2743
2744 /***/ }),
2745
2746 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2747 /*!*************************************************************!*\
2748 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2749 \*************************************************************/
2750 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2751
2752 "use strict";
2753
2754
2755 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2756 Object.defineProperty(exports, "__esModule", ({
2757 value: true
2758 }));
2759 exports["default"] = void 0;
2760 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2761 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2762 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2763 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2764 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2765 viewBox: "0 0 24 24"
2766 }, props, {
2767 ref: ref
2768 }), /*#__PURE__*/_react.default.createElement("path", {
2769 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"
2770 }));
2771 });
2772 var _default = XCircleIcon;
2773 exports["default"] = _default;
2774
2775 /***/ }),
2776
2777 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2778 /*!********************************************************************************************!*\
2779 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2780 \********************************************************************************************/
2781 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2782
2783 "use strict";
2784
2785
2786 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2787 renderLayoutApp = _require.renderLayoutApp,
2788 importToEditor = _require.importToEditor;
2789 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2790 MODE_VARIATION = _require2.MODE_VARIATION;
2791 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2792 __ = _require3.__;
2793 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2794 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2795 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2796 var ApplyTemplateForAiBehavior;
2797 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2798 ui: {
2799 applyButton: '.elementor-template-library-template-apply-ai',
2800 generateVariation: '.elementor-template-library-template-generate-variation'
2801 },
2802 events: {
2803 'click @ui.applyButton': 'onApplyButtonClick',
2804 'click @ui.generateVariation': 'onGenerateVariationClick'
2805 },
2806 onGenerateVariationClick: function onGenerateVariationClick() {
2807 var _libraryComponent$man, _libraryComponent$man2;
2808 var args = {
2809 model: this.view.model
2810 };
2811 var libraryComponent = $e.components.get('library');
2812 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;
2813 libraryComponent.downloadTemplate(args, function (data) {
2814 var model = args.model;
2815 var attachment = {
2816 type: ATTACHMENT_TYPE_JSON,
2817 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2818 content: data.content[0],
2819 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2820 source: ELEMENTOR_LIBRARY_SOURCE
2821 };
2822 renderLayoutApp({
2823 parentContainer: elementor.getPreviewContainer(),
2824 mode: MODE_VARIATION,
2825 at: at,
2826 attachments: [attachment],
2827 onInsert: function onInsert(template) {
2828 importToEditor({
2829 parentContainer: elementor.getPreviewContainer(),
2830 at: at,
2831 template: template,
2832 historyTitle: __('AI Variation from library', 'elementor')
2833 });
2834 }
2835 });
2836 $e.run('library/close');
2837 });
2838 },
2839 onApplyButtonClick: function onApplyButtonClick() {
2840 var args = {
2841 model: this.view.model
2842 };
2843 this.ui.applyButton.addClass('elementor-disabled');
2844 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2845 $e.route('library/connect', args);
2846 return;
2847 }
2848 $e.run('library/generate-ai-variation', args);
2849 }
2850 });
2851 module.exports = ApplyTemplateForAiBehavior;
2852
2853 /***/ }),
2854
2855 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2856 /*!************************************************************!*\
2857 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2858 \************************************************************/
2859 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2860
2861 "use strict";
2862
2863
2864 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2865 Object.defineProperty(exports, "__esModule", ({
2866 value: true
2867 }));
2868 exports["default"] = void 0;
2869 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2870 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2871 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2872 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2873 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2874 rtl: props.isRTL
2875 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2876 colorScheme: props.colorScheme
2877 }, props.children));
2878 };
2879 LayoutAppWrapper.propTypes = {
2880 children: _propTypes.default.node,
2881 isRTL: _propTypes.default.bool,
2882 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2883 };
2884 var _default = LayoutAppWrapper;
2885 exports["default"] = _default;
2886
2887 /***/ }),
2888
2889 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2890 /*!****************************************************!*\
2891 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2892 \****************************************************/
2893 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2894
2895 "use strict";
2896
2897
2898 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2899 Object.defineProperty(exports, "__esModule", ({
2900 value: true
2901 }));
2902 exports["default"] = void 0;
2903 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2904 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2905 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2906 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2907 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2908 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2909 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2910 var LayoutApp = function LayoutApp(props) {
2911 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2912 onError: props.onClose
2913 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2914 mode: props.mode,
2915 attachmentsTypes: props.attachmentsTypes,
2916 onClose: props.onClose,
2917 onConnect: props.onConnect,
2918 onData: props.onData,
2919 onInsert: props.onInsert,
2920 onSelect: props.onSelect,
2921 onGenerate: props.onGenerate,
2922 currentContext: props.currentContext,
2923 hasPro: props.hasPro
2924 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2925 attachments: props.attachments
2926 }))));
2927 };
2928 LayoutApp.propTypes = {
2929 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2930 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2931 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2932 onClose: _propTypes.default.func.isRequired,
2933 onConnect: _propTypes.default.func.isRequired,
2934 onData: _propTypes.default.func.isRequired,
2935 onInsert: _propTypes.default.func.isRequired,
2936 onSelect: _propTypes.default.func.isRequired,
2937 onGenerate: _propTypes.default.func.isRequired,
2938 currentContext: _propTypes.default.object,
2939 hasPro: _propTypes.default.bool
2940 };
2941 var _default = LayoutApp;
2942 exports["default"] = _default;
2943
2944 /***/ }),
2945
2946 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2947 /*!********************************************************!*\
2948 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2949 \********************************************************/
2950 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2951
2952 "use strict";
2953
2954
2955 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2956 Object.defineProperty(exports, "__esModule", ({
2957 value: true
2958 }));
2959 exports["default"] = void 0;
2960 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2961 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
2962 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
2963 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
2964 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
2965 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
2966 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
2967 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
2968 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
2969 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2970 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2971 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2972 var LayoutContent = function LayoutContent(props) {
2973 var _useUserInfo = (0, _useUserInfo2.default)(),
2974 isLoading = _useUserInfo.isLoading,
2975 isConnected = _useUserInfo.isConnected,
2976 isGetStarted = _useUserInfo.isGetStarted,
2977 connectUrl = _useUserInfo.connectUrl,
2978 fetchData = _useUserInfo.fetchData,
2979 hasSubscription = _useUserInfo.hasSubscription,
2980 usagePercentage = _useUserInfo.usagePercentage;
2981 var _useConfig = (0, _config.useConfig)(),
2982 onClose = _useConfig.onClose,
2983 onConnect = _useConfig.onConnect;
2984 if (isLoading) {
2985 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2986 onClose: onClose
2987 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
2988 onClose: onClose
2989 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
2990 dividers: true
2991 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
2992 BoxProps: {
2993 sx: {
2994 px: 3
2995 }
2996 }
2997 })));
2998 }
2999 if (!isConnected) {
3000 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3001 onClose: onClose
3002 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3003 onClose: onClose
3004 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3005 dividers: true
3006 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
3007 connectUrl: connectUrl,
3008 onSuccess: function onSuccess(data) {
3009 onConnect(data);
3010 fetchData();
3011 }
3012 })));
3013 }
3014 if (!isGetStarted) {
3015 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3016 onClose: onClose
3017 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3018 onClose: onClose
3019 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3020 dividers: true
3021 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
3022 onSuccess: fetchData
3023 })));
3024 }
3025 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
3026 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
3027 attachments: props.attachments,
3028 DialogHeaderProps: {
3029 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
3030 hasSubscription: hasSubscription,
3031 usagePercentage: usagePercentage
3032 })
3033 }
3034 });
3035 };
3036 LayoutContent.propTypes = {
3037 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
3038 };
3039 var _default = LayoutContent;
3040 exports["default"] = _default;
3041
3042 /***/ }),
3043
3044 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
3045 /*!*************************************************************!*\
3046 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
3047 \*************************************************************/
3048 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3049
3050 "use strict";
3051
3052
3053 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3054 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3055 Object.defineProperty(exports, "__esModule", ({
3056 value: true
3057 }));
3058 exports["default"] = void 0;
3059 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3060 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3061 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3062 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3063 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3064 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); }
3065 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; }
3066 var Connect = function Connect(_ref) {
3067 var connectUrl = _ref.connectUrl,
3068 onSuccess = _ref.onSuccess;
3069 var approveButtonRef = (0, _react.useRef)();
3070 (0, _react.useEffect)(function () {
3071 // On local dev (as a standalone app), the connect lib is not loaded.
3072 if (!jQuery.fn.elementorConnect) {
3073 return;
3074 }
3075 jQuery(approveButtonRef.current).elementorConnect({
3076 success: function success(_, data) {
3077 return onSuccess(data);
3078 },
3079 error: function error() {
3080 throw new Error('Elementor AI: Failed to connect.');
3081 }
3082 });
3083 }, []);
3084 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3085 alignItems: "center",
3086 gap: 2
3087 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3088 sx: {
3089 color: 'text.primary',
3090 fontSize: '60px',
3091 mb: 1
3092 }
3093 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3094 variant: "h4",
3095 sx: {
3096 color: 'text.primary'
3097 }
3098 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3099 variant: "body2"
3100 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3101 variant: "caption",
3102 sx: {
3103 maxWidth: 520,
3104 textAlign: 'center'
3105 }
3106 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
3107 href: "https://go.elementor.com/ai-terms/",
3108 target: "_blank",
3109 color: "info.main"
3110 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
3111 href: "https://go.elementor.com/ai-privacy-policy/",
3112 target: "_blank",
3113 color: "info.main"
3114 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3115 ref: approveButtonRef,
3116 href: connectUrl,
3117 variant: "contained",
3118 sx: {
3119 mt: 1,
3120 '&:hover': {
3121 color: 'primary.contrastText'
3122 }
3123 }
3124 }, (0, _i18n.__)('Connect', 'elementor')));
3125 };
3126 Connect.propTypes = {
3127 connectUrl: _propTypes.default.string.isRequired,
3128 onSuccess: _propTypes.default.func.isRequired
3129 };
3130 var _default = Connect;
3131 exports["default"] = _default;
3132
3133 /***/ }),
3134
3135 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
3136 /*!**********************************************************************************!*\
3137 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
3138 \**********************************************************************************/
3139 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3140
3141 "use strict";
3142
3143
3144 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3145 Object.defineProperty(exports, "__esModule", ({
3146 value: true
3147 }));
3148 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;
3149 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3150 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3151 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
3152 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
3153 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
3154 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
3155 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
3156 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3157 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3158 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3159 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3160 var ATTACHMENT_TYPE_JSON = 'json';
3161 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
3162 var ATTACHMENT_TYPE_URL = 'url';
3163 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
3164 var MENU_TYPE_LIBRARY = 'library';
3165 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
3166 var USER_VARIATION_SOURCE = 'user-variation';
3167 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
3168 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
3169 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
3170 var USER_URL_SOURCE = 'user-url';
3171 exports.USER_URL_SOURCE = USER_URL_SOURCE;
3172 var Attachments = function Attachments(props) {
3173 if (!props.attachments.length) {
3174 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
3175 disabled: props.disabled,
3176 onAttach: props.onAttach,
3177 items: [{
3178 title: (0, _i18n.__)('Reference a website', 'elementor'),
3179 icon: _websiteIcon.default,
3180 type: ATTACHMENT_TYPE_URL
3181 }, {
3182 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
3183 icon: _copyPageIcon.default,
3184 type: MENU_TYPE_LIBRARY
3185 }]
3186 });
3187 }
3188 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3189 direction: "row",
3190 spacing: 1
3191 }, props.attachments.map(function (attachment, index) {
3192 switch (attachment.type) {
3193 case ATTACHMENT_TYPE_JSON:
3194 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
3195 key: index
3196 }, props));
3197 case ATTACHMENT_TYPE_URL:
3198 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
3199 key: index
3200 }, props));
3201 default:
3202 return null;
3203 }
3204 }));
3205 };
3206 Attachments.propTypes = {
3207 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3208 onAttach: _propTypes.default.func.isRequired,
3209 onDetach: _propTypes.default.func,
3210 disabled: _propTypes.default.bool
3211 };
3212 var _default = Attachments;
3213 exports["default"] = _default;
3214
3215 /***/ }),
3216
3217 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
3218 /*!************************************************************************************************!*\
3219 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
3220 \************************************************************************************************/
3221 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3222
3223 "use strict";
3224
3225
3226 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3227 Object.defineProperty(exports, "__esModule", ({
3228 value: true
3229 }));
3230 exports["default"] = exports.AttachDialog = void 0;
3231 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3232 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3233 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3234 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3235 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3236 var AttachDialog = function AttachDialog(props) {
3237 var type = props.type;
3238 var url = props.url;
3239 switch (type) {
3240 case _attachments.ATTACHMENT_TYPE_URL:
3241 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3242 url: url,
3243 onAttach: props.onAttach,
3244 onClose: props.onClose
3245 });
3246 case _attachments.MENU_TYPE_LIBRARY:
3247 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3248 onAttach: props.onAttach,
3249 onClose: props.onClose
3250 });
3251 }
3252 return null;
3253 };
3254 exports.AttachDialog = AttachDialog;
3255 AttachDialog.propTypes = {
3256 type: _propTypes.default.string,
3257 onAttach: _propTypes.default.func,
3258 onClose: _propTypes.default.func,
3259 url: _propTypes.default.string
3260 };
3261 var _default = AttachDialog;
3262 exports["default"] = _default;
3263
3264 /***/ }),
3265
3266 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3267 /*!*************************************************************************************************!*\
3268 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3269 \*************************************************************************************************/
3270 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3271
3272 "use strict";
3273
3274
3275 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3276 Object.defineProperty(exports, "__esModule", ({
3277 value: true
3278 }));
3279 exports.LibraryDialog = void 0;
3280 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3281 var _react = __webpack_require__(/*! react */ "react");
3282 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3283 var LibraryDialog = function LibraryDialog(props) {
3284 var isApplyingTemplate = (0, _react.useRef)(false);
3285 (0, _react.useEffect)(function () {
3286 var onLibraryHide = function onLibraryHide() {
3287 if (isApplyingTemplate.current) {
3288 return;
3289 }
3290 props.onClose();
3291 };
3292 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3293 return function () {
3294 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3295 };
3296 }, [props]);
3297 (0, _react.useEffect)(function () {
3298 var onMessage = function onMessage(event) {
3299 var _event$data = event.data,
3300 type = _event$data.type,
3301 json = _event$data.json,
3302 html = _event$data.html,
3303 label = _event$data.label,
3304 source = _event$data.source;
3305 switch (type) {
3306 case 'library/attach:start':
3307 isApplyingTemplate.current = true;
3308 break;
3309 case 'library/attach':
3310 props.onAttach([{
3311 type: _attachments.ATTACHMENT_TYPE_JSON,
3312 previewHTML: html,
3313 content: json,
3314 label: label,
3315 source: source
3316 }]);
3317 isApplyingTemplate.current = false;
3318 props.onClose();
3319 break;
3320 }
3321 };
3322 window.addEventListener('message', onMessage);
3323 return function () {
3324 window.removeEventListener('message', onMessage);
3325 };
3326 });
3327 $e.run('library/open', {
3328 toDefault: true,
3329 mode: 'ai-attachment'
3330 });
3331 isApplyingTemplate.current = false;
3332 return null;
3333 };
3334 exports.LibraryDialog = LibraryDialog;
3335 LibraryDialog.propTypes = {
3336 onAttach: _propTypes.default.func.isRequired,
3337 onClose: _propTypes.default.func.isRequired
3338 };
3339
3340 /***/ }),
3341
3342 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3343 /*!***************************************************************************************!*\
3344 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3345 \***************************************************************************************/
3346 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3347
3348 "use strict";
3349
3350
3351 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3352 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3353 Object.defineProperty(exports, "__esModule", ({
3354 value: true
3355 }));
3356 exports.Menu = void 0;
3357 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3358 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3359 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3360 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3361 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3362 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3363 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3364 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3365 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); }
3366 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; }
3367 var Menu = function Menu(props) {
3368 var _useState = (0, _react.useState)(false),
3369 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3370 isOpen = _useState2[0],
3371 setIsOpen = _useState2[1];
3372 var _useState3 = (0, _react.useState)(null),
3373 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3374 selectedType = _useState4[0],
3375 setSelectedType = _useState4[1];
3376 var _useTheme = (0, _ui.useTheme)(),
3377 direction = _useTheme.direction;
3378 var anchorRef = (0, _react.useRef)(null);
3379 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3380 isViewed = _useIntroduction.isViewed,
3381 markAsViewed = _useIntroduction.markAsViewed;
3382 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3383 size: "small",
3384 ref: anchorRef,
3385 disabled: props.disabled,
3386 onClick: function onClick() {
3387 setIsOpen(true);
3388 if (!isViewed) {
3389 markAsViewed();
3390 }
3391 },
3392 color: "secondary"
3393 }, function () {
3394 if (isOpen) {
3395 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3396 fontSize: "small"
3397 });
3398 } else if (isViewed) {
3399 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3400 fontSize: "small"
3401 });
3402 }
3403 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3404 color: "primary",
3405 badgeContent: " ",
3406 variant: "dot"
3407 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3408 fontSize: "small"
3409 }));
3410 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3411 open: isOpen,
3412 anchorEl: anchorRef.current,
3413 onClose: function onClose() {
3414 return setIsOpen(false);
3415 },
3416 anchorOrigin: {
3417 vertical: 'bottom',
3418 horizontal: 'rtl' === direction ? 'right' : 'left'
3419 },
3420 transformOrigin: {
3421 vertical: 'top',
3422 horizontal: 'rtl' === direction ? 'right' : 'left'
3423 }
3424 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3425 sx: {
3426 width: 440
3427 }
3428 }, props.items.map(function (item) {
3429 var IconComponent = item.icon;
3430 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3431 key: item.type,
3432 onClick: function onClick() {
3433 setSelectedType(item.type);
3434 setIsOpen(false);
3435 }
3436 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3437 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3438 type: selectedType,
3439 onAttach: props.onAttach,
3440 onClose: function onClose() {
3441 setIsOpen(false);
3442 setSelectedType(null);
3443 }
3444 }));
3445 };
3446 exports.Menu = Menu;
3447 Menu.propTypes = {
3448 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3449 title: _propTypes.default.string.isRequired,
3450 type: _propTypes.default.string.isRequired,
3451 icon: _propTypes.default.elementType
3452 })).isRequired,
3453 onAttach: _propTypes.default.func.isRequired,
3454 disabled: _propTypes.default.bool
3455 };
3456
3457 /***/ }),
3458
3459 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3460 /*!******************************************************************************************************!*\
3461 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3462 \******************************************************************************************************/
3463 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3464
3465 "use strict";
3466
3467
3468 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3469 Object.defineProperty(exports, "__esModule", ({
3470 value: true
3471 }));
3472 exports.PromptPowerNotice = void 0;
3473 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3474 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3475 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3476 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3477 var PromptPowerNotice = function PromptPowerNotice() {
3478 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3479 isViewed = _useIntroduction.isViewed,
3480 markAsViewed = _useIntroduction.markAsViewed;
3481 if (isViewed) {
3482 return null;
3483 }
3484 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3485 sx: {
3486 pt: 2,
3487 px: 2,
3488 pb: 0
3489 }
3490 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3491 severity: "info",
3492 onClose: function onClose() {
3493 return markAsViewed();
3494 }
3495 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3496 variant: "body2",
3497 display: "inline-block",
3498 sx: {
3499 paddingInlineEnd: 1
3500 }
3501 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3502 variant: "body2",
3503 display: "inline-block"
3504 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3505 };
3506 exports.PromptPowerNotice = PromptPowerNotice;
3507
3508 /***/ }),
3509
3510 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3511 /*!*************************************************************************************************!*\
3512 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3513 \*************************************************************************************************/
3514 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3515
3516 "use strict";
3517
3518
3519 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3520 Object.defineProperty(exports, "__esModule", ({
3521 value: true
3522 }));
3523 exports["default"] = exports.ThumbnailJson = void 0;
3524 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3525 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3526 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3527 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3528 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3529 var ThumbnailJson = function ThumbnailJson(props) {
3530 var _props$attachments;
3531 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3532 return 'json' === item.type;
3533 });
3534 if (!attachment) {
3535 return null;
3536 }
3537 if (!attachment.previewHTML) {
3538 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3539 animation: "wave",
3540 variant: "rounded",
3541 width: 60,
3542 height: 60
3543 });
3544 }
3545 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3546 html: attachment.previewHTML,
3547 disabled: props.disabled
3548 });
3549 };
3550 exports.ThumbnailJson = ThumbnailJson;
3551 ThumbnailJson.propTypes = {
3552 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3553 disabled: _propTypes.default.bool
3554 };
3555 var _default = ThumbnailJson;
3556 exports["default"] = _default;
3557
3558 /***/ }),
3559
3560 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3561 /*!************************************************************************************************!*\
3562 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3563 \************************************************************************************************/
3564 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3565
3566 "use strict";
3567
3568
3569 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3570 Object.defineProperty(exports, "__esModule", ({
3571 value: true
3572 }));
3573 exports["default"] = exports.ThumbnailUrl = void 0;
3574 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3575 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3576 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3577 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3578 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3579 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3580 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3581 var ThumbnailUrl = function ThumbnailUrl(props) {
3582 var _props$attachments;
3583 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3584 return 'url' === item.type;
3585 });
3586 if (!attachment) {
3587 return null;
3588 }
3589 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3590 sx: {
3591 position: 'relative',
3592 '&:hover::before': {
3593 content: '""',
3594 position: 'absolute',
3595 userSelect: 'none',
3596 inset: 0,
3597 backgroundColor: 'rgba(0,0,0,0.6)',
3598 borderRadius: 1,
3599 zIndex: 1
3600 },
3601 '&:hover .remove-attachment': {
3602 display: 'flex'
3603 }
3604 }
3605 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3606 className: "remove-attachment",
3607 size: "small",
3608 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3609 disabled: props.disabled,
3610 onClick: function onClick(event) {
3611 event.stopPropagation();
3612 props.onDetach();
3613 },
3614 sx: {
3615 display: 'none',
3616 position: 'absolute',
3617 insetInlineEnd: 4,
3618 insetBlockStart: 4,
3619 backgroundColor: 'secondary.main',
3620 zIndex: 1,
3621 borderRadius: 1,
3622 p: '3px',
3623 '&:hover': {
3624 backgroundColor: 'secondary.dark'
3625 }
3626 }
3627 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3628 sx: {
3629 fontSize: '1.125rem',
3630 color: 'common.white'
3631 }
3632 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3633 disabled: props.disabled,
3634 html: attachment.previewHTML
3635 }));
3636 };
3637 exports.ThumbnailUrl = ThumbnailUrl;
3638 ThumbnailUrl.propTypes = {
3639 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3640 disabled: _propTypes.default.bool,
3641 onDetach: _propTypes.default.func
3642 };
3643 var _default = ThumbnailUrl;
3644 exports["default"] = _default;
3645
3646 /***/ }),
3647
3648 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3649 /*!********************************************************************************************!*\
3650 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3651 \********************************************************************************************/
3652 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3653
3654 "use strict";
3655
3656
3657 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3658 Object.defineProperty(exports, "__esModule", ({
3659 value: true
3660 }));
3661 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3662 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3663 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3664 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3665 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3666 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3667 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3668 var _templateObject;
3669 var THUMBNAIL_SIZE = 64;
3670 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3671 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);
3672 var Thumbnail = function Thumbnail(props) {
3673 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3674 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;
3675 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;
3676 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3677 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3678 var scaleFactor = Math.min(height, width);
3679 var scale = THUMBNAIL_SIZE / scaleFactor;
3680
3681 // Center the preview
3682 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3683 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3684 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3685 dir: "ltr",
3686 sx: {
3687 position: 'relative',
3688 cursor: 'default',
3689 overflow: 'hidden',
3690 border: '1px solid',
3691 borderColor: 'grey.300',
3692 borderRadius: 1,
3693 boxSizing: 'border-box',
3694 width: THUMBNAIL_SIZE,
3695 height: THUMBNAIL_SIZE,
3696 opacity: props.disabled ? 0.5 : 1
3697 }
3698 }, /*#__PURE__*/_react.default.createElement("iframe", {
3699 title: (0, _i18n.__)('Preview', 'elementor'),
3700 sandbox: "",
3701 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3702 style: {
3703 border: 'none',
3704 overflow: 'hidden',
3705 width: width,
3706 height: height,
3707 transform: "scale(".concat(scale, ")"),
3708 transformOrigin: "".concat(left, "px ").concat(top, "px")
3709 }
3710 }));
3711 };
3712 exports.Thumbnail = Thumbnail;
3713 Thumbnail.propTypes = {
3714 html: _propTypes.default.string.isRequired,
3715 disabled: _propTypes.default.bool
3716 };
3717
3718 /***/ }),
3719
3720 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3721 /*!*********************************************************************************************!*\
3722 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3723 \*********************************************************************************************/
3724 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3725
3726 "use strict";
3727
3728
3729 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3730 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3731 Object.defineProperty(exports, "__esModule", ({
3732 value: true
3733 }));
3734 exports.UrlDialog = void 0;
3735 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3736 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3737 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3738 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3739 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3740 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3741 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3742 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3743 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3744 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3745 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3746 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); }
3747 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; }
3748 var UrlDialog = function UrlDialog(props) {
3749 var iframeRef = (0, _react.useRef)(null);
3750 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3751 targetUrl: props.url
3752 }),
3753 iframeSource = _useAttachUrlService.iframeSource;
3754 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3755 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3756 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3757 isTimeout = _useTimeout2[0],
3758 turnOffTimeout = _useTimeout2[1];
3759 var _useUserInfo = (0, _useUserInfo2.default)(),
3760 isConnected = _useUserInfo.isConnected,
3761 hasSubscription = _useUserInfo.hasSubscription,
3762 credits = _useUserInfo.credits,
3763 usagePercentage = _useUserInfo.usagePercentage;
3764 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3765 isLoaded = _useRemoteConfig.isLoaded,
3766 isError = _useRemoteConfig.isError,
3767 remoteConfig = _useRemoteConfig.remoteConfig;
3768 (0, _react.useEffect)(function () {
3769 var onMessage = function onMessage(event) {
3770 if (event.origin !== iframeOrigin) {
3771 return;
3772 }
3773 var _event$data = event.data,
3774 type = _event$data.type,
3775 html = _event$data.html,
3776 url = _event$data.url;
3777 switch (type) {
3778 case 'element-selector/close':
3779 props.onClose();
3780 break;
3781 case 'element-selector/loaded':
3782 turnOffTimeout();
3783 break;
3784 case 'element-selector/attach':
3785 props.onAttach([{
3786 type: 'url',
3787 previewHTML: html,
3788 content: html,
3789 label: url ? new URL(url).host : '',
3790 source: _attachments.USER_URL_SOURCE
3791 }]);
3792 break;
3793 }
3794 };
3795 window.addEventListener('message', onMessage);
3796 return function () {
3797 window.removeEventListener('message', onMessage);
3798 };
3799 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3800 if (!iframeSource) {
3801 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3802 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3803 onClose: props.onClose
3804 });
3805 }
3806 if (!isLoaded || isError) {
3807 return null;
3808 }
3809 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3810 open: true,
3811 fullScreen: true,
3812 hideBackdrop: true,
3813 maxWidth: "md",
3814 sx: {
3815 '& .MuiPaper-root': {
3816 backgroundColor: 'transparent'
3817 }
3818 }
3819 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3820 sx: {
3821 padding: 0
3822 }
3823 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3824 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3825 onClose: props.onClose
3826 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3827 ref: iframeRef,
3828 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3829 src: iframeSource,
3830 onLoad: function onLoad() {
3831 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3832 accessLevel = _window$elementorAppC.access_level,
3833 accessTier = _window$elementorAppC.access_tier,
3834 isPro = _window$elementorAppC.is_pro;
3835 iframeRef.current.contentWindow.postMessage({
3836 type: 'referrer/info',
3837 info: {
3838 page: {
3839 url: window.location.href
3840 },
3841 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3842 products: {
3843 core: {
3844 version: window.elementor.config.version
3845 },
3846 pro: {
3847 isPro: isPro,
3848 accessLevel: accessLevel,
3849 accessTier: accessTier
3850 },
3851 ai: {
3852 isConnected: isConnected,
3853 hasSubscription: hasSubscription,
3854 credits: credits,
3855 usagePercentage: usagePercentage
3856 }
3857 },
3858 user: {
3859 isAdmin: window.elementor.config.user.is_administrator
3860 }
3861 }
3862 }, iframeOrigin);
3863 },
3864 style: {
3865 border: 'none',
3866 overflow: 'scroll',
3867 width: '100%',
3868 height: '100%',
3869 backgroundColor: 'rgba(255,255,255,0.6)'
3870 }
3871 })));
3872 };
3873 exports.UrlDialog = UrlDialog;
3874 UrlDialog.propTypes = {
3875 onAttach: _propTypes.default.func.isRequired,
3876 onClose: _propTypes.default.func.isRequired,
3877 url: _propTypes.default.string
3878 };
3879
3880 /***/ }),
3881
3882 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3883 /*!************************************************************************************!*\
3884 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3885 \************************************************************************************/
3886 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3887
3888 "use strict";
3889
3890
3891 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3892 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3893 Object.defineProperty(exports, "__esModule", ({
3894 value: true
3895 }));
3896 exports["default"] = void 0;
3897 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3898 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3899 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3900 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3901 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3902 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3903 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3904 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3905 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3906 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3907 var _excluded = ["sx", "PaperProps"];
3908 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); }
3909 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; }
3910 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; }
3911 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; }
3912 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3913 return {
3914 '& .MuiDialog-container': {
3915 marginTop: 0,
3916 alignItems: 'flex-end',
3917 paddingBottom: '16vh'
3918 },
3919 '& .MuiPaper-root': {
3920 margin: 0,
3921 maxHeight: '55vh'
3922 }
3923 };
3924 });
3925 var DialogHeader = function DialogHeader(_ref) {
3926 var onClose = _ref.onClose,
3927 children = _ref.children;
3928 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3929 sx: {
3930 fontWeight: 'normal'
3931 },
3932 color: "transparent",
3933 position: "relative"
3934 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3935 variant: "dense"
3936 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3937 sx: {
3938 mr: 1
3939 }
3940 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3941 component: "span",
3942 variant: "subtitle2",
3943 sx: {
3944 fontWeight: 'bold',
3945 textTransform: 'uppercase'
3946 }
3947 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3948 label: (0, _i18n.__)('Beta', 'elementor'),
3949 color: "default",
3950 size: "small",
3951 sx: {
3952 ml: 1
3953 }
3954 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3955 direction: "row",
3956 spacing: 1,
3957 alignItems: "center",
3958 sx: {
3959 ml: 'auto'
3960 }
3961 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3962 size: "small",
3963 "aria-label": "close",
3964 onClick: onClose,
3965 sx: {
3966 '&.MuiButtonBase-root': {
3967 mr: -1
3968 }
3969 }
3970 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
3971 };
3972 DialogHeader.propTypes = {
3973 children: _propTypes.default.node,
3974 onClose: _propTypes.default.func.isRequired
3975 };
3976 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
3977 return {
3978 '&.MuiDialogContent-root': {
3979 padding: 0
3980 }
3981 };
3982 });
3983 var LayoutDialog = function LayoutDialog(_ref2) {
3984 var _ref2$sx = _ref2.sx,
3985 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
3986 _ref2$PaperProps = _ref2.PaperProps,
3987 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
3988 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
3989 var _useState = (0, _react.useState)({
3990 pointerEvents: 'none'
3991 }),
3992 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3993 sxStyle = _useState2[0],
3994 setSxStyle = _useState2[1];
3995 var timeoutRef = (0, _react.useRef)(null);
3996
3997 /**
3998 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
3999 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
4000 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
4001 */
4002 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
4003 maxWidth: "md",
4004 PaperProps: _objectSpread({
4005 sx: {
4006 pointerEvents: 'auto'
4007 },
4008 onMouseEnter: function onMouseEnter() {
4009 clearTimeout(timeoutRef.current);
4010 setSxStyle({
4011 pointerEvents: 'all'
4012 });
4013 },
4014 onMouseLeave: function onMouseLeave() {
4015 clearTimeout(timeoutRef.current);
4016 timeoutRef.current = setTimeout(function () {
4017 setSxStyle({
4018 pointerEvents: 'none'
4019 });
4020 }, 200);
4021 }
4022 }, PaperProps)
4023 }, props, {
4024 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
4025 }));
4026 };
4027 LayoutDialog.propTypes = {
4028 sx: _propTypes.default.object,
4029 PaperProps: _propTypes.default.object
4030 };
4031 LayoutDialog.Header = DialogHeader;
4032 LayoutDialog.Content = StyledDialogContent;
4033 var _default = LayoutDialog;
4034 exports["default"] = _default;
4035
4036 /***/ }),
4037
4038 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
4039 /*!*********************************************************************************************!*\
4040 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
4041 \*********************************************************************************************/
4042 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4043
4044 "use strict";
4045
4046
4047 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4048 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4049 Object.defineProperty(exports, "__esModule", ({
4050 value: true
4051 }));
4052 exports.ProTemplateIndicator = void 0;
4053 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4054 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4055 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4056 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4057 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4058 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); }
4059 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; }
4060 var popoverId = 'e-pro-upgrade-popover';
4061 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
4062 var theme = _ref.theme;
4063 return {
4064 position: 'relative',
4065 padding: theme.spacing(3),
4066 boxShadow: theme.shadows[4],
4067 zIndex: '9999'
4068 };
4069 });
4070 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
4071 var theme = _ref2.theme;
4072 return {
4073 position: 'absolute',
4074 width: theme.spacing(5),
4075 height: theme.spacing(5),
4076 overflow: 'hidden',
4077 // Override Popper inline styles.
4078 left: '100% !important',
4079 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
4080 '&::after': {
4081 backgroundColor: theme.palette.background.paper,
4082 content: '""',
4083 display: 'block',
4084 position: 'absolute',
4085 width: theme.spacing(2.5),
4086 height: theme.spacing(2.5),
4087 top: '50%',
4088 left: '50%',
4089 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
4090 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
4091 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
4092 }
4093 };
4094 });
4095 var ProTemplateIndicator = function ProTemplateIndicator() {
4096 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
4097 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
4098 var _useState = (0, _react.useState)(false),
4099 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4100 isPopoverOpen = _useState2[0],
4101 setIsPopoverOpen = _useState2[1];
4102 var anchorEl = (0, _react.useRef)(null);
4103 var arrowEl = (0, _react.useRef)(null);
4104 var showPopover = function showPopover() {
4105 return setIsPopoverOpen(true);
4106 };
4107 var hidePopover = function hidePopover() {
4108 return setIsPopoverOpen(false);
4109 };
4110 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4111 flexDirection: "row-reverse",
4112 component: "span",
4113 display: "flex",
4114 onMouseLeave: hidePopover,
4115 alignItems: "center"
4116 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4117 ref: anchorEl,
4118 onMouseEnter: showPopover,
4119 onClick: function onClick(e) {
4120 return e.stopPropagation();
4121 } /* Do nothing */,
4122 "aria-owns": isPopoverOpen ? popoverId : undefined,
4123 "aria-haspopup": "true",
4124 sx: {
4125 m: 1,
4126 '&:hover': {
4127 backgroundColor: 'action.selected'
4128 }
4129 }
4130 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
4131 sx: {
4132 color: 'text.primary'
4133 }
4134 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
4135 open: isPopoverOpen,
4136 popperOptions: {
4137 placement: 'left-start',
4138 modifiers: [{
4139 name: 'arrow',
4140 enabled: true,
4141 options: {
4142 element: arrowEl.current,
4143 padding: 5
4144 }
4145 }, {
4146 name: 'offset',
4147 options: {
4148 offset: [0, 10]
4149 }
4150 }]
4151 },
4152 anchorEl: anchorEl.current,
4153 sx: {
4154 zIndex: '9999',
4155 maxWidth: 300
4156 }
4157 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
4158 ref: arrowEl
4159 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4160 alignItems: "start",
4161 spacing: 2
4162 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4163 color: "promotion",
4164 variant: "outlined",
4165 size: "small",
4166 label: (0, _i18n.__)('Pro', 'elementor'),
4167 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
4168 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4169 variant: "body2"
4170 }, (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, {
4171 variant: "contained",
4172 color: "promotion",
4173 size: "small",
4174 href: actionUrl,
4175 target: "_blank",
4176 sx: {
4177 alignSelf: 'flex-end'
4178 }
4179 }, actionLabel)))));
4180 };
4181 exports.ProTemplateIndicator = ProTemplateIndicator;
4182
4183 /***/ }),
4184
4185 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
4186 /*!*****************************************************************************************!*\
4187 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
4188 \*****************************************************************************************/
4189 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4190
4191 "use strict";
4192
4193
4194 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4195 Object.defineProperty(exports, "__esModule", ({
4196 value: true
4197 }));
4198 exports.ProWidgetsNotice = void 0;
4199 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4200 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4201 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4202 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4203 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
4204 var ProWidgetsNotice = function ProWidgetsNotice() {
4205 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-pro-widget'),
4206 isViewed = _useIntroduction.isViewed,
4207 markAsViewed = _useIntroduction.markAsViewed;
4208 if (isViewed) {
4209 return null;
4210 }
4211 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4212 sx: {
4213 pt: 2,
4214 px: 2,
4215 pb: 0
4216 }
4217 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
4218 severity: "info",
4219 variant: "filled",
4220 color: "promotion",
4221 onClose: function onClose() {
4222 return markAsViewed();
4223 },
4224 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
4225 sx: {
4226 '& .MuiAlert-message': {
4227 width: '100%'
4228 }
4229 }
4230 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4231 flexDirection: "row",
4232 alignItems: "baseline",
4233 justifyContent: "space-between"
4234 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4235 variant: "body2",
4236 component: "span",
4237 sx: {
4238 paddingInlineEnd: 0.5
4239 }
4240 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4241 variant: "subtitle2",
4242 component: "span",
4243 sx: {
4244 paddingInlineEnd: 1
4245 }
4246 }, (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, {
4247 variant: "outlined",
4248 size: "small",
4249 onClick: function onClick() {
4250 return window.open('https://go.elementor.com/upgrade-pro/', '_blank');
4251 },
4252 color: "inherit"
4253 }, (0, _i18n.__)('Go Pro', 'elementor')))));
4254 };
4255 exports.ProWidgetsNotice = ProWidgetsNotice;
4256
4257 /***/ }),
4258
4259 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4260 /*!******************************************************************************************!*\
4261 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4262 \******************************************************************************************/
4263 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4264
4265 "use strict";
4266
4267
4268 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4269 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4270 Object.defineProperty(exports, "__esModule", ({
4271 value: true
4272 }));
4273 exports["default"] = void 0;
4274 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4275 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4276 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4277 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4278 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4279 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4280 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4281 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4282 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4283 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4284 var _excluded = ["onSubmit"];
4285 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); }
4286 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; }
4287 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; }
4288 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; }
4289 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4290 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4291 // eslint-disable-next-line jsx-a11y/no-autofocus
4292 , (0, _extends2.default)({
4293 autoFocus: true,
4294 multiline: true,
4295 size: "small",
4296 maxRows: 3,
4297 color: "secondary",
4298 variant: "standard"
4299 }, props, {
4300 inputRef: ref,
4301 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4302 type: 'search',
4303 sx: {
4304 pt: 0
4305 }
4306 })
4307 }));
4308 });
4309 TextInput.propTypes = {
4310 InputProps: _propTypes.default.object
4311 };
4312 var PaperComponent = function PaperComponent(props) {
4313 var _useConfig = (0, _config.useConfig)(),
4314 mode = _useConfig.mode;
4315 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4316 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4317 elevation: 8,
4318 sx: {
4319 borderRadius: 2
4320 }
4321 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4322 component: _ui.Box,
4323 color: function color(theme) {
4324 return theme.palette.text.tertiary;
4325 },
4326 variant: "caption",
4327 paddingX: 2,
4328 paddingY: 1
4329 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4330 sx: {
4331 m: 2
4332 }
4333 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4334 libraryLink: libraryLink
4335 })));
4336 };
4337 PaperComponent.propTypes = {
4338 children: _propTypes.default.node
4339 };
4340 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4341 var onSubmit = _ref.onSubmit,
4342 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4343 var _useState = (0, _react.useState)(false),
4344 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4345 showSuggestions = _useState2[0],
4346 setShowSuggestions = _useState2[1];
4347 var theme = (0, _ui.useTheme)();
4348 var itemHeight = parseInt(theme.spacing(4));
4349 var maxItems = 5;
4350 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4351 PaperComponent: PaperComponent,
4352 ListboxProps: {
4353 sx: {
4354 maxHeight: maxItems * itemHeight
4355 }
4356 },
4357 renderOption: function renderOption(optionProps, option) {
4358 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4359 title: option.text,
4360 noWrap: true,
4361 variant: "body2",
4362 component: _ui.Box,
4363 sx: {
4364 '&.MuiAutocomplete-option': {
4365 display: 'block',
4366 minHeight: itemHeight
4367 }
4368 }
4369 }), option.text);
4370 },
4371 freeSolo: true,
4372 fullWidth: true,
4373 disableClearable: true,
4374 open: showSuggestions,
4375 onClose: function onClose(e) {
4376 var _e$relatedTarget;
4377 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4378 },
4379 onKeyDown: function onKeyDown(e) {
4380 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4381 onSubmit(e);
4382 } else if ('/' === e.key && '' === e.target.value) {
4383 e.preventDefault();
4384 setShowSuggestions(true);
4385 }
4386 }
4387 }, props));
4388 };
4389 PromptAutocomplete.propTypes = {
4390 onSubmit: _propTypes.default.func.isRequired
4391 };
4392 PromptAutocomplete.TextInput = TextInput;
4393 var _default = PromptAutocomplete;
4394 exports["default"] = _default;
4395
4396 /***/ }),
4397
4398 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4399 /*!**********************************************************************************!*\
4400 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4401 \**********************************************************************************/
4402 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4403
4404 "use strict";
4405
4406
4407 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4408 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4409 Object.defineProperty(exports, "__esModule", ({
4410 value: true
4411 }));
4412 exports["default"] = void 0;
4413 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4414 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4415 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4416 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4417 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4418 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4419 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4420 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4421 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4422 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4423 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4424 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4425 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4426 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4427 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4428 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4429 var _excluded = ["tooltip"];
4430 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); }
4431 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; }
4432 var PROMPT_SUGGESTIONS = Object.freeze([{
4433 text: (0, _i18n.__)('Services section with list layout, icons, and service descriptions for [topic]', 'elementor')
4434 }, {
4435 text: (0, _i18n.__)('Accordion-style FAQ block with clickable questions about [topic]', 'elementor')
4436 }, {
4437 text: (0, _i18n.__)('Hero section with image, heading, subheading, and CTA button about [topic]', 'elementor')
4438 }, {
4439 text: (0, _i18n.__)('Full-width call-to-action with background image and overlay text about [topic]', 'elementor')
4440 }, {
4441 text: (0, _i18n.__)('Carousel testimonial block with user images, names, and feedback about [topic]', 'elementor')
4442 }, {
4443 text: (0, _i18n.__)('Features block showcasing feature title and brief description about [topic]', 'elementor')
4444 }, {
4445 text: (0, _i18n.__)('Multi-column minimalistic About Us section with icons for [topic]', 'elementor')
4446 }, {
4447 text: (0, _i18n.__)('Section with contact form and social media icons for [topic]', 'elementor')
4448 }, {
4449 text: (0, _i18n.__)('Statistics display in a 3-column layout with numbers and icons for [topic]', 'elementor')
4450 }, {
4451 text: (0, _i18n.__)('Pricing table section with highlighted option for [topic]', 'elementor')
4452 }, {
4453 text: (0, _i18n.__)('About Us section combining company history and values for [topic]', 'elementor')
4454 }]);
4455 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4456 var tooltip = _ref.tooltip,
4457 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4458 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4459 title: tooltip
4460 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4461 component: "span",
4462 sx: {
4463 cursor: props.disabled ? 'default' : 'pointer'
4464 }
4465 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4466 };
4467 IconButtonWithTooltip.propTypes = {
4468 tooltip: _propTypes.default.string,
4469 disabled: _propTypes.default.bool
4470 };
4471 var BackButton = function BackButton(props) {
4472 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4473 size: "small",
4474 color: "secondary",
4475 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4476 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4477 };
4478 var EditButton = function EditButton(props) {
4479 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4480 size: "small",
4481 color: "primary",
4482 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4483 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4484 };
4485 var GenerateButton = function GenerateButton(props) {
4486 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4487 size: "small",
4488 fullWidth: false
4489 }, props), (0, _i18n.__)('Generate', 'elementor'));
4490 };
4491 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4492 var _attachments$;
4493 var attachments = _ref2.attachments,
4494 isActive = _ref2.isActive,
4495 isLoading = _ref2.isLoading,
4496 _ref2$showActions = _ref2.showActions,
4497 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4498 onAttach = _ref2.onAttach,
4499 onDetach = _ref2.onDetach,
4500 _onSubmit = _ref2.onSubmit,
4501 onBack = _ref2.onBack,
4502 onEdit = _ref2.onEdit,
4503 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4504 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4505 var _useState = (0, _react.useState)(''),
4506 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4507 prompt = _useState2[0],
4508 setPrompt = _useState2[1];
4509 (0, _react.useEffect)(function () {
4510 if (shouldResetPrompt) {
4511 setPrompt('');
4512 }
4513 }, [shouldResetPrompt]);
4514 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4515 isEnhancing = _usePromptEnhancer.isEnhancing,
4516 enhance = _usePromptEnhancer.enhance;
4517 var previousPrompt = (0, _react.useRef)('');
4518 var _useConfig = (0, _config.useConfig)(),
4519 attachmentsTypes = _useConfig.attachmentsTypes;
4520 var isInputDisabled = isLoading || isEnhancing || !isActive;
4521 var isInputEmpty = '' === prompt && !attachments.length;
4522 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4523 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4524 var attachmentsConfig = attachmentsTypes[attachmentsType];
4525 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4526 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');
4527 var handleBack = function handleBack() {
4528 setPrompt(previousPrompt.current);
4529 onBack();
4530 };
4531 var handleEdit = function handleEdit() {
4532 previousPrompt.current = prompt;
4533 onEdit();
4534 };
4535 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4536 component: "form",
4537 onSubmit: function onSubmit(e) {
4538 return _onSubmit(e, prompt);
4539 },
4540 direction: "row",
4541 sx: {
4542 p: 3
4543 },
4544 alignItems: "start",
4545 gap: 1
4546 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4547 direction: "row",
4548 alignItems: "start",
4549 flexGrow: 1,
4550 spacing: 2
4551 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4552 disabled: isLoading || isEnhancing,
4553 onClick: handleBack
4554 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4555 disabled: isLoading,
4556 onClick: handleEdit
4557 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4558 attachments: attachments,
4559 onAttach: onAttach,
4560 onDetach: onDetach,
4561 disabled: isInputDisabled
4562 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4563 value: prompt,
4564 disabled: isInputDisabled,
4565 onSubmit: function onSubmit(e) {
4566 return _onSubmit(e, prompt);
4567 },
4568 options: promptSuggestions,
4569 onChange: function onChange(_, selectedValue) {
4570 return setPrompt(selectedValue.text + ' ');
4571 },
4572 renderInput: function renderInput(params) {
4573 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4574 ref: ref,
4575 onChange: function onChange(e) {
4576 return setPrompt(e.target.value);
4577 },
4578 placeholder: promptPlaceholder
4579 }));
4580 }
4581 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4582 size: "small",
4583 disabled: isGenerateDisabled || '' === prompt,
4584 isLoading: isEnhancing,
4585 onClick: function onClick() {
4586 return enhance().then(function (_ref3) {
4587 var result = _ref3.result;
4588 return setPrompt(result);
4589 });
4590 }
4591 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4592 disabled: isGenerateDisabled
4593 }));
4594 });
4595 PromptForm.propTypes = {
4596 isActive: _propTypes.default.bool,
4597 onAttach: _propTypes.default.func,
4598 onDetach: _propTypes.default.func,
4599 isLoading: _propTypes.default.bool,
4600 showActions: _propTypes.default.bool,
4601 onSubmit: _propTypes.default.func.isRequired,
4602 onBack: _propTypes.default.func.isRequired,
4603 onEdit: _propTypes.default.func.isRequired,
4604 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4605 shouldResetPrompt: _propTypes.default.bool
4606 };
4607 var _default = PromptForm;
4608 exports["default"] = _default;
4609
4610 /***/ }),
4611
4612 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4613 /*!*******************************************************************************************!*\
4614 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4615 \*******************************************************************************************/
4616 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4617
4618 "use strict";
4619
4620
4621 Object.defineProperty(exports, "__esModule", ({
4622 value: true
4623 }));
4624 exports["default"] = void 0;
4625 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4626 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4627 shouldForwardProp: function shouldForwardProp(prop) {
4628 return prop !== 'outlineOffset';
4629 }
4630 })(function (_ref) {
4631 var theme = _ref.theme,
4632 selected = _ref.selected,
4633 height = _ref.height,
4634 disabled = _ref.disabled,
4635 _ref$outlineOffset = _ref.outlineOffset,
4636 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4637 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4638 var outline = "2px solid ".concat(outlineColor);
4639 return {
4640 height: height,
4641 cursor: disabled ? 'default' : 'pointer',
4642 overflow: 'hidden',
4643 boxSizing: 'border-box',
4644 backgroundPosition: 'top center',
4645 backgroundSize: '100% auto',
4646 backgroundRepeat: 'no-repeat',
4647 backgroundColor: theme.palette.common.white,
4648 borderRadius: theme.shape.borderRadius * 0.5,
4649 outlineOffset: outlineOffset,
4650 outline: outline,
4651 opacity: disabled ? '0.4' : '1',
4652 transition: "all 50ms linear",
4653 '&:hover': disabled ? {} : {
4654 outlineColor: theme.palette.text.primary
4655 }
4656 };
4657 });
4658 var _default = ScreenshotContainer;
4659 exports["default"] = _default;
4660
4661 /***/ }),
4662
4663 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4664 /*!*********************************************************************************************!*\
4665 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4666 \*********************************************************************************************/
4667 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4668
4669 "use strict";
4670
4671
4672 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4673 Object.defineProperty(exports, "__esModule", ({
4674 value: true
4675 }));
4676 exports["default"] = ScreenshotUnavailable;
4677 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4678 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4679 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4680 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4681 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4682 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4683 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; }
4684 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; }
4685 function ScreenshotUnavailable(props) {
4686 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4687 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4688 display: 'flex',
4689 alignItems: 'center',
4690 justifyContent: 'center',
4691 backgroundColor: 'background.paper',
4692 color: 'text.tertiary',
4693 fontStyle: 'italic',
4694 fontSize: '12px',
4695 paddingInline: 12,
4696 textAlign: 'center',
4697 lineHeight: 1.5
4698 })
4699 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4700 }
4701 ScreenshotUnavailable.propTypes = {
4702 sx: _propTypes.default.object
4703 };
4704
4705 /***/ }),
4706
4707 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4708 /*!*********************************************************************************!*\
4709 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4710 \*********************************************************************************/
4711 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4712
4713 "use strict";
4714
4715
4716 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4717 Object.defineProperty(exports, "__esModule", ({
4718 value: true
4719 }));
4720 exports["default"] = void 0;
4721 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4722 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4723 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4724 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4725 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4726 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4727 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4728 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; }
4729 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; }
4730 var SCREENSHOT_HEIGHT = '138px';
4731 var Screenshot = function Screenshot(_ref) {
4732 var url = _ref.url,
4733 type = _ref.type,
4734 _ref$isLoading = _ref.isLoading,
4735 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4736 _ref$isSelected = _ref.isSelected,
4737 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4738 isPlaceholder = _ref.isPlaceholder,
4739 disabled = _ref.disabled,
4740 onClick = _ref.onClick,
4741 _ref$sx = _ref.sx,
4742 sx = _ref$sx === void 0 ? {} : _ref$sx,
4743 outlineOffset = _ref.outlineOffset;
4744 if (isPlaceholder) {
4745 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4746 sx: _objectSpread({
4747 height: SCREENSHOT_HEIGHT
4748 }, sx)
4749 });
4750 }
4751 if (isLoading) {
4752 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4753 width: "100%",
4754 animation: "wave",
4755 variant: "rounded",
4756 height: SCREENSHOT_HEIGHT,
4757 sx: sx
4758 });
4759 }
4760 if (!url) {
4761 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4762 selected: isSelected,
4763 disabled: disabled,
4764 sx: sx,
4765 onClick: onClick,
4766 height: SCREENSHOT_HEIGHT,
4767 outlineOffset: outlineOffset
4768 });
4769 }
4770 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4771 selected: isSelected,
4772 disabled: disabled,
4773 sx: _objectSpread({
4774 backgroundImage: "url('".concat(url, "')")
4775 }, sx),
4776 onClick: onClick,
4777 height: SCREENSHOT_HEIGHT,
4778 outlineOffset: outlineOffset
4779 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4780 type: type
4781 }));
4782 };
4783 Screenshot.propTypes = {
4784 isSelected: _propTypes.default.bool,
4785 isLoading: _propTypes.default.bool,
4786 isPlaceholder: _propTypes.default.bool,
4787 disabled: _propTypes.default.bool,
4788 onClick: _propTypes.default.func.isRequired,
4789 url: _propTypes.default.string,
4790 type: _propTypes.default.string,
4791 sx: _propTypes.default.object,
4792 outlineOffset: _propTypes.default.string
4793 };
4794 var _default = Screenshot;
4795 exports["default"] = _default;
4796
4797 /***/ }),
4798
4799 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4800 /*!*************************************************************************************!*\
4801 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4802 \*************************************************************************************/
4803 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4804
4805 "use strict";
4806
4807
4808 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4809 Object.defineProperty(exports, "__esModule", ({
4810 value: true
4811 }));
4812 exports["default"] = void 0;
4813 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4814 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4815 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4816 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4817 var TemplateBadge = function TemplateBadge(props) {
4818 var _useConfig = (0, _config.useConfig)(),
4819 hasPro = _useConfig.hasPro;
4820 if ('Pro' === props.type && !hasPro) {
4821 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4822 }
4823 return null;
4824 };
4825 var _default = TemplateBadge;
4826 exports["default"] = _default;
4827 TemplateBadge.propTypes = {
4828 type: _propTypes.default.string
4829 };
4830
4831 /***/ }),
4832
4833 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4834 /*!********************************************************************************************!*\
4835 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4836 \********************************************************************************************/
4837 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4838
4839 "use strict";
4840
4841
4842 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4843 Object.defineProperty(exports, "__esModule", ({
4844 value: true
4845 }));
4846 exports["default"] = void 0;
4847 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4848 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4849 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4850 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4851 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4852 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4853 var _excluded = ["onClose", "onCancel", "title", "text"];
4854 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4855 var onClose = _ref.onClose,
4856 onCancel = _ref.onCancel,
4857 title = _ref.title,
4858 text = _ref.text,
4859 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4860 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4861 "aria-labelledby": "unsaved-changes-alert-title",
4862 "aria-describedby": "unsaved-changes-alert-description"
4863 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4864 id: "unsaved-changes-alert-title"
4865 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4866 id: "unsaved-changes-alert-description"
4867 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4868 onClick: onCancel,
4869 color: "secondary"
4870 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4871 onClick: onClose,
4872 color: "error",
4873 variant: "contained"
4874 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4875 };
4876 UnsavedChangesAlert.propTypes = {
4877 title: _propTypes.default.string,
4878 text: _propTypes.default.string,
4879 onCancel: _propTypes.default.func,
4880 onClose: _propTypes.default.func
4881 };
4882 var _default = UnsavedChangesAlert;
4883 exports["default"] = _default;
4884
4885 /***/ }),
4886
4887 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4888 /*!**************************************************************************!*\
4889 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4890 \**************************************************************************/
4891 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4892
4893 "use strict";
4894
4895
4896 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4897 Object.defineProperty(exports, "__esModule", ({
4898 value: true
4899 }));
4900 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4901 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4902 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4903 var MODE_LAYOUT = 'layout';
4904 exports.MODE_LAYOUT = MODE_LAYOUT;
4905 var MODE_VARIATION = 'variation';
4906 exports.MODE_VARIATION = MODE_VARIATION;
4907 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4908 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4909 var ConfigContext = _react.default.createContext({});
4910 var useConfig = function useConfig() {
4911 return _react.default.useContext(ConfigContext);
4912 };
4913 exports.useConfig = useConfig;
4914 var ConfigProvider = function ConfigProvider(props) {
4915 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4916 value: {
4917 mode: props.mode,
4918 attachmentsTypes: props.attachmentsTypes,
4919 onClose: props.onClose,
4920 onConnect: props.onConnect,
4921 onData: props.onData,
4922 onInsert: props.onInsert,
4923 onSelect: props.onSelect,
4924 onGenerate: props.onGenerate,
4925 currentContext: props.currentContext,
4926 hasPro: props.hasPro
4927 }
4928 }, props.children);
4929 };
4930 exports.ConfigProvider = ConfigProvider;
4931 ConfigProvider.propTypes = {
4932 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4933 children: _propTypes.default.node.isRequired,
4934 attachmentsTypes: _propTypes.default.object.isRequired,
4935 onClose: _propTypes.default.func.isRequired,
4936 onConnect: _propTypes.default.func.isRequired,
4937 onData: _propTypes.default.func.isRequired,
4938 onInsert: _propTypes.default.func.isRequired,
4939 onSelect: _propTypes.default.func.isRequired,
4940 onGenerate: _propTypes.default.func.isRequired,
4941 currentContext: _propTypes.default.object,
4942 hasPro: _propTypes.default.bool
4943 };
4944 var _default = ConfigContext;
4945 exports["default"] = _default;
4946
4947 /***/ }),
4948
4949 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4950 /*!*********************************************************************************!*\
4951 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4952 \*********************************************************************************/
4953 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4954
4955 "use strict";
4956
4957
4958 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4959 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4960 Object.defineProperty(exports, "__esModule", ({
4961 value: true
4962 }));
4963 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4964 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4965 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4966 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4967 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4968 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4969 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4970 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); }
4971 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; }
4972 var RemoteConfigContext = _react.default.createContext({});
4973 var useRemoteConfig = function useRemoteConfig() {
4974 return _react.default.useContext(RemoteConfigContext);
4975 };
4976 exports.useRemoteConfig = useRemoteConfig;
4977 var CONFIG_KEYS = {
4978 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4979 AUTH_TOKEN: 'jwt'
4980 };
4981 exports.CONFIG_KEYS = CONFIG_KEYS;
4982 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4983 var _useState = (0, _react.useState)(false),
4984 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4985 isLoading = _useState2[0],
4986 setIsLoading = _useState2[1];
4987 var _useState3 = (0, _react.useState)(false),
4988 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4989 isLoaded = _useState4[0],
4990 setIsLoaded = _useState4[1];
4991 var _useState5 = (0, _react.useState)(false),
4992 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4993 isError = _useState6[0],
4994 setIsError = _useState6[1];
4995 var _useState7 = (0, _react.useState)({}),
4996 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4997 remoteConfig = _useState8[0],
4998 setRemoteConfig = _useState8[1];
4999 var fetchData = /*#__PURE__*/function () {
5000 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5001 var result;
5002 return _regenerator.default.wrap(function _callee$(_context) {
5003 while (1) switch (_context.prev = _context.next) {
5004 case 0:
5005 setIsLoading(true);
5006 _context.prev = 1;
5007 _context.next = 4;
5008 return (0, _api.getRemoteConfig)().finally(function () {
5009 setIsLoaded(true);
5010 setIsLoading(false);
5011 });
5012 case 4:
5013 result = _context.sent;
5014 if (result.config) {
5015 _context.next = 7;
5016 break;
5017 }
5018 throw new Error('Invalid remote config');
5019 case 7:
5020 setRemoteConfig(result.config);
5021 _context.next = 15;
5022 break;
5023 case 10:
5024 _context.prev = 10;
5025 _context.t0 = _context["catch"](1);
5026 setIsError(true);
5027 setIsLoaded(true);
5028 setIsLoading(false);
5029 case 15:
5030 case "end":
5031 return _context.stop();
5032 }
5033 }, _callee, null, [[1, 10]]);
5034 }));
5035 return function fetchData() {
5036 return _ref.apply(this, arguments);
5037 };
5038 }();
5039 if (!isLoaded && !isLoading) {
5040 fetchData();
5041 }
5042 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
5043 value: {
5044 isLoading: isLoading,
5045 isLoaded: isLoaded,
5046 isError: isError,
5047 remoteConfig: remoteConfig
5048 }
5049 }, props.children);
5050 };
5051 exports.RemoteConfigProvider = RemoteConfigProvider;
5052 RemoteConfigProvider.propTypes = {
5053 children: _propTypes.default.node.isRequired,
5054 onError: _propTypes.default.func.isRequired
5055 };
5056
5057 /***/ }),
5058
5059 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
5060 /*!****************************************************************************************!*\
5061 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
5062 \****************************************************************************************/
5063 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5064
5065 "use strict";
5066
5067
5068 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5069 Object.defineProperty(exports, "__esModule", ({
5070 value: true
5071 }));
5072 exports.useAttachUrlService = void 0;
5073 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5074 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5075 var _react = __webpack_require__(/*! react */ "react");
5076 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
5077 var useAttachUrlService = function useAttachUrlService(args) {
5078 var _window$elementorComm, _window$elementorComm2;
5079 var _useState = (0, _react.useState)(args.targetUrl),
5080 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5081 currentUrl = _useState2[0],
5082 setCurrentUrl = _useState2[1];
5083 var theme = (0, _ui.useTheme)();
5084 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
5085 isLoaded = _useRemoteConfig.isLoaded,
5086 isError = _useRemoteConfig.isError,
5087 remoteConfig = _useRemoteConfig.remoteConfig;
5088 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
5089 return {
5090 iframeSource: '',
5091 currentUrl: currentUrl,
5092 setCurrentUrl: setCurrentUrl
5093 };
5094 }
5095 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
5096 urlObject.searchParams.append('colorScheme', theme.palette.mode);
5097 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
5098 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);
5099 if (currentUrl) {
5100 urlObject.searchParams.append('url', currentUrl);
5101 }
5102 return {
5103 iframeSource: urlObject.toString(),
5104 currentUrl: currentUrl,
5105 setCurrentUrl: setCurrentUrl
5106 };
5107 };
5108 exports.useAttachUrlService = useAttachUrlService;
5109
5110 /***/ }),
5111
5112 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
5113 /*!***********************************************************************************!*\
5114 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
5115 \***********************************************************************************/
5116 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5117
5118 "use strict";
5119
5120
5121 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5122 Object.defineProperty(exports, "__esModule", ({
5123 value: true
5124 }));
5125 exports["default"] = void 0;
5126 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
5127 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
5128 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
5129 return (0, _usePrompt.default)(function (requestBody, signal) {
5130 requestBody.variationType = type;
5131 return (0, _api.generateLayout)(requestBody, signal);
5132 }, initialValue);
5133 };
5134 var _default = useLayoutPrompt;
5135 exports["default"] = _default;
5136
5137 /***/ }),
5138
5139 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
5140 /*!********************************************************************************!*\
5141 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
5142 \********************************************************************************/
5143 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5144
5145 "use strict";
5146
5147
5148 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5149 Object.defineProperty(exports, "__esModule", ({
5150 value: true
5151 }));
5152 exports["default"] = void 0;
5153 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5154 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5155 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5156 var _react = __webpack_require__(/*! react */ "react");
5157 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
5158 var ERROR_INITIAL_VALUE = '';
5159 var useScreenshot = function useScreenshot(type, onData) {
5160 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
5161 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5162 error = _useState2[0],
5163 setError = _useState2[1];
5164 var _useState3 = (0, _react.useState)(false),
5165 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5166 isLoading = _useState4[0],
5167 setIsLoading = _useState4[1];
5168 var layoutData = (0, _useLayoutPrompt.default)(type, null);
5169 var generate = function generate(requestBody, signal) {
5170 setIsLoading(true);
5171 setError(ERROR_INITIAL_VALUE);
5172 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
5173 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
5174 var createdScreenshot;
5175 return _regenerator.default.wrap(function _callee$(_context) {
5176 while (1) switch (_context.prev = _context.next) {
5177 case 0:
5178 _context.next = 2;
5179 return onData(data.result);
5180 case 2:
5181 createdScreenshot = _context.sent;
5182 createdScreenshot.sendUsageData = function () {
5183 return layoutData.sendUsageData(data);
5184 };
5185 createdScreenshot.baseTemplateId = data.baseTemplateId;
5186 createdScreenshot.type = data.type;
5187 return _context.abrupt("return", createdScreenshot);
5188 case 7:
5189 case "end":
5190 return _context.stop();
5191 }
5192 }, _callee);
5193 }));
5194 return function (_x) {
5195 return _ref.apply(this, arguments);
5196 };
5197 }()).catch(function (err) {
5198 setError(err.extra_data ? err : err.message || err);
5199 throw err;
5200 }).finally(function () {
5201 return setIsLoading(false);
5202 });
5203 };
5204 return {
5205 generate: generate,
5206 error: error,
5207 isLoading: isLoading
5208 };
5209 };
5210 var _default = useScreenshot;
5211 exports["default"] = _default;
5212
5213 /***/ }),
5214
5215 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
5216 /*!*********************************************************************************!*\
5217 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
5218 \*********************************************************************************/
5219 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5220
5221 "use strict";
5222
5223
5224 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5225 Object.defineProperty(exports, "__esModule", ({
5226 value: true
5227 }));
5228 exports["default"] = void 0;
5229 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5230 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5231 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5232 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5233 var _react = __webpack_require__(/*! react */ "react");
5234 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5235 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5236 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5237 var PENDING_VALUE = {
5238 isPending: true
5239 };
5240 var useScreenshots = function useScreenshots(_ref) {
5241 var onData = _ref.onData;
5242 var _useState = (0, _react.useState)([]),
5243 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5244 screenshots = _useState2[0],
5245 setScreenshots = _useState2[1];
5246
5247 /**
5248 * The ids for each request are:
5249 * - editorSessionId: a unique id for each editor opening
5250 * - sessionId: a unique id for each session. (open the AI builder)
5251 * - generateId: a unique id for each generate request. (prompt change)
5252 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5253 * - requestId: a unique id for each generate request.
5254 */
5255
5256 var _useConfig = (0, _config.useConfig)(),
5257 currentContext = _useConfig.currentContext;
5258 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5259 editorSessionId = _useRequestIds.editorSessionId,
5260 sessionId = _useRequestIds.sessionId,
5261 setRequest = _useRequestIds.setRequest,
5262 setBatch = _useRequestIds.setBatch,
5263 setGenerate = _useRequestIds.setGenerate;
5264 var generateIdRef = (0, _react.useRef)('');
5265 var batchId = setBatch();
5266 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5267 var screenshotsGroupCount = screenshotsData.length;
5268 var error = screenshotsData.every(function (s) {
5269 return s === null || s === void 0 ? void 0 : s.error;
5270 }) ? screenshotsData[0].error : '';
5271 var isLoading = screenshotsData.some(function (s) {
5272 return s === null || s === void 0 ? void 0 : s.isLoading;
5273 });
5274 var abortController = (0, _react.useRef)(null);
5275 var abort = function abort() {
5276 var _abortController$curr;
5277 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5278 };
5279 var createScreenshots = /*#__PURE__*/function () {
5280 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5281 var onGenerate, onError, promises, results, isAllFailed;
5282 return _regenerator.default.wrap(function _callee$(_context) {
5283 while (1) switch (_context.prev = _context.next) {
5284 case 0:
5285 abortController.current = new AbortController();
5286 onGenerate = function onGenerate(screenshot) {
5287 setScreenshots(function (prev) {
5288 var updatedData = (0, _toConsumableArray2.default)(prev);
5289 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5290 updatedData[pendingIndex] = screenshot;
5291 return updatedData;
5292 });
5293 return true;
5294 };
5295 onError = function onError() {
5296 setScreenshots(function (prev) {
5297 var updatedData = (0, _toConsumableArray2.default)(prev);
5298 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5299 updatedData[pendingIndex] = {
5300 isError: true
5301 };
5302 return updatedData;
5303 });
5304 return false;
5305 };
5306 promises = screenshotsData.map(function (_ref3) {
5307 var generate = _ref3.generate;
5308 var prevGeneratedIds = screenshots.map(function (screenshot) {
5309 return screenshot.baseTemplateId || '';
5310 });
5311 var requestBody = {
5312 prompt: prompt,
5313 prevGeneratedIds: prevGeneratedIds,
5314 currentContext: currentContext,
5315 ids: {
5316 editorSessionId: editorSessionId.current,
5317 sessionId: sessionId.current,
5318 generateId: generateIdRef.current,
5319 batchId: batchId.current,
5320 requestId: setRequest().current
5321 },
5322 attachments: attachments.map(function (_ref4) {
5323 var type = _ref4.type,
5324 content = _ref4.content,
5325 label = _ref4.label,
5326 source = _ref4.source;
5327 // Send only the data that is needed for the generation.
5328 return {
5329 type: type,
5330 content: content,
5331 label: label,
5332 source: source
5333 };
5334 })
5335 };
5336 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5337 });
5338 _context.next = 6;
5339 return Promise.all(promises);
5340 case 6:
5341 results = _context.sent;
5342 isAllFailed = results.every(function (value) {
5343 return false === value;
5344 });
5345 if (isAllFailed) {
5346 setScreenshots(function (prev) {
5347 var updatedData = (0, _toConsumableArray2.default)(prev);
5348 updatedData.splice(screenshotsGroupCount * -1);
5349 return updatedData;
5350 });
5351 }
5352 case 9:
5353 case "end":
5354 return _context.stop();
5355 }
5356 }, _callee);
5357 }));
5358 return function createScreenshots(_x, _x2) {
5359 return _ref2.apply(this, arguments);
5360 };
5361 }();
5362 var generate = function generate(prompt, attachments) {
5363 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5364 generateIdRef.current = setGenerate().current;
5365 setScreenshots(placeholders);
5366 createScreenshots(prompt, attachments);
5367 };
5368 var regenerate = function regenerate(prompt, attachments) {
5369 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5370 setScreenshots(function (prev) {
5371 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5372 });
5373 createScreenshots(prompt, attachments);
5374 };
5375 return {
5376 generate: generate,
5377 regenerate: regenerate,
5378 screenshots: screenshots,
5379 isLoading: isLoading,
5380 error: error,
5381 abort: abort
5382 };
5383 };
5384 var _default = useScreenshots;
5385 exports["default"] = _default;
5386
5387 /***/ }),
5388
5389 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5390 /*!****************************************************************************!*\
5391 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5392 \****************************************************************************/
5393 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5394
5395 "use strict";
5396
5397
5398 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5399 Object.defineProperty(exports, "__esModule", ({
5400 value: true
5401 }));
5402 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5403 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5404 var _react = __webpack_require__(/*! react */ "react");
5405 var SCREENSHOTS_PER_PAGE = 3;
5406 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5407 var MAX_PAGES = 5;
5408 exports.MAX_PAGES = MAX_PAGES;
5409 var useSlider = function useSlider() {
5410 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5411 _ref$slidesCount = _ref.slidesCount,
5412 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5413 _ref$slidesPerPage = _ref.slidesPerPage,
5414 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5415 _ref$gapPercentage = _ref.gapPercentage,
5416 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5417 var _useState = (0, _react.useState)(1),
5418 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5419 currentPage = _useState2[0],
5420 setCurrentPage = _useState2[1];
5421 var gapsCount = slidesPerPage - 1;
5422 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5423 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5424 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5425 (0, _react.useEffect)(function () {
5426 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5427 if (currentPage > 1 && currentPage > pagesCount) {
5428 setCurrentPage(pagesCount);
5429 }
5430 }, [pagesCount]);
5431 return {
5432 currentPage: currentPage,
5433 setCurrentPage: setCurrentPage,
5434 pagesCount: pagesCount,
5435 slidesPerPage: slidesPerPage,
5436 gapPercentage: gapPercentage,
5437 offsetXPercentage: offsetXPercentage,
5438 slideWidthPercentage: slideWidthPercentage
5439 };
5440 };
5441 var _default = useSlider;
5442 exports["default"] = _default;
5443
5444 /***/ }),
5445
5446 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5447 /*!*****************************************************************!*\
5448 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5449 \*****************************************************************/
5450 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5451
5452 "use strict";
5453
5454
5455 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5456 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5457 Object.defineProperty(exports, "__esModule", ({
5458 value: true
5459 }));
5460 exports["default"] = void 0;
5461 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5462 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5463 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5464 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5465 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5466 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5467 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5468 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5469 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5470 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5471 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5472 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5473 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5474 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5475 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5476 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5477 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5478 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5479 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5480 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5481 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5482 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
5483 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5484 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5485 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5486 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5487 var _excluded = ["children"];
5488 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); }
5489 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; }
5490 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5491 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5492
5493 /**
5494 * @typedef {Object} Attachment
5495 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5496 * @property {string} previewHTML - HTML content as a string, representing a preview.
5497 * @property {string} content - Actual content of the attachment as a string.
5498 * @property {string} label - Label for the attachment.
5499 */
5500
5501 var RegenerateButton = function RegenerateButton(props) {
5502 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5503 size: "small",
5504 color: "secondary",
5505 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5506 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5507 };
5508 var UseLayoutButton = function UseLayoutButton(props) {
5509 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5510 size: "small",
5511 variant: "contained"
5512 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5513 };
5514 UseLayoutButton.propTypes = {
5515 sx: _propTypes.default.object
5516 };
5517 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5518 if (isLoading || isPromptFormActive) {
5519 return true;
5520 }
5521 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5522 };
5523 var FormLayout = function FormLayout(_ref) {
5524 var _screenshots$selected, _screenshots$2;
5525 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5526 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5527 _ref$DialogContentPro = _ref.DialogContentProps,
5528 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5529 initialAttachments = _ref.attachments;
5530 var _useConfig = (0, _config.useConfig)(),
5531 attachmentsTypes = _useConfig.attachmentsTypes,
5532 onData = _useConfig.onData,
5533 onInsert = _useConfig.onInsert,
5534 onSelect = _useConfig.onSelect,
5535 onClose = _useConfig.onClose,
5536 onGenerate = _useConfig.onGenerate,
5537 hasPro = _useConfig.hasPro;
5538 var _useScreenshots = (0, _useScreenshots2.default)({
5539 onData: onData
5540 }),
5541 screenshots = _useScreenshots.screenshots,
5542 generate = _useScreenshots.generate,
5543 regenerate = _useScreenshots.regenerate,
5544 isLoading = _useScreenshots.isLoading,
5545 error = _useScreenshots.error,
5546 abort = _useScreenshots.abort;
5547 var screenshotOutlineOffset = '2px';
5548 var _useSlider = (0, _useSlider2.default)({
5549 slidesCount: screenshots.length
5550 }),
5551 currentPage = _useSlider.currentPage,
5552 setCurrentPage = _useSlider.setCurrentPage,
5553 pagesCount = _useSlider.pagesCount,
5554 gapPercentage = _useSlider.gapPercentage,
5555 slidesPerPage = _useSlider.slidesPerPage,
5556 offsetXPercentage = _useSlider.offsetXPercentage,
5557 slideWidthPercentage = _useSlider.slideWidthPercentage;
5558 var _useState = (0, _react.useState)(-1),
5559 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5560 selectedScreenshotIndex = _useState2[0],
5561 setSelectedScreenshotIndex = _useState2[1];
5562 var _useState3 = (0, _react.useState)(false),
5563 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5564 showUnsavedChangesAlert = _useState4[0],
5565 setShowUnsavedChangesAlert = _useState4[1];
5566 var _useState5 = (0, _react.useState)(true),
5567 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5568 isPromptEditable = _useState6[0],
5569 setIsPromptEditable = _useState6[1];
5570 var _useState7 = (0, _react.useState)([]),
5571 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5572 attachments = _useState8[0],
5573 setAttachments = _useState8[1];
5574 var _useState9 = (0, _react.useState)(false),
5575 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5576 shouldRenderWebApp = _useState10[0],
5577 setShouldRenderWebApp = _useState10[1];
5578 var _useState11 = (0, _react.useState)(false),
5579 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5580 isMinimized = _useState12[0],
5581 setIsMinimized = _useState12[1];
5582 var lastRun = (0, _react.useRef)(function () {});
5583 var promptInputRef = (0, _react.useRef)(null);
5584 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5585 var dialogContentChildren = DialogContentProps.children,
5586 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5587
5588 // When there are no screenshots the prompt field should be editable.
5589 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5590 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5591 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
5592 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
5593 });
5594 var abortAndClose = function abortAndClose() {
5595 abort();
5596 onClose();
5597 };
5598 var onCloseIntent = function onCloseIntent() {
5599 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5600 if (hasUnsavedChanges) {
5601 return setShowUnsavedChangesAlert(true);
5602 }
5603 abortAndClose();
5604 };
5605 var handleGenerate = function handleGenerate(event, prompt) {
5606 event.preventDefault();
5607 if ('' === prompt.trim() && 0 === attachments.length) {
5608 return;
5609 }
5610 if ((0, _isURL.default)(prompt)) {
5611 setShouldRenderWebApp(true);
5612 return;
5613 }
5614 onGenerate();
5615 lastRun.current = function () {
5616 setSelectedScreenshotIndex(-1);
5617 generate(prompt, attachments);
5618 };
5619 lastRun.current();
5620 setIsPromptEditable(false);
5621 setCurrentPage(1);
5622 };
5623 var handleRegenerate = function handleRegenerate() {
5624 lastRun.current = function () {
5625 regenerate(promptInputRef.current.value, attachments);
5626 // Changing the current page to the next page number.
5627 setCurrentPage(pagesCount + 1);
5628 };
5629 lastRun.current();
5630 };
5631 var applyTemplate = function applyTemplate() {
5632 onInsert(selectedTemplate);
5633 screenshots[selectedScreenshotIndex].sendUsageData();
5634 abortAndClose();
5635 };
5636 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5637 return function () {
5638 if (isPromptFormActive) {
5639 return;
5640 }
5641 setSelectedScreenshotIndex(index);
5642 onSelect(template);
5643 };
5644 };
5645
5646 /**
5647 * @param {Attachment[]} items
5648 */
5649 var onAttach = function onAttach(items) {
5650 items.forEach(function (item) {
5651 if (!attachmentsTypes[item.type]) {
5652 throw new Error("Invalid attachment type: ".concat(item.type));
5653 }
5654 var typeConfig = attachmentsTypes[item.type];
5655 if (!item.previewHTML && typeConfig.previewGenerator) {
5656 typeConfig.previewGenerator(item.content).then(function (html) {
5657 item.previewHTML = html;
5658 setAttachments(function (prev) {
5659 // Replace the attachment with the updated one.
5660 return prev.map(function (attachment) {
5661 if (attachment.content === item.content) {
5662 return item;
5663 }
5664 return attachment;
5665 });
5666 });
5667 });
5668 }
5669 });
5670 setAttachments(items);
5671 setShouldRenderWebApp(false);
5672 setIsPromptEditable(true);
5673 };
5674 (0, _react.useEffect)(function () {
5675 var _screenshots$;
5676 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5677 if (isFirstTemplateExist) {
5678 onSelect(screenshots[0].template);
5679 setSelectedScreenshotIndex(0);
5680 }
5681 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5682 (0, _react.useEffect)(function () {
5683 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5684 onAttach(initialAttachments);
5685 }
5686 }, []);
5687 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5688 onClose: onCloseIntent
5689 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5690 onClose: onCloseIntent
5691 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5692 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5693 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5694 size: "small",
5695 "aria-label": "minimize",
5696 onClick: function onClick() {
5697 return setIsMinimized(function (prev) {
5698 return !prev;
5699 });
5700 }
5701 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5702 dividers: true
5703 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5704 in: !isMinimized
5705 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5706 sx: {
5707 pt: 2,
5708 px: 2,
5709 pb: 0
5710 }
5711 }, 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, {
5712 sx: {
5713 pt: 2,
5714 px: 2,
5715 pb: 0
5716 }
5717 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5718 error: error,
5719 onRetry: lastRun.current
5720 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5721 open: showUnsavedChangesAlert,
5722 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5723 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5724 onClose: abortAndClose,
5725 onCancel: function onCancel() {
5726 return setShowUnsavedChangesAlert(false);
5727 }
5728 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5729 type: _attachments.ATTACHMENT_TYPE_URL,
5730 url: promptInputRef.current.value,
5731 onAttach: onAttach,
5732 onClose: function onClose() {
5733 setShouldRenderWebApp(false);
5734 }
5735 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5736 shouldResetPrompt: shouldRenderWebApp,
5737 ref: promptInputRef,
5738 isActive: isPromptFormActive,
5739 isLoading: isLoading,
5740 showActions: screenshots.length > 0 || isLoading,
5741 attachmentsTypes: attachmentsTypes,
5742 attachments: attachments,
5743 onAttach: onAttach,
5744 onDetach: function onDetach(index) {
5745 setAttachments(function (prev) {
5746 var newAttachments = (0, _toConsumableArray2.default)(prev);
5747 newAttachments.splice(index, 1);
5748 return newAttachments;
5749 });
5750 setIsPromptEditable(true);
5751 },
5752 onSubmit: handleGenerate,
5753 onBack: function onBack() {
5754 return setIsPromptEditable(false);
5755 },
5756 onEdit: function onEdit() {
5757 return setIsPromptEditable(true);
5758 }
5759 }), (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, {
5760 sx: {
5761 p: 1.5
5762 }
5763 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5764 sx: {
5765 overflow: 'hidden',
5766 p: 0.5
5767 }
5768 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5769 sx: {
5770 display: 'flex',
5771 transition: 'all 0.4s ease',
5772 gap: "".concat(gapPercentage, "%"),
5773 transform: "translateX(".concat(offsetXPercentage, "%)")
5774 }
5775 }, screenshots.map(function (_ref2, index) {
5776 var screenshot = _ref2.screenshot,
5777 type = _ref2.type,
5778 template = _ref2.template,
5779 isError = _ref2.isError,
5780 isPending = _ref2.isPending;
5781 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5782 key: index,
5783 url: screenshot,
5784 type: type,
5785 disabled: isPromptFormActive,
5786 isPlaceholder: isError,
5787 isLoading: isPending,
5788 isSelected: selectedScreenshotIndex === index,
5789 onClick: handleScreenshotClick(index, template),
5790 outlineOffset: screenshotOutlineOffset,
5791 sx: {
5792 flex: "0 0 ".concat(slideWidthPercentage, "%")
5793 }
5794 });
5795 }))), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5796 introductionKey: "ai-context-layout-promotion"
5797 })), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5798 sx: {
5799 pt: 0,
5800 px: 2,
5801 pb: 2
5802 },
5803 display: "grid",
5804 gridTemplateColumns: "repeat(3, 1fr)",
5805 justifyItems: "center"
5806 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5807 onClick: handleRegenerate,
5808 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5809 sx: {
5810 justifySelf: 'start'
5811 }
5812 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5813 page: currentPage,
5814 count: pagesCount,
5815 disabled: isPromptFormActive,
5816 onChange: function onChange(_, page) {
5817 return setCurrentPage(page);
5818 }
5819 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5820 onClick: applyTemplate,
5821 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5822 sx: {
5823 justifySelf: 'end',
5824 gridColumn: 3
5825 }
5826 }))))));
5827 };
5828 FormLayout.propTypes = {
5829 DialogHeaderProps: _propTypes.default.object,
5830 DialogContentProps: _propTypes.default.object,
5831 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5832 };
5833 var _default = FormLayout;
5834 exports["default"] = _default;
5835
5836 /***/ }),
5837
5838 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5839 /*!************************************************************************************!*\
5840 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5841 \************************************************************************************/
5842 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5843
5844 "use strict";
5845
5846
5847 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5848 Object.defineProperty(exports, "__esModule", ({
5849 value: true
5850 }));
5851 exports["default"] = void 0;
5852 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5853 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5854 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5855 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5856 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5857 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5858 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5859 var _excluded = ["isLoading"];
5860 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5861 var EnhanceButton = function EnhanceButton(_ref) {
5862 var isLoading = _ref.isLoading,
5863 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5864 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5865 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5866 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5867 component: "span",
5868 sx: {
5869 cursor: props.disabled ? 'default' : 'pointer'
5870 }
5871 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5872 size: "small",
5873 color: "secondary"
5874 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5875 color: "secondary",
5876 size: 20
5877 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5878 fontSize: "small"
5879 }))));
5880 };
5881 EnhanceButton.propTypes = {
5882 disabled: _propTypes.default.bool,
5883 isLoading: _propTypes.default.bool
5884 };
5885 var _default = EnhanceButton;
5886 exports["default"] = _default;
5887
5888 /***/ }),
5889
5890 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5891 /*!*************************************************************************************!*\
5892 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5893 \*************************************************************************************/
5894 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5895
5896 "use strict";
5897
5898
5899 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5900 Object.defineProperty(exports, "__esModule", ({
5901 value: true
5902 }));
5903 exports["default"] = void 0;
5904 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5905 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5906 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5907 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5908 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5909 var GenerateSubmit = function GenerateSubmit(props) {
5910 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5911 fullWidth: true,
5912 size: "medium",
5913 type: "submit",
5914 variant: "contained"
5915 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5916 };
5917 GenerateSubmit.propTypes = {
5918 children: _propTypes.default.node
5919 };
5920 var _default = GenerateSubmit;
5921 exports["default"] = _default;
5922
5923 /***/ }),
5924
5925 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5926 /*!*****************************************************************!*\
5927 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5928 \*****************************************************************/
5929 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5930
5931 "use strict";
5932
5933
5934 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5935 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5936 Object.defineProperty(exports, "__esModule", ({
5937 value: true
5938 }));
5939 exports["default"] = void 0;
5940 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5941 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5942 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5943 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5944 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5945 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5946 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5947 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5948 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5949 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); }
5950 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; }
5951 var GetStarted = function GetStarted(_ref) {
5952 var onSuccess = _ref.onSuccess;
5953 var _useState = (0, _react.useState)(false),
5954 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5955 isTermsChecked = _useState2[0],
5956 setIsTermsChecked = _useState2[1];
5957 var onGetStartedClick = /*#__PURE__*/function () {
5958 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5959 return _regenerator.default.wrap(function _callee$(_context) {
5960 while (1) switch (_context.prev = _context.next) {
5961 case 0:
5962 _context.next = 2;
5963 return (0, _api.setGetStarted)();
5964 case 2:
5965 onSuccess();
5966 case 3:
5967 case "end":
5968 return _context.stop();
5969 }
5970 }, _callee);
5971 }));
5972 return function onGetStartedClick() {
5973 return _ref2.apply(this, arguments);
5974 };
5975 }();
5976 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5977 alignItems: "center",
5978 gap: 1.5
5979 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5980 sx: {
5981 color: 'text.primary',
5982 fontSize: '60px',
5983 mb: 1
5984 }
5985 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5986 variant: "h4",
5987 sx: {
5988 color: 'text.primary'
5989 }
5990 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5991 variant: "body2"
5992 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5993 direction: "row",
5994 gap: 1.5,
5995 alignItems: "flex-start"
5996 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5997 id: "e-ai-terms-approval",
5998 color: "secondary",
5999 checked: isTermsChecked,
6000 onClick: function onClick() {
6001 return setIsTermsChecked(function (prevState) {
6002 return !prevState;
6003 });
6004 }
6005 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6006 variant: "caption",
6007 sx: {
6008 maxWidth: 520
6009 },
6010 component: "label",
6011 htmlFor: "e-ai-terms-approval"
6012 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
6013 href: "https://go.elementor.com/ai-terms/",
6014 target: "_blank",
6015 color: "info.main"
6016 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
6017 href: "https://go.elementor.com/ai-privacy-policy/",
6018 target: "_blank",
6019 color: "info.main"
6020 }, (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, {
6021 disabled: !isTermsChecked,
6022 variant: "contained",
6023 onClick: onGetStartedClick,
6024 sx: {
6025 mt: 1,
6026 '&:hover': {
6027 color: 'primary.contrastText'
6028 }
6029 }
6030 }, (0, _i18n.__)('Get Started', 'elementor')));
6031 };
6032 GetStarted.propTypes = {
6033 onSuccess: _propTypes.default.func.isRequired
6034 };
6035 var _default = GetStarted;
6036 exports["default"] = _default;
6037
6038 /***/ }),
6039
6040 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
6041 /*!**********************************************************!*\
6042 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
6043 \**********************************************************/
6044 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6045
6046 "use strict";
6047
6048
6049 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6050 Object.defineProperty(exports, "__esModule", ({
6051 value: true
6052 }));
6053 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
6054 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6055 var AttachmentPropType = _propTypes.default.shape({
6056 type: _propTypes.default.string,
6057 previewHTML: _propTypes.default.string,
6058 content: _propTypes.default.string,
6059 label: _propTypes.default.string,
6060 source: _propTypes.default.string
6061 });
6062 exports.AttachmentPropType = AttachmentPropType;
6063 var AttachmentsTypesPropType = _propTypes.default.shape({
6064 type: _propTypes.default.shape({
6065 promptPlaceholder: _propTypes.default.string,
6066 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
6067 text: _propTypes.default.string.isRequired
6068 })),
6069 previewGenerator: _propTypes.default.func
6070 })
6071 });
6072 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
6073
6074 /***/ }),
6075
6076 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
6077 /*!******************************************************************!*\
6078 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
6079 \******************************************************************/
6080 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6081
6082 "use strict";
6083
6084
6085 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6086 Object.defineProperty(exports, "__esModule", ({
6087 value: true
6088 }));
6089 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
6090 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6091 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6092 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6093 var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js"));
6094 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
6095 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
6096 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
6097 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6098 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6099 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
6100 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6101 var closePanel = function closePanel() {
6102 $e.run('panel/close');
6103 $e.components.get('panel').blockUserInteractions();
6104 };
6105 exports.closePanel = closePanel;
6106 var openPanel = function openPanel() {
6107 $e.run('panel/open');
6108 $e.components.get('panel').unblockUserInteractions();
6109 };
6110 exports.openPanel = openPanel;
6111 var onConnect = function onConnect(data) {
6112 elementorCommon.config.library_connect.is_connected = true;
6113 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
6114 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
6115 };
6116 exports.onConnect = onConnect;
6117 var getUiConfig = function getUiConfig() {
6118 var _elementor, _elementor$getPrefere;
6119 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';
6120 var isRTL = elementorCommon.config.isRTL;
6121 return {
6122 colorScheme: colorScheme,
6123 isRTL: isRTL
6124 };
6125 };
6126 exports.getUiConfig = getUiConfig;
6127 var VARIATIONS_PROMPTS = [{
6128 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
6129 }, {
6130 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
6131 }, {
6132 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
6133 }, {
6134 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
6135 }, {
6136 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
6137 }, {
6138 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
6139 }, {
6140 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
6141 }, {
6142 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
6143 }, {
6144 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
6145 }];
6146 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
6147 var renderLayoutApp = function renderLayoutApp() {
6148 var _options$onRenderApp;
6149 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6150 parentContainer: null,
6151 mode: '',
6152 at: null,
6153 onClose: null,
6154 onGenerate: null,
6155 onInsert: null,
6156 onRenderApp: null,
6157 onSelect: null,
6158 attachments: []
6159 };
6160 closePanel();
6161 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
6162 // Create the container at the "drag widget here" area position.
6163 at: options.at
6164 });
6165 var _getUiConfig = getUiConfig(),
6166 colorScheme = _getUiConfig.colorScheme,
6167 isRTL = _getUiConfig.isRTL;
6168 var rootElement = document.createElement('div');
6169 document.body.append(rootElement);
6170 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
6171 var _ReactUtils$render = _react2.default.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
6172 isRTL: isRTL,
6173 colorScheme: colorScheme
6174 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
6175 mode: options.mode,
6176 currentContext: {
6177 body: {
6178 backgroundColor: bodyStyle.backgroundColor,
6179 backgroundImage: bodyStyle.backgroundImage
6180 }
6181 },
6182 attachmentsTypes: {
6183 json: {
6184 promptSuggestions: VARIATIONS_PROMPTS,
6185 promptPlaceholder: PROMPT_PLACEHOLDER,
6186 previewGenerator: function () {
6187 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
6188 var screenshot;
6189 return _regenerator.default.wrap(function _callee$(_context) {
6190 while (1) switch (_context.prev = _context.next) {
6191 case 0:
6192 _context.next = 2;
6193 return (0, _screenshot.takeScreenshot)(json);
6194 case 2:
6195 screenshot = _context.sent;
6196 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
6197 case 4:
6198 case "end":
6199 return _context.stop();
6200 }
6201 }, _callee);
6202 }));
6203 function previewGenerator(_x) {
6204 return _previewGenerator.apply(this, arguments);
6205 }
6206 return previewGenerator;
6207 }()
6208 },
6209 url: {
6210 promptPlaceholder: PROMPT_PLACEHOLDER,
6211 promptSuggestions: VARIATIONS_PROMPTS
6212 }
6213 },
6214 attachments: options.attachments || [],
6215 onClose: function onClose() {
6216 var _options$onClose;
6217 previewContainer.destroy();
6218 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
6219 unmount();
6220 rootElement.remove();
6221 openPanel();
6222 },
6223 onConnect: onConnect,
6224 onGenerate: function onGenerate() {
6225 var _options$onGenerate;
6226 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6227 previewContainer: previewContainer
6228 });
6229 },
6230 onData: /*#__PURE__*/function () {
6231 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6232 var screenshot;
6233 return _regenerator.default.wrap(function _callee2$(_context2) {
6234 while (1) switch (_context2.prev = _context2.next) {
6235 case 0:
6236 _context2.next = 2;
6237 return (0, _screenshot.takeScreenshot)(template);
6238 case 2:
6239 screenshot = _context2.sent;
6240 return _context2.abrupt("return", {
6241 screenshot: screenshot,
6242 template: template
6243 });
6244 case 4:
6245 case "end":
6246 return _context2.stop();
6247 }
6248 }, _callee2);
6249 }));
6250 return function (_x2) {
6251 return _ref.apply(this, arguments);
6252 };
6253 }(),
6254 onSelect: function onSelect(template) {
6255 var _options$onSelect;
6256 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6257 previewContainer.setContent(template);
6258 },
6259 onInsert: options.onInsert,
6260 hasPro: elementor.helpers.hasPro()
6261 })), rootElement),
6262 unmount = _ReactUtils$render.unmount;
6263 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6264 previewContainer: previewContainer
6265 });
6266 };
6267 exports.renderLayoutApp = renderLayoutApp;
6268 var importToEditor = function importToEditor(_ref2) {
6269 var parentContainer = _ref2.parentContainer,
6270 at = _ref2.at,
6271 template = _ref2.template,
6272 historyTitle = _ref2.historyTitle,
6273 _ref2$replace = _ref2.replace,
6274 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6275 var endHistoryLog = (0, _history.startHistoryLog)({
6276 type: 'import',
6277 title: historyTitle
6278 });
6279 if (replace) {
6280 $e.run('document/elements/delete', {
6281 container: parentContainer.children.at(at)
6282 });
6283 }
6284 $e.run('document/elements/create', {
6285 container: parentContainer,
6286 model: (0, _requestsIds.generateIds)(template),
6287 options: {
6288 at: at,
6289 edit: true
6290 }
6291 });
6292 endHistoryLog();
6293 };
6294 exports.importToEditor = importToEditor;
6295
6296 /***/ }),
6297
6298 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6299 /*!*******************************************************!*\
6300 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6301 \*******************************************************/
6302 /***/ ((__unused_webpack_module, exports) => {
6303
6304 "use strict";
6305
6306
6307 Object.defineProperty(exports, "__esModule", ({
6308 value: true
6309 }));
6310 exports.startHistoryLog = startHistoryLog;
6311 exports.toggleHistory = toggleHistory;
6312 function toggleHistory(isActive) {
6313 elementor.documents.getCurrent().history.setActive(isActive);
6314 }
6315
6316 /**
6317 * @param {Object} options
6318 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6319 * @param { string } options.title
6320 *
6321 * @return {*}
6322 */
6323 function startHistoryLog(_ref) {
6324 var type = _ref.type,
6325 title = _ref.title;
6326 var id = $e.internal('document/history/start-log', {
6327 type: type,
6328 title: title
6329 });
6330 return function () {
6331 return $e.internal('document/history/end-log', {
6332 id: id
6333 });
6334 };
6335 }
6336
6337 /***/ }),
6338
6339 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6340 /*!*****************************************************************!*\
6341 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6342 \*****************************************************************/
6343 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6344
6345 "use strict";
6346
6347
6348 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6349 Object.defineProperty(exports, "__esModule", ({
6350 value: true
6351 }));
6352 exports.createPreviewContainer = createPreviewContainer;
6353 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6354 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6355 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6356 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; }
6357 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; }
6358 /**
6359 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6360 */
6361
6362 var PREFIX = 'e-ai-preview-container';
6363 var CLASS_HIDDEN = PREFIX + '--hidden';
6364 var CLASS_IDLE = PREFIX + '--idle';
6365
6366 /**
6367 * @param {Container} parentContainer
6368 * @param {{}} containerOptions
6369 * @return {{init, setContent, reset, destroy}}
6370 */
6371
6372 function createPreviewContainer(parentContainer) {
6373 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6374 var createdContainers = new Map();
6375 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6376 function init() {
6377 showContainer(idleContainer);
6378 }
6379 function getAllContainers() {
6380 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6381 }
6382 function reset() {
6383 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6384 createdContainers.clear();
6385 showContainer(idleContainer);
6386 }
6387 function setContent(template) {
6388 if (!template) {
6389 return;
6390 }
6391 hideContainers(getAllContainers());
6392 if (!createdContainers.has(template)) {
6393 var newContainer = createContainer(parentContainer, template, containerOptions);
6394 createdContainers.set(template, newContainer);
6395 }
6396 showContainer(createdContainers.get(template));
6397 }
6398 function destroy() {
6399 deleteContainers(getAllContainers());
6400 createdContainers.clear();
6401 }
6402 return {
6403 init: init,
6404 reset: reset,
6405 setContent: setContent,
6406 destroy: destroy
6407 };
6408 }
6409
6410 /**
6411 * @param {Container} parentContainer
6412 * @param {{}} model
6413 * @param {{}} options
6414 * @return {*}
6415 */
6416 function createContainer(parentContainer, model) {
6417 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6418 (0, _history.toggleHistory)(false);
6419 var container = $e.run('document/elements/create', {
6420 container: parentContainer,
6421 model: _objectSpread(_objectSpread({}, model), {}, {
6422 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6423 }),
6424 options: _objectSpread(_objectSpread({}, options), {}, {
6425 edit: false
6426 })
6427 });
6428 (0, _history.toggleHistory)(true);
6429 container.view.$el.addClass(CLASS_HIDDEN);
6430 return container;
6431 }
6432
6433 /**
6434 * @param {Container} parentContainer
6435 * @param {{}} containerOptions
6436 * @return {*}
6437 */
6438 function createIdleContainer(parentContainer) {
6439 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6440 // Create an empty container that'll be used of UI purposes.
6441 var container = createContainer(parentContainer, {
6442 elType: 'container'
6443 }, containerOptions);
6444 container.view.$el.addClass(CLASS_IDLE);
6445 return container;
6446 }
6447 function hideContainers(containers) {
6448 containers.forEach(function (container) {
6449 container.view.$el.addClass(CLASS_HIDDEN);
6450 });
6451 }
6452 function showContainer(container) {
6453 container.view.$el.removeClass(CLASS_HIDDEN);
6454
6455 // Delay the scroll to avoid UI jumps when toggling between containers.
6456 setTimeout(function () {
6457 container.view.$el[0].scrollIntoView({
6458 behavior: 'smooth',
6459 block: 'start'
6460 });
6461 });
6462 }
6463 function deleteContainers(containers) {
6464 (0, _history.toggleHistory)(false);
6465 $e.run('document/elements/delete', {
6466 containers: containers
6467 });
6468 (0, _history.toggleHistory)(true);
6469 }
6470
6471 /***/ }),
6472
6473 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6474 /*!**********************************************************!*\
6475 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6476 \**********************************************************/
6477 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6478
6479 "use strict";
6480
6481
6482 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6483 Object.defineProperty(exports, "__esModule", ({
6484 value: true
6485 }));
6486 exports.takeScreenshot = void 0;
6487 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6488 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6489 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6490 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6491 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6492 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6493 var takeScreenshot = /*#__PURE__*/function () {
6494 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6495 var hiddenWrapper, container, screenshot;
6496 return _regenerator.default.wrap(function _callee$(_context) {
6497 while (1) switch (_context.prev = _context.next) {
6498 case 0:
6499 if (template) {
6500 _context.next = 2;
6501 break;
6502 }
6503 return _context.abrupt("return", '');
6504 case 2:
6505 // Disable history so the Editor won't show our hidden container as a user action.
6506 (0, _history.toggleHistory)(false);
6507 hiddenWrapper = createHiddenWrapper();
6508 container = createContainer(template);
6509 wrapContainer(container, hiddenWrapper);
6510 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6511
6512 // Wait for the container to render.
6513 _context.next = 9;
6514 return waitForContainer(container.id);
6515 case 9:
6516 if (!template.elements.length) {
6517 _context.next = 12;
6518 break;
6519 }
6520 _context.next = 12;
6521 return Promise.all(template.elements.map(function (child) {
6522 return waitForContainer(child.id);
6523 }));
6524 case 12:
6525 _context.prev = 12;
6526 _context.next = 15;
6527 return screenshotNode(container.view.$el[0]);
6528 case 15:
6529 screenshot = _context.sent;
6530 _context.next = 21;
6531 break;
6532 case 18:
6533 _context.prev = 18;
6534 _context.t0 = _context["catch"](12);
6535 // Return an empty image url if the screenshot failed.
6536 screenshot = '';
6537 case 21:
6538 deleteContainer(container);
6539 hiddenWrapper.remove();
6540 (0, _history.toggleHistory)(true);
6541 return _context.abrupt("return", screenshot);
6542 case 25:
6543 case "end":
6544 return _context.stop();
6545 }
6546 }, _callee, null, [[12, 18]]);
6547 }));
6548 return function takeScreenshot(_x) {
6549 return _ref.apply(this, arguments);
6550 };
6551 }();
6552 exports.takeScreenshot = takeScreenshot;
6553 function screenshotNode(node) {
6554 return toWebp(node, {
6555 quality: 0.01,
6556 // Transparent 1x1 pixel.
6557 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6558 });
6559 }
6560 function toWebp(_x2) {
6561 return _toWebp.apply(this, arguments);
6562 }
6563 function _toWebp() {
6564 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6565 var _options$quality;
6566 var options,
6567 canvas,
6568 _args3 = arguments;
6569 return _regenerator.default.wrap(function _callee3$(_context3) {
6570 while (1) switch (_context3.prev = _context3.next) {
6571 case 0:
6572 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6573 _context3.next = 3;
6574 return (0, _htmlToImage.toCanvas)(node, options);
6575 case 3:
6576 canvas = _context3.sent;
6577 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6578 case 5:
6579 case "end":
6580 return _context3.stop();
6581 }
6582 }, _callee3);
6583 }));
6584 return _toWebp.apply(this, arguments);
6585 }
6586 function createHiddenWrapper() {
6587 var wrapper = document.createElement('div');
6588 wrapper.style.position = 'fixed';
6589 wrapper.style.opacity = '0';
6590 wrapper.style.inset = '0';
6591 return wrapper;
6592 }
6593 function createContainer(template) {
6594 var model = (0, _requestsIds.generateIds)(template);
6595
6596 // Set a custom ID, so it can be used later on in the backend.
6597 model.id = "e-ai-screenshot-container-".concat(model.id);
6598 return $e.run('document/elements/create', {
6599 container: elementor.getPreviewContainer(),
6600 model: model,
6601 options: {
6602 edit: false
6603 }
6604 });
6605 }
6606 function deleteContainer(container) {
6607 return $e.run('document/elements/delete', {
6608 container: container
6609 });
6610 }
6611 function waitForContainer(id) {
6612 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6613 var timeoutPromise = sleep(timeout);
6614 var waitPromise = new Promise(function (resolve) {
6615 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6616 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6617 var images;
6618 return _regenerator.default.wrap(function _callee2$(_context2) {
6619 while (1) switch (_context2.prev = _context2.next) {
6620 case 0:
6621 if (!($element.data('id') === id)) {
6622 _context2.next = 5;
6623 break;
6624 }
6625 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6626 _context2.next = 4;
6627 return Promise.all(images.map(waitForImage));
6628 case 4:
6629 resolve();
6630 case 5:
6631 case "end":
6632 return _context2.stop();
6633 }
6634 }, _callee2);
6635 }));
6636 return function (_x3) {
6637 return _ref2.apply(this, arguments);
6638 };
6639 }());
6640 });
6641 return Promise.any([timeoutPromise, waitPromise]);
6642 }
6643 function waitForImage(image) {
6644 if (image.complete) {
6645 return Promise.resolve();
6646 }
6647 return new Promise(function (resolve) {
6648 image.addEventListener('load', resolve);
6649 image.addEventListener('error', function () {
6650 // Remove the image to make sure it won't break the screenshot.
6651 image.remove();
6652 resolve();
6653 });
6654 });
6655 }
6656 function sleep(ms) {
6657 return new Promise(function (resolve) {
6658 return setTimeout(resolve, ms);
6659 });
6660 }
6661 function wrapContainer(container, wrapper) {
6662 var el = container.view.$el[0];
6663 el.parentNode.insertBefore(wrapper, el);
6664 wrapper.appendChild(el);
6665 }
6666
6667 /***/ }),
6668
6669 /***/ "../node_modules/clsx/dist/clsx.m.js":
6670 /*!*******************************************!*\
6671 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6672 \*******************************************/
6673 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6674
6675 "use strict";
6676 __webpack_require__.r(__webpack_exports__);
6677 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6678 /* harmony export */ clsx: () => (/* binding */ clsx),
6679 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6680 /* harmony export */ });
6681 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);
6682
6683 /***/ }),
6684
6685 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6686 /*!***********************************************************************************!*\
6687 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6688 \***********************************************************************************/
6689 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6690
6691 "use strict";
6692
6693
6694 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6695
6696 /**
6697 * Copyright 2015, Yahoo! Inc.
6698 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6699 */
6700 var REACT_STATICS = {
6701 childContextTypes: true,
6702 contextType: true,
6703 contextTypes: true,
6704 defaultProps: true,
6705 displayName: true,
6706 getDefaultProps: true,
6707 getDerivedStateFromError: true,
6708 getDerivedStateFromProps: true,
6709 mixins: true,
6710 propTypes: true,
6711 type: true
6712 };
6713 var KNOWN_STATICS = {
6714 name: true,
6715 length: true,
6716 prototype: true,
6717 caller: true,
6718 callee: true,
6719 arguments: true,
6720 arity: true
6721 };
6722 var FORWARD_REF_STATICS = {
6723 '$$typeof': true,
6724 render: true,
6725 defaultProps: true,
6726 displayName: true,
6727 propTypes: true
6728 };
6729 var MEMO_STATICS = {
6730 '$$typeof': true,
6731 compare: true,
6732 defaultProps: true,
6733 displayName: true,
6734 propTypes: true,
6735 type: true
6736 };
6737 var TYPE_STATICS = {};
6738 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6739 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6740
6741 function getStatics(component) {
6742 // React v16.11 and below
6743 if (reactIs.isMemo(component)) {
6744 return MEMO_STATICS;
6745 } // React v16.12 and above
6746
6747
6748 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6749 }
6750
6751 var defineProperty = Object.defineProperty;
6752 var getOwnPropertyNames = Object.getOwnPropertyNames;
6753 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6754 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6755 var getPrototypeOf = Object.getPrototypeOf;
6756 var objectPrototype = Object.prototype;
6757 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6758 if (typeof sourceComponent !== 'string') {
6759 // don't hoist over string (html) components
6760 if (objectPrototype) {
6761 var inheritedComponent = getPrototypeOf(sourceComponent);
6762
6763 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6764 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6765 }
6766 }
6767
6768 var keys = getOwnPropertyNames(sourceComponent);
6769
6770 if (getOwnPropertySymbols) {
6771 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6772 }
6773
6774 var targetStatics = getStatics(targetComponent);
6775 var sourceStatics = getStatics(sourceComponent);
6776
6777 for (var i = 0; i < keys.length; ++i) {
6778 var key = keys[i];
6779
6780 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6781 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6782
6783 try {
6784 // Avoid failures from read-only properties
6785 defineProperty(targetComponent, key, descriptor);
6786 } catch (e) {}
6787 }
6788 }
6789 }
6790
6791 return targetComponent;
6792 }
6793
6794 module.exports = hoistNonReactStatics;
6795
6796
6797 /***/ }),
6798
6799 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6800 /*!*************************************************************************************************!*\
6801 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6802 \*************************************************************************************************/
6803 /***/ ((__unused_webpack_module, exports) => {
6804
6805 "use strict";
6806 /** @license React v16.13.1
6807 * react-is.development.js
6808 *
6809 * Copyright (c) Facebook, Inc. and its affiliates.
6810 *
6811 * This source code is licensed under the MIT license found in the
6812 * LICENSE file in the root directory of this source tree.
6813 */
6814
6815
6816
6817
6818
6819 if (true) {
6820 (function() {
6821 'use strict';
6822
6823 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6824 // nor polyfill, then a plain number is used for performance.
6825 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6826 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6827 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6828 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6829 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6830 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6831 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6832 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6833 // (unstable) APIs that have been removed. Can we remove the symbols?
6834
6835 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6836 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6837 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6838 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6839 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6840 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6841 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6842 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6843 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6844 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6845 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6846
6847 function isValidElementType(type) {
6848 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6849 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);
6850 }
6851
6852 function typeOf(object) {
6853 if (typeof object === 'object' && object !== null) {
6854 var $$typeof = object.$$typeof;
6855
6856 switch ($$typeof) {
6857 case REACT_ELEMENT_TYPE:
6858 var type = object.type;
6859
6860 switch (type) {
6861 case REACT_ASYNC_MODE_TYPE:
6862 case REACT_CONCURRENT_MODE_TYPE:
6863 case REACT_FRAGMENT_TYPE:
6864 case REACT_PROFILER_TYPE:
6865 case REACT_STRICT_MODE_TYPE:
6866 case REACT_SUSPENSE_TYPE:
6867 return type;
6868
6869 default:
6870 var $$typeofType = type && type.$$typeof;
6871
6872 switch ($$typeofType) {
6873 case REACT_CONTEXT_TYPE:
6874 case REACT_FORWARD_REF_TYPE:
6875 case REACT_LAZY_TYPE:
6876 case REACT_MEMO_TYPE:
6877 case REACT_PROVIDER_TYPE:
6878 return $$typeofType;
6879
6880 default:
6881 return $$typeof;
6882 }
6883
6884 }
6885
6886 case REACT_PORTAL_TYPE:
6887 return $$typeof;
6888 }
6889 }
6890
6891 return undefined;
6892 } // AsyncMode is deprecated along with isAsyncMode
6893
6894 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6895 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6896 var ContextConsumer = REACT_CONTEXT_TYPE;
6897 var ContextProvider = REACT_PROVIDER_TYPE;
6898 var Element = REACT_ELEMENT_TYPE;
6899 var ForwardRef = REACT_FORWARD_REF_TYPE;
6900 var Fragment = REACT_FRAGMENT_TYPE;
6901 var Lazy = REACT_LAZY_TYPE;
6902 var Memo = REACT_MEMO_TYPE;
6903 var Portal = REACT_PORTAL_TYPE;
6904 var Profiler = REACT_PROFILER_TYPE;
6905 var StrictMode = REACT_STRICT_MODE_TYPE;
6906 var Suspense = REACT_SUSPENSE_TYPE;
6907 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6908
6909 function isAsyncMode(object) {
6910 {
6911 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6912 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6913
6914 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.');
6915 }
6916 }
6917
6918 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6919 }
6920 function isConcurrentMode(object) {
6921 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6922 }
6923 function isContextConsumer(object) {
6924 return typeOf(object) === REACT_CONTEXT_TYPE;
6925 }
6926 function isContextProvider(object) {
6927 return typeOf(object) === REACT_PROVIDER_TYPE;
6928 }
6929 function isElement(object) {
6930 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6931 }
6932 function isForwardRef(object) {
6933 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6934 }
6935 function isFragment(object) {
6936 return typeOf(object) === REACT_FRAGMENT_TYPE;
6937 }
6938 function isLazy(object) {
6939 return typeOf(object) === REACT_LAZY_TYPE;
6940 }
6941 function isMemo(object) {
6942 return typeOf(object) === REACT_MEMO_TYPE;
6943 }
6944 function isPortal(object) {
6945 return typeOf(object) === REACT_PORTAL_TYPE;
6946 }
6947 function isProfiler(object) {
6948 return typeOf(object) === REACT_PROFILER_TYPE;
6949 }
6950 function isStrictMode(object) {
6951 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6952 }
6953 function isSuspense(object) {
6954 return typeOf(object) === REACT_SUSPENSE_TYPE;
6955 }
6956
6957 exports.AsyncMode = AsyncMode;
6958 exports.ConcurrentMode = ConcurrentMode;
6959 exports.ContextConsumer = ContextConsumer;
6960 exports.ContextProvider = ContextProvider;
6961 exports.Element = Element;
6962 exports.ForwardRef = ForwardRef;
6963 exports.Fragment = Fragment;
6964 exports.Lazy = Lazy;
6965 exports.Memo = Memo;
6966 exports.Portal = Portal;
6967 exports.Profiler = Profiler;
6968 exports.StrictMode = StrictMode;
6969 exports.Suspense = Suspense;
6970 exports.isAsyncMode = isAsyncMode;
6971 exports.isConcurrentMode = isConcurrentMode;
6972 exports.isContextConsumer = isContextConsumer;
6973 exports.isContextProvider = isContextProvider;
6974 exports.isElement = isElement;
6975 exports.isForwardRef = isForwardRef;
6976 exports.isFragment = isFragment;
6977 exports.isLazy = isLazy;
6978 exports.isMemo = isMemo;
6979 exports.isPortal = isPortal;
6980 exports.isProfiler = isProfiler;
6981 exports.isStrictMode = isStrictMode;
6982 exports.isSuspense = isSuspense;
6983 exports.isValidElementType = isValidElementType;
6984 exports.typeOf = typeOf;
6985 })();
6986 }
6987
6988
6989 /***/ }),
6990
6991 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
6992 /*!******************************************************************************!*\
6993 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
6994 \******************************************************************************/
6995 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6996
6997 "use strict";
6998
6999
7000 if (false) {} else {
7001 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
7002 }
7003
7004
7005 /***/ }),
7006
7007 /***/ "../node_modules/html-to-image/es/apply-style.js":
7008 /*!*******************************************************!*\
7009 !*** ../node_modules/html-to-image/es/apply-style.js ***!
7010 \*******************************************************/
7011 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7012
7013 "use strict";
7014 __webpack_require__.r(__webpack_exports__);
7015 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7016 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
7017 /* harmony export */ });
7018 function applyStyle(node, options) {
7019 const { style } = node;
7020 if (options.backgroundColor) {
7021 style.backgroundColor = options.backgroundColor;
7022 }
7023 if (options.width) {
7024 style.width = `${options.width}px`;
7025 }
7026 if (options.height) {
7027 style.height = `${options.height}px`;
7028 }
7029 const manual = options.style;
7030 if (manual != null) {
7031 Object.keys(manual).forEach((key) => {
7032 style[key] = manual[key];
7033 });
7034 }
7035 return node;
7036 }
7037 //# sourceMappingURL=apply-style.js.map
7038
7039 /***/ }),
7040
7041 /***/ "../node_modules/html-to-image/es/clone-node.js":
7042 /*!******************************************************!*\
7043 !*** ../node_modules/html-to-image/es/clone-node.js ***!
7044 \******************************************************/
7045 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7046
7047 "use strict";
7048 __webpack_require__.r(__webpack_exports__);
7049 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7050 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
7051 /* harmony export */ });
7052 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
7053 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7054 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7055 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7056
7057
7058
7059
7060 async function cloneCanvasElement(canvas) {
7061 const dataURL = canvas.toDataURL();
7062 if (dataURL === 'data:,') {
7063 return canvas.cloneNode(false);
7064 }
7065 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7066 }
7067 async function cloneVideoElement(video, options) {
7068 if (video.currentSrc) {
7069 const canvas = document.createElement('canvas');
7070 const ctx = canvas.getContext('2d');
7071 canvas.width = video.clientWidth;
7072 canvas.height = video.clientHeight;
7073 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
7074 const dataURL = canvas.toDataURL();
7075 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7076 }
7077 const poster = video.poster;
7078 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
7079 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
7080 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7081 }
7082 async function cloneIFrameElement(iframe) {
7083 var _a;
7084 try {
7085 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
7086 return (await cloneNode(iframe.contentDocument.body, {}, true));
7087 }
7088 }
7089 catch (_b) {
7090 // Failed to clone iframe
7091 }
7092 return iframe.cloneNode(false);
7093 }
7094 async function cloneSingleNode(node, options) {
7095 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
7096 return cloneCanvasElement(node);
7097 }
7098 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
7099 return cloneVideoElement(node, options);
7100 }
7101 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
7102 return cloneIFrameElement(node);
7103 }
7104 return node.cloneNode(false);
7105 }
7106 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
7107 async function cloneChildren(nativeNode, clonedNode, options) {
7108 var _a, _b;
7109 let children = [];
7110 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
7111 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
7112 }
7113 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7114 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
7115 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
7116 }
7117 else {
7118 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
7119 }
7120 if (children.length === 0 ||
7121 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
7122 return clonedNode;
7123 }
7124 await children.reduce((deferred, child) => deferred
7125 .then(() => cloneNode(child, options))
7126 .then((clonedChild) => {
7127 if (clonedChild) {
7128 clonedNode.appendChild(clonedChild);
7129 }
7130 }), Promise.resolve());
7131 return clonedNode;
7132 }
7133 function cloneCSSStyle(nativeNode, clonedNode) {
7134 const targetStyle = clonedNode.style;
7135 if (!targetStyle) {
7136 return;
7137 }
7138 const sourceStyle = window.getComputedStyle(nativeNode);
7139 if (sourceStyle.cssText) {
7140 targetStyle.cssText = sourceStyle.cssText;
7141 targetStyle.transformOrigin = sourceStyle.transformOrigin;
7142 }
7143 else {
7144 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
7145 let value = sourceStyle.getPropertyValue(name);
7146 if (name === 'font-size' && value.endsWith('px')) {
7147 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
7148 value = `${reducedFont}px`;
7149 }
7150 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7151 name === 'display' &&
7152 value === 'inline') {
7153 value = 'block';
7154 }
7155 if (name === 'd' && clonedNode.getAttribute('d')) {
7156 value = `path(${clonedNode.getAttribute('d')})`;
7157 }
7158 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
7159 });
7160 }
7161 }
7162 function cloneInputValue(nativeNode, clonedNode) {
7163 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
7164 clonedNode.innerHTML = nativeNode.value;
7165 }
7166 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
7167 clonedNode.setAttribute('value', nativeNode.value);
7168 }
7169 }
7170 function cloneSelectValue(nativeNode, clonedNode) {
7171 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
7172 const clonedSelect = clonedNode;
7173 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
7174 if (selectedOption) {
7175 selectedOption.setAttribute('selected', '');
7176 }
7177 }
7178 }
7179 function decorate(nativeNode, clonedNode) {
7180 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7181 cloneCSSStyle(nativeNode, clonedNode);
7182 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
7183 cloneInputValue(nativeNode, clonedNode);
7184 cloneSelectValue(nativeNode, clonedNode);
7185 }
7186 return clonedNode;
7187 }
7188 async function ensureSVGSymbols(clone, options) {
7189 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
7190 if (uses.length === 0) {
7191 return clone;
7192 }
7193 const processedDefs = {};
7194 for (let i = 0; i < uses.length; i++) {
7195 const use = uses[i];
7196 const id = use.getAttribute('xlink:href');
7197 if (id) {
7198 const exist = clone.querySelector(id);
7199 const definition = document.querySelector(id);
7200 if (!exist && definition && !processedDefs[id]) {
7201 // eslint-disable-next-line no-await-in-loop
7202 processedDefs[id] = (await cloneNode(definition, options, true));
7203 }
7204 }
7205 }
7206 const nodes = Object.values(processedDefs);
7207 if (nodes.length) {
7208 const ns = 'http://www.w3.org/1999/xhtml';
7209 const svg = document.createElementNS(ns, 'svg');
7210 svg.setAttribute('xmlns', ns);
7211 svg.style.position = 'absolute';
7212 svg.style.width = '0';
7213 svg.style.height = '0';
7214 svg.style.overflow = 'hidden';
7215 svg.style.display = 'none';
7216 const defs = document.createElementNS(ns, 'defs');
7217 svg.appendChild(defs);
7218 for (let i = 0; i < nodes.length; i++) {
7219 defs.appendChild(nodes[i]);
7220 }
7221 clone.appendChild(svg);
7222 }
7223 return clone;
7224 }
7225 async function cloneNode(node, options, isRoot) {
7226 if (!isRoot && options.filter && !options.filter(node)) {
7227 return null;
7228 }
7229 return Promise.resolve(node)
7230 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7231 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7232 .then((clonedNode) => decorate(node, clonedNode))
7233 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7234 }
7235 //# sourceMappingURL=clone-node.js.map
7236
7237 /***/ }),
7238
7239 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7240 /*!*********************************************************!*\
7241 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7242 \*********************************************************/
7243 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7244
7245 "use strict";
7246 __webpack_require__.r(__webpack_exports__);
7247 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7248 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7249 /* harmony export */ });
7250 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7251
7252 function formatCSSText(style) {
7253 const content = style.getPropertyValue('content');
7254 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7255 }
7256 function formatCSSProperties(style) {
7257 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7258 .map((name) => {
7259 const value = style.getPropertyValue(name);
7260 const priority = style.getPropertyPriority(name);
7261 return `${name}: ${value}${priority ? ' !important' : ''};`;
7262 })
7263 .join(' ');
7264 }
7265 function getPseudoElementStyle(className, pseudo, style) {
7266 const selector = `.${className}:${pseudo}`;
7267 const cssText = style.cssText
7268 ? formatCSSText(style)
7269 : formatCSSProperties(style);
7270 return document.createTextNode(`${selector}{${cssText}}`);
7271 }
7272 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7273 const style = window.getComputedStyle(nativeNode, pseudo);
7274 const content = style.getPropertyValue('content');
7275 if (content === '' || content === 'none') {
7276 return;
7277 }
7278 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7279 try {
7280 clonedNode.className = `${clonedNode.className} ${className}`;
7281 }
7282 catch (err) {
7283 return;
7284 }
7285 const styleElement = document.createElement('style');
7286 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7287 clonedNode.appendChild(styleElement);
7288 }
7289 function clonePseudoElements(nativeNode, clonedNode) {
7290 clonePseudoElement(nativeNode, clonedNode, ':before');
7291 clonePseudoElement(nativeNode, clonedNode, ':after');
7292 }
7293 //# sourceMappingURL=clone-pseudos.js.map
7294
7295 /***/ }),
7296
7297 /***/ "../node_modules/html-to-image/es/dataurl.js":
7298 /*!***************************************************!*\
7299 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7300 \***************************************************/
7301 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7302
7303 "use strict";
7304 __webpack_require__.r(__webpack_exports__);
7305 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7306 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7307 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7308 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7309 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7310 /* harmony export */ });
7311 function getContentFromDataUrl(dataURL) {
7312 return dataURL.split(/,/)[1];
7313 }
7314 function isDataUrl(url) {
7315 return url.search(/^(data:)/) !== -1;
7316 }
7317 function makeDataUrl(content, mimeType) {
7318 return `data:${mimeType};base64,${content}`;
7319 }
7320 async function fetchAsDataURL(url, init, process) {
7321 const res = await fetch(url, init);
7322 if (res.status === 404) {
7323 throw new Error(`Resource "${res.url}" not found`);
7324 }
7325 const blob = await res.blob();
7326 return new Promise((resolve, reject) => {
7327 const reader = new FileReader();
7328 reader.onerror = reject;
7329 reader.onloadend = () => {
7330 try {
7331 resolve(process({ res, result: reader.result }));
7332 }
7333 catch (error) {
7334 reject(error);
7335 }
7336 };
7337 reader.readAsDataURL(blob);
7338 });
7339 }
7340 const cache = {};
7341 function getCacheKey(url, contentType, includeQueryParams) {
7342 let key = url.replace(/\?.*/, '');
7343 if (includeQueryParams) {
7344 key = url;
7345 }
7346 // font resource
7347 if (/ttf|otf|eot|woff2?/i.test(key)) {
7348 key = key.replace(/.*\//, '');
7349 }
7350 return contentType ? `[${contentType}]${key}` : key;
7351 }
7352 async function resourceToDataURL(resourceUrl, contentType, options) {
7353 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7354 if (cache[cacheKey] != null) {
7355 return cache[cacheKey];
7356 }
7357 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7358 if (options.cacheBust) {
7359 // eslint-disable-next-line no-param-reassign
7360 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7361 }
7362 let dataURL;
7363 try {
7364 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7365 if (!contentType) {
7366 // eslint-disable-next-line no-param-reassign
7367 contentType = res.headers.get('Content-Type') || '';
7368 }
7369 return getContentFromDataUrl(result);
7370 });
7371 dataURL = makeDataUrl(content, contentType);
7372 }
7373 catch (error) {
7374 dataURL = options.imagePlaceholder || '';
7375 let msg = `Failed to fetch resource: ${resourceUrl}`;
7376 if (error) {
7377 msg = typeof error === 'string' ? error : error.message;
7378 }
7379 if (msg) {
7380 console.warn(msg);
7381 }
7382 }
7383 cache[cacheKey] = dataURL;
7384 return dataURL;
7385 }
7386 //# sourceMappingURL=dataurl.js.map
7387
7388 /***/ }),
7389
7390 /***/ "../node_modules/html-to-image/es/embed-images.js":
7391 /*!********************************************************!*\
7392 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7393 \********************************************************/
7394 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7395
7396 "use strict";
7397 __webpack_require__.r(__webpack_exports__);
7398 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7399 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7400 /* harmony export */ });
7401 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7402 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7403 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7404 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7405
7406
7407
7408
7409 async function embedProp(propName, node, options) {
7410 var _a;
7411 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7412 if (propValue) {
7413 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7414 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7415 return true;
7416 }
7417 return false;
7418 }
7419 async function embedBackground(clonedNode, options) {
7420 if (!(await embedProp('background', clonedNode, options))) {
7421 await embedProp('background-image', clonedNode, options);
7422 }
7423 if (!(await embedProp('mask', clonedNode, options))) {
7424 await embedProp('mask-image', clonedNode, options);
7425 }
7426 }
7427 async function embedImageNode(clonedNode, options) {
7428 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7429 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7430 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7431 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7432 return;
7433 }
7434 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7435 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7436 await new Promise((resolve, reject) => {
7437 clonedNode.onload = resolve;
7438 clonedNode.onerror = reject;
7439 const image = clonedNode;
7440 if (image.decode) {
7441 image.decode = resolve;
7442 }
7443 if (image.loading === 'lazy') {
7444 image.loading = 'eager';
7445 }
7446 if (isImageElement) {
7447 clonedNode.srcset = '';
7448 clonedNode.src = dataURL;
7449 }
7450 else {
7451 clonedNode.href.baseVal = dataURL;
7452 }
7453 });
7454 }
7455 async function embedChildren(clonedNode, options) {
7456 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7457 const deferreds = children.map((child) => embedImages(child, options));
7458 await Promise.all(deferreds).then(() => clonedNode);
7459 }
7460 async function embedImages(clonedNode, options) {
7461 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7462 await embedBackground(clonedNode, options);
7463 await embedImageNode(clonedNode, options);
7464 await embedChildren(clonedNode, options);
7465 }
7466 }
7467 //# sourceMappingURL=embed-images.js.map
7468
7469 /***/ }),
7470
7471 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7472 /*!***********************************************************!*\
7473 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7474 \***********************************************************/
7475 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7476
7477 "use strict";
7478 __webpack_require__.r(__webpack_exports__);
7479 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7480 /* harmony export */ embed: () => (/* binding */ embed),
7481 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7482 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7483 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7484 /* harmony export */ });
7485 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7486 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7487 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7488
7489
7490
7491 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7492 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7493 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7494 function toRegex(url) {
7495 // eslint-disable-next-line no-useless-escape
7496 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7497 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7498 }
7499 function parseURLs(cssText) {
7500 const urls = [];
7501 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7502 urls.push(url);
7503 return raw;
7504 });
7505 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7506 }
7507 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7508 try {
7509 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7510 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7511 let dataURL;
7512 if (getContentFromUrl) {
7513 const content = await getContentFromUrl(resolvedURL);
7514 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7515 }
7516 else {
7517 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7518 }
7519 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7520 }
7521 catch (error) {
7522 // pass
7523 }
7524 return cssText;
7525 }
7526 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7527 return !preferredFontFormat
7528 ? str
7529 : str.replace(FONT_SRC_REGEX, (match) => {
7530 // eslint-disable-next-line no-constant-condition
7531 while (true) {
7532 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7533 if (!format) {
7534 return '';
7535 }
7536 if (format === preferredFontFormat) {
7537 return `src: ${src};`;
7538 }
7539 }
7540 });
7541 }
7542 function shouldEmbed(url) {
7543 return url.search(URL_REGEX) !== -1;
7544 }
7545 async function embedResources(cssText, baseUrl, options) {
7546 if (!shouldEmbed(cssText)) {
7547 return cssText;
7548 }
7549 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7550 const urls = parseURLs(filteredCSSText);
7551 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7552 }
7553 //# sourceMappingURL=embed-resources.js.map
7554
7555 /***/ }),
7556
7557 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7558 /*!**********************************************************!*\
7559 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7560 \**********************************************************/
7561 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7562
7563 "use strict";
7564 __webpack_require__.r(__webpack_exports__);
7565 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7566 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7567 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7568 /* harmony export */ });
7569 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7570 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7571 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7572
7573
7574
7575 const cssFetchCache = {};
7576 async function fetchCSS(url) {
7577 let cache = cssFetchCache[url];
7578 if (cache != null) {
7579 return cache;
7580 }
7581 const res = await fetch(url);
7582 const cssText = await res.text();
7583 cache = { url, cssText };
7584 cssFetchCache[url] = cache;
7585 return cache;
7586 }
7587 async function embedFonts(data, options) {
7588 let cssText = data.cssText;
7589 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7590 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7591 const loadFonts = fontLocs.map(async (loc) => {
7592 let url = loc.replace(regexUrl, '$1');
7593 if (!url.startsWith('https://')) {
7594 url = new URL(url, data.url).href;
7595 }
7596 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7597 cssText = cssText.replace(loc, `url(${result})`);
7598 return [loc, result];
7599 });
7600 });
7601 return Promise.all(loadFonts).then(() => cssText);
7602 }
7603 function parseCSS(source) {
7604 if (source == null) {
7605 return [];
7606 }
7607 const result = [];
7608 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7609 // strip out comments
7610 let cssText = source.replace(commentsRegex, '');
7611 // eslint-disable-next-line prefer-regex-literals
7612 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7613 // eslint-disable-next-line no-constant-condition
7614 while (true) {
7615 const matches = keyframesRegex.exec(cssText);
7616 if (matches === null) {
7617 break;
7618 }
7619 result.push(matches[0]);
7620 }
7621 cssText = cssText.replace(keyframesRegex, '');
7622 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7623 // to match css & media queries together
7624 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7625 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7626 // unified regex
7627 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7628 // eslint-disable-next-line no-constant-condition
7629 while (true) {
7630 let matches = importRegex.exec(cssText);
7631 if (matches === null) {
7632 matches = unifiedRegex.exec(cssText);
7633 if (matches === null) {
7634 break;
7635 }
7636 else {
7637 importRegex.lastIndex = unifiedRegex.lastIndex;
7638 }
7639 }
7640 else {
7641 unifiedRegex.lastIndex = importRegex.lastIndex;
7642 }
7643 result.push(matches[0]);
7644 }
7645 return result;
7646 }
7647 async function getCSSRules(styleSheets, options) {
7648 const ret = [];
7649 const deferreds = [];
7650 // First loop inlines imports
7651 styleSheets.forEach((sheet) => {
7652 if ('cssRules' in sheet) {
7653 try {
7654 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7655 if (item.type === CSSRule.IMPORT_RULE) {
7656 let importIndex = index + 1;
7657 const url = item.href;
7658 const deferred = fetchCSS(url)
7659 .then((metadata) => embedFonts(metadata, options))
7660 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7661 try {
7662 sheet.insertRule(rule, rule.startsWith('@import')
7663 ? (importIndex += 1)
7664 : sheet.cssRules.length);
7665 }
7666 catch (error) {
7667 console.error('Error inserting rule from remote css', {
7668 rule,
7669 error,
7670 });
7671 }
7672 }))
7673 .catch((e) => {
7674 console.error('Error loading remote css', e.toString());
7675 });
7676 deferreds.push(deferred);
7677 }
7678 });
7679 }
7680 catch (e) {
7681 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7682 if (sheet.href != null) {
7683 deferreds.push(fetchCSS(sheet.href)
7684 .then((metadata) => embedFonts(metadata, options))
7685 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7686 inline.insertRule(rule, sheet.cssRules.length);
7687 }))
7688 .catch((err) => {
7689 console.error('Error loading remote stylesheet', err);
7690 }));
7691 }
7692 console.error('Error inlining remote css file', e);
7693 }
7694 }
7695 });
7696 return Promise.all(deferreds).then(() => {
7697 // Second loop parses rules
7698 styleSheets.forEach((sheet) => {
7699 if ('cssRules' in sheet) {
7700 try {
7701 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7702 ret.push(item);
7703 });
7704 }
7705 catch (e) {
7706 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7707 }
7708 }
7709 });
7710 return ret;
7711 });
7712 }
7713 function getWebFontRules(cssRules) {
7714 return cssRules
7715 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7716 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7717 }
7718 async function parseWebFontRules(node, options) {
7719 if (node.ownerDocument == null) {
7720 throw new Error('Provided element is not within a Document');
7721 }
7722 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7723 const cssRules = await getCSSRules(styleSheets, options);
7724 return getWebFontRules(cssRules);
7725 }
7726 async function getWebFontCSS(node, options) {
7727 const rules = await parseWebFontRules(node, options);
7728 const cssTexts = await Promise.all(rules.map((rule) => {
7729 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7730 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7731 }));
7732 return cssTexts.join('\n');
7733 }
7734 async function embedWebFonts(clonedNode, options) {
7735 const cssText = options.fontEmbedCSS != null
7736 ? options.fontEmbedCSS
7737 : options.skipFonts
7738 ? null
7739 : await getWebFontCSS(clonedNode, options);
7740 if (cssText) {
7741 const styleNode = document.createElement('style');
7742 const sytleContent = document.createTextNode(cssText);
7743 styleNode.appendChild(sytleContent);
7744 if (clonedNode.firstChild) {
7745 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7746 }
7747 else {
7748 clonedNode.appendChild(styleNode);
7749 }
7750 }
7751 }
7752 //# sourceMappingURL=embed-webfonts.js.map
7753
7754 /***/ }),
7755
7756 /***/ "../node_modules/html-to-image/es/index.js":
7757 /*!*************************************************!*\
7758 !*** ../node_modules/html-to-image/es/index.js ***!
7759 \*************************************************/
7760 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7761
7762 "use strict";
7763 __webpack_require__.r(__webpack_exports__);
7764 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7765 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7766 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7767 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7768 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7769 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7770 /* harmony export */ toPng: () => (/* binding */ toPng),
7771 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7772 /* harmony export */ });
7773 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7774 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7775 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7776 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7777 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7778
7779
7780
7781
7782
7783 async function toSvg(node, options = {}) {
7784 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7785 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7786 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7787 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7788 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7789 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7790 return datauri;
7791 }
7792 async function toCanvas(node, options = {}) {
7793 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7794 const svg = await toSvg(node, options);
7795 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7796 const canvas = document.createElement('canvas');
7797 const context = canvas.getContext('2d');
7798 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7799 const canvasWidth = options.canvasWidth || width;
7800 const canvasHeight = options.canvasHeight || height;
7801 canvas.width = canvasWidth * ratio;
7802 canvas.height = canvasHeight * ratio;
7803 if (!options.skipAutoScale) {
7804 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7805 }
7806 canvas.style.width = `${canvasWidth}`;
7807 canvas.style.height = `${canvasHeight}`;
7808 if (options.backgroundColor) {
7809 context.fillStyle = options.backgroundColor;
7810 context.fillRect(0, 0, canvas.width, canvas.height);
7811 }
7812 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7813 return canvas;
7814 }
7815 async function toPixelData(node, options = {}) {
7816 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7817 const canvas = await toCanvas(node, options);
7818 const ctx = canvas.getContext('2d');
7819 return ctx.getImageData(0, 0, width, height).data;
7820 }
7821 async function toPng(node, options = {}) {
7822 const canvas = await toCanvas(node, options);
7823 return canvas.toDataURL();
7824 }
7825 async function toJpeg(node, options = {}) {
7826 const canvas = await toCanvas(node, options);
7827 return canvas.toDataURL('image/jpeg', options.quality || 1);
7828 }
7829 async function toBlob(node, options = {}) {
7830 const canvas = await toCanvas(node, options);
7831 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7832 return blob;
7833 }
7834 async function getFontEmbedCSS(node, options = {}) {
7835 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7836 }
7837 //# sourceMappingURL=index.js.map
7838
7839 /***/ }),
7840
7841 /***/ "../node_modules/html-to-image/es/mimes.js":
7842 /*!*************************************************!*\
7843 !*** ../node_modules/html-to-image/es/mimes.js ***!
7844 \*************************************************/
7845 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7846
7847 "use strict";
7848 __webpack_require__.r(__webpack_exports__);
7849 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7850 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7851 /* harmony export */ });
7852 const WOFF = 'application/font-woff';
7853 const JPEG = 'image/jpeg';
7854 const mimes = {
7855 woff: WOFF,
7856 woff2: WOFF,
7857 ttf: 'application/font-truetype',
7858 eot: 'application/vnd.ms-fontobject',
7859 png: 'image/png',
7860 jpg: JPEG,
7861 jpeg: JPEG,
7862 gif: 'image/gif',
7863 tiff: 'image/tiff',
7864 svg: 'image/svg+xml',
7865 webp: 'image/webp',
7866 };
7867 function getExtension(url) {
7868 const match = /\.([^./]*?)$/g.exec(url);
7869 return match ? match[1] : '';
7870 }
7871 function getMimeType(url) {
7872 const extension = getExtension(url).toLowerCase();
7873 return mimes[extension] || '';
7874 }
7875 //# sourceMappingURL=mimes.js.map
7876
7877 /***/ }),
7878
7879 /***/ "../node_modules/html-to-image/es/util.js":
7880 /*!************************************************!*\
7881 !*** ../node_modules/html-to-image/es/util.js ***!
7882 \************************************************/
7883 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7884
7885 "use strict";
7886 __webpack_require__.r(__webpack_exports__);
7887 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7888 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7889 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7890 /* harmony export */ createImage: () => (/* binding */ createImage),
7891 /* harmony export */ delay: () => (/* binding */ delay),
7892 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7893 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7894 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7895 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7896 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7897 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7898 /* harmony export */ toArray: () => (/* binding */ toArray),
7899 /* harmony export */ uuid: () => (/* binding */ uuid)
7900 /* harmony export */ });
7901 function resolveUrl(url, baseUrl) {
7902 // url is absolute already
7903 if (url.match(/^[a-z]+:\/\//i)) {
7904 return url;
7905 }
7906 // url is absolute already, without protocol
7907 if (url.match(/^\/\//)) {
7908 return window.location.protocol + url;
7909 }
7910 // dataURI, mailto:, tel:, etc.
7911 if (url.match(/^[a-z]+:/i)) {
7912 return url;
7913 }
7914 const doc = document.implementation.createHTMLDocument();
7915 const base = doc.createElement('base');
7916 const a = doc.createElement('a');
7917 doc.head.appendChild(base);
7918 doc.body.appendChild(a);
7919 if (baseUrl) {
7920 base.href = baseUrl;
7921 }
7922 a.href = url;
7923 return a.href;
7924 }
7925 const uuid = (() => {
7926 // generate uuid for className of pseudo elements.
7927 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7928 let counter = 0;
7929 // ref: http://stackoverflow.com/a/6248722/2519373
7930 const random = () =>
7931 // eslint-disable-next-line no-bitwise
7932 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7933 return () => {
7934 counter += 1;
7935 return `u${random()}${counter}`;
7936 };
7937 })();
7938 function delay(ms) {
7939 return (args) => new Promise((resolve) => {
7940 setTimeout(() => resolve(args), ms);
7941 });
7942 }
7943 function toArray(arrayLike) {
7944 const arr = [];
7945 for (let i = 0, l = arrayLike.length; i < l; i++) {
7946 arr.push(arrayLike[i]);
7947 }
7948 return arr;
7949 }
7950 function px(node, styleProperty) {
7951 const win = node.ownerDocument.defaultView || window;
7952 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7953 return val ? parseFloat(val.replace('px', '')) : 0;
7954 }
7955 function getNodeWidth(node) {
7956 const leftBorder = px(node, 'border-left-width');
7957 const rightBorder = px(node, 'border-right-width');
7958 return node.clientWidth + leftBorder + rightBorder;
7959 }
7960 function getNodeHeight(node) {
7961 const topBorder = px(node, 'border-top-width');
7962 const bottomBorder = px(node, 'border-bottom-width');
7963 return node.clientHeight + topBorder + bottomBorder;
7964 }
7965 function getImageSize(targetNode, options = {}) {
7966 const width = options.width || getNodeWidth(targetNode);
7967 const height = options.height || getNodeHeight(targetNode);
7968 return { width, height };
7969 }
7970 function getPixelRatio() {
7971 let ratio;
7972 let FINAL_PROCESS;
7973 try {
7974 FINAL_PROCESS = process;
7975 }
7976 catch (e) {
7977 // pass
7978 }
7979 const val = FINAL_PROCESS && FINAL_PROCESS.env
7980 ? FINAL_PROCESS.env.devicePixelRatio
7981 : null;
7982 if (val) {
7983 ratio = parseInt(val, 10);
7984 if (Number.isNaN(ratio)) {
7985 ratio = 1;
7986 }
7987 }
7988 return ratio || window.devicePixelRatio || 1;
7989 }
7990 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
7991 const canvasDimensionLimit = 16384;
7992 function checkCanvasDimensions(canvas) {
7993 if (canvas.width > canvasDimensionLimit ||
7994 canvas.height > canvasDimensionLimit) {
7995 if (canvas.width > canvasDimensionLimit &&
7996 canvas.height > canvasDimensionLimit) {
7997 if (canvas.width > canvas.height) {
7998 canvas.height *= canvasDimensionLimit / canvas.width;
7999 canvas.width = canvasDimensionLimit;
8000 }
8001 else {
8002 canvas.width *= canvasDimensionLimit / canvas.height;
8003 canvas.height = canvasDimensionLimit;
8004 }
8005 }
8006 else if (canvas.width > canvasDimensionLimit) {
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 }
8016 function canvasToBlob(canvas, options = {}) {
8017 if (canvas.toBlob) {
8018 return new Promise((resolve) => {
8019 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
8020 });
8021 }
8022 return new Promise((resolve) => {
8023 const binaryString = window.atob(canvas
8024 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
8025 .split(',')[1]);
8026 const len = binaryString.length;
8027 const binaryArray = new Uint8Array(len);
8028 for (let i = 0; i < len; i += 1) {
8029 binaryArray[i] = binaryString.charCodeAt(i);
8030 }
8031 resolve(new Blob([binaryArray], {
8032 type: options.type ? options.type : 'image/png',
8033 }));
8034 });
8035 }
8036 function createImage(url) {
8037 return new Promise((resolve, reject) => {
8038 const img = new Image();
8039 img.decode = () => resolve(img);
8040 img.onload = () => resolve(img);
8041 img.onerror = reject;
8042 img.crossOrigin = 'anonymous';
8043 img.decoding = 'async';
8044 img.src = url;
8045 });
8046 }
8047 async function svgToDataURL(svg) {
8048 return Promise.resolve()
8049 .then(() => new XMLSerializer().serializeToString(svg))
8050 .then(encodeURIComponent)
8051 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
8052 }
8053 async function nodeToDataURL(node, width, height) {
8054 const xmlns = 'http://www.w3.org/2000/svg';
8055 const svg = document.createElementNS(xmlns, 'svg');
8056 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
8057 svg.setAttribute('width', `${width}`);
8058 svg.setAttribute('height', `${height}`);
8059 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
8060 foreignObject.setAttribute('width', '100%');
8061 foreignObject.setAttribute('height', '100%');
8062 foreignObject.setAttribute('x', '0');
8063 foreignObject.setAttribute('y', '0');
8064 foreignObject.setAttribute('externalResourcesRequired', 'true');
8065 svg.appendChild(foreignObject);
8066 foreignObject.appendChild(node);
8067 return svgToDataURL(svg);
8068 }
8069 const isInstanceOfElement = (node, instance) => {
8070 if (node instanceof instance)
8071 return true;
8072 const nodePrototype = Object.getPrototypeOf(node);
8073 if (nodePrototype === null)
8074 return false;
8075 return (nodePrototype.constructor.name === instance.name ||
8076 isInstanceOfElement(nodePrototype, instance));
8077 };
8078 //# sourceMappingURL=util.js.map
8079
8080 /***/ }),
8081
8082 /***/ "../node_modules/object-assign/index.js":
8083 /*!**********************************************!*\
8084 !*** ../node_modules/object-assign/index.js ***!
8085 \**********************************************/
8086 /***/ ((module) => {
8087
8088 "use strict";
8089 /*
8090 object-assign
8091 (c) Sindre Sorhus
8092 @license MIT
8093 */
8094
8095
8096 /* eslint-disable no-unused-vars */
8097 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
8098 var hasOwnProperty = Object.prototype.hasOwnProperty;
8099 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8100
8101 function toObject(val) {
8102 if (val === null || val === undefined) {
8103 throw new TypeError('Object.assign cannot be called with null or undefined');
8104 }
8105
8106 return Object(val);
8107 }
8108
8109 function shouldUseNative() {
8110 try {
8111 if (!Object.assign) {
8112 return false;
8113 }
8114
8115 // Detect buggy property enumeration order in older V8 versions.
8116
8117 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
8118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
8119 test1[5] = 'de';
8120 if (Object.getOwnPropertyNames(test1)[0] === '5') {
8121 return false;
8122 }
8123
8124 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8125 var test2 = {};
8126 for (var i = 0; i < 10; i++) {
8127 test2['_' + String.fromCharCode(i)] = i;
8128 }
8129 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
8130 return test2[n];
8131 });
8132 if (order2.join('') !== '0123456789') {
8133 return false;
8134 }
8135
8136 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8137 var test3 = {};
8138 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
8139 test3[letter] = letter;
8140 });
8141 if (Object.keys(Object.assign({}, test3)).join('') !==
8142 'abcdefghijklmnopqrst') {
8143 return false;
8144 }
8145
8146 return true;
8147 } catch (err) {
8148 // We don't expect any of the above to throw, but better to be safe.
8149 return false;
8150 }
8151 }
8152
8153 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
8154 var from;
8155 var to = toObject(target);
8156 var symbols;
8157
8158 for (var s = 1; s < arguments.length; s++) {
8159 from = Object(arguments[s]);
8160
8161 for (var key in from) {
8162 if (hasOwnProperty.call(from, key)) {
8163 to[key] = from[key];
8164 }
8165 }
8166
8167 if (getOwnPropertySymbols) {
8168 symbols = getOwnPropertySymbols(from);
8169 for (var i = 0; i < symbols.length; i++) {
8170 if (propIsEnumerable.call(from, symbols[i])) {
8171 to[symbols[i]] = from[symbols[i]];
8172 }
8173 }
8174 }
8175 }
8176
8177 return to;
8178 };
8179
8180
8181 /***/ }),
8182
8183 /***/ "../node_modules/prop-types/checkPropTypes.js":
8184 /*!****************************************************!*\
8185 !*** ../node_modules/prop-types/checkPropTypes.js ***!
8186 \****************************************************/
8187 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8188
8189 "use strict";
8190 /**
8191 * Copyright (c) 2013-present, Facebook, Inc.
8192 *
8193 * This source code is licensed under the MIT license found in the
8194 * LICENSE file in the root directory of this source tree.
8195 */
8196
8197
8198
8199 var printWarning = function() {};
8200
8201 if (true) {
8202 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8203 var loggedTypeFailures = {};
8204 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8205
8206 printWarning = function(text) {
8207 var message = 'Warning: ' + text;
8208 if (typeof console !== 'undefined') {
8209 console.error(message);
8210 }
8211 try {
8212 // --- Welcome to debugging React ---
8213 // This error was thrown as a convenience so that you can use this stack
8214 // to find the callsite that caused this warning to fire.
8215 throw new Error(message);
8216 } catch (x) { /**/ }
8217 };
8218 }
8219
8220 /**
8221 * Assert that the values match with the type specs.
8222 * Error messages are memorized and will only be shown once.
8223 *
8224 * @param {object} typeSpecs Map of name to a ReactPropType
8225 * @param {object} values Runtime values that need to be type-checked
8226 * @param {string} location e.g. "prop", "context", "child context"
8227 * @param {string} componentName Name of the component for error messages.
8228 * @param {?Function} getStack Returns the component stack.
8229 * @private
8230 */
8231 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8232 if (true) {
8233 for (var typeSpecName in typeSpecs) {
8234 if (has(typeSpecs, typeSpecName)) {
8235 var error;
8236 // Prop type validation may throw. In case they do, we don't want to
8237 // fail the render phase where it didn't fail before. So we log it.
8238 // After these have been cleaned up, we'll let them throw.
8239 try {
8240 // This is intentionally an invariant that gets caught. It's the same
8241 // behavior as without this statement except with a better message.
8242 if (typeof typeSpecs[typeSpecName] !== 'function') {
8243 var err = Error(
8244 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8245 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8246 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8247 );
8248 err.name = 'Invariant Violation';
8249 throw err;
8250 }
8251 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8252 } catch (ex) {
8253 error = ex;
8254 }
8255 if (error && !(error instanceof Error)) {
8256 printWarning(
8257 (componentName || 'React class') + ': type specification of ' +
8258 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8259 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8260 'You may have forgotten to pass an argument to the type checker ' +
8261 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8262 'shape all require an argument).'
8263 );
8264 }
8265 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8266 // Only monitor this failure once because there tends to be a lot of the
8267 // same error.
8268 loggedTypeFailures[error.message] = true;
8269
8270 var stack = getStack ? getStack() : '';
8271
8272 printWarning(
8273 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8274 );
8275 }
8276 }
8277 }
8278 }
8279 }
8280
8281 /**
8282 * Resets warning cache when testing.
8283 *
8284 * @private
8285 */
8286 checkPropTypes.resetWarningCache = function() {
8287 if (true) {
8288 loggedTypeFailures = {};
8289 }
8290 }
8291
8292 module.exports = checkPropTypes;
8293
8294
8295 /***/ }),
8296
8297 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8298 /*!*************************************************************!*\
8299 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8300 \*************************************************************/
8301 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8302
8303 "use strict";
8304 /**
8305 * Copyright (c) 2013-present, Facebook, Inc.
8306 *
8307 * This source code is licensed under the MIT license found in the
8308 * LICENSE file in the root directory of this source tree.
8309 */
8310
8311
8312
8313 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8314 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8315
8316 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8317 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8318 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8319
8320 var printWarning = function() {};
8321
8322 if (true) {
8323 printWarning = function(text) {
8324 var message = 'Warning: ' + text;
8325 if (typeof console !== 'undefined') {
8326 console.error(message);
8327 }
8328 try {
8329 // --- Welcome to debugging React ---
8330 // This error was thrown as a convenience so that you can use this stack
8331 // to find the callsite that caused this warning to fire.
8332 throw new Error(message);
8333 } catch (x) {}
8334 };
8335 }
8336
8337 function emptyFunctionThatReturnsNull() {
8338 return null;
8339 }
8340
8341 module.exports = function(isValidElement, throwOnDirectAccess) {
8342 /* global Symbol */
8343 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8344 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8345
8346 /**
8347 * Returns the iterator method function contained on the iterable object.
8348 *
8349 * Be sure to invoke the function with the iterable as context:
8350 *
8351 * var iteratorFn = getIteratorFn(myIterable);
8352 * if (iteratorFn) {
8353 * var iterator = iteratorFn.call(myIterable);
8354 * ...
8355 * }
8356 *
8357 * @param {?object} maybeIterable
8358 * @return {?function}
8359 */
8360 function getIteratorFn(maybeIterable) {
8361 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8362 if (typeof iteratorFn === 'function') {
8363 return iteratorFn;
8364 }
8365 }
8366
8367 /**
8368 * Collection of methods that allow declaration and validation of props that are
8369 * supplied to React components. Example usage:
8370 *
8371 * var Props = require('ReactPropTypes');
8372 * var MyArticle = React.createClass({
8373 * propTypes: {
8374 * // An optional string prop named "description".
8375 * description: Props.string,
8376 *
8377 * // A required enum prop named "category".
8378 * category: Props.oneOf(['News','Photos']).isRequired,
8379 *
8380 * // A prop named "dialog" that requires an instance of Dialog.
8381 * dialog: Props.instanceOf(Dialog).isRequired
8382 * },
8383 * render: function() { ... }
8384 * });
8385 *
8386 * A more formal specification of how these methods are used:
8387 *
8388 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8389 * decl := ReactPropTypes.{type}(.isRequired)?
8390 *
8391 * Each and every declaration produces a function with the same signature. This
8392 * allows the creation of custom validation functions. For example:
8393 *
8394 * var MyLink = React.createClass({
8395 * propTypes: {
8396 * // An optional string or URI prop named "href".
8397 * href: function(props, propName, componentName) {
8398 * var propValue = props[propName];
8399 * if (propValue != null && typeof propValue !== 'string' &&
8400 * !(propValue instanceof URI)) {
8401 * return new Error(
8402 * 'Expected a string or an URI for ' + propName + ' in ' +
8403 * componentName
8404 * );
8405 * }
8406 * }
8407 * },
8408 * render: function() {...}
8409 * });
8410 *
8411 * @internal
8412 */
8413
8414 var ANONYMOUS = '<<anonymous>>';
8415
8416 // Important!
8417 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8418 var ReactPropTypes = {
8419 array: createPrimitiveTypeChecker('array'),
8420 bigint: createPrimitiveTypeChecker('bigint'),
8421 bool: createPrimitiveTypeChecker('boolean'),
8422 func: createPrimitiveTypeChecker('function'),
8423 number: createPrimitiveTypeChecker('number'),
8424 object: createPrimitiveTypeChecker('object'),
8425 string: createPrimitiveTypeChecker('string'),
8426 symbol: createPrimitiveTypeChecker('symbol'),
8427
8428 any: createAnyTypeChecker(),
8429 arrayOf: createArrayOfTypeChecker,
8430 element: createElementTypeChecker(),
8431 elementType: createElementTypeTypeChecker(),
8432 instanceOf: createInstanceTypeChecker,
8433 node: createNodeChecker(),
8434 objectOf: createObjectOfTypeChecker,
8435 oneOf: createEnumTypeChecker,
8436 oneOfType: createUnionTypeChecker,
8437 shape: createShapeTypeChecker,
8438 exact: createStrictShapeTypeChecker,
8439 };
8440
8441 /**
8442 * inlined Object.is polyfill to avoid requiring consumers ship their own
8443 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8444 */
8445 /*eslint-disable no-self-compare*/
8446 function is(x, y) {
8447 // SameValue algorithm
8448 if (x === y) {
8449 // Steps 1-5, 7-10
8450 // Steps 6.b-6.e: +0 != -0
8451 return x !== 0 || 1 / x === 1 / y;
8452 } else {
8453 // Step 6.a: NaN == NaN
8454 return x !== x && y !== y;
8455 }
8456 }
8457 /*eslint-enable no-self-compare*/
8458
8459 /**
8460 * We use an Error-like object for backward compatibility as people may call
8461 * PropTypes directly and inspect their output. However, we don't use real
8462 * Errors anymore. We don't inspect their stack anyway, and creating them
8463 * is prohibitively expensive if they are created too often, such as what
8464 * happens in oneOfType() for any type before the one that matched.
8465 */
8466 function PropTypeError(message, data) {
8467 this.message = message;
8468 this.data = data && typeof data === 'object' ? data: {};
8469 this.stack = '';
8470 }
8471 // Make `instanceof Error` still work for returned errors.
8472 PropTypeError.prototype = Error.prototype;
8473
8474 function createChainableTypeChecker(validate) {
8475 if (true) {
8476 var manualPropTypeCallCache = {};
8477 var manualPropTypeWarningCount = 0;
8478 }
8479 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8480 componentName = componentName || ANONYMOUS;
8481 propFullName = propFullName || propName;
8482
8483 if (secret !== ReactPropTypesSecret) {
8484 if (throwOnDirectAccess) {
8485 // New behavior only for users of `prop-types` package
8486 var err = new Error(
8487 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8488 'Use `PropTypes.checkPropTypes()` to call them. ' +
8489 'Read more at http://fb.me/use-check-prop-types'
8490 );
8491 err.name = 'Invariant Violation';
8492 throw err;
8493 } else if ( true && typeof console !== 'undefined') {
8494 // Old behavior for people using React.PropTypes
8495 var cacheKey = componentName + ':' + propName;
8496 if (
8497 !manualPropTypeCallCache[cacheKey] &&
8498 // Avoid spamming the console because they are often not actionable except for lib authors
8499 manualPropTypeWarningCount < 3
8500 ) {
8501 printWarning(
8502 'You are manually calling a React.PropTypes validation ' +
8503 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8504 'and will throw in the standalone `prop-types` package. ' +
8505 'You may be seeing this warning due to a third-party PropTypes ' +
8506 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8507 );
8508 manualPropTypeCallCache[cacheKey] = true;
8509 manualPropTypeWarningCount++;
8510 }
8511 }
8512 }
8513 if (props[propName] == null) {
8514 if (isRequired) {
8515 if (props[propName] === null) {
8516 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8517 }
8518 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8519 }
8520 return null;
8521 } else {
8522 return validate(props, propName, componentName, location, propFullName);
8523 }
8524 }
8525
8526 var chainedCheckType = checkType.bind(null, false);
8527 chainedCheckType.isRequired = checkType.bind(null, true);
8528
8529 return chainedCheckType;
8530 }
8531
8532 function createPrimitiveTypeChecker(expectedType) {
8533 function validate(props, propName, componentName, location, propFullName, secret) {
8534 var propValue = props[propName];
8535 var propType = getPropType(propValue);
8536 if (propType !== expectedType) {
8537 // `propValue` being instance of, say, date/regexp, pass the 'object'
8538 // check, but we can offer a more precise error message here rather than
8539 // 'of type `object`'.
8540 var preciseType = getPreciseType(propValue);
8541
8542 return new PropTypeError(
8543 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8544 {expectedType: expectedType}
8545 );
8546 }
8547 return null;
8548 }
8549 return createChainableTypeChecker(validate);
8550 }
8551
8552 function createAnyTypeChecker() {
8553 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8554 }
8555
8556 function createArrayOfTypeChecker(typeChecker) {
8557 function validate(props, propName, componentName, location, propFullName) {
8558 if (typeof typeChecker !== 'function') {
8559 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8560 }
8561 var propValue = props[propName];
8562 if (!Array.isArray(propValue)) {
8563 var propType = getPropType(propValue);
8564 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8565 }
8566 for (var i = 0; i < propValue.length; i++) {
8567 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8568 if (error instanceof Error) {
8569 return error;
8570 }
8571 }
8572 return null;
8573 }
8574 return createChainableTypeChecker(validate);
8575 }
8576
8577 function createElementTypeChecker() {
8578 function validate(props, propName, componentName, location, propFullName) {
8579 var propValue = props[propName];
8580 if (!isValidElement(propValue)) {
8581 var propType = getPropType(propValue);
8582 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8583 }
8584 return null;
8585 }
8586 return createChainableTypeChecker(validate);
8587 }
8588
8589 function createElementTypeTypeChecker() {
8590 function validate(props, propName, componentName, location, propFullName) {
8591 var propValue = props[propName];
8592 if (!ReactIs.isValidElementType(propValue)) {
8593 var propType = getPropType(propValue);
8594 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8595 }
8596 return null;
8597 }
8598 return createChainableTypeChecker(validate);
8599 }
8600
8601 function createInstanceTypeChecker(expectedClass) {
8602 function validate(props, propName, componentName, location, propFullName) {
8603 if (!(props[propName] instanceof expectedClass)) {
8604 var expectedClassName = expectedClass.name || ANONYMOUS;
8605 var actualClassName = getClassName(props[propName]);
8606 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8607 }
8608 return null;
8609 }
8610 return createChainableTypeChecker(validate);
8611 }
8612
8613 function createEnumTypeChecker(expectedValues) {
8614 if (!Array.isArray(expectedValues)) {
8615 if (true) {
8616 if (arguments.length > 1) {
8617 printWarning(
8618 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8619 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8620 );
8621 } else {
8622 printWarning('Invalid argument supplied to oneOf, expected an array.');
8623 }
8624 }
8625 return emptyFunctionThatReturnsNull;
8626 }
8627
8628 function validate(props, propName, componentName, location, propFullName) {
8629 var propValue = props[propName];
8630 for (var i = 0; i < expectedValues.length; i++) {
8631 if (is(propValue, expectedValues[i])) {
8632 return null;
8633 }
8634 }
8635
8636 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8637 var type = getPreciseType(value);
8638 if (type === 'symbol') {
8639 return String(value);
8640 }
8641 return value;
8642 });
8643 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8644 }
8645 return createChainableTypeChecker(validate);
8646 }
8647
8648 function createObjectOfTypeChecker(typeChecker) {
8649 function validate(props, propName, componentName, location, propFullName) {
8650 if (typeof typeChecker !== 'function') {
8651 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8652 }
8653 var propValue = props[propName];
8654 var propType = getPropType(propValue);
8655 if (propType !== 'object') {
8656 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8657 }
8658 for (var key in propValue) {
8659 if (has(propValue, key)) {
8660 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8661 if (error instanceof Error) {
8662 return error;
8663 }
8664 }
8665 }
8666 return null;
8667 }
8668 return createChainableTypeChecker(validate);
8669 }
8670
8671 function createUnionTypeChecker(arrayOfTypeCheckers) {
8672 if (!Array.isArray(arrayOfTypeCheckers)) {
8673 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8674 return emptyFunctionThatReturnsNull;
8675 }
8676
8677 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8678 var checker = arrayOfTypeCheckers[i];
8679 if (typeof checker !== 'function') {
8680 printWarning(
8681 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8682 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8683 );
8684 return emptyFunctionThatReturnsNull;
8685 }
8686 }
8687
8688 function validate(props, propName, componentName, location, propFullName) {
8689 var expectedTypes = [];
8690 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8691 var checker = arrayOfTypeCheckers[i];
8692 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8693 if (checkerResult == null) {
8694 return null;
8695 }
8696 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8697 expectedTypes.push(checkerResult.data.expectedType);
8698 }
8699 }
8700 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8701 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8702 }
8703 return createChainableTypeChecker(validate);
8704 }
8705
8706 function createNodeChecker() {
8707 function validate(props, propName, componentName, location, propFullName) {
8708 if (!isNode(props[propName])) {
8709 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8710 }
8711 return null;
8712 }
8713 return createChainableTypeChecker(validate);
8714 }
8715
8716 function invalidValidatorError(componentName, location, propFullName, key, type) {
8717 return new PropTypeError(
8718 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8719 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8720 );
8721 }
8722
8723 function createShapeTypeChecker(shapeTypes) {
8724 function validate(props, propName, componentName, location, propFullName) {
8725 var propValue = props[propName];
8726 var propType = getPropType(propValue);
8727 if (propType !== 'object') {
8728 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8729 }
8730 for (var key in shapeTypes) {
8731 var checker = shapeTypes[key];
8732 if (typeof checker !== 'function') {
8733 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8734 }
8735 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8736 if (error) {
8737 return error;
8738 }
8739 }
8740 return null;
8741 }
8742 return createChainableTypeChecker(validate);
8743 }
8744
8745 function createStrictShapeTypeChecker(shapeTypes) {
8746 function validate(props, propName, componentName, location, propFullName) {
8747 var propValue = props[propName];
8748 var propType = getPropType(propValue);
8749 if (propType !== 'object') {
8750 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8751 }
8752 // We need to check all keys in case some are required but missing from props.
8753 var allKeys = assign({}, props[propName], shapeTypes);
8754 for (var key in allKeys) {
8755 var checker = shapeTypes[key];
8756 if (has(shapeTypes, key) && typeof checker !== 'function') {
8757 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8758 }
8759 if (!checker) {
8760 return new PropTypeError(
8761 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8762 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8763 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8764 );
8765 }
8766 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8767 if (error) {
8768 return error;
8769 }
8770 }
8771 return null;
8772 }
8773
8774 return createChainableTypeChecker(validate);
8775 }
8776
8777 function isNode(propValue) {
8778 switch (typeof propValue) {
8779 case 'number':
8780 case 'string':
8781 case 'undefined':
8782 return true;
8783 case 'boolean':
8784 return !propValue;
8785 case 'object':
8786 if (Array.isArray(propValue)) {
8787 return propValue.every(isNode);
8788 }
8789 if (propValue === null || isValidElement(propValue)) {
8790 return true;
8791 }
8792
8793 var iteratorFn = getIteratorFn(propValue);
8794 if (iteratorFn) {
8795 var iterator = iteratorFn.call(propValue);
8796 var step;
8797 if (iteratorFn !== propValue.entries) {
8798 while (!(step = iterator.next()).done) {
8799 if (!isNode(step.value)) {
8800 return false;
8801 }
8802 }
8803 } else {
8804 // Iterator will provide entry [k,v] tuples rather than values.
8805 while (!(step = iterator.next()).done) {
8806 var entry = step.value;
8807 if (entry) {
8808 if (!isNode(entry[1])) {
8809 return false;
8810 }
8811 }
8812 }
8813 }
8814 } else {
8815 return false;
8816 }
8817
8818 return true;
8819 default:
8820 return false;
8821 }
8822 }
8823
8824 function isSymbol(propType, propValue) {
8825 // Native Symbol.
8826 if (propType === 'symbol') {
8827 return true;
8828 }
8829
8830 // falsy value can't be a Symbol
8831 if (!propValue) {
8832 return false;
8833 }
8834
8835 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8836 if (propValue['@@toStringTag'] === 'Symbol') {
8837 return true;
8838 }
8839
8840 // Fallback for non-spec compliant Symbols which are polyfilled.
8841 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8842 return true;
8843 }
8844
8845 return false;
8846 }
8847
8848 // Equivalent of `typeof` but with special handling for array and regexp.
8849 function getPropType(propValue) {
8850 var propType = typeof propValue;
8851 if (Array.isArray(propValue)) {
8852 return 'array';
8853 }
8854 if (propValue instanceof RegExp) {
8855 // Old webkits (at least until Android 4.0) return 'function' rather than
8856 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8857 // passes PropTypes.object.
8858 return 'object';
8859 }
8860 if (isSymbol(propType, propValue)) {
8861 return 'symbol';
8862 }
8863 return propType;
8864 }
8865
8866 // This handles more types than `getPropType`. Only used for error messages.
8867 // See `createPrimitiveTypeChecker`.
8868 function getPreciseType(propValue) {
8869 if (typeof propValue === 'undefined' || propValue === null) {
8870 return '' + propValue;
8871 }
8872 var propType = getPropType(propValue);
8873 if (propType === 'object') {
8874 if (propValue instanceof Date) {
8875 return 'date';
8876 } else if (propValue instanceof RegExp) {
8877 return 'regexp';
8878 }
8879 }
8880 return propType;
8881 }
8882
8883 // Returns a string that is postfixed to a warning about an invalid type.
8884 // For example, "undefined" or "of type array"
8885 function getPostfixForTypeWarning(value) {
8886 var type = getPreciseType(value);
8887 switch (type) {
8888 case 'array':
8889 case 'object':
8890 return 'an ' + type;
8891 case 'boolean':
8892 case 'date':
8893 case 'regexp':
8894 return 'a ' + type;
8895 default:
8896 return type;
8897 }
8898 }
8899
8900 // Returns class name of the object, if any.
8901 function getClassName(propValue) {
8902 if (!propValue.constructor || !propValue.constructor.name) {
8903 return ANONYMOUS;
8904 }
8905 return propValue.constructor.name;
8906 }
8907
8908 ReactPropTypes.checkPropTypes = checkPropTypes;
8909 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8910 ReactPropTypes.PropTypes = ReactPropTypes;
8911
8912 return ReactPropTypes;
8913 };
8914
8915
8916 /***/ }),
8917
8918 /***/ "../node_modules/prop-types/index.js":
8919 /*!*******************************************!*\
8920 !*** ../node_modules/prop-types/index.js ***!
8921 \*******************************************/
8922 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8923
8924 /**
8925 * Copyright (c) 2013-present, Facebook, Inc.
8926 *
8927 * This source code is licensed under the MIT license found in the
8928 * LICENSE file in the root directory of this source tree.
8929 */
8930
8931 if (true) {
8932 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8933
8934 // By explicitly using `prop-types` you are opting into new development behavior.
8935 // http://fb.me/prop-types-in-prod
8936 var throwOnDirectAccess = true;
8937 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8938 } else {}
8939
8940
8941 /***/ }),
8942
8943 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8944 /*!**************************************************************!*\
8945 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8946 \**************************************************************/
8947 /***/ ((module) => {
8948
8949 "use strict";
8950 /**
8951 * Copyright (c) 2013-present, Facebook, Inc.
8952 *
8953 * This source code is licensed under the MIT license found in the
8954 * LICENSE file in the root directory of this source tree.
8955 */
8956
8957
8958
8959 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8960
8961 module.exports = ReactPropTypesSecret;
8962
8963
8964 /***/ }),
8965
8966 /***/ "../node_modules/prop-types/lib/has.js":
8967 /*!*********************************************!*\
8968 !*** ../node_modules/prop-types/lib/has.js ***!
8969 \*********************************************/
8970 /***/ ((module) => {
8971
8972 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8973
8974
8975 /***/ }),
8976
8977 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8978 /*!************************************************************************************!*\
8979 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8980 \************************************************************************************/
8981 /***/ ((__unused_webpack_module, exports) => {
8982
8983 "use strict";
8984 /** @license React v16.13.1
8985 * react-is.development.js
8986 *
8987 * Copyright (c) Facebook, Inc. and its affiliates.
8988 *
8989 * This source code is licensed under the MIT license found in the
8990 * LICENSE file in the root directory of this source tree.
8991 */
8992
8993
8994
8995
8996
8997 if (true) {
8998 (function() {
8999 'use strict';
9000
9001 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
9002 // nor polyfill, then a plain number is used for performance.
9003 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
9004 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
9005 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
9006 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
9007 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
9008 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
9009 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
9010 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
9011 // (unstable) APIs that have been removed. Can we remove the symbols?
9012
9013 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
9014 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
9015 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
9016 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
9017 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
9018 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
9019 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
9020 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
9021 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
9022 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
9023 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
9024
9025 function isValidElementType(type) {
9026 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
9027 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);
9028 }
9029
9030 function typeOf(object) {
9031 if (typeof object === 'object' && object !== null) {
9032 var $$typeof = object.$$typeof;
9033
9034 switch ($$typeof) {
9035 case REACT_ELEMENT_TYPE:
9036 var type = object.type;
9037
9038 switch (type) {
9039 case REACT_ASYNC_MODE_TYPE:
9040 case REACT_CONCURRENT_MODE_TYPE:
9041 case REACT_FRAGMENT_TYPE:
9042 case REACT_PROFILER_TYPE:
9043 case REACT_STRICT_MODE_TYPE:
9044 case REACT_SUSPENSE_TYPE:
9045 return type;
9046
9047 default:
9048 var $$typeofType = type && type.$$typeof;
9049
9050 switch ($$typeofType) {
9051 case REACT_CONTEXT_TYPE:
9052 case REACT_FORWARD_REF_TYPE:
9053 case REACT_LAZY_TYPE:
9054 case REACT_MEMO_TYPE:
9055 case REACT_PROVIDER_TYPE:
9056 return $$typeofType;
9057
9058 default:
9059 return $$typeof;
9060 }
9061
9062 }
9063
9064 case REACT_PORTAL_TYPE:
9065 return $$typeof;
9066 }
9067 }
9068
9069 return undefined;
9070 } // AsyncMode is deprecated along with isAsyncMode
9071
9072 var AsyncMode = REACT_ASYNC_MODE_TYPE;
9073 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9074 var ContextConsumer = REACT_CONTEXT_TYPE;
9075 var ContextProvider = REACT_PROVIDER_TYPE;
9076 var Element = REACT_ELEMENT_TYPE;
9077 var ForwardRef = REACT_FORWARD_REF_TYPE;
9078 var Fragment = REACT_FRAGMENT_TYPE;
9079 var Lazy = REACT_LAZY_TYPE;
9080 var Memo = REACT_MEMO_TYPE;
9081 var Portal = REACT_PORTAL_TYPE;
9082 var Profiler = REACT_PROFILER_TYPE;
9083 var StrictMode = REACT_STRICT_MODE_TYPE;
9084 var Suspense = REACT_SUSPENSE_TYPE;
9085 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
9086
9087 function isAsyncMode(object) {
9088 {
9089 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9090 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
9091
9092 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.');
9093 }
9094 }
9095
9096 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9097 }
9098 function isConcurrentMode(object) {
9099 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9100 }
9101 function isContextConsumer(object) {
9102 return typeOf(object) === REACT_CONTEXT_TYPE;
9103 }
9104 function isContextProvider(object) {
9105 return typeOf(object) === REACT_PROVIDER_TYPE;
9106 }
9107 function isElement(object) {
9108 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9109 }
9110 function isForwardRef(object) {
9111 return typeOf(object) === REACT_FORWARD_REF_TYPE;
9112 }
9113 function isFragment(object) {
9114 return typeOf(object) === REACT_FRAGMENT_TYPE;
9115 }
9116 function isLazy(object) {
9117 return typeOf(object) === REACT_LAZY_TYPE;
9118 }
9119 function isMemo(object) {
9120 return typeOf(object) === REACT_MEMO_TYPE;
9121 }
9122 function isPortal(object) {
9123 return typeOf(object) === REACT_PORTAL_TYPE;
9124 }
9125 function isProfiler(object) {
9126 return typeOf(object) === REACT_PROFILER_TYPE;
9127 }
9128 function isStrictMode(object) {
9129 return typeOf(object) === REACT_STRICT_MODE_TYPE;
9130 }
9131 function isSuspense(object) {
9132 return typeOf(object) === REACT_SUSPENSE_TYPE;
9133 }
9134
9135 exports.AsyncMode = AsyncMode;
9136 exports.ConcurrentMode = ConcurrentMode;
9137 exports.ContextConsumer = ContextConsumer;
9138 exports.ContextProvider = ContextProvider;
9139 exports.Element = Element;
9140 exports.ForwardRef = ForwardRef;
9141 exports.Fragment = Fragment;
9142 exports.Lazy = Lazy;
9143 exports.Memo = Memo;
9144 exports.Portal = Portal;
9145 exports.Profiler = Profiler;
9146 exports.StrictMode = StrictMode;
9147 exports.Suspense = Suspense;
9148 exports.isAsyncMode = isAsyncMode;
9149 exports.isConcurrentMode = isConcurrentMode;
9150 exports.isContextConsumer = isContextConsumer;
9151 exports.isContextProvider = isContextProvider;
9152 exports.isElement = isElement;
9153 exports.isForwardRef = isForwardRef;
9154 exports.isFragment = isFragment;
9155 exports.isLazy = isLazy;
9156 exports.isMemo = isMemo;
9157 exports.isPortal = isPortal;
9158 exports.isProfiler = isProfiler;
9159 exports.isStrictMode = isStrictMode;
9160 exports.isSuspense = isSuspense;
9161 exports.isValidElementType = isValidElementType;
9162 exports.typeOf = typeOf;
9163 })();
9164 }
9165
9166
9167 /***/ }),
9168
9169 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
9170 /*!*****************************************************************!*\
9171 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
9172 \*****************************************************************/
9173 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9174
9175 "use strict";
9176
9177
9178 if (false) {} else {
9179 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
9180 }
9181
9182
9183 /***/ }),
9184
9185 /***/ "../node_modules/react-dom/client.js":
9186 /*!*******************************************!*\
9187 !*** ../node_modules/react-dom/client.js ***!
9188 \*******************************************/
9189 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9190
9191 "use strict";
9192
9193
9194 var m = __webpack_require__(/*! react-dom */ "react-dom");
9195 if (false) {} else {
9196 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9197 exports.createRoot = function(c, o) {
9198 i.usingClientEntryPoint = true;
9199 try {
9200 return m.createRoot(c, o);
9201 } finally {
9202 i.usingClientEntryPoint = false;
9203 }
9204 };
9205 exports.hydrateRoot = function(c, h, o) {
9206 i.usingClientEntryPoint = true;
9207 try {
9208 return m.hydrateRoot(c, h, o);
9209 } finally {
9210 i.usingClientEntryPoint = false;
9211 }
9212 };
9213 }
9214
9215
9216 /***/ }),
9217
9218 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
9219 /*!**************************************************************!*\
9220 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
9221 \**************************************************************/
9222 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9223
9224 "use strict";
9225
9226
9227 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); }
9228
9229 Object.defineProperty(exports, "__esModule", ({
9230 value: true
9231 }));
9232 Object.defineProperty(exports, "DraggableCore", ({
9233 enumerable: true,
9234 get: function get() {
9235 return _DraggableCore.default;
9236 }
9237 }));
9238 exports["default"] = void 0;
9239
9240 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9241
9242 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9243
9244 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9245
9246 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
9247
9248 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9249
9250 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9251
9252 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9253
9254 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
9255
9256 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9257
9258 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
9259
9260 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9261
9262 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); }
9263
9264 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; }
9265
9266 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); }
9267
9268 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; }
9269
9270 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; }
9271
9272 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; }
9273
9274 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; }
9275
9276 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9277
9278 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."); }
9279
9280 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); }
9281
9282 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; }
9283
9284 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; }
9285
9286 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9287
9288 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9289
9290 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); } }
9291
9292 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9293
9294 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); }
9295
9296 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9297
9298 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); }; }
9299
9300 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); }
9301
9302 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9303
9304 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; } }
9305
9306 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9307
9308 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; }
9309
9310 //
9311 // Define <Draggable>
9312 //
9313 var Draggable = /*#__PURE__*/function (_React$Component) {
9314 _inherits(Draggable, _React$Component);
9315
9316 var _super = _createSuper(Draggable);
9317
9318 function Draggable(props
9319 /*: DraggableProps*/
9320 ) {
9321 var _this;
9322
9323 _classCallCheck(this, Draggable);
9324
9325 _this = _super.call(this, props);
9326
9327 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9328 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9329
9330 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.
9331
9332
9333 if (shouldStart === false) return false;
9334
9335 _this.setState({
9336 dragging: true,
9337 dragged: true
9338 });
9339 });
9340
9341 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9342 if (!_this.state.dragging) return false;
9343 (0, _log.default)('Draggable: onDrag: %j', coreData);
9344 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9345 var newState
9346 /*: $Shape<DraggableState>*/
9347 = {
9348 x: uiData.x,
9349 y: uiData.y
9350 }; // Keep within bounds.
9351
9352 if (_this.props.bounds) {
9353 // Save original x and y.
9354 var x = newState.x,
9355 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9356 // we start removing slack, the element won't react to it right away until it's been
9357 // completely removed.
9358
9359 newState.x += _this.state.slackX;
9360 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9361
9362 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9363 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9364 newStateX = _getBoundPosition2[0],
9365 newStateY = _getBoundPosition2[1];
9366
9367 newState.x = newStateX;
9368 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9369
9370 newState.slackX = _this.state.slackX + (x - newState.x);
9371 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9372
9373 uiData.x = newState.x;
9374 uiData.y = newState.y;
9375 uiData.deltaX = newState.x - _this.state.x;
9376 uiData.deltaY = newState.y - _this.state.y;
9377 } // Short-circuit if user's callback killed it.
9378
9379
9380 var shouldUpdate = _this.props.onDrag(e, uiData);
9381
9382 if (shouldUpdate === false) return false;
9383
9384 _this.setState(newState);
9385 });
9386
9387 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9388 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9389
9390 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9391
9392 if (shouldContinue === false) return false;
9393 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9394 var newState
9395 /*: $Shape<DraggableState>*/
9396 = {
9397 dragging: false,
9398 slackX: 0,
9399 slackY: 0
9400 }; // If this is a controlled component, the result of this operation will be to
9401 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9402
9403 var controlled = Boolean(_this.props.position);
9404
9405 if (controlled) {
9406 var _this$props$position = _this.props.position,
9407 x = _this$props$position.x,
9408 y = _this$props$position.y;
9409 newState.x = x;
9410 newState.y = y;
9411 }
9412
9413 _this.setState(newState);
9414 });
9415
9416 _this.state = {
9417 // Whether or not we are currently dragging.
9418 dragging: false,
9419 // Whether or not we have been dragged before.
9420 dragged: false,
9421 // Current transform x and y.
9422 x: props.position ? props.position.x : props.defaultPosition.x,
9423 y: props.position ? props.position.y : props.defaultPosition.y,
9424 prevPropsPosition: _objectSpread({}, props.position),
9425 // Used for compensating for out-of-bounds drags
9426 slackX: 0,
9427 slackY: 0,
9428 // Can only determine if SVG after mounting
9429 isElementSVG: false
9430 };
9431
9432 if (props.position && !(props.onDrag || props.onStop)) {
9433 // eslint-disable-next-line no-console
9434 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.');
9435 }
9436
9437 return _this;
9438 }
9439
9440 _createClass(Draggable, [{
9441 key: "componentDidMount",
9442 value: function componentDidMount() {
9443 // Check to see if the element passed is an instanceof SVGElement
9444 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9445 this.setState({
9446 isElementSVG: true
9447 });
9448 }
9449 }
9450 }, {
9451 key: "componentWillUnmount",
9452 value: function componentWillUnmount() {
9453 this.setState({
9454 dragging: false
9455 }); // prevents invariant if unmounted while dragging
9456 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9457 // the underlying DOM node ourselves. See the README for more information.
9458
9459 }, {
9460 key: "findDOMNode",
9461 value: function findDOMNode()
9462 /*: ?HTMLElement*/
9463 {
9464 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9465
9466 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);
9467 }
9468 }, {
9469 key: "render",
9470 value: function render()
9471 /*: ReactElement<any>*/
9472 {
9473 var _clsx;
9474
9475 var _this$props2 = this.props,
9476 axis = _this$props2.axis,
9477 bounds = _this$props2.bounds,
9478 children = _this$props2.children,
9479 defaultPosition = _this$props2.defaultPosition,
9480 defaultClassName = _this$props2.defaultClassName,
9481 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9482 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9483 position = _this$props2.position,
9484 positionOffset = _this$props2.positionOffset,
9485 scale = _this$props2.scale,
9486 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9487
9488 var style = {};
9489 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9490
9491 var controlled = Boolean(position);
9492 var draggable = !controlled || this.state.dragging;
9493 var validPosition = position || defaultPosition;
9494 var transformOpts = {
9495 // Set left if horizontal drag is enabled
9496 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9497 // Set top if vertical drag is enabled
9498 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9499 }; // If this element was SVG, we use the `transform` attribute.
9500
9501 if (this.state.isElementSVG) {
9502 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9503 } else {
9504 // Add a CSS transform to move the element around. This allows us to move the element around
9505 // without worrying about whether or not it is relatively or absolutely positioned.
9506 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9507 // has a clean slate.
9508 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9509 } // Mark with class while dragging
9510
9511
9512 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
9513 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9514
9515 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9516 onStart: this.onDragStart,
9517 onDrag: this.onDrag,
9518 onStop: this.onDragStop
9519 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9520 className: className,
9521 style: _objectSpread(_objectSpread({}, children.props.style), style),
9522 transform: svgTransform
9523 }));
9524 }
9525 }], [{
9526 key: "getDerivedStateFromProps",
9527 value: // React 16.3+
9528 // Arity (props, state)
9529 function getDerivedStateFromProps(_ref, _ref2)
9530 /*: ?$Shape<DraggableState>*/
9531 {
9532 var position = _ref.position;
9533 var prevPropsPosition = _ref2.prevPropsPosition;
9534
9535 // Set x/y if a new position is provided in props that is different than the previous.
9536 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9537 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9538 position: position,
9539 prevPropsPosition: prevPropsPosition
9540 });
9541 return {
9542 x: position.x,
9543 y: position.y,
9544 prevPropsPosition: _objectSpread({}, position)
9545 };
9546 }
9547
9548 return null;
9549 }
9550 }]);
9551
9552 return Draggable;
9553 }(React.Component);
9554
9555 exports["default"] = Draggable;
9556
9557 _defineProperty(Draggable, "displayName", 'Draggable');
9558
9559 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9560 /**
9561 * `axis` determines which axis the draggable can move.
9562 *
9563 * Note that all callbacks will still return data as normal. This only
9564 * controls flushing to the DOM.
9565 *
9566 * 'both' allows movement horizontally and vertically.
9567 * 'x' limits movement to horizontal axis.
9568 * 'y' limits movement to vertical axis.
9569 * 'none' limits all movement.
9570 *
9571 * Defaults to 'both'.
9572 */
9573 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9574
9575 /**
9576 * `bounds` determines the range of movement available to the element.
9577 * Available values are:
9578 *
9579 * 'parent' restricts movement within the Draggable's parent node.
9580 *
9581 * Alternatively, pass an object with the following properties, all of which are optional:
9582 *
9583 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9584 *
9585 * All values are in px.
9586 *
9587 * Example:
9588 *
9589 * ```jsx
9590 * let App = React.createClass({
9591 * render: function () {
9592 * return (
9593 * <Draggable bounds={{right: 300, bottom: 300}}>
9594 * <div>Content</div>
9595 * </Draggable>
9596 * );
9597 * }
9598 * });
9599 * ```
9600 */
9601 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9602 left: _propTypes.default.number,
9603 right: _propTypes.default.number,
9604 top: _propTypes.default.number,
9605 bottom: _propTypes.default.number
9606 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9607 defaultClassName: _propTypes.default.string,
9608 defaultClassNameDragging: _propTypes.default.string,
9609 defaultClassNameDragged: _propTypes.default.string,
9610
9611 /**
9612 * `defaultPosition` specifies the x and y that the dragged item should start at
9613 *
9614 * Example:
9615 *
9616 * ```jsx
9617 * let App = React.createClass({
9618 * render: function () {
9619 * return (
9620 * <Draggable defaultPosition={{x: 25, y: 25}}>
9621 * <div>I start with transformX: 25px and transformY: 25px;</div>
9622 * </Draggable>
9623 * );
9624 * }
9625 * });
9626 * ```
9627 */
9628 defaultPosition: _propTypes.default.shape({
9629 x: _propTypes.default.number,
9630 y: _propTypes.default.number
9631 }),
9632 positionOffset: _propTypes.default.shape({
9633 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9634 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9635 }),
9636
9637 /**
9638 * `position`, if present, defines the current position of the element.
9639 *
9640 * This is similar to how form elements in React work - if no `position` is supplied, the component
9641 * is uncontrolled.
9642 *
9643 * Example:
9644 *
9645 * ```jsx
9646 * let App = React.createClass({
9647 * render: function () {
9648 * return (
9649 * <Draggable position={{x: 25, y: 25}}>
9650 * <div>I start with transformX: 25px and transformY: 25px;</div>
9651 * </Draggable>
9652 * );
9653 * }
9654 * });
9655 * ```
9656 */
9657 position: _propTypes.default.shape({
9658 x: _propTypes.default.number,
9659 y: _propTypes.default.number
9660 }),
9661
9662 /**
9663 * These properties should be defined on the child, not here.
9664 */
9665 className: _shims.dontSetMe,
9666 style: _shims.dontSetMe,
9667 transform: _shims.dontSetMe
9668 }));
9669
9670 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9671 axis: 'both',
9672 bounds: false,
9673 defaultClassName: 'react-draggable',
9674 defaultClassNameDragging: 'react-draggable-dragging',
9675 defaultClassNameDragged: 'react-draggable-dragged',
9676 defaultPosition: {
9677 x: 0,
9678 y: 0
9679 },
9680 scale: 1
9681 }));
9682
9683 /***/ }),
9684
9685 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9686 /*!******************************************************************!*\
9687 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9688 \******************************************************************/
9689 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9690
9691 "use strict";
9692
9693
9694 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); }
9695
9696 Object.defineProperty(exports, "__esModule", ({
9697 value: true
9698 }));
9699 exports["default"] = void 0;
9700
9701 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9702
9703 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9704
9705 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9706
9707 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9708
9709 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9710
9711 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9712
9713 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9714
9715 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9716
9717 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); }
9718
9719 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; }
9720
9721 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9722
9723 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."); }
9724
9725 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); }
9726
9727 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; }
9728
9729 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; }
9730
9731 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9732
9733 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9734
9735 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); } }
9736
9737 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9738
9739 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); }
9740
9741 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9742
9743 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); }; }
9744
9745 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); }
9746
9747 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9748
9749 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; } }
9750
9751 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9752
9753 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; }
9754
9755 // Simple abstraction for dragging events names.
9756 var eventsFor = {
9757 touch: {
9758 start: 'touchstart',
9759 move: 'touchmove',
9760 stop: 'touchend'
9761 },
9762 mouse: {
9763 start: 'mousedown',
9764 move: 'mousemove',
9765 stop: 'mouseup'
9766 }
9767 }; // Default to mouse events.
9768
9769 var dragEventFor = eventsFor.mouse;
9770 /*:: type DraggableCoreState = {
9771 dragging: boolean,
9772 lastX: number,
9773 lastY: number,
9774 touchIdentifier: ?number
9775 };*/
9776
9777 /*:: export type DraggableData = {
9778 node: HTMLElement,
9779 x: number, y: number,
9780 deltaX: number, deltaY: number,
9781 lastX: number, lastY: number,
9782 };*/
9783
9784 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9785
9786 /*:: export type ControlPosition = {x: number, y: number};*/
9787
9788 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9789
9790 /*:: export type DraggableCoreDefaultProps = {
9791 allowAnyClick: boolean,
9792 disabled: boolean,
9793 enableUserSelectHack: boolean,
9794 onStart: DraggableEventHandler,
9795 onDrag: DraggableEventHandler,
9796 onStop: DraggableEventHandler,
9797 onMouseDown: (e: MouseEvent) => void,
9798 scale: number,
9799 };*/
9800
9801 /*:: export type DraggableCoreProps = {
9802 ...DraggableCoreDefaultProps,
9803 cancel: string,
9804 children: ReactElement<any>,
9805 offsetParent: HTMLElement,
9806 grid: [number, number],
9807 handle: string,
9808 nodeRef?: ?React.ElementRef<any>,
9809 };*/
9810
9811 //
9812 // Define <DraggableCore>.
9813 //
9814 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9815 // work well with libraries that require more control over the element.
9816 //
9817 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9818 _inherits(DraggableCore, _React$Component);
9819
9820 var _super = _createSuper(DraggableCore);
9821
9822 function DraggableCore() {
9823 var _this;
9824
9825 _classCallCheck(this, DraggableCore);
9826
9827 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9828 args[_key] = arguments[_key];
9829 }
9830
9831 _this = _super.call.apply(_super, [this].concat(args));
9832
9833 _defineProperty(_assertThisInitialized(_this), "state", {
9834 dragging: false,
9835 // Used while dragging to determine deltas.
9836 lastX: NaN,
9837 lastY: NaN,
9838 touchIdentifier: null
9839 });
9840
9841 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9842
9843 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9844 // Make it possible to attach event handlers on top of this one.
9845 _this.props.onMouseDown(e); // Only accept left-clicks.
9846
9847
9848 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9849
9850 var thisNode = _this.findDOMNode();
9851
9852 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9853 throw new Error('<DraggableCore> not mounted on DragStart!');
9854 }
9855
9856 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9857
9858 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)) {
9859 return;
9860 } // Prevent scrolling on mobile devices, like ipad/iphone.
9861 // Important that this is after handle/cancel.
9862
9863
9864 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9865 // distinguish between individual touches on multitouch screens by identifying which
9866 // touchpoint was set to this element.
9867
9868 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9869
9870 _this.setState({
9871 touchIdentifier: touchIdentifier
9872 }); // Get the current drag point from the event. This is used as the offset.
9873
9874
9875 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9876 if (position == null) return; // not possible but satisfies flow
9877
9878 var x = position.x,
9879 y = position.y; // Create an event object with all the data parents need to make a decision here.
9880
9881 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9882 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9883
9884 (0, _log.default)('calling', _this.props.onStart);
9885
9886 var shouldUpdate = _this.props.onStart(e, coreEvent);
9887
9888 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9889 // being selected all over the page.
9890
9891 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9892 // so we know how much we've moved during the drag. This allows us
9893 // to drag elements around even if they have been moved, without issue.
9894
9895 _this.setState({
9896 dragging: true,
9897 lastX: x,
9898 lastY: y
9899 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9900 // this element. We use different events depending on whether or not we have detected that this
9901 // is a touch-capable device.
9902
9903
9904 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9905 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9906 });
9907
9908 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9909 // Get the current drag point from the event. This is used as the offset.
9910 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9911 if (position == null) return;
9912 var x = position.x,
9913 y = position.y; // Snap to grid if prop has been provided
9914
9915 if (Array.isArray(_this.props.grid)) {
9916 var deltaX = x - _this.state.lastX,
9917 deltaY = y - _this.state.lastY;
9918
9919 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9920
9921 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9922
9923 deltaX = _snapToGrid2[0];
9924 deltaY = _snapToGrid2[1];
9925 if (!deltaX && !deltaY) return; // skip useless drag
9926
9927 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9928 }
9929
9930 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9931 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9932
9933 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9934
9935 if (shouldUpdate === false || _this.mounted === false) {
9936 try {
9937 // $FlowIgnore
9938 _this.handleDragStop(new MouseEvent('mouseup'));
9939 } catch (err) {
9940 // Old browsers
9941 var event = ((document.createEvent('MouseEvents')
9942 /*: any*/
9943 )
9944 /*: MouseTouchEvent*/
9945 ); // I see why this insanity was deprecated
9946 // $FlowIgnore
9947
9948 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9949
9950 _this.handleDragStop(event);
9951 }
9952
9953 return;
9954 }
9955
9956 _this.setState({
9957 lastX: x,
9958 lastY: y
9959 });
9960 });
9961
9962 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9963 if (!_this.state.dragging) return;
9964 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9965 if (position == null) return;
9966 var x = position.x,
9967 y = position.y; // Snap to grid if prop has been provided
9968
9969 if (Array.isArray(_this.props.grid)) {
9970 var deltaX = x - _this.state.lastX || 0;
9971 var deltaY = y - _this.state.lastY || 0;
9972
9973 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9974
9975 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9976
9977 deltaX = _snapToGrid4[0];
9978 deltaY = _snapToGrid4[1];
9979 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9980 }
9981
9982 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9983
9984 var shouldContinue = _this.props.onStop(e, coreEvent);
9985
9986 if (shouldContinue === false || _this.mounted === false) return false;
9987
9988 var thisNode = _this.findDOMNode();
9989
9990 if (thisNode) {
9991 // Remove user-select hack
9992 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
9993 }
9994
9995 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
9996
9997 _this.setState({
9998 dragging: false,
9999 lastX: NaN,
10000 lastY: NaN
10001 });
10002
10003 if (thisNode) {
10004 // Remove event handlers
10005 (0, _log.default)('DraggableCore: Removing handlers');
10006 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
10007 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
10008 }
10009 });
10010
10011 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
10012 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
10013
10014 return _this.handleDragStart(e);
10015 });
10016
10017 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
10018 dragEventFor = eventsFor.mouse;
10019 return _this.handleDragStop(e);
10020 });
10021
10022 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
10023 // We're on a touch device now, so change the event handlers
10024 dragEventFor = eventsFor.touch;
10025 return _this.handleDragStart(e);
10026 });
10027
10028 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
10029 // We're on a touch device now, so change the event handlers
10030 dragEventFor = eventsFor.touch;
10031 return _this.handleDragStop(e);
10032 });
10033
10034 return _this;
10035 }
10036
10037 _createClass(DraggableCore, [{
10038 key: "componentDidMount",
10039 value: function componentDidMount() {
10040 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
10041 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10042
10043 var thisNode = this.findDOMNode();
10044
10045 if (thisNode) {
10046 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10047 passive: false
10048 });
10049 }
10050 }
10051 }, {
10052 key: "componentWillUnmount",
10053 value: function componentWillUnmount() {
10054 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
10055 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
10056
10057 var thisNode = this.findDOMNode();
10058
10059 if (thisNode) {
10060 var ownerDocument = thisNode.ownerDocument;
10061 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
10062 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
10063 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
10064 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
10065 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10066 passive: false
10067 });
10068 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
10069 }
10070 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
10071 // the underlying DOM node ourselves. See the README for more information.
10072
10073 }, {
10074 key: "findDOMNode",
10075 value: function findDOMNode()
10076 /*: ?HTMLElement*/
10077 {
10078 var _this$props, _this$props2, _this$props2$nodeRef;
10079
10080 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);
10081 }
10082 }, {
10083 key: "render",
10084 value: function render()
10085 /*: React.Element<any>*/
10086 {
10087 // Reuse the child provided
10088 // This makes it flexible to use whatever element is wanted (div, ul, etc)
10089 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
10090 // Note: mouseMove handler is attached to document so it will still function
10091 // when the user drags quickly and leaves the bounds of the element.
10092 onMouseDown: this.onMouseDown,
10093 onMouseUp: this.onMouseUp,
10094 // onTouchStart is added on `componentDidMount` so they can be added with
10095 // {passive: false}, which allows it to cancel. See
10096 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10097 onTouchEnd: this.onTouchEnd
10098 });
10099 }
10100 }]);
10101
10102 return DraggableCore;
10103 }(React.Component);
10104
10105 exports["default"] = DraggableCore;
10106
10107 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
10108
10109 _defineProperty(DraggableCore, "propTypes", {
10110 /**
10111 * `allowAnyClick` allows dragging using any mouse button.
10112 * By default, we only accept the left button.
10113 *
10114 * Defaults to `false`.
10115 */
10116 allowAnyClick: _propTypes.default.bool,
10117
10118 /**
10119 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
10120 * with the exception of `onMouseDown`, will not fire.
10121 */
10122 disabled: _propTypes.default.bool,
10123
10124 /**
10125 * By default, we add 'user-select:none' attributes to the document body
10126 * to prevent ugly text selection during drag. If this is causing problems
10127 * for your app, set this to `false`.
10128 */
10129 enableUserSelectHack: _propTypes.default.bool,
10130
10131 /**
10132 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
10133 * instead of using the parent node.
10134 */
10135 offsetParent: function offsetParent(props
10136 /*: DraggableCoreProps*/
10137 , propName
10138 /*: $Keys<DraggableCoreProps>*/
10139 ) {
10140 if (props[propName] && props[propName].nodeType !== 1) {
10141 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
10142 }
10143 },
10144
10145 /**
10146 * `grid` specifies the x and y that dragging should snap to.
10147 */
10148 grid: _propTypes.default.arrayOf(_propTypes.default.number),
10149
10150 /**
10151 * `handle` specifies a selector to be used as the handle that initiates drag.
10152 *
10153 * Example:
10154 *
10155 * ```jsx
10156 * let App = React.createClass({
10157 * render: function () {
10158 * return (
10159 * <Draggable handle=".handle">
10160 * <div>
10161 * <div className="handle">Click me to drag</div>
10162 * <div>This is some other content</div>
10163 * </div>
10164 * </Draggable>
10165 * );
10166 * }
10167 * });
10168 * ```
10169 */
10170 handle: _propTypes.default.string,
10171
10172 /**
10173 * `cancel` specifies a selector to be used to prevent drag initialization.
10174 *
10175 * Example:
10176 *
10177 * ```jsx
10178 * let App = React.createClass({
10179 * render: function () {
10180 * return(
10181 * <Draggable cancel=".cancel">
10182 * <div>
10183 * <div className="cancel">You can't drag from here</div>
10184 * <div>Dragging here works fine</div>
10185 * </div>
10186 * </Draggable>
10187 * );
10188 * }
10189 * });
10190 * ```
10191 */
10192 cancel: _propTypes.default.string,
10193
10194 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
10195 * Unfortunately, in order for <Draggable> to work properly, we need raw access
10196 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
10197 * as in this example:
10198 *
10199 * function MyComponent() {
10200 * const nodeRef = React.useRef(null);
10201 * return (
10202 * <Draggable nodeRef={nodeRef}>
10203 * <div ref={nodeRef}>Example Target</div>
10204 * </Draggable>
10205 * );
10206 * }
10207 *
10208 * This can be used for arbitrarily nested components, so long as the ref ends up
10209 * pointing to the actual child DOM node and not a custom component.
10210 */
10211 nodeRef: _propTypes.default.object,
10212
10213 /**
10214 * Called when dragging starts.
10215 * If this function returns the boolean false, dragging will be canceled.
10216 */
10217 onStart: _propTypes.default.func,
10218
10219 /**
10220 * Called while dragging.
10221 * If this function returns the boolean false, dragging will be canceled.
10222 */
10223 onDrag: _propTypes.default.func,
10224
10225 /**
10226 * Called when dragging stops.
10227 * If this function returns the boolean false, the drag will remain active.
10228 */
10229 onStop: _propTypes.default.func,
10230
10231 /**
10232 * A workaround option which can be passed if onMouseDown needs to be accessed,
10233 * since it'll always be blocked (as there is internal use of onMouseDown)
10234 */
10235 onMouseDown: _propTypes.default.func,
10236
10237 /**
10238 * `scale`, if set, applies scaling while dragging an element
10239 */
10240 scale: _propTypes.default.number,
10241
10242 /**
10243 * These properties should be defined on the child, not here.
10244 */
10245 className: _shims.dontSetMe,
10246 style: _shims.dontSetMe,
10247 transform: _shims.dontSetMe
10248 });
10249
10250 _defineProperty(DraggableCore, "defaultProps", {
10251 allowAnyClick: false,
10252 // by default only accept left click
10253 disabled: false,
10254 enableUserSelectHack: true,
10255 onStart: function onStart() {},
10256 onDrag: function onDrag() {},
10257 onStop: function onStop() {},
10258 onMouseDown: function onMouseDown() {},
10259 scale: 1
10260 });
10261
10262 /***/ }),
10263
10264 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10265 /*!********************************************************!*\
10266 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10267 \********************************************************/
10268 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10269
10270 "use strict";
10271
10272
10273 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10274 Draggable = _require.default,
10275 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'.
10276 // See https://github.com/mzabriskie/react-draggable/pull/254
10277 // and https://github.com/mzabriskie/react-draggable/issues/266
10278
10279
10280 module.exports = Draggable;
10281 module.exports["default"] = Draggable;
10282 module.exports.DraggableCore = DraggableCore;
10283
10284 /***/ }),
10285
10286 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10287 /*!*****************************************************************!*\
10288 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10289 \*****************************************************************/
10290 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10291
10292 "use strict";
10293
10294
10295 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); }
10296
10297 Object.defineProperty(exports, "__esModule", ({
10298 value: true
10299 }));
10300 exports.addClassName = addClassName;
10301 exports.addEvent = addEvent;
10302 exports.addUserSelectStyles = addUserSelectStyles;
10303 exports.createCSSTransform = createCSSTransform;
10304 exports.createSVGTransform = createSVGTransform;
10305 exports.getTouch = getTouch;
10306 exports.getTouchIdentifier = getTouchIdentifier;
10307 exports.getTranslation = getTranslation;
10308 exports.innerHeight = innerHeight;
10309 exports.innerWidth = innerWidth;
10310 exports.matchesSelector = matchesSelector;
10311 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10312 exports.offsetXYFromParent = offsetXYFromParent;
10313 exports.outerHeight = outerHeight;
10314 exports.outerWidth = outerWidth;
10315 exports.removeClassName = removeClassName;
10316 exports.removeEvent = removeEvent;
10317 exports.removeUserSelectStyles = removeUserSelectStyles;
10318
10319 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10320
10321 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10322
10323 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); }
10324
10325 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; }
10326
10327 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; }
10328
10329 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; }
10330
10331 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; }
10332
10333 var matchesSelectorFunc = '';
10334
10335 function matchesSelector(el
10336 /*: Node*/
10337 , selector
10338 /*: string*/
10339 )
10340 /*: boolean*/
10341 {
10342 if (!matchesSelectorFunc) {
10343 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10344 // $FlowIgnore: Doesn't think elements are indexable
10345 return (0, _shims.isFunction)(el[method]);
10346 });
10347 } // Might not be found entirely (not an Element?) - in that case, bail
10348 // $FlowIgnore: Doesn't think elements are indexable
10349
10350
10351 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10352
10353 return el[matchesSelectorFunc](selector);
10354 } // Works up the tree to the draggable itself attempting to match selector.
10355
10356
10357 function matchesSelectorAndParentsTo(el
10358 /*: Node*/
10359 , selector
10360 /*: string*/
10361 , baseNode
10362 /*: Node*/
10363 )
10364 /*: boolean*/
10365 {
10366 var node = el;
10367
10368 do {
10369 if (matchesSelector(node, selector)) return true;
10370 if (node === baseNode) return false;
10371 node = node.parentNode;
10372 } while (node);
10373
10374 return false;
10375 }
10376
10377 function addEvent(el
10378 /*: ?Node*/
10379 , event
10380 /*: string*/
10381 , handler
10382 /*: Function*/
10383 , inputOptions
10384 /*: Object*/
10385 )
10386 /*: void*/
10387 {
10388 if (!el) return;
10389
10390 var options = _objectSpread({
10391 capture: true
10392 }, inputOptions); // $FlowIgnore[method-unbinding]
10393
10394
10395 if (el.addEventListener) {
10396 el.addEventListener(event, handler, options);
10397 } else if (el.attachEvent) {
10398 el.attachEvent('on' + event, handler);
10399 } else {
10400 // $FlowIgnore: Doesn't think elements are indexable
10401 el['on' + event] = handler;
10402 }
10403 }
10404
10405 function removeEvent(el
10406 /*: ?Node*/
10407 , event
10408 /*: string*/
10409 , handler
10410 /*: Function*/
10411 , inputOptions
10412 /*: Object*/
10413 )
10414 /*: void*/
10415 {
10416 if (!el) return;
10417
10418 var options = _objectSpread({
10419 capture: true
10420 }, inputOptions); // $FlowIgnore[method-unbinding]
10421
10422
10423 if (el.removeEventListener) {
10424 el.removeEventListener(event, handler, options);
10425 } else if (el.detachEvent) {
10426 el.detachEvent('on' + event, handler);
10427 } else {
10428 // $FlowIgnore: Doesn't think elements are indexable
10429 el['on' + event] = null;
10430 }
10431 }
10432
10433 function outerHeight(node
10434 /*: HTMLElement*/
10435 )
10436 /*: number*/
10437 {
10438 // This is deliberately excluding margin for our calculations, since we are using
10439 // offsetTop which is including margin. See getBoundPosition
10440 var height = node.clientHeight;
10441 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10442 height += (0, _shims.int)(computedStyle.borderTopWidth);
10443 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10444 return height;
10445 }
10446
10447 function outerWidth(node
10448 /*: HTMLElement*/
10449 )
10450 /*: number*/
10451 {
10452 // This is deliberately excluding margin for our calculations, since we are using
10453 // offsetLeft which is including margin. See getBoundPosition
10454 var width = node.clientWidth;
10455 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10456 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10457 width += (0, _shims.int)(computedStyle.borderRightWidth);
10458 return width;
10459 }
10460
10461 function innerHeight(node
10462 /*: HTMLElement*/
10463 )
10464 /*: number*/
10465 {
10466 var height = node.clientHeight;
10467 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10468 height -= (0, _shims.int)(computedStyle.paddingTop);
10469 height -= (0, _shims.int)(computedStyle.paddingBottom);
10470 return height;
10471 }
10472
10473 function innerWidth(node
10474 /*: HTMLElement*/
10475 )
10476 /*: number*/
10477 {
10478 var width = node.clientWidth;
10479 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10480 width -= (0, _shims.int)(computedStyle.paddingLeft);
10481 width -= (0, _shims.int)(computedStyle.paddingRight);
10482 return width;
10483 }
10484 /*:: interface EventWithOffset {
10485 clientX: number, clientY: number
10486 }*/
10487
10488
10489 // Get from offsetParent
10490 function offsetXYFromParent(evt
10491 /*: EventWithOffset*/
10492 , offsetParent
10493 /*: HTMLElement*/
10494 , scale
10495 /*: number*/
10496 )
10497 /*: ControlPosition*/
10498 {
10499 var isBody = offsetParent === offsetParent.ownerDocument.body;
10500 var offsetParentRect = isBody ? {
10501 left: 0,
10502 top: 0
10503 } : offsetParent.getBoundingClientRect();
10504 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10505 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10506 return {
10507 x: x,
10508 y: y
10509 };
10510 }
10511
10512 function createCSSTransform(controlPos
10513 /*: ControlPosition*/
10514 , positionOffset
10515 /*: PositionOffsetControlPosition*/
10516 )
10517 /*: Object*/
10518 {
10519 var translation = getTranslation(controlPos, positionOffset, 'px');
10520 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10521 }
10522
10523 function createSVGTransform(controlPos
10524 /*: ControlPosition*/
10525 , positionOffset
10526 /*: PositionOffsetControlPosition*/
10527 )
10528 /*: string*/
10529 {
10530 var translation = getTranslation(controlPos, positionOffset, '');
10531 return translation;
10532 }
10533
10534 function getTranslation(_ref2, positionOffset
10535 /*: PositionOffsetControlPosition*/
10536 , unitSuffix
10537 /*: string*/
10538 )
10539 /*: string*/
10540 {
10541 var x = _ref2.x,
10542 y = _ref2.y;
10543 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10544
10545 if (positionOffset) {
10546 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10547 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10548 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10549 }
10550
10551 return translation;
10552 }
10553
10554 function getTouch(e
10555 /*: MouseTouchEvent*/
10556 , identifier
10557 /*: number*/
10558 )
10559 /*: ?{clientX: number, clientY: number}*/
10560 {
10561 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10562 return identifier === t.identifier;
10563 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10564 return identifier === t.identifier;
10565 });
10566 }
10567
10568 function getTouchIdentifier(e
10569 /*: MouseTouchEvent*/
10570 )
10571 /*: ?number*/
10572 {
10573 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10574 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10575 } // User-select Hacks:
10576 //
10577 // Useful for preventing blue highlights all over everything when dragging.
10578 // Note we're passing `document` b/c we could be iframed
10579
10580
10581 function addUserSelectStyles(doc
10582 /*: ?Document*/
10583 ) {
10584 if (!doc) return;
10585 var styleEl = doc.getElementById('react-draggable-style-el');
10586
10587 if (!styleEl) {
10588 styleEl = doc.createElement('style');
10589 styleEl.type = 'text/css';
10590 styleEl.id = 'react-draggable-style-el';
10591 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10592 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10593 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10594 }
10595
10596 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10597 }
10598
10599 function removeUserSelectStyles(doc
10600 /*: ?Document*/
10601 ) {
10602 if (!doc) return;
10603
10604 try {
10605 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10606
10607 if (doc.selection) {
10608 // $FlowIgnore: IE
10609 doc.selection.empty();
10610 } else {
10611 // Remove selection caused by scroll, unless it's a focused input
10612 // (we use doc.defaultView in case we're in an iframe)
10613 var selection = (doc.defaultView || window).getSelection();
10614
10615 if (selection && selection.type !== 'Caret') {
10616 selection.removeAllRanges();
10617 }
10618 }
10619 } catch (e) {// probably IE
10620 }
10621 }
10622
10623 function addClassName(el
10624 /*: HTMLElement*/
10625 , className
10626 /*: string*/
10627 ) {
10628 if (el.classList) {
10629 el.classList.add(className);
10630 } else {
10631 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10632 el.className += " ".concat(className);
10633 }
10634 }
10635 }
10636
10637 function removeClassName(el
10638 /*: HTMLElement*/
10639 , className
10640 /*: string*/
10641 ) {
10642 if (el.classList) {
10643 el.classList.remove(className);
10644 } else {
10645 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10646 }
10647 }
10648
10649 /***/ }),
10650
10651 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10652 /*!********************************************************************!*\
10653 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10654 \********************************************************************/
10655 /***/ ((__unused_webpack_module, exports) => {
10656
10657 "use strict";
10658
10659
10660 Object.defineProperty(exports, "__esModule", ({
10661 value: true
10662 }));
10663 exports.browserPrefixToKey = browserPrefixToKey;
10664 exports.browserPrefixToStyle = browserPrefixToStyle;
10665 exports["default"] = void 0;
10666 exports.getPrefix = getPrefix;
10667 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10668
10669 function getPrefix()
10670 /*: string*/
10671 {
10672 var _window$document, _window$document$docu;
10673
10674 var prop
10675 /*: string*/
10676 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10677 // Ensure we're running in an environment where there is actually a global
10678 // `window` obj
10679 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10680 // path may not exist, so bail out if it doesn't.
10681
10682 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;
10683 if (!style) return '';
10684 if (prop in style) return '';
10685
10686 for (var i = 0; i < prefixes.length; i++) {
10687 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10688 }
10689
10690 return '';
10691 }
10692
10693 function browserPrefixToKey(prop
10694 /*: string*/
10695 , prefix
10696 /*: string*/
10697 )
10698 /*: string*/
10699 {
10700 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10701 }
10702
10703 function browserPrefixToStyle(prop
10704 /*: string*/
10705 , prefix
10706 /*: string*/
10707 )
10708 /*: string*/
10709 {
10710 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10711 }
10712
10713 function kebabToTitleCase(str
10714 /*: string*/
10715 )
10716 /*: string*/
10717 {
10718 var out = '';
10719 var shouldCapitalize = true;
10720
10721 for (var i = 0; i < str.length; i++) {
10722 if (shouldCapitalize) {
10723 out += str[i].toUpperCase();
10724 shouldCapitalize = false;
10725 } else if (str[i] === '-') {
10726 shouldCapitalize = true;
10727 } else {
10728 out += str[i];
10729 }
10730 }
10731
10732 return out;
10733 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10734 // Note that you may have to re-test for certain things; for instance, Chrome 50
10735 // can handle unprefixed `transform`, but not unprefixed `user-select`
10736
10737
10738 var _default = (getPrefix()
10739 /*: string*/
10740 );
10741
10742 exports["default"] = _default;
10743
10744 /***/ }),
10745
10746 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10747 /*!**************************************************************!*\
10748 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10749 \**************************************************************/
10750 /***/ ((__unused_webpack_module, exports) => {
10751
10752 "use strict";
10753
10754
10755 Object.defineProperty(exports, "__esModule", ({
10756 value: true
10757 }));
10758 exports["default"] = log;
10759
10760 /*eslint no-console:0*/
10761 function log() {
10762 var _console;
10763
10764 if (false) {}
10765 }
10766
10767 /***/ }),
10768
10769 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10770 /*!**********************************************************************!*\
10771 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10772 \**********************************************************************/
10773 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10774
10775 "use strict";
10776
10777
10778 Object.defineProperty(exports, "__esModule", ({
10779 value: true
10780 }));
10781 exports.canDragX = canDragX;
10782 exports.canDragY = canDragY;
10783 exports.createCoreData = createCoreData;
10784 exports.createDraggableData = createDraggableData;
10785 exports.getBoundPosition = getBoundPosition;
10786 exports.getControlPosition = getControlPosition;
10787 exports.snapToGrid = snapToGrid;
10788
10789 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10790
10791 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10792
10793 function getBoundPosition(draggable
10794 /*: Draggable*/
10795 , x
10796 /*: number*/
10797 , y
10798 /*: number*/
10799 )
10800 /*: [number, number]*/
10801 {
10802 // If no bounds, short-circuit and move on
10803 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10804
10805 var bounds = draggable.props.bounds;
10806 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10807 var node = findDOMNode(draggable);
10808
10809 if (typeof bounds === 'string') {
10810 var ownerDocument = node.ownerDocument;
10811 var ownerWindow = ownerDocument.defaultView;
10812 var boundNode;
10813
10814 if (bounds === 'parent') {
10815 boundNode = node.parentNode;
10816 } else {
10817 boundNode = ownerDocument.querySelector(bounds);
10818 }
10819
10820 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10821 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10822 }
10823
10824 var boundNodeEl
10825 /*: HTMLElement*/
10826 = boundNode; // for Flow, can't seem to refine correctly
10827
10828 var nodeStyle = ownerWindow.getComputedStyle(node);
10829 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10830
10831 bounds = {
10832 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10833 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10834 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10835 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10836 };
10837 } // Keep x and y below right and bottom limits...
10838
10839
10840 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10841 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10842
10843 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10844 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10845 return [x, y];
10846 }
10847
10848 function snapToGrid(grid
10849 /*: [number, number]*/
10850 , pendingX
10851 /*: number*/
10852 , pendingY
10853 /*: number*/
10854 )
10855 /*: [number, number]*/
10856 {
10857 var x = Math.round(pendingX / grid[0]) * grid[0];
10858 var y = Math.round(pendingY / grid[1]) * grid[1];
10859 return [x, y];
10860 }
10861
10862 function canDragX(draggable
10863 /*: Draggable*/
10864 )
10865 /*: boolean*/
10866 {
10867 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10868 }
10869
10870 function canDragY(draggable
10871 /*: Draggable*/
10872 )
10873 /*: boolean*/
10874 {
10875 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10876 } // Get {x, y} positions from event.
10877
10878
10879 function getControlPosition(e
10880 /*: MouseTouchEvent*/
10881 , touchIdentifier
10882 /*: ?number*/
10883 , draggableCore
10884 /*: DraggableCore*/
10885 )
10886 /*: ?ControlPosition*/
10887 {
10888 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10889 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10890
10891 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10892
10893 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10894 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10895 } // Create an data object exposed by <DraggableCore>'s events
10896
10897
10898 function createCoreData(draggable
10899 /*: DraggableCore*/
10900 , x
10901 /*: number*/
10902 , y
10903 /*: number*/
10904 )
10905 /*: DraggableData*/
10906 {
10907 var state = draggable.state;
10908 var isStart = !(0, _shims.isNum)(state.lastX);
10909 var node = findDOMNode(draggable);
10910
10911 if (isStart) {
10912 // If this is our first move, use the x and y as last coords.
10913 return {
10914 node: node,
10915 deltaX: 0,
10916 deltaY: 0,
10917 lastX: x,
10918 lastY: y,
10919 x: x,
10920 y: y
10921 };
10922 } else {
10923 // Otherwise calculate proper values.
10924 return {
10925 node: node,
10926 deltaX: x - state.lastX,
10927 deltaY: y - state.lastY,
10928 lastX: state.lastX,
10929 lastY: state.lastY,
10930 x: x,
10931 y: y
10932 };
10933 }
10934 } // Create an data exposed by <Draggable>'s events
10935
10936
10937 function createDraggableData(draggable
10938 /*: Draggable*/
10939 , coreData
10940 /*: DraggableData*/
10941 )
10942 /*: DraggableData*/
10943 {
10944 var scale = draggable.props.scale;
10945 return {
10946 node: coreData.node,
10947 x: draggable.state.x + coreData.deltaX / scale,
10948 y: draggable.state.y + coreData.deltaY / scale,
10949 deltaX: coreData.deltaX / scale,
10950 deltaY: coreData.deltaY / scale,
10951 lastX: draggable.state.x,
10952 lastY: draggable.state.y
10953 };
10954 } // A lot faster than stringify/parse
10955
10956
10957 function cloneBounds(bounds
10958 /*: Bounds*/
10959 )
10960 /*: Bounds*/
10961 {
10962 return {
10963 left: bounds.left,
10964 top: bounds.top,
10965 right: bounds.right,
10966 bottom: bounds.bottom
10967 };
10968 }
10969
10970 function findDOMNode(draggable
10971 /*: Draggable | DraggableCore*/
10972 )
10973 /*: HTMLElement*/
10974 {
10975 var node = draggable.findDOMNode();
10976
10977 if (!node) {
10978 throw new Error('<DraggableCore>: Unmounted during event!');
10979 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10980
10981
10982 return node;
10983 }
10984
10985 /***/ }),
10986
10987 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10988 /*!****************************************************************!*\
10989 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10990 \****************************************************************/
10991 /***/ ((__unused_webpack_module, exports) => {
10992
10993 "use strict";
10994
10995
10996 Object.defineProperty(exports, "__esModule", ({
10997 value: true
10998 }));
10999 exports.dontSetMe = dontSetMe;
11000 exports.findInArray = findInArray;
11001 exports.int = int;
11002 exports.isFunction = isFunction;
11003 exports.isNum = isNum;
11004
11005 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
11006 function findInArray(array
11007 /*: Array<any> | TouchList*/
11008 , callback
11009 /*: Function*/
11010 )
11011 /*: any*/
11012 {
11013 for (var i = 0, length = array.length; i < length; i++) {
11014 if (callback.apply(callback, [array[i], i, array])) return array[i];
11015 }
11016 }
11017
11018 function isFunction(func
11019 /*: any*/
11020 )
11021 /*: boolean %checks*/
11022 {
11023 // $FlowIgnore[method-unbinding]
11024 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
11025 }
11026
11027 function isNum(num
11028 /*: any*/
11029 )
11030 /*: boolean %checks*/
11031 {
11032 return typeof num === 'number' && !isNaN(num);
11033 }
11034
11035 function int(a
11036 /*: string*/
11037 )
11038 /*: number*/
11039 {
11040 return parseInt(a, 10);
11041 }
11042
11043 function dontSetMe(props
11044 /*: Object*/
11045 , propName
11046 /*: string*/
11047 , componentName
11048 /*: string*/
11049 )
11050 /*: ?Error*/
11051 {
11052 if (props[propName]) {
11053 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
11054 }
11055 }
11056
11057 /***/ }),
11058
11059 /***/ "../node_modules/react-is/cjs/react-is.development.js":
11060 /*!************************************************************!*\
11061 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
11062 \************************************************************/
11063 /***/ ((__unused_webpack_module, exports) => {
11064
11065 "use strict";
11066 /**
11067 * @license React
11068 * react-is.development.js
11069 *
11070 * Copyright (c) Facebook, Inc. and its affiliates.
11071 *
11072 * This source code is licensed under the MIT license found in the
11073 * LICENSE file in the root directory of this source tree.
11074 */
11075
11076
11077
11078 if (true) {
11079 (function() {
11080 'use strict';
11081
11082 // ATTENTION
11083 // When adding new symbols to this file,
11084 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
11085 // The Symbol used to tag the ReactElement-like types.
11086 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
11087 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
11088 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
11089 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
11090 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
11091 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
11092 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
11093 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
11094 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
11095 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
11096 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
11097 var REACT_MEMO_TYPE = Symbol.for('react.memo');
11098 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
11099 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
11100
11101 // -----------------------------------------------------------------------------
11102
11103 var enableScopeAPI = false; // Experimental Create Event Handle API.
11104 var enableCacheElement = false;
11105 var enableTransitionTracing = false; // No known bugs, but needs performance testing
11106
11107 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
11108 // stuff. Intended to enable React core members to more easily debug scheduling
11109 // issues in DEV builds.
11110
11111 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
11112
11113 var REACT_MODULE_REFERENCE;
11114
11115 {
11116 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
11117 }
11118
11119 function isValidElementType(type) {
11120 if (typeof type === 'string' || typeof type === 'function') {
11121 return true;
11122 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
11123
11124
11125 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 ) {
11126 return true;
11127 }
11128
11129 if (typeof type === 'object' && type !== null) {
11130 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
11131 // types supported by any Flight configuration anywhere since
11132 // we don't know which Flight build this will end up being used
11133 // with.
11134 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
11135 return true;
11136 }
11137 }
11138
11139 return false;
11140 }
11141
11142 function typeOf(object) {
11143 if (typeof object === 'object' && object !== null) {
11144 var $$typeof = object.$$typeof;
11145
11146 switch ($$typeof) {
11147 case REACT_ELEMENT_TYPE:
11148 var type = object.type;
11149
11150 switch (type) {
11151 case REACT_FRAGMENT_TYPE:
11152 case REACT_PROFILER_TYPE:
11153 case REACT_STRICT_MODE_TYPE:
11154 case REACT_SUSPENSE_TYPE:
11155 case REACT_SUSPENSE_LIST_TYPE:
11156 return type;
11157
11158 default:
11159 var $$typeofType = type && type.$$typeof;
11160
11161 switch ($$typeofType) {
11162 case REACT_SERVER_CONTEXT_TYPE:
11163 case REACT_CONTEXT_TYPE:
11164 case REACT_FORWARD_REF_TYPE:
11165 case REACT_LAZY_TYPE:
11166 case REACT_MEMO_TYPE:
11167 case REACT_PROVIDER_TYPE:
11168 return $$typeofType;
11169
11170 default:
11171 return $$typeof;
11172 }
11173
11174 }
11175
11176 case REACT_PORTAL_TYPE:
11177 return $$typeof;
11178 }
11179 }
11180
11181 return undefined;
11182 }
11183 var ContextConsumer = REACT_CONTEXT_TYPE;
11184 var ContextProvider = REACT_PROVIDER_TYPE;
11185 var Element = REACT_ELEMENT_TYPE;
11186 var ForwardRef = REACT_FORWARD_REF_TYPE;
11187 var Fragment = REACT_FRAGMENT_TYPE;
11188 var Lazy = REACT_LAZY_TYPE;
11189 var Memo = REACT_MEMO_TYPE;
11190 var Portal = REACT_PORTAL_TYPE;
11191 var Profiler = REACT_PROFILER_TYPE;
11192 var StrictMode = REACT_STRICT_MODE_TYPE;
11193 var Suspense = REACT_SUSPENSE_TYPE;
11194 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
11195 var hasWarnedAboutDeprecatedIsAsyncMode = false;
11196 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
11197
11198 function isAsyncMode(object) {
11199 {
11200 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
11201 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
11202
11203 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11204 }
11205 }
11206
11207 return false;
11208 }
11209 function isConcurrentMode(object) {
11210 {
11211 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
11212 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
11213
11214 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11215 }
11216 }
11217
11218 return false;
11219 }
11220 function isContextConsumer(object) {
11221 return typeOf(object) === REACT_CONTEXT_TYPE;
11222 }
11223 function isContextProvider(object) {
11224 return typeOf(object) === REACT_PROVIDER_TYPE;
11225 }
11226 function isElement(object) {
11227 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
11228 }
11229 function isForwardRef(object) {
11230 return typeOf(object) === REACT_FORWARD_REF_TYPE;
11231 }
11232 function isFragment(object) {
11233 return typeOf(object) === REACT_FRAGMENT_TYPE;
11234 }
11235 function isLazy(object) {
11236 return typeOf(object) === REACT_LAZY_TYPE;
11237 }
11238 function isMemo(object) {
11239 return typeOf(object) === REACT_MEMO_TYPE;
11240 }
11241 function isPortal(object) {
11242 return typeOf(object) === REACT_PORTAL_TYPE;
11243 }
11244 function isProfiler(object) {
11245 return typeOf(object) === REACT_PROFILER_TYPE;
11246 }
11247 function isStrictMode(object) {
11248 return typeOf(object) === REACT_STRICT_MODE_TYPE;
11249 }
11250 function isSuspense(object) {
11251 return typeOf(object) === REACT_SUSPENSE_TYPE;
11252 }
11253 function isSuspenseList(object) {
11254 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
11255 }
11256
11257 exports.ContextConsumer = ContextConsumer;
11258 exports.ContextProvider = ContextProvider;
11259 exports.Element = Element;
11260 exports.ForwardRef = ForwardRef;
11261 exports.Fragment = Fragment;
11262 exports.Lazy = Lazy;
11263 exports.Memo = Memo;
11264 exports.Portal = Portal;
11265 exports.Profiler = Profiler;
11266 exports.StrictMode = StrictMode;
11267 exports.Suspense = Suspense;
11268 exports.SuspenseList = SuspenseList;
11269 exports.isAsyncMode = isAsyncMode;
11270 exports.isConcurrentMode = isConcurrentMode;
11271 exports.isContextConsumer = isContextConsumer;
11272 exports.isContextProvider = isContextProvider;
11273 exports.isElement = isElement;
11274 exports.isForwardRef = isForwardRef;
11275 exports.isFragment = isFragment;
11276 exports.isLazy = isLazy;
11277 exports.isMemo = isMemo;
11278 exports.isPortal = isPortal;
11279 exports.isProfiler = isProfiler;
11280 exports.isStrictMode = isStrictMode;
11281 exports.isSuspense = isSuspense;
11282 exports.isSuspenseList = isSuspenseList;
11283 exports.isValidElementType = isValidElementType;
11284 exports.typeOf = typeOf;
11285 })();
11286 }
11287
11288
11289 /***/ }),
11290
11291 /***/ "../node_modules/react-is/index.js":
11292 /*!*****************************************!*\
11293 !*** ../node_modules/react-is/index.js ***!
11294 \*****************************************/
11295 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11296
11297 "use strict";
11298
11299
11300 if (false) {} else {
11301 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11302 }
11303
11304
11305 /***/ }),
11306
11307 /***/ "../node_modules/shallowequal/index.js":
11308 /*!*********************************************!*\
11309 !*** ../node_modules/shallowequal/index.js ***!
11310 \*********************************************/
11311 /***/ ((module) => {
11312
11313 //
11314
11315 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11316 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11317
11318 if (ret !== void 0) {
11319 return !!ret;
11320 }
11321
11322 if (objA === objB) {
11323 return true;
11324 }
11325
11326 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11327 return false;
11328 }
11329
11330 var keysA = Object.keys(objA);
11331 var keysB = Object.keys(objB);
11332
11333 if (keysA.length !== keysB.length) {
11334 return false;
11335 }
11336
11337 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11338
11339 // Test for A's keys different from B.
11340 for (var idx = 0; idx < keysA.length; idx++) {
11341 var key = keysA[idx];
11342
11343 if (!bHasOwnProperty(key)) {
11344 return false;
11345 }
11346
11347 var valueA = objA[key];
11348 var valueB = objB[key];
11349
11350 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11351
11352 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11353 return false;
11354 }
11355 }
11356
11357 return true;
11358 };
11359
11360
11361 /***/ }),
11362
11363 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11364 /*!*******************************************************************************!*\
11365 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11366 \*******************************************************************************/
11367 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11368
11369 "use strict";
11370 __webpack_require__.r(__webpack_exports__);
11371 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11372 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11373 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11374 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11375 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11376 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11377 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11378 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11379 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11380 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11381 /* harmony export */ css: () => (/* binding */ Ae),
11382 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11383 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11384 /* harmony export */ keyframes: () => (/* binding */ We),
11385 /* harmony export */ useTheme: () => (/* binding */ Xe),
11386 /* harmony export */ version: () => (/* binding */ A),
11387 /* harmony export */ withTheme: () => (/* binding */ Je)
11388 /* harmony export */ });
11389 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11390 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11391 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11392 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11393 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11394 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11395 /* 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");
11396 /* 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");
11397 /* 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");
11398 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11399 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);
11400 //# sourceMappingURL=styled-components.browser.esm.js.map
11401
11402
11403 /***/ }),
11404
11405 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11406 /*!*****************************************************************************************************!*\
11407 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11408 \*****************************************************************************************************/
11409 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11410
11411 "use strict";
11412 __webpack_require__.r(__webpack_exports__);
11413 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11414 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11415 /* harmony export */ });
11416 var unitlessKeys = {
11417 animationIterationCount: 1,
11418 borderImageOutset: 1,
11419 borderImageSlice: 1,
11420 borderImageWidth: 1,
11421 boxFlex: 1,
11422 boxFlexGroup: 1,
11423 boxOrdinalGroup: 1,
11424 columnCount: 1,
11425 columns: 1,
11426 flex: 1,
11427 flexGrow: 1,
11428 flexPositive: 1,
11429 flexShrink: 1,
11430 flexNegative: 1,
11431 flexOrder: 1,
11432 gridRow: 1,
11433 gridRowEnd: 1,
11434 gridRowSpan: 1,
11435 gridRowStart: 1,
11436 gridColumn: 1,
11437 gridColumnEnd: 1,
11438 gridColumnSpan: 1,
11439 gridColumnStart: 1,
11440 msGridRow: 1,
11441 msGridRowSpan: 1,
11442 msGridColumn: 1,
11443 msGridColumnSpan: 1,
11444 fontWeight: 1,
11445 lineHeight: 1,
11446 opacity: 1,
11447 order: 1,
11448 orphans: 1,
11449 tabSize: 1,
11450 widows: 1,
11451 zIndex: 1,
11452 zoom: 1,
11453 WebkitLineClamp: 1,
11454 // SVG-related properties
11455 fillOpacity: 1,
11456 floodOpacity: 1,
11457 stopOpacity: 1,
11458 strokeDasharray: 1,
11459 strokeDashoffset: 1,
11460 strokeMiterlimit: 1,
11461 strokeOpacity: 1,
11462 strokeWidth: 1
11463 };
11464
11465 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11466
11467
11468 /***/ }),
11469
11470 /***/ "../node_modules/validator/lib/isFQDN.js":
11471 /*!***********************************************!*\
11472 !*** ../node_modules/validator/lib/isFQDN.js ***!
11473 \***********************************************/
11474 /***/ ((module, exports, __webpack_require__) => {
11475
11476 "use strict";
11477
11478
11479 Object.defineProperty(exports, "__esModule", ({
11480 value: true
11481 }));
11482 exports["default"] = isFQDN;
11483
11484 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11485
11486 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11487
11488 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11489
11490 var default_fqdn_options = {
11491 require_tld: true,
11492 allow_underscores: false,
11493 allow_trailing_dot: false,
11494 allow_numeric_tld: false,
11495 allow_wildcard: false,
11496 ignore_max_length: false
11497 };
11498
11499 function isFQDN(str, options) {
11500 (0, _assertString.default)(str);
11501 options = (0, _merge.default)(options, default_fqdn_options);
11502 /* Remove the optional trailing dot before checking validity */
11503
11504 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11505 str = str.substring(0, str.length - 1);
11506 }
11507 /* Remove the optional wildcard before checking validity */
11508
11509
11510 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11511 str = str.substring(2);
11512 }
11513
11514 var parts = str.split('.');
11515 var tld = parts[parts.length - 1];
11516
11517 if (options.require_tld) {
11518 // disallow fqdns without tld
11519 if (parts.length < 2) {
11520 return false;
11521 }
11522
11523 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11524 return false;
11525 } // disallow spaces
11526
11527
11528 if (/\s/.test(tld)) {
11529 return false;
11530 }
11531 } // reject numeric TLDs
11532
11533
11534 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11535 return false;
11536 }
11537
11538 return parts.every(function (part) {
11539 if (part.length > 63 && !options.ignore_max_length) {
11540 return false;
11541 }
11542
11543 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11544 return false;
11545 } // disallow full-width chars
11546
11547
11548 if (/[\uff01-\uff5e]/.test(part)) {
11549 return false;
11550 } // disallow parts starting or ending with hyphen
11551
11552
11553 if (/^-|-$/.test(part)) {
11554 return false;
11555 }
11556
11557 if (!options.allow_underscores && /_/.test(part)) {
11558 return false;
11559 }
11560
11561 return true;
11562 });
11563 }
11564
11565 module.exports = exports.default;
11566 module.exports["default"] = exports.default;
11567
11568 /***/ }),
11569
11570 /***/ "../node_modules/validator/lib/isIP.js":
11571 /*!*********************************************!*\
11572 !*** ../node_modules/validator/lib/isIP.js ***!
11573 \*********************************************/
11574 /***/ ((module, exports, __webpack_require__) => {
11575
11576 "use strict";
11577
11578
11579 Object.defineProperty(exports, "__esModule", ({
11580 value: true
11581 }));
11582 exports["default"] = isIP;
11583
11584 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11585
11586 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11587
11588 /**
11589 11.3. Examples
11590
11591 The following addresses
11592
11593 fe80::1234 (on the 1st link of the node)
11594 ff02::5678 (on the 5th link of the node)
11595 ff08::9abc (on the 10th organization of the node)
11596
11597 would be represented as follows:
11598
11599 fe80::1234%1
11600 ff02::5678%5
11601 ff08::9abc%10
11602
11603 (Here we assume a natural translation from a zone index to the
11604 <zone_id> part, where the Nth zone of any scope is translated into
11605 "N".)
11606
11607 If we use interface names as <zone_id>, those addresses could also be
11608 represented as follows:
11609
11610 fe80::1234%ne0
11611 ff02::5678%pvc1.3
11612 ff08::9abc%interface10
11613
11614 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11615 to the 5th link, and "interface10" belongs to the 10th organization.
11616 * * */
11617 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11618 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11619 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11620 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11621 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,})?$');
11622
11623 function isIP(str) {
11624 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11625 (0, _assertString.default)(str);
11626 version = String(version);
11627
11628 if (!version) {
11629 return isIP(str, 4) || isIP(str, 6);
11630 }
11631
11632 if (version === '4') {
11633 return IPv4AddressRegExp.test(str);
11634 }
11635
11636 if (version === '6') {
11637 return IPv6AddressRegExp.test(str);
11638 }
11639
11640 return false;
11641 }
11642
11643 module.exports = exports.default;
11644 module.exports["default"] = exports.default;
11645
11646 /***/ }),
11647
11648 /***/ "../node_modules/validator/lib/isURL.js":
11649 /*!**********************************************!*\
11650 !*** ../node_modules/validator/lib/isURL.js ***!
11651 \**********************************************/
11652 /***/ ((module, exports, __webpack_require__) => {
11653
11654 "use strict";
11655
11656
11657 Object.defineProperty(exports, "__esModule", ({
11658 value: true
11659 }));
11660 exports["default"] = isURL;
11661
11662 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11663
11664 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11665
11666 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11667
11668 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11669
11670 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11671
11672 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11673
11674 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."); }
11675
11676 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); }
11677
11678 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; }
11679
11680 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; }
11681
11682 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11683
11684 /*
11685 options for isURL method
11686
11687 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11688 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11689 protocols - valid protocols can be modified with this option
11690 require_host - if set as false isURL will not check if host is present in the URL
11691 require_port - if set as true isURL will check if port is present in the URL
11692 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11693 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11694
11695 */
11696 var default_url_options = {
11697 protocols: ['http', 'https', 'ftp'],
11698 require_tld: true,
11699 require_protocol: false,
11700 require_host: true,
11701 require_port: false,
11702 require_valid_protocol: true,
11703 allow_underscores: false,
11704 allow_trailing_dot: false,
11705 allow_protocol_relative_urls: false,
11706 allow_fragments: true,
11707 allow_query_components: true,
11708 validate_length: true
11709 };
11710 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11711
11712 function isRegExp(obj) {
11713 return Object.prototype.toString.call(obj) === '[object RegExp]';
11714 }
11715
11716 function checkHost(host, matches) {
11717 for (var i = 0; i < matches.length; i++) {
11718 var match = matches[i];
11719
11720 if (host === match || isRegExp(match) && match.test(host)) {
11721 return true;
11722 }
11723 }
11724
11725 return false;
11726 }
11727
11728 function isURL(url, options) {
11729 (0, _assertString.default)(url);
11730
11731 if (!url || /[\s<>]/.test(url)) {
11732 return false;
11733 }
11734
11735 if (url.indexOf('mailto:') === 0) {
11736 return false;
11737 }
11738
11739 options = (0, _merge.default)(options, default_url_options);
11740
11741 if (options.validate_length && url.length >= 2083) {
11742 return false;
11743 }
11744
11745 if (!options.allow_fragments && url.includes('#')) {
11746 return false;
11747 }
11748
11749 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11750 return false;
11751 }
11752
11753 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11754 split = url.split('#');
11755 url = split.shift();
11756 split = url.split('?');
11757 url = split.shift();
11758 split = url.split('://');
11759
11760 if (split.length > 1) {
11761 protocol = split.shift().toLowerCase();
11762
11763 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11764 return false;
11765 }
11766 } else if (options.require_protocol) {
11767 return false;
11768 } else if (url.slice(0, 2) === '//') {
11769 if (!options.allow_protocol_relative_urls) {
11770 return false;
11771 }
11772
11773 split[0] = url.slice(2);
11774 }
11775
11776 url = split.join('://');
11777
11778 if (url === '') {
11779 return false;
11780 }
11781
11782 split = url.split('/');
11783 url = split.shift();
11784
11785 if (url === '' && !options.require_host) {
11786 return true;
11787 }
11788
11789 split = url.split('@');
11790
11791 if (split.length > 1) {
11792 if (options.disallow_auth) {
11793 return false;
11794 }
11795
11796 if (split[0] === '') {
11797 return false;
11798 }
11799
11800 auth = split.shift();
11801
11802 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11803 return false;
11804 }
11805
11806 var _auth$split = auth.split(':'),
11807 _auth$split2 = _slicedToArray(_auth$split, 2),
11808 user = _auth$split2[0],
11809 password = _auth$split2[1];
11810
11811 if (user === '' && password === '') {
11812 return false;
11813 }
11814 }
11815
11816 hostname = split.join('@');
11817 port_str = null;
11818 ipv6 = null;
11819 var ipv6_match = hostname.match(wrapped_ipv6);
11820
11821 if (ipv6_match) {
11822 host = '';
11823 ipv6 = ipv6_match[1];
11824 port_str = ipv6_match[2] || null;
11825 } else {
11826 split = hostname.split(':');
11827 host = split.shift();
11828
11829 if (split.length) {
11830 port_str = split.join(':');
11831 }
11832 }
11833
11834 if (port_str !== null && port_str.length > 0) {
11835 port = parseInt(port_str, 10);
11836
11837 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11838 return false;
11839 }
11840 } else if (options.require_port) {
11841 return false;
11842 }
11843
11844 if (options.host_whitelist) {
11845 return checkHost(host, options.host_whitelist);
11846 }
11847
11848 if (host === '' && !options.require_host) {
11849 return true;
11850 }
11851
11852 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11853 return false;
11854 }
11855
11856 host = host || ipv6;
11857
11858 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11859 return false;
11860 }
11861
11862 return true;
11863 }
11864
11865 module.exports = exports.default;
11866 module.exports["default"] = exports.default;
11867
11868 /***/ }),
11869
11870 /***/ "../node_modules/validator/lib/util/assertString.js":
11871 /*!**********************************************************!*\
11872 !*** ../node_modules/validator/lib/util/assertString.js ***!
11873 \**********************************************************/
11874 /***/ ((module, exports) => {
11875
11876 "use strict";
11877
11878
11879 Object.defineProperty(exports, "__esModule", ({
11880 value: true
11881 }));
11882 exports["default"] = assertString;
11883
11884 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); }
11885
11886 function assertString(input) {
11887 var isString = typeof input === 'string' || input instanceof String;
11888
11889 if (!isString) {
11890 var invalidType = _typeof(input);
11891
11892 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11893 throw new TypeError("Expected a string but received a ".concat(invalidType));
11894 }
11895 }
11896
11897 module.exports = exports.default;
11898 module.exports["default"] = exports.default;
11899
11900 /***/ }),
11901
11902 /***/ "../node_modules/validator/lib/util/merge.js":
11903 /*!***************************************************!*\
11904 !*** ../node_modules/validator/lib/util/merge.js ***!
11905 \***************************************************/
11906 /***/ ((module, exports) => {
11907
11908 "use strict";
11909
11910
11911 Object.defineProperty(exports, "__esModule", ({
11912 value: true
11913 }));
11914 exports["default"] = merge;
11915
11916 function merge() {
11917 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11918 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11919
11920 for (var key in defaults) {
11921 if (typeof obj[key] === 'undefined') {
11922 obj[key] = defaults[key];
11923 }
11924 }
11925
11926 return obj;
11927 }
11928
11929 module.exports = exports.default;
11930 module.exports["default"] = exports.default;
11931
11932 /***/ }),
11933
11934 /***/ "react":
11935 /*!************************!*\
11936 !*** external "React" ***!
11937 \************************/
11938 /***/ ((module) => {
11939
11940 "use strict";
11941 module.exports = React;
11942
11943 /***/ }),
11944
11945 /***/ "react-dom":
11946 /*!***************************!*\
11947 !*** external "ReactDOM" ***!
11948 \***************************/
11949 /***/ ((module) => {
11950
11951 "use strict";
11952 module.exports = ReactDOM;
11953
11954 /***/ }),
11955
11956 /***/ "@elementor/icons":
11957 /*!************************************!*\
11958 !*** external "elementorV2.icons" ***!
11959 \************************************/
11960 /***/ ((module) => {
11961
11962 "use strict";
11963 module.exports = elementorV2.icons;
11964
11965 /***/ }),
11966
11967 /***/ "@elementor/ui":
11968 /*!*********************************!*\
11969 !*** external "elementorV2.ui" ***!
11970 \*********************************/
11971 /***/ ((module) => {
11972
11973 "use strict";
11974 module.exports = elementorV2.ui;
11975
11976 /***/ }),
11977
11978 /***/ "@wordpress/i18n":
11979 /*!**************************!*\
11980 !*** external "wp.i18n" ***!
11981 \**************************/
11982 /***/ ((module) => {
11983
11984 "use strict";
11985 module.exports = wp.i18n;
11986
11987 /***/ }),
11988
11989 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11990 /*!******************************************************************!*\
11991 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
11992 \******************************************************************/
11993 /***/ ((module) => {
11994
11995 function _arrayLikeToArray(arr, len) {
11996 if (len == null || len > arr.length) len = arr.length;
11997 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11998 return arr2;
11999 }
12000 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12001
12002 /***/ }),
12003
12004 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
12005 /*!****************************************************************!*\
12006 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
12007 \****************************************************************/
12008 /***/ ((module) => {
12009
12010 function _arrayWithHoles(arr) {
12011 if (Array.isArray(arr)) return arr;
12012 }
12013 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12014
12015 /***/ }),
12016
12017 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
12018 /*!*******************************************************************!*\
12019 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
12020 \*******************************************************************/
12021 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12022
12023 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12024 function _arrayWithoutHoles(arr) {
12025 if (Array.isArray(arr)) return arrayLikeToArray(arr);
12026 }
12027 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12028
12029 /***/ }),
12030
12031 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
12032 /*!***********************************************************************!*\
12033 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
12034 \***********************************************************************/
12035 /***/ ((module) => {
12036
12037 function _assertThisInitialized(self) {
12038 if (self === void 0) {
12039 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12040 }
12041 return self;
12042 }
12043 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
12044
12045 /***/ }),
12046
12047 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
12048 /*!******************************************************************!*\
12049 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
12050 \******************************************************************/
12051 /***/ ((module) => {
12052
12053 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
12054 try {
12055 var info = gen[key](arg);
12056 var value = info.value;
12057 } catch (error) {
12058 reject(error);
12059 return;
12060 }
12061 if (info.done) {
12062 resolve(value);
12063 } else {
12064 Promise.resolve(value).then(_next, _throw);
12065 }
12066 }
12067 function _asyncToGenerator(fn) {
12068 return function () {
12069 var self = this,
12070 args = arguments;
12071 return new Promise(function (resolve, reject) {
12072 var gen = fn.apply(self, args);
12073 function _next(value) {
12074 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
12075 }
12076 function _throw(err) {
12077 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
12078 }
12079 _next(undefined);
12080 });
12081 };
12082 }
12083 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
12084
12085 /***/ }),
12086
12087 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
12088 /*!****************************************************************!*\
12089 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
12090 \****************************************************************/
12091 /***/ ((module) => {
12092
12093 function _classCallCheck(instance, Constructor) {
12094 if (!(instance instanceof Constructor)) {
12095 throw new TypeError("Cannot call a class as a function");
12096 }
12097 }
12098 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
12099
12100 /***/ }),
12101
12102 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
12103 /*!*************************************************************!*\
12104 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
12105 \*************************************************************/
12106 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12107
12108 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12109 function _defineProperties(target, props) {
12110 for (var i = 0; i < props.length; i++) {
12111 var descriptor = props[i];
12112 descriptor.enumerable = descriptor.enumerable || false;
12113 descriptor.configurable = true;
12114 if ("value" in descriptor) descriptor.writable = true;
12115 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
12116 }
12117 }
12118 function _createClass(Constructor, protoProps, staticProps) {
12119 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12120 if (staticProps) _defineProperties(Constructor, staticProps);
12121 Object.defineProperty(Constructor, "prototype", {
12122 writable: false
12123 });
12124 return Constructor;
12125 }
12126 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
12127
12128 /***/ }),
12129
12130 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
12131 /*!****************************************************************!*\
12132 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
12133 \****************************************************************/
12134 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12135
12136 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12137 function _defineProperty(obj, key, value) {
12138 key = toPropertyKey(key);
12139 if (key in obj) {
12140 Object.defineProperty(obj, key, {
12141 value: value,
12142 enumerable: true,
12143 configurable: true,
12144 writable: true
12145 });
12146 } else {
12147 obj[key] = value;
12148 }
12149 return obj;
12150 }
12151 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
12152
12153 /***/ }),
12154
12155 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
12156 /*!*********************************************************!*\
12157 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
12158 \*********************************************************/
12159 /***/ ((module) => {
12160
12161 function _extends() {
12162 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
12163 for (var i = 1; i < arguments.length; i++) {
12164 var source = arguments[i];
12165 for (var key in source) {
12166 if (Object.prototype.hasOwnProperty.call(source, key)) {
12167 target[key] = source[key];
12168 }
12169 }
12170 }
12171 return target;
12172 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12173 return _extends.apply(this, arguments);
12174 }
12175 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
12176
12177 /***/ }),
12178
12179 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
12180 /*!****************************************************************!*\
12181 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
12182 \****************************************************************/
12183 /***/ ((module) => {
12184
12185 function _getPrototypeOf(o) {
12186 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
12187 return o.__proto__ || Object.getPrototypeOf(o);
12188 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12189 return _getPrototypeOf(o);
12190 }
12191 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12192
12193 /***/ }),
12194
12195 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
12196 /*!**********************************************************!*\
12197 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
12198 \**********************************************************/
12199 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12200
12201 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
12202 function _inherits(subClass, superClass) {
12203 if (typeof superClass !== "function" && superClass !== null) {
12204 throw new TypeError("Super expression must either be null or a function");
12205 }
12206 subClass.prototype = Object.create(superClass && superClass.prototype, {
12207 constructor: {
12208 value: subClass,
12209 writable: true,
12210 configurable: true
12211 }
12212 });
12213 Object.defineProperty(subClass, "prototype", {
12214 writable: false
12215 });
12216 if (superClass) setPrototypeOf(subClass, superClass);
12217 }
12218 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
12219
12220 /***/ }),
12221
12222 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
12223 /*!***********************************************************************!*\
12224 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
12225 \***********************************************************************/
12226 /***/ ((module) => {
12227
12228 function _interopRequireDefault(obj) {
12229 return obj && obj.__esModule ? obj : {
12230 "default": obj
12231 };
12232 }
12233 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
12234
12235 /***/ }),
12236
12237 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
12238 /*!*****************************************************************!*\
12239 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
12240 \*****************************************************************/
12241 /***/ ((module) => {
12242
12243 function _iterableToArray(iter) {
12244 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12245 }
12246 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12247
12248 /***/ }),
12249
12250 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
12251 /*!**********************************************************************!*\
12252 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
12253 \**********************************************************************/
12254 /***/ ((module) => {
12255
12256 function _iterableToArrayLimit(r, l) {
12257 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
12258 if (null != t) {
12259 var e,
12260 n,
12261 i,
12262 u,
12263 a = [],
12264 f = !0,
12265 o = !1;
12266 try {
12267 if (i = (t = t.call(r)).next, 0 === l) {
12268 if (Object(t) !== t) return;
12269 f = !1;
12270 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12271 } catch (r) {
12272 o = !0, n = r;
12273 } finally {
12274 try {
12275 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12276 } finally {
12277 if (o) throw n;
12278 }
12279 }
12280 return a;
12281 }
12282 }
12283 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12284
12285 /***/ }),
12286
12287 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12288 /*!*****************************************************************!*\
12289 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12290 \*****************************************************************/
12291 /***/ ((module) => {
12292
12293 function _nonIterableRest() {
12294 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12295 }
12296 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12297
12298 /***/ }),
12299
12300 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12301 /*!*******************************************************************!*\
12302 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12303 \*******************************************************************/
12304 /***/ ((module) => {
12305
12306 function _nonIterableSpread() {
12307 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12308 }
12309 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12310
12311 /***/ }),
12312
12313 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12314 /*!*************************************************************************!*\
12315 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12316 \*************************************************************************/
12317 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12318
12319 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12320 function _objectWithoutProperties(source, excluded) {
12321 if (source == null) return {};
12322 var target = objectWithoutPropertiesLoose(source, excluded);
12323 var key, i;
12324 if (Object.getOwnPropertySymbols) {
12325 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12326 for (i = 0; i < sourceSymbolKeys.length; i++) {
12327 key = sourceSymbolKeys[i];
12328 if (excluded.indexOf(key) >= 0) continue;
12329 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12330 target[key] = source[key];
12331 }
12332 }
12333 return target;
12334 }
12335 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12336
12337 /***/ }),
12338
12339 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12340 /*!******************************************************************************!*\
12341 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12342 \******************************************************************************/
12343 /***/ ((module) => {
12344
12345 function _objectWithoutPropertiesLoose(source, excluded) {
12346 if (source == null) return {};
12347 var target = {};
12348 var sourceKeys = Object.keys(source);
12349 var key, i;
12350 for (i = 0; i < sourceKeys.length; i++) {
12351 key = sourceKeys[i];
12352 if (excluded.indexOf(key) >= 0) continue;
12353 target[key] = source[key];
12354 }
12355 return target;
12356 }
12357 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12358
12359 /***/ }),
12360
12361 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12362 /*!***************************************************************************!*\
12363 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12364 \***************************************************************************/
12365 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12366
12367 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12368 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12369 function _possibleConstructorReturn(self, call) {
12370 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12371 return call;
12372 } else if (call !== void 0) {
12373 throw new TypeError("Derived constructors may only return object or undefined");
12374 }
12375 return assertThisInitialized(self);
12376 }
12377 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12378
12379 /***/ }),
12380
12381 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12382 /*!********************************************************************!*\
12383 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12384 \********************************************************************/
12385 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12386
12387 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12388 function _regeneratorRuntime() {
12389 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12390 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12391 return e;
12392 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12393 var t,
12394 e = {},
12395 r = Object.prototype,
12396 n = r.hasOwnProperty,
12397 o = Object.defineProperty || function (t, e, r) {
12398 t[e] = r.value;
12399 },
12400 i = "function" == typeof Symbol ? Symbol : {},
12401 a = i.iterator || "@@iterator",
12402 c = i.asyncIterator || "@@asyncIterator",
12403 u = i.toStringTag || "@@toStringTag";
12404 function define(t, e, r) {
12405 return Object.defineProperty(t, e, {
12406 value: r,
12407 enumerable: !0,
12408 configurable: !0,
12409 writable: !0
12410 }), t[e];
12411 }
12412 try {
12413 define({}, "");
12414 } catch (t) {
12415 define = function define(t, e, r) {
12416 return t[e] = r;
12417 };
12418 }
12419 function wrap(t, e, r, n) {
12420 var i = e && e.prototype instanceof Generator ? e : Generator,
12421 a = Object.create(i.prototype),
12422 c = new Context(n || []);
12423 return o(a, "_invoke", {
12424 value: makeInvokeMethod(t, r, c)
12425 }), a;
12426 }
12427 function tryCatch(t, e, r) {
12428 try {
12429 return {
12430 type: "normal",
12431 arg: t.call(e, r)
12432 };
12433 } catch (t) {
12434 return {
12435 type: "throw",
12436 arg: t
12437 };
12438 }
12439 }
12440 e.wrap = wrap;
12441 var h = "suspendedStart",
12442 l = "suspendedYield",
12443 f = "executing",
12444 s = "completed",
12445 y = {};
12446 function Generator() {}
12447 function GeneratorFunction() {}
12448 function GeneratorFunctionPrototype() {}
12449 var p = {};
12450 define(p, a, function () {
12451 return this;
12452 });
12453 var d = Object.getPrototypeOf,
12454 v = d && d(d(values([])));
12455 v && v !== r && n.call(v, a) && (p = v);
12456 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12457 function defineIteratorMethods(t) {
12458 ["next", "throw", "return"].forEach(function (e) {
12459 define(t, e, function (t) {
12460 return this._invoke(e, t);
12461 });
12462 });
12463 }
12464 function AsyncIterator(t, e) {
12465 function invoke(r, o, i, a) {
12466 var c = tryCatch(t[r], t, o);
12467 if ("throw" !== c.type) {
12468 var u = c.arg,
12469 h = u.value;
12470 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12471 invoke("next", t, i, a);
12472 }, function (t) {
12473 invoke("throw", t, i, a);
12474 }) : e.resolve(h).then(function (t) {
12475 u.value = t, i(u);
12476 }, function (t) {
12477 return invoke("throw", t, i, a);
12478 });
12479 }
12480 a(c.arg);
12481 }
12482 var r;
12483 o(this, "_invoke", {
12484 value: function value(t, n) {
12485 function callInvokeWithMethodAndArg() {
12486 return new e(function (e, r) {
12487 invoke(t, n, e, r);
12488 });
12489 }
12490 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12491 }
12492 });
12493 }
12494 function makeInvokeMethod(e, r, n) {
12495 var o = h;
12496 return function (i, a) {
12497 if (o === f) throw new Error("Generator is already running");
12498 if (o === s) {
12499 if ("throw" === i) throw a;
12500 return {
12501 value: t,
12502 done: !0
12503 };
12504 }
12505 for (n.method = i, n.arg = a;;) {
12506 var c = n.delegate;
12507 if (c) {
12508 var u = maybeInvokeDelegate(c, n);
12509 if (u) {
12510 if (u === y) continue;
12511 return u;
12512 }
12513 }
12514 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12515 if (o === h) throw o = s, n.arg;
12516 n.dispatchException(n.arg);
12517 } else "return" === n.method && n.abrupt("return", n.arg);
12518 o = f;
12519 var p = tryCatch(e, r, n);
12520 if ("normal" === p.type) {
12521 if (o = n.done ? s : l, p.arg === y) continue;
12522 return {
12523 value: p.arg,
12524 done: n.done
12525 };
12526 }
12527 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12528 }
12529 };
12530 }
12531 function maybeInvokeDelegate(e, r) {
12532 var n = r.method,
12533 o = e.iterator[n];
12534 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;
12535 var i = tryCatch(o, e.iterator, r.arg);
12536 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12537 var a = i.arg;
12538 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);
12539 }
12540 function pushTryEntry(t) {
12541 var e = {
12542 tryLoc: t[0]
12543 };
12544 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12545 }
12546 function resetTryEntry(t) {
12547 var e = t.completion || {};
12548 e.type = "normal", delete e.arg, t.completion = e;
12549 }
12550 function Context(t) {
12551 this.tryEntries = [{
12552 tryLoc: "root"
12553 }], t.forEach(pushTryEntry, this), this.reset(!0);
12554 }
12555 function values(e) {
12556 if (e || "" === e) {
12557 var r = e[a];
12558 if (r) return r.call(e);
12559 if ("function" == typeof e.next) return e;
12560 if (!isNaN(e.length)) {
12561 var o = -1,
12562 i = function next() {
12563 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12564 return next.value = t, next.done = !0, next;
12565 };
12566 return i.next = i;
12567 }
12568 }
12569 throw new TypeError(_typeof(e) + " is not iterable");
12570 }
12571 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12572 value: GeneratorFunctionPrototype,
12573 configurable: !0
12574 }), o(GeneratorFunctionPrototype, "constructor", {
12575 value: GeneratorFunction,
12576 configurable: !0
12577 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12578 var e = "function" == typeof t && t.constructor;
12579 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12580 }, e.mark = function (t) {
12581 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12582 }, e.awrap = function (t) {
12583 return {
12584 __await: t
12585 };
12586 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12587 return this;
12588 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12589 void 0 === i && (i = Promise);
12590 var a = new AsyncIterator(wrap(t, r, n, o), i);
12591 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12592 return t.done ? t.value : a.next();
12593 });
12594 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12595 return this;
12596 }), define(g, "toString", function () {
12597 return "[object Generator]";
12598 }), e.keys = function (t) {
12599 var e = Object(t),
12600 r = [];
12601 for (var n in e) r.push(n);
12602 return r.reverse(), function next() {
12603 for (; r.length;) {
12604 var t = r.pop();
12605 if (t in e) return next.value = t, next.done = !1, next;
12606 }
12607 return next.done = !0, next;
12608 };
12609 }, e.values = values, Context.prototype = {
12610 constructor: Context,
12611 reset: function reset(e) {
12612 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);
12613 },
12614 stop: function stop() {
12615 this.done = !0;
12616 var t = this.tryEntries[0].completion;
12617 if ("throw" === t.type) throw t.arg;
12618 return this.rval;
12619 },
12620 dispatchException: function dispatchException(e) {
12621 if (this.done) throw e;
12622 var r = this;
12623 function handle(n, o) {
12624 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12625 }
12626 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12627 var i = this.tryEntries[o],
12628 a = i.completion;
12629 if ("root" === i.tryLoc) return handle("end");
12630 if (i.tryLoc <= this.prev) {
12631 var c = n.call(i, "catchLoc"),
12632 u = n.call(i, "finallyLoc");
12633 if (c && u) {
12634 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12635 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12636 } else if (c) {
12637 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12638 } else {
12639 if (!u) throw new Error("try statement without catch or finally");
12640 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12641 }
12642 }
12643 }
12644 },
12645 abrupt: function abrupt(t, e) {
12646 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12647 var o = this.tryEntries[r];
12648 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12649 var i = o;
12650 break;
12651 }
12652 }
12653 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12654 var a = i ? i.completion : {};
12655 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12656 },
12657 complete: function complete(t, e) {
12658 if ("throw" === t.type) throw t.arg;
12659 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;
12660 },
12661 finish: function finish(t) {
12662 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12663 var r = this.tryEntries[e];
12664 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12665 }
12666 },
12667 "catch": function _catch(t) {
12668 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12669 var r = this.tryEntries[e];
12670 if (r.tryLoc === t) {
12671 var n = r.completion;
12672 if ("throw" === n.type) {
12673 var o = n.arg;
12674 resetTryEntry(r);
12675 }
12676 return o;
12677 }
12678 }
12679 throw new Error("illegal catch attempt");
12680 },
12681 delegateYield: function delegateYield(e, r, n) {
12682 return this.delegate = {
12683 iterator: values(e),
12684 resultName: r,
12685 nextLoc: n
12686 }, "next" === this.method && (this.arg = t), y;
12687 }
12688 }, e;
12689 }
12690 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12691
12692 /***/ }),
12693
12694 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12695 /*!****************************************************************!*\
12696 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12697 \****************************************************************/
12698 /***/ ((module) => {
12699
12700 function _setPrototypeOf(o, p) {
12701 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12702 o.__proto__ = p;
12703 return o;
12704 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12705 return _setPrototypeOf(o, p);
12706 }
12707 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12708
12709 /***/ }),
12710
12711 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12712 /*!***************************************************************!*\
12713 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12714 \***************************************************************/
12715 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12716
12717 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12718 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12719 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12720 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12721 function _slicedToArray(arr, i) {
12722 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12723 }
12724 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12725
12726 /***/ }),
12727
12728 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12729 /*!***********************************************************************!*\
12730 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12731 \***********************************************************************/
12732 /***/ ((module) => {
12733
12734 function _taggedTemplateLiteral(strings, raw) {
12735 if (!raw) {
12736 raw = strings.slice(0);
12737 }
12738 return Object.freeze(Object.defineProperties(strings, {
12739 raw: {
12740 value: Object.freeze(raw)
12741 }
12742 }));
12743 }
12744 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12745
12746 /***/ }),
12747
12748 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12749 /*!*******************************************************************!*\
12750 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12751 \*******************************************************************/
12752 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12753
12754 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12755 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12756 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12757 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12758 function _toConsumableArray(arr) {
12759 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12760 }
12761 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12762
12763 /***/ }),
12764
12765 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12766 /*!*************************************************************!*\
12767 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12768 \*************************************************************/
12769 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12770
12771 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12772 function toPrimitive(t, r) {
12773 if ("object" != _typeof(t) || !t) return t;
12774 var e = t[Symbol.toPrimitive];
12775 if (void 0 !== e) {
12776 var i = e.call(t, r || "default");
12777 if ("object" != _typeof(i)) return i;
12778 throw new TypeError("@@toPrimitive must return a primitive value.");
12779 }
12780 return ("string" === r ? String : Number)(t);
12781 }
12782 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12783
12784 /***/ }),
12785
12786 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12787 /*!***************************************************************!*\
12788 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12789 \***************************************************************/
12790 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12791
12792 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12793 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12794 function toPropertyKey(t) {
12795 var i = toPrimitive(t, "string");
12796 return "symbol" == _typeof(i) ? i : String(i);
12797 }
12798 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12799
12800 /***/ }),
12801
12802 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12803 /*!********************************************************!*\
12804 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12805 \********************************************************/
12806 /***/ ((module) => {
12807
12808 function _typeof(o) {
12809 "@babel/helpers - typeof";
12810
12811 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12812 return typeof o;
12813 } : function (o) {
12814 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12815 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12816 }
12817 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12818
12819 /***/ }),
12820
12821 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12822 /*!****************************************************************************!*\
12823 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12824 \****************************************************************************/
12825 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12826
12827 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12828 function _unsupportedIterableToArray(o, minLen) {
12829 if (!o) return;
12830 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12831 var n = Object.prototype.toString.call(o).slice(8, -1);
12832 if (n === "Object" && o.constructor) n = o.constructor.name;
12833 if (n === "Map" || n === "Set") return Array.from(o);
12834 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12835 }
12836 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12837
12838 /***/ }),
12839
12840 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12841 /*!***********************************************************!*\
12842 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12843 \***********************************************************/
12844 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12845
12846 // TODO(Babel 8): Remove this file.
12847
12848 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12849 module.exports = runtime;
12850
12851 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12852 try {
12853 regeneratorRuntime = runtime;
12854 } catch (accidentalStrictMode) {
12855 if (typeof globalThis === "object") {
12856 globalThis.regeneratorRuntime = runtime;
12857 } else {
12858 Function("r", "regeneratorRuntime = r")(runtime);
12859 }
12860 }
12861
12862
12863 /***/ })
12864
12865 /******/ });
12866 /************************************************************************/
12867 /******/ // The module cache
12868 /******/ var __webpack_module_cache__ = {};
12869 /******/
12870 /******/ // The require function
12871 /******/ function __webpack_require__(moduleId) {
12872 /******/ // Check if module is in cache
12873 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12874 /******/ if (cachedModule !== undefined) {
12875 /******/ return cachedModule.exports;
12876 /******/ }
12877 /******/ // Create a new module (and put it into the cache)
12878 /******/ var module = __webpack_module_cache__[moduleId] = {
12879 /******/ // no module.id needed
12880 /******/ // no module.loaded needed
12881 /******/ exports: {}
12882 /******/ };
12883 /******/
12884 /******/ // Execute the module function
12885 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12886 /******/
12887 /******/ // Return the exports of the module
12888 /******/ return module.exports;
12889 /******/ }
12890 /******/
12891 /************************************************************************/
12892 /******/ /* webpack/runtime/compat get default export */
12893 /******/ (() => {
12894 /******/ // getDefaultExport function for compatibility with non-harmony modules
12895 /******/ __webpack_require__.n = (module) => {
12896 /******/ var getter = module && module.__esModule ?
12897 /******/ () => (module['default']) :
12898 /******/ () => (module);
12899 /******/ __webpack_require__.d(getter, { a: getter });
12900 /******/ return getter;
12901 /******/ };
12902 /******/ })();
12903 /******/
12904 /******/ /* webpack/runtime/define property getters */
12905 /******/ (() => {
12906 /******/ // define getter functions for harmony exports
12907 /******/ __webpack_require__.d = (exports, definition) => {
12908 /******/ for(var key in definition) {
12909 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12910 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12911 /******/ }
12912 /******/ }
12913 /******/ };
12914 /******/ })();
12915 /******/
12916 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12917 /******/ (() => {
12918 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12919 /******/ })();
12920 /******/
12921 /******/ /* webpack/runtime/make namespace object */
12922 /******/ (() => {
12923 /******/ // define __esModule on exports
12924 /******/ __webpack_require__.r = (exports) => {
12925 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12926 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12927 /******/ }
12928 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12929 /******/ };
12930 /******/ })();
12931 /******/
12932 /******/ /* webpack/runtime/nonce */
12933 /******/ (() => {
12934 /******/ __webpack_require__.nc = undefined;
12935 /******/ })();
12936 /******/
12937 /************************************************************************/
12938 var __webpack_exports__ = {};
12939 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12940 (() => {
12941 "use strict";
12942 var exports = __webpack_exports__;
12943 /*!*******************************************************!*\
12944 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12945 \*******************************************************/
12946
12947
12948 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12949 Object.defineProperty(exports, "__esModule", ({
12950 value: true
12951 }));
12952 exports["default"] = exports.AI_ATTACHMENT = void 0;
12953 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12954 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12955 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12956 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12957 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12958 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12959 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12960 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12961 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12962 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12963 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12964 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12965 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12966 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"));
12967 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12968 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); }; }
12969 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; } }
12970 var AI_ATTACHMENT = 'ai-attachment';
12971 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12972 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12973 (0, _inherits2.default)(Module, _elementorModules$edi);
12974 var _super = _createSuper(Module);
12975 function Module() {
12976 var _this;
12977 (0, _classCallCheck2.default)(this, Module);
12978 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12979 args[_key] = arguments[_key];
12980 }
12981 _this = _super.call.apply(_super, [this].concat(args));
12982 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12983 var _ElementorAiConfig, _ElementorAiConfig$us;
12984 var saveGroup = groups.find(function (group) {
12985 return 'save' === group.name;
12986 });
12987 if (!saveGroup) {
12988 return groups;
12989 }
12990 var contextMenu = {
12991 name: 'ai',
12992 icon: 'eicon-ai',
12993 isEnabled: function isEnabled() {
12994 return 0 !== currentElement.getContainer().children.length;
12995 },
12996 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
12997 callback: function () {
12998 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
12999 var container, json, attachments;
13000 return _regenerator.default.wrap(function _callee$(_context) {
13001 while (1) switch (_context.prev = _context.next) {
13002 case 0:
13003 container = currentElement.getContainer();
13004 json = container.model.toJSON({
13005 remove: ['default']
13006 });
13007 attachments = [{
13008 type: 'json',
13009 previewHTML: '',
13010 content: json,
13011 label: container.model.get('title'),
13012 source: _attachments.USER_VARIATION_SOURCE
13013 }];
13014 (0, _editorIntegration.renderLayoutApp)({
13015 parentContainer: container.parent,
13016 mode: _config.MODE_VARIATION,
13017 at: container.view._index,
13018 attachments: attachments,
13019 onSelect: function onSelect() {
13020 container.view.$el.hide();
13021 },
13022 onClose: function onClose() {
13023 container.view.$el.show();
13024 },
13025 onInsert: function onInsert(template) {
13026 (0, _editorIntegration.importToEditor)({
13027 parentContainer: container.parent,
13028 at: container.view._index,
13029 template: template,
13030 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
13031 replace: true
13032 });
13033 }
13034 });
13035 case 4:
13036 case "end":
13037 return _context.stop();
13038 }
13039 }, _callee);
13040 }));
13041 function callback() {
13042 return _callback.apply(this, arguments);
13043 }
13044 return callback;
13045 }()
13046 };
13047 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
13048 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>";
13049 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
13050 }
13051
13052 // Add on top of save group actions
13053 saveGroup.actions.unshift(contextMenu);
13054 return groups;
13055 });
13056 return _this;
13057 }
13058 (0, _createClass2.default)(Module, [{
13059 key: "onElementorInit",
13060 value: function onElementorInit() {
13061 var _this2 = this;
13062 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
13063 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
13064 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
13065 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
13066 $e.commands.register('library', 'generate-ai-variation', function (args) {
13067 return _this2.applyTemplate(args);
13068 });
13069 }
13070 }, {
13071 key: "applyTemplate",
13072 value: function applyTemplate(args) {
13073 window.postMessage({
13074 type: 'library/attach:start'
13075 });
13076 $e.components.get('library').downloadTemplate(args, function (data) {
13077 var model = args.model;
13078 window.postMessage({
13079 type: 'library/attach',
13080 json: data.content[0],
13081 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
13082 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
13083 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
13084 }, window.location.origin);
13085 });
13086 }
13087 }, {
13088 key: "registerLibraryActionButtonBehavior",
13089 value: function registerLibraryActionButtonBehavior(behaviors) {
13090 behaviors.applyAiTemplate = {
13091 behaviorClass: _applyTemplateForAiBehavior.default
13092 };
13093 return behaviors;
13094 }
13095 }, {
13096 key: "registerAiLayoutBehavior",
13097 value: function registerAiLayoutBehavior(behaviors) {
13098 behaviors.ai = {
13099 behaviorClass: _aiLayoutBehavior.default,
13100 context: {
13101 documentType: window.elementor.documents.getCurrent().config.type
13102 }
13103 };
13104 return behaviors;
13105 }
13106 }, {
13107 key: "filterLibraryActionButtonTemplate",
13108 value: function filterLibraryActionButtonTemplate(viewId) {
13109 var modalConfig = $e.components.get('library').manager.modalConfig;
13110 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
13111 if (originalCoreViewId !== viewId) {
13112 return viewId;
13113 }
13114 if ($e.routes.current.library !== 'library/templates/blocks') {
13115 return viewId;
13116 }
13117 if (AI_ATTACHMENT === modalConfig.mode) {
13118 viewId = '#tmpl-elementor-template-library-apply-ai-button';
13119 } else {
13120 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
13121 }
13122 return viewId;
13123 }
13124 }]);
13125 return Module;
13126 }(elementorModules.editor.utils.Module);
13127 exports["default"] = Module;
13128 new Module();
13129 })();
13130
13131 /******/ })()
13132 ;
13133 //# sourceMappingURL=ai-layout.js.map