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

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

12,807 lines 566.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.19.0 - 05-02-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!********************************************************************************!*\
7 !*** ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \********************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 "use strict";
12 __webpack_require__.r(__webpack_exports__);
13 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14 /* harmony export */ "default": () => (/* binding */ isPropValid)
15 /* harmony export */ });
16 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
17
18
19 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
20
21 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
22 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
23 /* o */
24 && prop.charCodeAt(1) === 110
25 /* n */
26 && prop.charCodeAt(2) < 91;
27 }
28 /* Z+1 */
29 );
30
31
32
33
34 /***/ }),
35
36 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
37 /*!********************************************************************!*\
38 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
39 \********************************************************************/
40 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
42 "use strict";
43 __webpack_require__.r(__webpack_exports__);
44 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45 /* harmony export */ "default": () => (/* binding */ memoize)
46 /* harmony export */ });
47 function memoize(fn) {
48 var cache = Object.create(null);
49 return function (arg) {
50 if (cache[arg] === undefined) cache[arg] = fn(arg);
51 return cache[arg];
52 };
53 }
54
55
56
57
58 /***/ }),
59
60 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
61 /*!******************************************************************!*\
62 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
63 \******************************************************************/
64 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65
66 "use strict";
67 __webpack_require__.r(__webpack_exports__);
68 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
70 /* harmony export */ });
71 function stylis_min (W) {
72 function M(d, c, e, h, a) {
73 for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
74 g = e.charCodeAt(l);
75 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
76
77 if (0 === b + n + v + m) {
78 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
79 switch (g) {
80 case 32:
81 case 9:
82 case 59:
83 case 13:
84 case 10:
85 break;
86
87 default:
88 f += e.charAt(l);
89 }
90
91 g = 59;
92 }
93
94 switch (g) {
95 case 123:
96 f = f.trim();
97 q = f.charCodeAt(0);
98 k = 1;
99
100 for (t = ++l; l < B;) {
101 switch (g = e.charCodeAt(l)) {
102 case 123:
103 k++;
104 break;
105
106 case 125:
107 k--;
108 break;
109
110 case 47:
111 switch (g = e.charCodeAt(l + 1)) {
112 case 42:
113 case 47:
114 a: {
115 for (u = l + 1; u < J; ++u) {
116 switch (e.charCodeAt(u)) {
117 case 47:
118 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
119 l = u + 1;
120 break a;
121 }
122
123 break;
124
125 case 10:
126 if (47 === g) {
127 l = u + 1;
128 break a;
129 }
130
131 }
132 }
133
134 l = u;
135 }
136
137 }
138
139 break;
140
141 case 91:
142 g++;
143
144 case 40:
145 g++;
146
147 case 34:
148 case 39:
149 for (; l++ < J && e.charCodeAt(l) !== g;) {
150 }
151
152 }
153
154 if (0 === k) break;
155 l++;
156 }
157
158 k = e.substring(t, l);
159 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
160
161 switch (q) {
162 case 64:
163 0 < r && (f = f.replace(N, ''));
164 g = f.charCodeAt(1);
165
166 switch (g) {
167 case 100:
168 case 109:
169 case 115:
170 case 45:
171 r = c;
172 break;
173
174 default:
175 r = O;
176 }
177
178 k = M(c, r, k, g, a + 1);
179 t = k.length;
180 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
181 if (0 < t) switch (g) {
182 case 115:
183 f = f.replace(da, ea);
184
185 case 100:
186 case 109:
187 case 45:
188 k = f + '{' + k + '}';
189 break;
190
191 case 107:
192 f = f.replace(fa, '$1 $2');
193 k = f + '{' + k + '}';
194 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
195 break;
196
197 default:
198 k = f + k, 112 === h && (k = (p += k, ''));
199 } else k = '';
200 break;
201
202 default:
203 k = M(c, X(c, f, I), k, h, a + 1);
204 }
205
206 F += k;
207 k = I = r = u = q = 0;
208 f = '';
209 g = e.charCodeAt(++l);
210 break;
211
212 case 125:
213 case 59:
214 f = (0 < r ? f.replace(N, '') : f).trim();
215 if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
216 case 0:
217 break;
218
219 case 64:
220 if (105 === g || 99 === g) {
221 G += f + e.charAt(l);
222 break;
223 }
224
225 default:
226 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
227 }
228 I = r = u = q = 0;
229 f = '';
230 g = e.charCodeAt(++l);
231 }
232 }
233
234 switch (g) {
235 case 13:
236 case 10:
237 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
238 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
239 z = 1;
240 D++;
241 break;
242
243 case 59:
244 case 125:
245 if (0 === b + n + v + m) {
246 z++;
247 break;
248 }
249
250 default:
251 z++;
252 y = e.charAt(l);
253
254 switch (g) {
255 case 9:
256 case 32:
257 if (0 === n + m + b) switch (x) {
258 case 44:
259 case 58:
260 case 9:
261 case 32:
262 y = '';
263 break;
264
265 default:
266 32 !== g && (y = ' ');
267 }
268 break;
269
270 case 0:
271 y = '\\0';
272 break;
273
274 case 12:
275 y = '\\f';
276 break;
277
278 case 11:
279 y = '\\v';
280 break;
281
282 case 38:
283 0 === n + b + m && (r = I = 1, y = '\f' + y);
284 break;
285
286 case 108:
287 if (0 === n + b + m + E && 0 < u) switch (l - u) {
288 case 2:
289 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
290
291 case 8:
292 111 === K && (E = K);
293 }
294 break;
295
296 case 58:
297 0 === n + b + m && (u = l);
298 break;
299
300 case 44:
301 0 === b + v + n + m && (r = 1, y += '\r');
302 break;
303
304 case 34:
305 case 39:
306 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
307 break;
308
309 case 91:
310 0 === n + b + v && m++;
311 break;
312
313 case 93:
314 0 === n + b + v && m--;
315 break;
316
317 case 41:
318 0 === n + b + m && v--;
319 break;
320
321 case 40:
322 if (0 === n + b + m) {
323 if (0 === q) switch (2 * x + 3 * K) {
324 case 533:
325 break;
326
327 default:
328 q = 1;
329 }
330 v++;
331 }
332
333 break;
334
335 case 64:
336 0 === b + v + n + m + u + k && (k = 1);
337 break;
338
339 case 42:
340 case 47:
341 if (!(0 < n + m + v)) switch (b) {
342 case 0:
343 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
344 case 235:
345 b = 47;
346 break;
347
348 case 220:
349 t = l, b = 42;
350 }
351
352 break;
353
354 case 42:
355 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
356 }
357 }
358
359 0 === b && (f += y);
360 }
361
362 K = x;
363 x = g;
364 l++;
365 }
366
367 t = p.length;
368
369 if (0 < t) {
370 r = c;
371 if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
372 p = r.join(',') + '{' + p + '}';
373
374 if (0 !== w * E) {
375 2 !== w || L(p, 2) || (E = 0);
376
377 switch (E) {
378 case 111:
379 p = p.replace(ha, ':-moz-$1') + p;
380 break;
381
382 case 112:
383 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
384 }
385
386 E = 0;
387 }
388 }
389
390 return G + p + F;
391 }
392
393 function X(d, c, e) {
394 var h = c.trim().split(ia);
395 c = h;
396 var a = h.length,
397 m = d.length;
398
399 switch (m) {
400 case 0:
401 case 1:
402 var b = 0;
403
404 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
405 c[b] = Z(d, c[b], e).trim();
406 }
407
408 break;
409
410 default:
411 var v = b = 0;
412
413 for (c = []; b < a; ++b) {
414 for (var n = 0; n < m; ++n) {
415 c[v++] = Z(d[n] + ' ', h[b], e).trim();
416 }
417 }
418
419 }
420
421 return c;
422 }
423
424 function Z(d, c, e) {
425 var h = c.charCodeAt(0);
426 33 > h && (h = (c = c.trim()).charCodeAt(0));
427
428 switch (h) {
429 case 38:
430 return c.replace(F, '$1' + d.trim());
431
432 case 58:
433 return d.trim() + c.replace(F, '$1' + d.trim());
434
435 default:
436 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
437 }
438
439 return d + c;
440 }
441
442 function P(d, c, e, h) {
443 var a = d + ';',
444 m = 2 * c + 3 * e + 4 * h;
445
446 if (944 === m) {
447 d = a.indexOf(':', 9) + 1;
448 var b = a.substring(d, a.length - 1).trim();
449 b = a.substring(0, d).trim() + b + ';';
450 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
451 }
452
453 if (0 === w || 2 === w && !L(a, 1)) return a;
454
455 switch (m) {
456 case 1015:
457 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
458
459 case 951:
460 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
461
462 case 963:
463 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
464
465 case 1009:
466 if (100 !== a.charCodeAt(4)) break;
467
468 case 969:
469 case 942:
470 return '-webkit-' + a + a;
471
472 case 978:
473 return '-webkit-' + a + '-moz-' + a + a;
474
475 case 1019:
476 case 983:
477 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
478
479 case 883:
480 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
481 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
482 break;
483
484 case 932:
485 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
486 case 103:
487 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
488
489 case 115:
490 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
491
492 case 98:
493 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
494 }
495 return '-webkit-' + a + '-ms-' + a + a;
496
497 case 964:
498 return '-webkit-' + a + '-ms-flex-' + a + a;
499
500 case 1023:
501 if (99 !== a.charCodeAt(8)) break;
502 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
503 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
504
505 case 1005:
506 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
507
508 case 1e3:
509 b = a.substring(13).trim();
510 c = b.indexOf('-') + 1;
511
512 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
513 case 226:
514 b = a.replace(G, 'tb');
515 break;
516
517 case 232:
518 b = a.replace(G, 'tb-rl');
519 break;
520
521 case 220:
522 b = a.replace(G, 'lr');
523 break;
524
525 default:
526 return a;
527 }
528
529 return '-webkit-' + a + '-ms-' + b + a;
530
531 case 1017:
532 if (-1 === a.indexOf('sticky', 9)) break;
533
534 case 975:
535 c = (a = d).length - 10;
536 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
537
538 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
539 case 203:
540 if (111 > b.charCodeAt(8)) break;
541
542 case 115:
543 a = a.replace(b, '-webkit-' + b) + ';' + a;
544 break;
545
546 case 207:
547 case 102:
548 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
549 }
550
551 return a + ';';
552
553 case 938:
554 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
555 case 105:
556 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
557
558 case 115:
559 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
560
561 default:
562 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
563 }
564 break;
565
566 case 973:
567 case 989:
568 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
569
570 case 931:
571 case 953:
572 if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
573 break;
574
575 case 962:
576 if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
577 }
578
579 return a;
580 }
581
582 function L(d, c) {
583 var e = d.indexOf(1 === c ? ':' : '{'),
584 h = d.substring(0, 3 !== c ? e : 10);
585 e = d.substring(e + 1, d.length - 1);
586 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
587 }
588
589 function ea(d, c) {
590 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
591 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
592 }
593
594 function H(d, c, e, h, a, m, b, v, n, q) {
595 for (var g = 0, x = c, w; g < A; ++g) {
596 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
597 case void 0:
598 case !1:
599 case !0:
600 case null:
601 break;
602
603 default:
604 x = w;
605 }
606 }
607
608 if (x !== c) return x;
609 }
610
611 function T(d) {
612 switch (d) {
613 case void 0:
614 case null:
615 A = S.length = 0;
616 break;
617
618 default:
619 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
620 T(d[c]);
621 } else Y = !!d | 0;
622 }
623
624 return T;
625 }
626
627 function U(d) {
628 d = d.prefix;
629 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
630 return U;
631 }
632
633 function B(d, c) {
634 var e = d;
635 33 > e.charCodeAt(0) && (e = e.trim());
636 V = e;
637 e = [V];
638
639 if (0 < A) {
640 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
641 void 0 !== h && 'string' === typeof h && (c = h);
642 }
643
644 var a = M(O, e, c, 0, 0);
645 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
646 V = '';
647 E = 0;
648 z = D = 1;
649 return a;
650 }
651
652 var ca = /^\0+/g,
653 N = /[\0\r\f]/g,
654 aa = /: */g,
655 ka = /zoo|gra/,
656 ma = /([,: ])(transform)/g,
657 ia = /,\r+?/g,
658 F = /([\t\r\n ])*\f?&/g,
659 fa = /@(k\w+)\s*(\S*)\s*/,
660 Q = /::(place)/g,
661 ha = /:(read-only)/g,
662 G = /[svh]\w+-[tblr]{2}/,
663 da = /\(\s*(.*)\s*\)/g,
664 oa = /([\s\S]*?);/g,
665 ba = /-self|flex-/g,
666 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
667 la = /stretch|:\s*\w+\-(?:conte|avail)/,
668 ja = /([^-])(image-set\()/,
669 z = 1,
670 D = 1,
671 E = 0,
672 w = 1,
673 O = [],
674 S = [],
675 A = 0,
676 R = null,
677 Y = 0,
678 V = '';
679 B.use = T;
680 B.set = U;
681 void 0 !== W && U(W);
682 return B;
683 }
684
685 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
686
687
688 /***/ }),
689
690 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
691 /*!************************************************************!*\
692 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
693 \************************************************************/
694 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
695
696 "use strict";
697
698
699 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
700 Object.defineProperty(exports, "__esModule", ({
701 value: true
702 }));
703 exports["default"] = void 0;
704 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
705 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
706 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
707 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
708 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
709 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
710 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
711 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
712 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
713 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
714 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
715 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
716 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
717 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
718 var _super = _createSuper(AiLayoutBehavior);
719 function AiLayoutBehavior() {
720 var _this;
721 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
722 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
723 args[_key] = arguments[_key];
724 }
725 _this = _super.call.apply(_super, [this].concat(args));
726 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
727 return _this;
728 }
729 (0, _createClass2.default)(AiLayoutBehavior, [{
730 key: "ui",
731 value: function ui() {
732 return {
733 aiButton: '.e-ai-layout-button',
734 addTemplateButton: '.elementor-add-template-button'
735 };
736 }
737 }, {
738 key: "events",
739 value: function events() {
740 return {
741 'click @ui.aiButton': 'onAiButtonClick'
742 };
743 }
744 }, {
745 key: "onAiButtonClick",
746 value: function onAiButtonClick(e) {
747 e.stopPropagation();
748 (0, _editorIntegration.renderLayoutApp)({
749 parentContainer: elementor.getPreviewContainer(),
750 mode: _config.MODE_LAYOUT,
751 at: this.view.getOption('at'),
752 onInsert: this.onInsert.bind(this),
753 onRenderApp: function onRenderApp(args) {
754 args.previewContainer.init();
755 },
756 onGenerate: function onGenerate(args) {
757 args.previewContainer.reset();
758 }
759 });
760 }
761 }, {
762 key: "hideDropArea",
763 value: function hideDropArea() {
764 this.view.onCloseButtonClick();
765 }
766 }, {
767 key: "onInsert",
768 value: function onInsert(template) {
769 this.hideDropArea();
770 (0, _editorIntegration.importToEditor)({
771 parentContainer: elementor.getPreviewContainer(),
772 at: this.view.getOption('at'),
773 template: template,
774 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
775 });
776 }
777 }, {
778 key: "onRender",
779 value: function onRender() {
780 var $button = jQuery('<div>', {
781 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
782 title: (0, _i18n.__)('Build with AI', 'elementor'),
783 role: 'button'
784 });
785 $button.html("\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<i class=\"eicon-ai\"></i>\n\t\t");
786 this.ui.addTemplateButton.after($button);
787 }
788 }]);
789 return AiLayoutBehavior;
790 }(Marionette.Behavior);
791 exports["default"] = AiLayoutBehavior;
792
793 /***/ }),
794
795 /***/ "../modules/ai/assets/js/editor/api/index.js":
796 /*!***************************************************!*\
797 !*** ../modules/ai/assets/js/editor/api/index.js ***!
798 \***************************************************/
799 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
800
801 "use strict";
802
803
804 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
805 Object.defineProperty(exports, "__esModule", ({
806 value: true
807 }));
808 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
809 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
810 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
811 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
812 var request = function request(endpoint) {
813 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
814 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
815 var signal = arguments.length > 3 ? arguments[3] : undefined;
816 if (Object.keys(data).length) {
817 data.context = window.elementorAiCurrentContext;
818 }
819 return new Promise(function (resolve, reject) {
820 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
821 success: resolve,
822 error: reject,
823 data: data
824 }, immediately);
825 if (signal && ajaxData.jqXhr) {
826 signal.addEventListener('abort', ajaxData.jqXhr.abort);
827 }
828 });
829 };
830 var getUserInformation = function getUserInformation() {
831 return request('ai_get_user_information');
832 };
833 exports.getUserInformation = getUserInformation;
834 var getRemoteConfig = function getRemoteConfig() {
835 return request('ai_get_remote_config');
836 };
837 exports.getRemoteConfig = getRemoteConfig;
838 var getCompletionText = function getCompletionText(prompt) {
839 return request('ai_get_completion_text', {
840 prompt: prompt
841 });
842 };
843 exports.getCompletionText = getCompletionText;
844 var getEditText = function getEditText(input, instruction) {
845 return request('ai_get_edit_text', {
846 input: input,
847 instruction: instruction
848 });
849 };
850 exports.getEditText = getEditText;
851 var getCustomCode = function getCustomCode(prompt, language) {
852 return request('ai_get_custom_code', {
853 prompt: prompt,
854 language: language
855 });
856 };
857 exports.getCustomCode = getCustomCode;
858 var getCustomCSS = function getCustomCSS(prompt, htmlMarkup, elementId) {
859 return request('ai_get_custom_css', {
860 prompt: prompt,
861 html_markup: htmlMarkup,
862 element_id: elementId
863 });
864 };
865 exports.getCustomCSS = getCustomCSS;
866 var setGetStarted = function setGetStarted() {
867 return request('ai_set_get_started');
868 };
869 exports.setGetStarted = setGetStarted;
870 var setStatusFeedback = function setStatusFeedback(responseId) {
871 return request('ai_set_status_feedback', {
872 response_id: responseId
873 });
874 };
875 exports.setStatusFeedback = setStatusFeedback;
876 var getTextToImageGeneration = function getTextToImageGeneration(prompt, promptSettings) {
877 return request('ai_get_text_to_image', {
878 prompt: prompt,
879 promptSettings: promptSettings
880 });
881 };
882 exports.getTextToImageGeneration = getTextToImageGeneration;
883 var getImageToImageGeneration = function getImageToImageGeneration(prompt, promptSettings, image) {
884 return request('ai_get_image_to_image', {
885 prompt: prompt,
886 promptSettings: promptSettings,
887 image: image
888 });
889 };
890 exports.getImageToImageGeneration = getImageToImageGeneration;
891 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(prompt, promptSettings, image, mask) {
892 return request('ai_get_image_to_image_mask', {
893 prompt: prompt,
894 promptSettings: promptSettings,
895 image: image,
896 mask: mask
897 });
898 };
899 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
900 var getImageToImageOutPainting = function getImageToImageOutPainting(prompt, promptSettings, image, mask) {
901 return request('ai_get_image_to_image_outpainting', {
902 prompt: prompt,
903 promptSettings: promptSettings,
904 mask: mask
905 });
906 };
907 exports.getImageToImageOutPainting = getImageToImageOutPainting;
908 var getImageToImageUpscale = function getImageToImageUpscale(prompt, promptSettings, image) {
909 return request('ai_get_image_to_image_upscale', {
910 prompt: prompt,
911 promptSettings: promptSettings,
912 image: image
913 });
914 };
915 exports.getImageToImageUpscale = getImageToImageUpscale;
916 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(image) {
917 return request('ai_get_image_to_image_remove_background', {
918 image: image
919 });
920 };
921 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
922 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(prompt, image) {
923 return request('ai_get_image_to_image_replace_background', {
924 prompt: prompt,
925 image: image
926 });
927 };
928 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
929 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
930 return request('ai_get_image_to_image_remove_text', {
931 image: image
932 });
933 };
934 exports.getImageToImageRemoveText = getImageToImageRemoveText;
935 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
936 return request('ai_get_image_prompt_enhancer', {
937 prompt: prompt
938 });
939 };
940 exports.getImagePromptEnhanced = getImagePromptEnhanced;
941 var uploadImage = function uploadImage(image) {
942 return request('ai_upload_image', _objectSpread({}, image));
943 };
944
945 /**
946 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
947 * @typedef {Object} requestBody
948 * @property {string} prompt - Prompt to generate the layout from.
949 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
950 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
951 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
952 */
953
954 /**
955 * @param {requestBody} requestBody
956 * @param {AbortSignal} [signal]
957 */
958 exports.uploadImage = uploadImage;
959 var generateLayout = function generateLayout(requestBody, signal) {
960 return request('ai_generate_layout', requestBody, true, signal);
961 };
962 exports.generateLayout = generateLayout;
963 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
964 return request('ai_get_layout_prompt_enhancer', {
965 prompt: prompt,
966 enhance_type: enhanceType
967 });
968 };
969 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
970 var getHistory = function getHistory(type, page, limit) {
971 return request('ai_get_history', {
972 type: type,
973 page: page,
974 limit: limit
975 });
976 };
977 exports.getHistory = getHistory;
978 var deleteHistoryItem = function deleteHistoryItem(id) {
979 return request('ai_delete_history_item', {
980 id: id
981 });
982 };
983 exports.deleteHistoryItem = deleteHistoryItem;
984 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
985 return request('ai_toggle_favorite_history_item', {
986 id: id
987 });
988 };
989 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
990
991 /***/ }),
992
993 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
994 /*!*****************************************************************!*\
995 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
996 \*****************************************************************/
997 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
998
999 "use strict";
1000
1001
1002 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1003 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1004 Object.defineProperty(exports, "__esModule", ({
1005 value: true
1006 }));
1007 exports.AlertDialog = void 0;
1008 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1009 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1010 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1011 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1012 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1013 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); }
1014 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; }
1015 var AlertDialog = function AlertDialog(props) {
1016 var _useState = (0, _react.useState)(true),
1017 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1018 isShown = _useState2[0],
1019 setIsShown = _useState2[1];
1020 if (!isShown) {
1021 return null;
1022 }
1023 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1024 open: true,
1025 maxWidth: "lg"
1026 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1027 sx: {
1028 padding: 0
1029 }
1030 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1031 sx: {
1032 textAlign: 'center',
1033 padding: 3
1034 }
1035 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1036 alignItems: "center",
1037 spacing: 2,
1038 marginBottom: 2
1039 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1040 variant: "contained",
1041 type: "button",
1042 color: "primary",
1043 onClick: function onClick() {
1044 var _props$onClose;
1045 setIsShown(false);
1046 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1047 }
1048 }, (0, _i18n.__)('Close', 'elementor')))));
1049 };
1050 exports.AlertDialog = AlertDialog;
1051 AlertDialog.propTypes = {
1052 message: _propTypes.default.string.isRequired,
1053 onClose: _propTypes.default.func
1054 };
1055
1056 /***/ }),
1057
1058 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1059 /*!******************************************************************!*\
1060 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1061 \******************************************************************/
1062 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1063
1064 "use strict";
1065
1066
1067 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1068 Object.defineProperty(exports, "__esModule", ({
1069 value: true
1070 }));
1071 exports["default"] = void 0;
1072 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1073 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1074 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1075 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1076 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1077 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1078 var ElementorLogo = function ElementorLogo(props) {
1079 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1080 viewBox: "0 0 32 32"
1081 }, props), /*#__PURE__*/_react.default.createElement("path", {
1082 fillRule: "evenodd",
1083 clipRule: "evenodd",
1084 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"
1085 }));
1086 };
1087 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1088 var theme = _ref.theme;
1089 return {
1090 width: theme.spacing(3),
1091 height: theme.spacing(3),
1092 '& path': {
1093 fill: theme.palette.text.primary
1094 }
1095 };
1096 });
1097 var DialogHeader = function DialogHeader(props) {
1098 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1099 sx: {
1100 fontWeight: 'normal'
1101 },
1102 color: "transparent",
1103 position: "relative"
1104 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1105 variant: "dense"
1106 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1107 sx: {
1108 mr: 1
1109 }
1110 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1111 component: "span",
1112 variant: "subtitle2",
1113 sx: {
1114 fontWeight: 'bold',
1115 textTransform: 'uppercase'
1116 }
1117 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1118 label: (0, _i18n.__)('Beta', 'elementor'),
1119 color: "default",
1120 size: "small",
1121 sx: {
1122 ml: 1
1123 }
1124 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1125 direction: "row",
1126 spacing: 1,
1127 alignItems: "center",
1128 sx: {
1129 ml: 'auto'
1130 }
1131 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1132 size: "small",
1133 "aria-label": "close",
1134 onClick: props.onClose,
1135 sx: {
1136 '&.MuiButtonBase-root': {
1137 mr: -1
1138 }
1139 }
1140 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1141 };
1142 DialogHeader.propTypes = {
1143 onClose: _propTypes.default.func.isRequired,
1144 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1145 };
1146 var _default = DialogHeader;
1147 exports["default"] = _default;
1148
1149 /***/ }),
1150
1151 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1152 /*!***********************************************************!*\
1153 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1154 \***********************************************************/
1155 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1156
1157 "use strict";
1158
1159
1160 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1161 Object.defineProperty(exports, "__esModule", ({
1162 value: true
1163 }));
1164 exports["default"] = void 0;
1165 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1166 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1167 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1168 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1169 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1170 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1171 var _excluded = ["sx", "BoxProps"];
1172 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; }
1173 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; }
1174 var Loader = function Loader(_ref) {
1175 var _ref$sx = _ref.sx,
1176 sx = _ref$sx === void 0 ? {} : _ref$sx,
1177 _ref$BoxProps = _ref.BoxProps,
1178 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1179 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1180 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1181 width: "100%",
1182 display: "flex",
1183 alignItems: "center"
1184 }, BoxProps, {
1185 sx: _objectSpread({
1186 px: 1.5,
1187 minHeight: function minHeight(theme) {
1188 return theme.spacing(5);
1189 }
1190 }, BoxProps.sx || {})
1191 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1192 color: "secondary"
1193 }, props, {
1194 sx: _objectSpread({
1195 width: '100%'
1196 }, sx)
1197 })));
1198 };
1199 Loader.propTypes = {
1200 sx: _propTypes.default.object,
1201 BoxProps: _propTypes.default.object
1202 };
1203 var _default = Loader;
1204 exports["default"] = _default;
1205
1206 /***/ }),
1207
1208 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1209 /*!******************************************************************!*\
1210 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1211 \******************************************************************/
1212 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1213
1214 "use strict";
1215
1216
1217 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1218 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1219 Object.defineProperty(exports, "__esModule", ({
1220 value: true
1221 }));
1222 exports["default"] = void 0;
1223 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1224 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1225 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1226 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1227 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1228 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1229 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1230 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1231 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); }
1232 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; }
1233 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; }
1234 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; }
1235 var DraggablePaper = function DraggablePaper(props) {
1236 var _useState = (0, _react.useState)({
1237 x: 0,
1238 y: 0
1239 }),
1240 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1241 position = _useState2[0],
1242 setPosition = _useState2[1];
1243 var paperRef = (0, _react.useRef)(null);
1244 var timeout = (0, _react.useRef)(null);
1245 var onDrag = function onDrag(_e, _ref) {
1246 var x = _ref.x,
1247 y = _ref.y;
1248 return setPosition({
1249 x: x,
1250 y: y
1251 });
1252 };
1253 var handlePositionBoundaries = function handlePositionBoundaries() {
1254 clearTimeout(timeout.current);
1255
1256 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1257 timeout.current = setTimeout(function () {
1258 var _paperRef$current;
1259 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1260 if (dialogTop < 0) {
1261 setPosition(function (prev) {
1262 return _objectSpread(_objectSpread({}, prev), {}, {
1263 y: prev.y - dialogTop
1264 });
1265 });
1266 }
1267 }, 50);
1268 };
1269 (0, _react.useEffect)(function () {
1270 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1271 resizeObserver.observe(paperRef.current);
1272 return function () {
1273 resizeObserver.disconnect();
1274 };
1275 }, []);
1276 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1277 position: position,
1278 onDrag: onDrag,
1279 handle: ".MuiAppBar-root",
1280 cancel: '[class*="MuiDialogContent-root"]',
1281 bounds: "parent"
1282 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1283 ref: paperRef
1284 })));
1285 };
1286 var PromptDialog = function PromptDialog(props) {
1287 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1288 scroll: "paper",
1289 open: true,
1290 fullWidth: true,
1291 hideBackdrop: true,
1292 PaperComponent: DraggablePaper,
1293 disableScrollLock: true,
1294 sx: {
1295 '& .MuiDialog-container': {
1296 alignItems: 'flex-start',
1297 mt: '18vh'
1298 }
1299 },
1300 PaperProps: {
1301 sx: {
1302 m: 0,
1303 maxHeight: '76vh'
1304 }
1305 }
1306 }, props), props.children);
1307 };
1308 PromptDialog.propTypes = {
1309 onClose: _propTypes.default.func.isRequired,
1310 children: _propTypes.default.node,
1311 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1312 };
1313 PromptDialog.Header = _dialogHeader.default;
1314 PromptDialog.Content = _ui.DialogContent;
1315 var _default = PromptDialog;
1316 exports["default"] = _default;
1317
1318 /***/ }),
1319
1320 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1321 /*!*************************************************************************!*\
1322 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1323 \*************************************************************************/
1324 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1325
1326 "use strict";
1327
1328
1329 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1330 Object.defineProperty(exports, "__esModule", ({
1331 value: true
1332 }));
1333 exports["default"] = void 0;
1334 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1335 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1336 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1337 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1338 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1339 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1340 var _excluded = ["error", "onRetry", "actionPosition"];
1341 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1342 var error = _ref.error,
1343 _ref$onRetry = _ref.onRetry,
1344 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1345 _ref$actionPosition = _ref.actionPosition,
1346 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1347 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1348 var messages = {
1349 default: {
1350 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Unknown error. Please try again later.', 'elementor')),
1351 description: (0, _i18n.__)('Error code:', 'elementor') + ' ' + error,
1352 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1353 buttonAction: onRetry
1354 },
1355 service_outage_internal: {
1356 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Elementor AI is temporarily unavailable', 'elementor')),
1357 description: (0, _i18n.__)('Seems like we are experiencing technical difficulty. We should be up and running shortly.', 'elementor'),
1358 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1359 buttonAction: onRetry
1360 },
1361 invalid_connect_data: {
1362 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Reconnect your account', 'elementor')),
1363 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('We couldn\'t connect to your account due to technical difficulties on our end. Reconnect your account to continue.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1364 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1365 target: "_blank",
1366 rel: "noreferrer"
1367 }, (0, _i18n.__)('Show me how', 'elementor'))),
1368 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1369 buttonAction: function buttonAction() {
1370 return window.open(window.ElementorAiConfig.connect_url);
1371 }
1372 },
1373 not_connected: {
1374 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1375 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1376 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1377 buttonAction: function buttonAction() {
1378 return window.open(window.ElementorAiConfig.connect_url);
1379 }
1380 },
1381 quota_reached_trail: {
1382 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1383 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1384 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1385 buttonAction: function buttonAction() {
1386 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1387 }
1388 },
1389 quota_reached_subscription: {
1390 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1391 description: (0, _i18n.__)('Love Elementor AI? Upgrade to continue creating with built-in image, text and custom code generators.', 'elementor'),
1392 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1393 buttonAction: function buttonAction() {
1394 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1395 }
1396 },
1397 rate_limit_network: {
1398 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1399 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1400 },
1401 invalid_prompts: {
1402 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1403 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1404 }
1405 };
1406 var message = messages[error] || messages.default;
1407 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1408 color: "inherit",
1409 size: "small",
1410 variant: "outlined",
1411 onClick: message.buttonAction
1412 }, message.buttonText);
1413 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1414 severity: message.severity || 'error',
1415 action: 'default' === actionPosition && action
1416 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1417 sx: {
1418 mt: 1
1419 }
1420 }, action));
1421 };
1422 PromptErrorMessage.propTypes = {
1423 error: _propTypes.default.string,
1424 onRetry: _propTypes.default.func,
1425 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1426 };
1427 var _default = PromptErrorMessage;
1428 exports["default"] = _default;
1429
1430 /***/ }),
1431
1432 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1433 /*!************************************************************************!*\
1434 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1435 \************************************************************************/
1436 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1437
1438 "use strict";
1439
1440
1441 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1442 Object.defineProperty(exports, "__esModule", ({
1443 value: true
1444 }));
1445 exports["default"] = void 0;
1446 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1447 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1448 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1449 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1450 var PromptLibraryLink = function PromptLibraryLink(props) {
1451 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1452 variant: "body2",
1453 color: "text.secondary"
1454 }, (0, _i18n.__)('For more inspiration, try experimenting with proven prompts from our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1455 href: props.libraryLink,
1456 className: "elementor-clickable",
1457 target: "_blank"
1458 }, (0, _i18n.__)('prompt library')));
1459 };
1460 PromptLibraryLink.propTypes = {
1461 libraryLink: _propTypes.default.string
1462 };
1463 var _default = PromptLibraryLink;
1464 exports["default"] = _default;
1465
1466 /***/ }),
1467
1468 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1469 /*!*****************************************************************!*\
1470 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1471 \*****************************************************************/
1472 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1473
1474 "use strict";
1475
1476
1477 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1478 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1479 Object.defineProperty(exports, "__esModule", ({
1480 value: true
1481 }));
1482 exports["default"] = void 0;
1483 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1484 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1485 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1486 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1487 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1488 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1489 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); }
1490 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; }
1491 var popoverId = 'e-ai-upgrade-popover';
1492 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1493 var theme = _ref.theme;
1494 return {
1495 position: 'relative',
1496 '[data-popper-placement="top"] &': {
1497 marginBottom: theme.spacing(2.5)
1498 },
1499 '[data-popper-placement="bottom"] &': {
1500 marginTop: theme.spacing(2.5)
1501 },
1502 padding: theme.spacing(3),
1503 boxShadow: theme.shadows[4],
1504 zIndex: '9999'
1505 };
1506 });
1507 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1508 var theme = _ref2.theme;
1509 return {
1510 width: theme.spacing(5),
1511 height: theme.spacing(2.5),
1512 position: 'absolute',
1513 overflow: 'hidden',
1514 // Override Popper inline styles.
1515 left: '50% !important',
1516 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1517 '[data-popper-placement="top"] &': {
1518 top: '100%'
1519 },
1520 '[data-popper-placement="bottom"] &': {
1521 '--rotate': '180deg',
1522 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1523 },
1524 '&::after': {
1525 backgroundColor: theme.palette.background.paper,
1526 content: '""',
1527 display: 'block',
1528 position: 'absolute',
1529 width: theme.spacing(2.5),
1530 height: theme.spacing(2.5),
1531 top: 0,
1532 left: '50%',
1533 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1534 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1535 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1536 }
1537 };
1538 });
1539 var upgradeBullets = [(0, _i18n.__)('Let AI build your container layouts and content with ease and radically transform the way you create websites.', 'elementor'), (0, _i18n.__)('Generate your website\'s text or create custom code without having to write a single line yourself.', 'elementor'), (0, _i18n.__)('Effortlessly create or enhance stunning images and bring your ideas to life.', 'elementor'), (0, _i18n.__)('Access 30-days of AI History with the AI Starter plan and 90-days with the Power plan.', 'elementor')];
1540 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1541 return {
1542 '& .MuiChip-label': {
1543 lineHeight: 1.5
1544 },
1545 '& .MuiSvgIcon-root.MuiChip-icon': {
1546 fontSize: '1.25rem'
1547 }
1548 };
1549 });
1550 var UpgradeChip = function UpgradeChip(_ref3) {
1551 var _ref3$hasSubscription = _ref3.hasSubscription,
1552 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1553 _ref3$usagePercentage = _ref3.usagePercentage,
1554 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1555 var _useState = (0, _react.useState)(false),
1556 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1557 isPopoverOpen = _useState2[0],
1558 setIsPopoverOpen = _useState2[1];
1559 var anchorEl = (0, _react.useRef)(null);
1560 var arrowEl = (0, _react.useRef)(null);
1561 var showPopover = function showPopover() {
1562 return setIsPopoverOpen(true);
1563 };
1564 var hidePopover = function hidePopover() {
1565 return setIsPopoverOpen(false);
1566 };
1567 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1568 if (hasSubscription) {
1569 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1570 }
1571 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1572 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1573 component: "span",
1574 "aria-owns": isPopoverOpen ? popoverId : undefined,
1575 "aria-haspopup": "true",
1576 onMouseEnter: showPopover,
1577 onMouseLeave: hidePopover,
1578 ref: anchorEl,
1579 display: "flex",
1580 alignItems: "center"
1581 }, /*#__PURE__*/_react.default.createElement(Chip, {
1582 color: "accent",
1583 label: (0, _i18n.__)('Upgrade', 'elementor'),
1584 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1585 size: "small"
1586 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1587 open: isPopoverOpen,
1588 anchorEl: anchorEl.current,
1589 sx: {
1590 zIndex: '9999',
1591 maxWidth: 300
1592 },
1593 modifiers: [{
1594 name: 'arrow',
1595 enabled: true,
1596 options: {
1597 element: arrowEl.current
1598 }
1599 }]
1600 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1601 ref: arrowEl
1602 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1603 variant: "h5",
1604 color: "text.primary"
1605 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1606 sx: {
1607 mb: 1
1608 }
1609 }, upgradeBullets.map(function (bullet, index) {
1610 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1611 key: index,
1612 disableGutters: true,
1613 sx: {
1614 alignItems: 'flex-start'
1615 }
1616 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1617 sx: {
1618 m: 0
1619 }
1620 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1621 variant: "body2"
1622 }, bullet)));
1623 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1624 variant: "contained",
1625 color: "accent",
1626 size: "small",
1627 href: actionUrl,
1628 target: "_blank",
1629 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1630 sx: {
1631 '&:hover': {
1632 color: 'accent.contrastText'
1633 }
1634 }
1635 }, actionLabel))));
1636 };
1637 var _default = UpgradeChip;
1638 exports["default"] = _default;
1639 UpgradeChip.propTypes = {
1640 hasSubscription: _propTypes.default.bool,
1641 usagePercentage: _propTypes.default.number
1642 };
1643
1644 /***/ }),
1645
1646 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1647 /*!******************************************************************!*\
1648 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1649 \******************************************************************/
1650 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1651
1652 "use strict";
1653
1654
1655 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1656 Object.defineProperty(exports, "__esModule", ({
1657 value: true
1658 }));
1659 exports["default"] = void 0;
1660 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1661 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1662 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1663 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1664 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1665 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1666 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1667 var _excluded = ["sx"];
1668 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; }
1669 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; }
1670 var WizardDialog = function WizardDialog(props) {
1671 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1672 open: true,
1673 onClose: props.onClose,
1674 fullWidth: true,
1675 hideBackdrop: true,
1676 maxWidth: "lg",
1677 PaperProps: {
1678 sx: {
1679 height: '88vh'
1680 }
1681 },
1682 sx: {
1683 zIndex: 9999
1684 }
1685 }, props.children);
1686 };
1687 WizardDialog.propTypes = {
1688 onClose: _propTypes.default.func.isRequired,
1689 children: _propTypes.default.node.isRequired
1690 };
1691 var WizardDialogContent = function WizardDialogContent(_ref) {
1692 var _ref$sx = _ref.sx,
1693 sx = _ref$sx === void 0 ? {} : _ref$sx,
1694 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1695 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1696 sx: _objectSpread({
1697 display: 'flex',
1698 flexDirection: 'column',
1699 justifyContent: 'center'
1700 }, sx)
1701 }));
1702 };
1703 WizardDialogContent.propTypes = {
1704 sx: _propTypes.default.object
1705 };
1706 WizardDialog.Header = _dialogHeader.default;
1707 WizardDialog.Content = WizardDialogContent;
1708 var _default = WizardDialog;
1709 exports["default"] = _default;
1710
1711 /***/ }),
1712
1713 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1714 /*!****************************************************************!*\
1715 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1716 \****************************************************************/
1717 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1718
1719 "use strict";
1720
1721
1722 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1723 Object.defineProperty(exports, "__esModule", ({
1724 value: true
1725 }));
1726 exports["default"] = useIntroduction;
1727 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1728 var _react = __webpack_require__(/*! react */ "react");
1729 function useIntroduction(key) {
1730 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1731 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;
1732 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1733 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1734 isViewed = _useState2[0],
1735 setIsViewed = _useState2[1];
1736 function markAsViewed() {
1737 if (!key) {
1738 return Promise.reject();
1739 }
1740 return new Promise(function (resolve, reject) {
1741 if (isViewed) {
1742 reject();
1743 }
1744 setIsViewed(true);
1745 elementorCommon.ajax.addRequest('introduction_viewed', {
1746 data: {
1747 introductionKey: key
1748 },
1749 error: function error() {
1750 setIsViewed(false);
1751 reject();
1752 },
1753 success: function success() {
1754 setIsViewed(true);
1755 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1756 globalConfig.introduction[key] = true;
1757 }
1758 resolve();
1759 }
1760 });
1761 });
1762 }
1763 return {
1764 isViewed: isViewed,
1765 markAsViewed: markAsViewed
1766 };
1767 }
1768
1769 /***/ }),
1770
1771 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
1772 /*!*******************************************************************!*\
1773 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
1774 \*******************************************************************/
1775 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1776
1777 "use strict";
1778
1779
1780 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1781 Object.defineProperty(exports, "__esModule", ({
1782 value: true
1783 }));
1784 exports["default"] = void 0;
1785 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1786 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
1787 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1788 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
1789 var getResult = function getResult(prompt, type, enhanceType) {
1790 if (!enhancePromptMap.has(type)) {
1791 throw new Error("Invalid prompt type: ".concat(type));
1792 }
1793 return enhancePromptMap.get(type)(prompt, enhanceType);
1794 };
1795
1796 /**
1797 * Hook to enhance a prompt.
1798 *
1799 * @param {string} prompt
1800 * @param {'media' | 'layout'} type
1801 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
1802 */
1803 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
1804 var _useConfig = (0, _config.useConfig)(),
1805 mode = _useConfig.mode;
1806 var _usePrompt = (0, _usePrompt2.default)(function () {
1807 return getResult(prompt, type, mode);
1808 }, prompt),
1809 enhancedData = _usePrompt.data,
1810 isEnhancing = _usePrompt.isLoading,
1811 enhance = _usePrompt.send;
1812 return {
1813 enhance: enhance,
1814 isEnhancing: isEnhancing,
1815 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
1816 };
1817 };
1818 var _default = usePromptEnhancer;
1819 exports["default"] = _default;
1820
1821 /***/ }),
1822
1823 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
1824 /*!**********************************************************!*\
1825 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
1826 \**********************************************************/
1827 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1828
1829 "use strict";
1830
1831
1832 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1833 Object.defineProperty(exports, "__esModule", ({
1834 value: true
1835 }));
1836 exports["default"] = void 0;
1837 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1838 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1839 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1840 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1841 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1842 var _react = __webpack_require__(/*! react */ "react");
1843 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1844 var _excluded = ["text", "response_id", "usage", "images"];
1845 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; }
1846 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; }
1847 var normalizeResponse = function normalizeResponse(_ref) {
1848 var text = _ref.text,
1849 responseId = _ref.response_id,
1850 usage = _ref.usage,
1851 images = _ref.images,
1852 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1853 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
1854 var credits = Math.max(creditsData, 0);
1855 var result = text || images;
1856 var normalized = {
1857 result: result,
1858 responseId: responseId,
1859 credits: credits
1860 };
1861 if (optional.base_template_id) {
1862 normalized.baseTemplateId = optional.base_template_id;
1863 }
1864 normalized.type = optional.template_type;
1865 return normalized;
1866 };
1867 var usePrompt = function usePrompt(fetchData, initialState) {
1868 var _useState = (0, _react.useState)(false),
1869 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1870 isLoading = _useState2[0],
1871 setIsLoading = _useState2[1];
1872 var _useState3 = (0, _react.useState)(''),
1873 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1874 error = _useState4[0],
1875 setError = _useState4[1];
1876 var _useState5 = (0, _react.useState)(initialState),
1877 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1878 data = _useState6[0],
1879 setData = _useState6[1];
1880 var send = /*#__PURE__*/function () {
1881 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
1882 var _len,
1883 args,
1884 _key,
1885 _args = arguments;
1886 return _regenerator.default.wrap(function _callee$(_context) {
1887 while (1) switch (_context.prev = _context.next) {
1888 case 0:
1889 for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1890 args[_key] = _args[_key];
1891 }
1892 return _context.abrupt("return", new Promise(function (resolve, reject) {
1893 setError('');
1894 setIsLoading(true);
1895 fetchData.apply(void 0, args).then(function (result) {
1896 var normalizedData = normalizeResponse(result);
1897 setData(normalizedData);
1898 resolve(normalizedData);
1899 }).catch(function (err) {
1900 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
1901 setError(finalError);
1902 reject(finalError);
1903 }).finally(function () {
1904 return setIsLoading(false);
1905 });
1906 }));
1907 case 2:
1908 case "end":
1909 return _context.stop();
1910 }
1911 }, _callee);
1912 }));
1913 return function send() {
1914 return _ref2.apply(this, arguments);
1915 };
1916 }();
1917 var sendUsageData = function sendUsageData() {
1918 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
1919 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
1920 };
1921 var reset = function reset() {
1922 setData(function (_ref3) {
1923 var credits = _ref3.credits;
1924 return {
1925 credits: credits,
1926 result: '',
1927 responseId: ''
1928 };
1929 });
1930 setError('');
1931 setIsLoading(false);
1932 };
1933 var setResult = function setResult(result) {
1934 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1935 var updatedResult = _objectSpread({}, data);
1936 updatedResult.result = result;
1937 if (responseId) {
1938 updatedResult.responseId = responseId;
1939 }
1940 setData(updatedResult);
1941 };
1942 return {
1943 isLoading: isLoading,
1944 error: error,
1945 data: data,
1946 setResult: setResult,
1947 reset: reset,
1948 send: send,
1949 sendUsageData: sendUsageData
1950 };
1951 };
1952 var _default = usePrompt;
1953 exports["default"] = _default;
1954
1955 /***/ }),
1956
1957 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
1958 /*!***********************************************************!*\
1959 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
1960 \***********************************************************/
1961 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1962
1963 "use strict";
1964
1965
1966 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1967 Object.defineProperty(exports, "__esModule", ({
1968 value: true
1969 }));
1970 exports.useTimeout = void 0;
1971 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1972 var _react = __webpack_require__(/*! react */ "react");
1973 var useTimeout = function useTimeout(delay) {
1974 var _useState = (0, _react.useState)(false),
1975 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1976 isTimeout = _useState2[0],
1977 setIsTimeout = _useState2[1];
1978 var timeoutIdRef = (0, _react.useRef)(null);
1979 var turnOffTimeout = function turnOffTimeout() {
1980 clearTimeout(timeoutIdRef.current);
1981 setIsTimeout(false);
1982 };
1983 (0, _react.useEffect)(function () {
1984 timeoutIdRef.current = setTimeout(function () {
1985 setIsTimeout(true);
1986 }, delay);
1987 return function () {
1988 clearTimeout(timeoutIdRef.current);
1989 };
1990 }, [delay]);
1991 return [isTimeout, turnOffTimeout];
1992 };
1993 exports.useTimeout = useTimeout;
1994
1995 /***/ }),
1996
1997 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
1998 /*!*************************************************************!*\
1999 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2000 \*************************************************************/
2001 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2002
2003 "use strict";
2004
2005
2006 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2007 Object.defineProperty(exports, "__esModule", ({
2008 value: true
2009 }));
2010 exports["default"] = void 0;
2011 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2012 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2013 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2014 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2015 var _react = __webpack_require__(/*! react */ "react");
2016 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2017 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; }
2018 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; }
2019 var useUserInfo = function useUserInfo() {
2020 var _useState = (0, _react.useState)(false),
2021 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2022 isLoaded = _useState2[0],
2023 setIsLoaded = _useState2[1];
2024 var _useState3 = (0, _react.useState)(false),
2025 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2026 isLoading = _useState4[0],
2027 setIsLoading = _useState4[1];
2028 var _useState5 = (0, _react.useState)({
2029 is_connected: false,
2030 is_get_started: false,
2031 connect_url: '',
2032 usage: {
2033 hasAiSubscription: false,
2034 quota: 0,
2035 usedQuota: 0
2036 }
2037 }),
2038 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2039 userInfo = _useState6[0],
2040 setUserInfo = _useState6[1];
2041 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2042 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2043 var fetchData = /*#__PURE__*/function () {
2044 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2045 var userInfoResult;
2046 return _regenerator.default.wrap(function _callee$(_context) {
2047 while (1) switch (_context.prev = _context.next) {
2048 case 0:
2049 setIsLoading(true);
2050 _context.next = 3;
2051 return (0, _api.getUserInformation)();
2052 case 3:
2053 userInfoResult = _context.sent;
2054 setUserInfo(function (prevState) {
2055 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2056 });
2057 setIsLoaded(true);
2058 setIsLoading(false);
2059 case 7:
2060 case "end":
2061 return _context.stop();
2062 }
2063 }, _callee);
2064 }));
2065 return function fetchData() {
2066 return _ref.apply(this, arguments);
2067 };
2068 }();
2069 if (!isLoaded && !isLoading) {
2070 fetchData();
2071 }
2072 return {
2073 isLoading: isLoading,
2074 isLoaded: isLoaded,
2075 isConnected: userInfo.is_connected,
2076 isGetStarted: userInfo.is_get_started,
2077 connectUrl: userInfo.connect_url,
2078 builderUrl: userInfo.usage.builderUrl,
2079 hasSubscription: userInfo.usage.hasAiSubscription,
2080 credits: credits < 0 ? 0 : credits,
2081 usagePercentage: Math.round(usagePercentage),
2082 fetchData: fetchData
2083 };
2084 };
2085 var _default = useUserInfo;
2086 exports["default"] = _default;
2087
2088 /***/ }),
2089
2090 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2091 /*!***************************************************************!*\
2092 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2093 \***************************************************************/
2094 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2095
2096 "use strict";
2097
2098
2099 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2100 Object.defineProperty(exports, "__esModule", ({
2101 value: true
2102 }));
2103 exports["default"] = void 0;
2104 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2105 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2106 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2107 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2108 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2109 viewBox: "0 0 24 24"
2110 }, props, {
2111 ref: ref
2112 }), /*#__PURE__*/_react.default.createElement("path", {
2113 fillRule: "evenodd",
2114 clipRule: "evenodd",
2115 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"
2116 }));
2117 });
2118 var _default = ArrowLeftIcon;
2119 exports["default"] = _default;
2120
2121 /***/ }),
2122
2123 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2124 /*!**************************************************************!*\
2125 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2126 \**************************************************************/
2127 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2128
2129 "use strict";
2130
2131
2132 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2133 Object.defineProperty(exports, "__esModule", ({
2134 value: true
2135 }));
2136 exports["default"] = void 0;
2137 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2138 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2139 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2140 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2141 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2142 viewBox: "0 0 24 24"
2143 }, props, {
2144 ref: ref
2145 }), /*#__PURE__*/_react.default.createElement("path", {
2146 fillRule: "evenodd",
2147 clipRule: "evenodd",
2148 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"
2149 }));
2150 });
2151 var _default = CopyPageIcon;
2152 exports["default"] = _default;
2153
2154 /***/ }),
2155
2156 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2157 /*!*********************************************************!*\
2158 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2159 \*********************************************************/
2160 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2161
2162 "use strict";
2163
2164
2165 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2166 Object.defineProperty(exports, "__esModule", ({
2167 value: true
2168 }));
2169 exports["default"] = void 0;
2170 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2171 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2172 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2173 var EditIcon = _react.default.forwardRef(function (props, ref) {
2174 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2175 viewBox: "0 0 24 24"
2176 }, props, {
2177 ref: ref
2178 }), /*#__PURE__*/_react.default.createElement("path", {
2179 fillRule: "evenodd",
2180 clipRule: "evenodd",
2181 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"
2182 }), /*#__PURE__*/_react.default.createElement("path", {
2183 fillRule: "evenodd",
2184 clipRule: "evenodd",
2185 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"
2186 }));
2187 });
2188 var _default = EditIcon;
2189 exports["default"] = _default;
2190
2191 /***/ }),
2192
2193 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2194 /*!********************************************************************!*\
2195 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2196 \********************************************************************/
2197 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2198
2199 "use strict";
2200
2201
2202 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2203 Object.defineProperty(exports, "__esModule", ({
2204 value: true
2205 }));
2206 exports["default"] = void 0;
2207 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2208 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2209 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2210 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2211 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2212 viewBox: "0 0 24 24"
2213 }, props, {
2214 ref: ref
2215 }), /*#__PURE__*/_react.default.createElement("path", {
2216 fillRule: "evenodd",
2217 clipRule: "evenodd",
2218 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"
2219 }));
2220 });
2221 var _default = ExpandDiagonalIcon;
2222 exports["default"] = _default;
2223
2224 /***/ }),
2225
2226 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2227 /*!*********************************************************!*\
2228 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2229 \*********************************************************/
2230 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2231
2232 "use strict";
2233
2234
2235 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2236 Object.defineProperty(exports, "__esModule", ({
2237 value: true
2238 }));
2239 exports["default"] = void 0;
2240 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2241 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2242 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2243 var LockIcon = _react.default.forwardRef(function (props, ref) {
2244 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2245 viewBox: "0 0 24 24"
2246 }, props, {
2247 ref: ref
2248 }), /*#__PURE__*/_react.default.createElement("path", {
2249 fillRule: "evenodd",
2250 clipRule: "evenodd",
2251 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"
2252 }), /*#__PURE__*/_react.default.createElement("path", {
2253 fillRule: "evenodd",
2254 clipRule: "evenodd",
2255 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"
2256 }), /*#__PURE__*/_react.default.createElement("path", {
2257 d: "M6 12H19V20H6V12Z"
2258 }));
2259 });
2260 var _default = LockIcon;
2261 exports["default"] = _default;
2262
2263 /***/ }),
2264
2265 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2266 /*!**********************************************************************!*\
2267 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2268 \**********************************************************************/
2269 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2270
2271 "use strict";
2272
2273
2274 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2275 Object.defineProperty(exports, "__esModule", ({
2276 value: true
2277 }));
2278 exports["default"] = void 0;
2279 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2280 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2281 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2282 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2283 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2284 viewBox: "0 0 24 24"
2285 }, props, {
2286 ref: ref
2287 }), /*#__PURE__*/_react.default.createElement("path", {
2288 fillRule: "evenodd",
2289 clipRule: "evenodd",
2290 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"
2291 }));
2292 });
2293 var _default = MinimizeDiagonalIcon;
2294 exports["default"] = _default;
2295
2296 /***/ }),
2297
2298 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2299 /*!****************************************************************!*\
2300 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2301 \****************************************************************/
2302 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2303
2304 "use strict";
2305
2306
2307 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2308 Object.defineProperty(exports, "__esModule", ({
2309 value: true
2310 }));
2311 exports["default"] = void 0;
2312 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2313 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2314 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2315 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2316 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2317 viewBox: "0 0 24 24"
2318 }, props, {
2319 ref: ref
2320 }), /*#__PURE__*/_react.default.createElement("path", {
2321 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"
2322 }));
2323 });
2324 var _default = PlusCircleIcon;
2325 exports["default"] = _default;
2326
2327 /***/ }),
2328
2329 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2330 /*!************************************************************!*\
2331 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2332 \************************************************************/
2333 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2334
2335 "use strict";
2336
2337
2338 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2339 Object.defineProperty(exports, "__esModule", ({
2340 value: true
2341 }));
2342 exports["default"] = void 0;
2343 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2344 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2345 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2346 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2347 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2348 viewBox: "0 0 24 24"
2349 }, props, {
2350 ref: ref
2351 }), /*#__PURE__*/_react.default.createElement("path", {
2352 fillRule: "evenodd",
2353 clipRule: "evenodd",
2354 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"
2355 }), /*#__PURE__*/_react.default.createElement("path", {
2356 fillRule: "evenodd",
2357 clipRule: "evenodd",
2358 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"
2359 }));
2360 });
2361 var _default = RefreshIcon;
2362 exports["default"] = _default;
2363
2364 /***/ }),
2365
2366 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2367 /*!*********************************************************!*\
2368 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2369 \*********************************************************/
2370 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2371
2372 "use strict";
2373
2374
2375 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2376 Object.defineProperty(exports, "__esModule", ({
2377 value: true
2378 }));
2379 exports["default"] = void 0;
2380 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2381 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2382 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2383 var WandIcon = _react.default.forwardRef(function (props, ref) {
2384 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2385 viewBox: "0 0 24 24"
2386 }, props, {
2387 ref: ref
2388 }), /*#__PURE__*/_react.default.createElement("path", {
2389 fillRule: "evenodd",
2390 clipRule: "evenodd",
2391 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"
2392 }), /*#__PURE__*/_react.default.createElement("path", {
2393 fillRule: "evenodd",
2394 clipRule: "evenodd",
2395 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"
2396 }), /*#__PURE__*/_react.default.createElement("path", {
2397 fillRule: "evenodd",
2398 clipRule: "evenodd",
2399 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"
2400 }));
2401 });
2402 var _default = WandIcon;
2403 exports["default"] = _default;
2404
2405 /***/ }),
2406
2407 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2408 /*!************************************************************!*\
2409 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2410 \************************************************************/
2411 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2412
2413 "use strict";
2414
2415
2416 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2417 Object.defineProperty(exports, "__esModule", ({
2418 value: true
2419 }));
2420 exports["default"] = void 0;
2421 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2422 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2423 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2424 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2425 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2426 viewBox: "0 0 24 24"
2427 }, props, {
2428 ref: ref
2429 }), /*#__PURE__*/_react.default.createElement("path", {
2430 fillRule: "evenodd",
2431 clipRule: "evenodd",
2432 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"
2433 }));
2434 });
2435 var _default = WebsiteIcon;
2436 exports["default"] = _default;
2437
2438 /***/ }),
2439
2440 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2441 /*!*************************************************************!*\
2442 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2443 \*************************************************************/
2444 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2445
2446 "use strict";
2447
2448
2449 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2450 Object.defineProperty(exports, "__esModule", ({
2451 value: true
2452 }));
2453 exports["default"] = void 0;
2454 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2455 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2456 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2457 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2458 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2459 viewBox: "0 0 24 24"
2460 }, props, {
2461 ref: ref
2462 }), /*#__PURE__*/_react.default.createElement("path", {
2463 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"
2464 }));
2465 });
2466 var _default = XCircleIcon;
2467 exports["default"] = _default;
2468
2469 /***/ }),
2470
2471 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2472 /*!********************************************************************************************!*\
2473 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2474 \********************************************************************************************/
2475 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2476
2477 "use strict";
2478
2479
2480 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2481 renderLayoutApp = _require.renderLayoutApp,
2482 importToEditor = _require.importToEditor;
2483 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2484 MODE_VARIATION = _require2.MODE_VARIATION;
2485 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2486 __ = _require3.__;
2487 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2488 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2489 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2490 var ApplyTemplateForAiBehavior;
2491 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2492 ui: {
2493 applyButton: '.elementor-template-library-template-apply-ai',
2494 generateVariation: '.elementor-template-library-template-generate-variation'
2495 },
2496 events: {
2497 'click @ui.applyButton': 'onApplyButtonClick',
2498 'click @ui.generateVariation': 'onGenerateVariationClick'
2499 },
2500 onGenerateVariationClick: function onGenerateVariationClick() {
2501 var _libraryComponent$man, _libraryComponent$man2;
2502 var args = {
2503 model: this.view.model
2504 };
2505 var libraryComponent = $e.components.get('library');
2506 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;
2507 libraryComponent.downloadTemplate(args, function (data) {
2508 var model = args.model;
2509 var attachment = {
2510 type: ATTACHMENT_TYPE_JSON,
2511 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2512 content: data.content[0],
2513 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2514 source: ELEMENTOR_LIBRARY_SOURCE
2515 };
2516 renderLayoutApp({
2517 parentContainer: elementor.getPreviewContainer(),
2518 mode: MODE_VARIATION,
2519 at: at,
2520 attachments: [attachment],
2521 onInsert: function onInsert(template) {
2522 importToEditor({
2523 parentContainer: elementor.getPreviewContainer(),
2524 at: at,
2525 template: template,
2526 historyTitle: __('AI Variation from library', 'elementor')
2527 });
2528 }
2529 });
2530 $e.run('library/close');
2531 });
2532 },
2533 onApplyButtonClick: function onApplyButtonClick() {
2534 var args = {
2535 model: this.view.model
2536 };
2537 this.ui.applyButton.addClass('elementor-disabled');
2538 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2539 $e.route('library/connect', args);
2540 return;
2541 }
2542 $e.run('library/generate-ai-variation', args);
2543 }
2544 });
2545 module.exports = ApplyTemplateForAiBehavior;
2546
2547 /***/ }),
2548
2549 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2550 /*!************************************************************!*\
2551 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2552 \************************************************************/
2553 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2554
2555 "use strict";
2556
2557
2558 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2559 Object.defineProperty(exports, "__esModule", ({
2560 value: true
2561 }));
2562 exports["default"] = void 0;
2563 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2564 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2565 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2566 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2567 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2568 rtl: props.isRTL
2569 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2570 colorScheme: props.colorScheme
2571 }, props.children));
2572 };
2573 LayoutAppWrapper.propTypes = {
2574 children: _propTypes.default.node,
2575 isRTL: _propTypes.default.bool,
2576 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2577 };
2578 var _default = LayoutAppWrapper;
2579 exports["default"] = _default;
2580
2581 /***/ }),
2582
2583 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2584 /*!****************************************************!*\
2585 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2586 \****************************************************/
2587 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2588
2589 "use strict";
2590
2591
2592 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2593 Object.defineProperty(exports, "__esModule", ({
2594 value: true
2595 }));
2596 exports["default"] = void 0;
2597 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2598 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2599 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2600 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2601 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2602 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2603 var _generateIds = __webpack_require__(/*! ./utils/generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
2604 var LayoutApp = function LayoutApp(props) {
2605 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2606 onError: props.onClose
2607 }, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2608 mode: props.mode,
2609 attachmentsTypes: props.attachmentsTypes,
2610 onClose: props.onClose,
2611 onConnect: props.onConnect,
2612 onData: props.onData,
2613 onInsert: props.onInsert,
2614 onSelect: props.onSelect,
2615 onGenerate: props.onGenerate,
2616 currentContext: props.currentContext,
2617 hasPro: props.hasPro,
2618 sessionId: "session-".concat((0, _generateIds.getUniqueId)()),
2619 editorSessionId: props.editorSessionId
2620 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2621 attachments: props.attachments
2622 })));
2623 };
2624 LayoutApp.propTypes = {
2625 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2626 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2627 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2628 onClose: _propTypes.default.func.isRequired,
2629 onConnect: _propTypes.default.func.isRequired,
2630 onData: _propTypes.default.func.isRequired,
2631 onInsert: _propTypes.default.func.isRequired,
2632 onSelect: _propTypes.default.func.isRequired,
2633 onGenerate: _propTypes.default.func.isRequired,
2634 currentContext: _propTypes.default.object,
2635 hasPro: _propTypes.default.bool,
2636 sessionId: _propTypes.default.string,
2637 editorSessionId: _propTypes.default.string
2638 };
2639 var _default = LayoutApp;
2640 exports["default"] = _default;
2641
2642 /***/ }),
2643
2644 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2645 /*!********************************************************!*\
2646 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2647 \********************************************************/
2648 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2649
2650 "use strict";
2651
2652
2653 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2654 Object.defineProperty(exports, "__esModule", ({
2655 value: true
2656 }));
2657 exports["default"] = void 0;
2658 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2659 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
2660 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
2661 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
2662 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
2663 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
2664 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
2665 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
2666 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
2667 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2668 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2669 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2670 var LayoutContent = function LayoutContent(props) {
2671 var _useUserInfo = (0, _useUserInfo2.default)(),
2672 isLoading = _useUserInfo.isLoading,
2673 isConnected = _useUserInfo.isConnected,
2674 isGetStarted = _useUserInfo.isGetStarted,
2675 connectUrl = _useUserInfo.connectUrl,
2676 fetchData = _useUserInfo.fetchData,
2677 hasSubscription = _useUserInfo.hasSubscription,
2678 usagePercentage = _useUserInfo.usagePercentage;
2679 var _useConfig = (0, _config.useConfig)(),
2680 onClose = _useConfig.onClose,
2681 onConnect = _useConfig.onConnect;
2682 if (isLoading) {
2683 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2684 onClose: onClose
2685 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
2686 onClose: onClose
2687 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
2688 dividers: true
2689 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
2690 BoxProps: {
2691 sx: {
2692 px: 3
2693 }
2694 }
2695 })));
2696 }
2697 if (!isConnected) {
2698 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2699 onClose: onClose
2700 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2701 onClose: onClose
2702 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2703 dividers: true
2704 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
2705 connectUrl: connectUrl,
2706 onSuccess: function onSuccess(data) {
2707 onConnect(data);
2708 fetchData();
2709 }
2710 })));
2711 }
2712 if (!isGetStarted) {
2713 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2714 onClose: onClose
2715 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2716 onClose: onClose
2717 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2718 dividers: true
2719 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
2720 onSuccess: fetchData
2721 })));
2722 }
2723 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
2724 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
2725 attachments: props.attachments,
2726 DialogHeaderProps: {
2727 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
2728 hasSubscription: hasSubscription,
2729 usagePercentage: usagePercentage
2730 })
2731 }
2732 });
2733 };
2734 LayoutContent.propTypes = {
2735 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
2736 };
2737 var _default = LayoutContent;
2738 exports["default"] = _default;
2739
2740 /***/ }),
2741
2742 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
2743 /*!*************************************************************!*\
2744 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
2745 \*************************************************************/
2746 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2747
2748 "use strict";
2749
2750
2751 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2752 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2753 Object.defineProperty(exports, "__esModule", ({
2754 value: true
2755 }));
2756 exports["default"] = void 0;
2757 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2758 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2759 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2760 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2761 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2762 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); }
2763 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; }
2764 var Connect = function Connect(_ref) {
2765 var connectUrl = _ref.connectUrl,
2766 onSuccess = _ref.onSuccess;
2767 var approveButtonRef = (0, _react.useRef)();
2768 (0, _react.useEffect)(function () {
2769 // On local dev (as a standalone app), the connect lib is not loaded.
2770 if (!jQuery.fn.elementorConnect) {
2771 return;
2772 }
2773 jQuery(approveButtonRef.current).elementorConnect({
2774 success: function success(_, data) {
2775 return onSuccess(data);
2776 },
2777 error: function error() {
2778 throw new Error('Elementor AI: Failed to connect.');
2779 }
2780 });
2781 }, []);
2782 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2783 alignItems: "center",
2784 gap: 2
2785 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
2786 sx: {
2787 color: 'text.primary',
2788 fontSize: '60px',
2789 mb: 1
2790 }
2791 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2792 variant: "h4",
2793 sx: {
2794 color: 'text.primary'
2795 }
2796 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2797 variant: "body2"
2798 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2799 variant: "caption",
2800 sx: {
2801 maxWidth: 520,
2802 textAlign: 'center'
2803 }
2804 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
2805 href: "https://go.elementor.com/ai-terms/",
2806 target: "_blank",
2807 color: "info.main"
2808 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
2809 href: "https://go.elementor.com/ai-privacy-policy/",
2810 target: "_blank",
2811 color: "info.main"
2812 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
2813 ref: approveButtonRef,
2814 href: connectUrl,
2815 variant: "contained",
2816 sx: {
2817 mt: 1,
2818 '&:hover': {
2819 color: 'primary.contrastText'
2820 }
2821 }
2822 }, (0, _i18n.__)('Connect', 'elementor')));
2823 };
2824 Connect.propTypes = {
2825 connectUrl: _propTypes.default.string.isRequired,
2826 onSuccess: _propTypes.default.func.isRequired
2827 };
2828 var _default = Connect;
2829 exports["default"] = _default;
2830
2831 /***/ }),
2832
2833 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
2834 /*!**********************************************************************************!*\
2835 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
2836 \**********************************************************************************/
2837 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2838
2839 "use strict";
2840
2841
2842 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2843 Object.defineProperty(exports, "__esModule", ({
2844 value: true
2845 }));
2846 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;
2847 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2848 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2849 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
2850 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
2851 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
2852 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
2853 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
2854 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2855 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2856 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2857 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2858 var ATTACHMENT_TYPE_JSON = 'json';
2859 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
2860 var ATTACHMENT_TYPE_URL = 'url';
2861 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
2862 var MENU_TYPE_LIBRARY = 'library';
2863 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
2864 var USER_VARIATION_SOURCE = 'user-variation';
2865 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
2866 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
2867 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
2868 var USER_URL_SOURCE = 'user-url';
2869 exports.USER_URL_SOURCE = USER_URL_SOURCE;
2870 var Attachments = function Attachments(props) {
2871 if (!props.attachments.length) {
2872 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
2873 disabled: props.disabled,
2874 onAttach: props.onAttach,
2875 items: [{
2876 title: (0, _i18n.__)('Reference a website', 'elementor'),
2877 icon: _websiteIcon.default,
2878 type: ATTACHMENT_TYPE_URL
2879 }, {
2880 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
2881 icon: _copyPageIcon.default,
2882 type: MENU_TYPE_LIBRARY
2883 }]
2884 });
2885 }
2886 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2887 direction: "row",
2888 spacing: 1
2889 }, props.attachments.map(function (attachment, index) {
2890 switch (attachment.type) {
2891 case ATTACHMENT_TYPE_JSON:
2892 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
2893 key: index
2894 }, props));
2895 case ATTACHMENT_TYPE_URL:
2896 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
2897 key: index
2898 }, props));
2899 default:
2900 return null;
2901 }
2902 }));
2903 };
2904 Attachments.propTypes = {
2905 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
2906 onAttach: _propTypes.default.func.isRequired,
2907 onDetach: _propTypes.default.func,
2908 disabled: _propTypes.default.bool
2909 };
2910 var _default = Attachments;
2911 exports["default"] = _default;
2912
2913 /***/ }),
2914
2915 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
2916 /*!************************************************************************************************!*\
2917 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
2918 \************************************************************************************************/
2919 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2920
2921 "use strict";
2922
2923
2924 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2925 Object.defineProperty(exports, "__esModule", ({
2926 value: true
2927 }));
2928 exports["default"] = exports.AttachDialog = void 0;
2929 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2930 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
2931 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2932 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
2933 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
2934 var AttachDialog = function AttachDialog(props) {
2935 var type = props.type;
2936 var url = props.url;
2937 switch (type) {
2938 case _attachments.ATTACHMENT_TYPE_URL:
2939 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
2940 url: url,
2941 onAttach: props.onAttach,
2942 onClose: props.onClose
2943 });
2944 case _attachments.MENU_TYPE_LIBRARY:
2945 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
2946 onAttach: props.onAttach,
2947 onClose: props.onClose
2948 });
2949 }
2950 return null;
2951 };
2952 exports.AttachDialog = AttachDialog;
2953 AttachDialog.propTypes = {
2954 type: _propTypes.default.string,
2955 onAttach: _propTypes.default.func,
2956 onClose: _propTypes.default.func,
2957 url: _propTypes.default.string
2958 };
2959 var _default = AttachDialog;
2960 exports["default"] = _default;
2961
2962 /***/ }),
2963
2964 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
2965 /*!*************************************************************************************************!*\
2966 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
2967 \*************************************************************************************************/
2968 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2969
2970 "use strict";
2971
2972
2973 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2974 Object.defineProperty(exports, "__esModule", ({
2975 value: true
2976 }));
2977 exports.LibraryDialog = void 0;
2978 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2979 var _react = __webpack_require__(/*! react */ "react");
2980 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
2981 var LibraryDialog = function LibraryDialog(props) {
2982 var isApplyingTemplate = (0, _react.useRef)(false);
2983 (0, _react.useEffect)(function () {
2984 var onLibraryHide = function onLibraryHide() {
2985 if (isApplyingTemplate.current) {
2986 return;
2987 }
2988 props.onClose();
2989 };
2990 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
2991 return function () {
2992 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
2993 };
2994 }, [props]);
2995 (0, _react.useEffect)(function () {
2996 var onMessage = function onMessage(event) {
2997 var _event$data = event.data,
2998 type = _event$data.type,
2999 json = _event$data.json,
3000 html = _event$data.html,
3001 label = _event$data.label,
3002 source = _event$data.source;
3003 switch (type) {
3004 case 'library/attach:start':
3005 isApplyingTemplate.current = true;
3006 break;
3007 case 'library/attach':
3008 props.onAttach([{
3009 type: _attachments.ATTACHMENT_TYPE_JSON,
3010 previewHTML: html,
3011 content: json,
3012 label: label,
3013 source: source
3014 }]);
3015 isApplyingTemplate.current = false;
3016 props.onClose();
3017 break;
3018 }
3019 };
3020 window.addEventListener('message', onMessage);
3021 return function () {
3022 window.removeEventListener('message', onMessage);
3023 };
3024 });
3025 $e.run('library/open', {
3026 toDefault: true,
3027 mode: 'ai-attachment'
3028 });
3029 isApplyingTemplate.current = false;
3030 return null;
3031 };
3032 exports.LibraryDialog = LibraryDialog;
3033 LibraryDialog.propTypes = {
3034 onAttach: _propTypes.default.func.isRequired,
3035 onClose: _propTypes.default.func.isRequired
3036 };
3037
3038 /***/ }),
3039
3040 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3041 /*!***************************************************************************************!*\
3042 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3043 \***************************************************************************************/
3044 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3045
3046 "use strict";
3047
3048
3049 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3050 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3051 Object.defineProperty(exports, "__esModule", ({
3052 value: true
3053 }));
3054 exports.Menu = void 0;
3055 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3056 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3057 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3058 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3059 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3060 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3061 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3062 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); }
3063 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; }
3064 var Menu = function Menu(props) {
3065 var _useState = (0, _react.useState)(false),
3066 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3067 isOpen = _useState2[0],
3068 setIsOpen = _useState2[1];
3069 var _useState3 = (0, _react.useState)(null),
3070 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3071 selectedType = _useState4[0],
3072 setSelectedType = _useState4[1];
3073 var _useTheme = (0, _ui.useTheme)(),
3074 direction = _useTheme.direction;
3075 var anchorRef = (0, _react.useRef)(null);
3076 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3077 size: "small",
3078 ref: anchorRef,
3079 disabled: props.disabled,
3080 onClick: function onClick() {
3081 return setIsOpen(true);
3082 },
3083 color: "secondary"
3084 }, isOpen ? /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3085 fontSize: "small"
3086 }) : /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3087 fontSize: "small"
3088 })), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3089 open: isOpen,
3090 anchorEl: anchorRef.current,
3091 onClose: function onClose() {
3092 return setIsOpen(false);
3093 },
3094 anchorOrigin: {
3095 vertical: 'bottom',
3096 horizontal: 'rtl' === direction ? 'right' : 'left'
3097 },
3098 transformOrigin: {
3099 vertical: 'top',
3100 horizontal: 'rtl' === direction ? 'right' : 'left'
3101 }
3102 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3103 sx: {
3104 width: 440
3105 }
3106 }, props.items.map(function (item) {
3107 var IconComponent = item.icon;
3108 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3109 key: item.type,
3110 onClick: function onClick() {
3111 setSelectedType(item.type);
3112 setIsOpen(false);
3113 }
3114 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3115 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3116 type: selectedType,
3117 onAttach: props.onAttach,
3118 onClose: function onClose() {
3119 setIsOpen(false);
3120 setSelectedType(null);
3121 }
3122 }));
3123 };
3124 exports.Menu = Menu;
3125 Menu.propTypes = {
3126 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3127 title: _propTypes.default.string.isRequired,
3128 type: _propTypes.default.string.isRequired,
3129 icon: _propTypes.default.elementType
3130 })).isRequired,
3131 onAttach: _propTypes.default.func.isRequired,
3132 disabled: _propTypes.default.bool
3133 };
3134
3135 /***/ }),
3136
3137 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3138 /*!******************************************************************************************************!*\
3139 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3140 \******************************************************************************************************/
3141 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3142
3143 "use strict";
3144
3145
3146 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3147 Object.defineProperty(exports, "__esModule", ({
3148 value: true
3149 }));
3150 exports.PromptPowerNotice = void 0;
3151 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3152 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3153 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3154 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3155 var PromptPowerNotice = function PromptPowerNotice() {
3156 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3157 isViewed = _useIntroduction.isViewed,
3158 markAsViewed = _useIntroduction.markAsViewed;
3159 if (isViewed) {
3160 return null;
3161 }
3162 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3163 sx: {
3164 pt: 2,
3165 px: 2,
3166 pb: 0
3167 }
3168 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3169 severity: "info",
3170 onClose: function onClose() {
3171 return markAsViewed();
3172 }
3173 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3174 variant: "body2",
3175 display: "inline-block",
3176 sx: {
3177 paddingInlineEnd: 1
3178 }
3179 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3180 variant: "body2",
3181 display: "inline-block"
3182 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3183 };
3184 exports.PromptPowerNotice = PromptPowerNotice;
3185
3186 /***/ }),
3187
3188 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3189 /*!*************************************************************************************************!*\
3190 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3191 \*************************************************************************************************/
3192 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3193
3194 "use strict";
3195
3196
3197 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3198 Object.defineProperty(exports, "__esModule", ({
3199 value: true
3200 }));
3201 exports["default"] = exports.ThumbnailJson = void 0;
3202 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3203 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3204 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3205 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3206 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3207 var ThumbnailJson = function ThumbnailJson(props) {
3208 var _props$attachments;
3209 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3210 return 'json' === item.type;
3211 });
3212 if (!attachment) {
3213 return null;
3214 }
3215 if (!attachment.previewHTML) {
3216 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3217 animation: "wave",
3218 variant: "rounded",
3219 width: 60,
3220 height: 60
3221 });
3222 }
3223 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3224 html: attachment.previewHTML,
3225 disabled: props.disabled
3226 });
3227 };
3228 exports.ThumbnailJson = ThumbnailJson;
3229 ThumbnailJson.propTypes = {
3230 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3231 disabled: _propTypes.default.bool
3232 };
3233 var _default = ThumbnailJson;
3234 exports["default"] = _default;
3235
3236 /***/ }),
3237
3238 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3239 /*!************************************************************************************************!*\
3240 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3241 \************************************************************************************************/
3242 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3243
3244 "use strict";
3245
3246
3247 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3248 Object.defineProperty(exports, "__esModule", ({
3249 value: true
3250 }));
3251 exports["default"] = exports.ThumbnailUrl = void 0;
3252 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3253 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3254 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3255 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3256 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3257 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3258 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3259 var ThumbnailUrl = function ThumbnailUrl(props) {
3260 var _props$attachments;
3261 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3262 return 'url' === item.type;
3263 });
3264 if (!attachment) {
3265 return null;
3266 }
3267 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3268 sx: {
3269 position: 'relative',
3270 '&:hover::before': {
3271 content: '""',
3272 position: 'absolute',
3273 userSelect: 'none',
3274 inset: 0,
3275 backgroundColor: 'rgba(0,0,0,0.6)',
3276 borderRadius: 1,
3277 zIndex: 1
3278 },
3279 '&:hover .remove-attachment': {
3280 display: 'flex'
3281 }
3282 }
3283 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3284 className: "remove-attachment",
3285 size: "small",
3286 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3287 disabled: props.disabled,
3288 onClick: function onClick(event) {
3289 event.stopPropagation();
3290 props.onDetach();
3291 },
3292 sx: {
3293 display: 'none',
3294 position: 'absolute',
3295 insetInlineEnd: 4,
3296 insetBlockStart: 4,
3297 backgroundColor: 'secondary.main',
3298 zIndex: 1,
3299 borderRadius: 1,
3300 p: '3px',
3301 '&:hover': {
3302 backgroundColor: 'secondary.dark'
3303 }
3304 }
3305 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3306 sx: {
3307 fontSize: '1.125rem',
3308 color: 'common.white'
3309 }
3310 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3311 disabled: props.disabled,
3312 html: attachment.previewHTML
3313 }));
3314 };
3315 exports.ThumbnailUrl = ThumbnailUrl;
3316 ThumbnailUrl.propTypes = {
3317 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3318 disabled: _propTypes.default.bool,
3319 onDetach: _propTypes.default.func
3320 };
3321 var _default = ThumbnailUrl;
3322 exports["default"] = _default;
3323
3324 /***/ }),
3325
3326 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3327 /*!********************************************************************************************!*\
3328 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3329 \********************************************************************************************/
3330 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3331
3332 "use strict";
3333
3334
3335 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3336 Object.defineProperty(exports, "__esModule", ({
3337 value: true
3338 }));
3339 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3340 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3341 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3342 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3343 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3344 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3345 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3346 var _templateObject;
3347 var THUMBNAIL_SIZE = 64;
3348 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3349 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);
3350 var Thumbnail = function Thumbnail(props) {
3351 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3352 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;
3353 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;
3354 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3355 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3356 var scaleFactor = Math.min(height, width);
3357 var scale = THUMBNAIL_SIZE / scaleFactor;
3358
3359 // Center the preview
3360 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3361 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3362 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3363 dir: "ltr",
3364 sx: {
3365 position: 'relative',
3366 cursor: 'default',
3367 overflow: 'hidden',
3368 border: '1px solid',
3369 borderColor: 'grey.300',
3370 borderRadius: 1,
3371 boxSizing: 'border-box',
3372 width: THUMBNAIL_SIZE,
3373 height: THUMBNAIL_SIZE,
3374 opacity: props.disabled ? 0.5 : 1
3375 }
3376 }, /*#__PURE__*/_react.default.createElement("iframe", {
3377 title: (0, _i18n.__)('Preview', 'elementor'),
3378 sandbox: "",
3379 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3380 style: {
3381 border: 'none',
3382 overflow: 'hidden',
3383 width: width,
3384 height: height,
3385 transform: "scale(".concat(scale, ")"),
3386 transformOrigin: "".concat(left, "px ").concat(top, "px")
3387 }
3388 }));
3389 };
3390 exports.Thumbnail = Thumbnail;
3391 Thumbnail.propTypes = {
3392 html: _propTypes.default.string.isRequired,
3393 disabled: _propTypes.default.bool
3394 };
3395
3396 /***/ }),
3397
3398 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3399 /*!*********************************************************************************************!*\
3400 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3401 \*********************************************************************************************/
3402 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3403
3404 "use strict";
3405
3406
3407 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3408 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3409 Object.defineProperty(exports, "__esModule", ({
3410 value: true
3411 }));
3412 exports.UrlDialog = void 0;
3413 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3414 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3415 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3416 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3417 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3418 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3419 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3420 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3421 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3422 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3423 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3424 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); }
3425 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; }
3426 var UrlDialog = function UrlDialog(props) {
3427 var iframeRef = (0, _react.useRef)(null);
3428 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3429 targetUrl: props.url
3430 }),
3431 iframeSource = _useAttachUrlService.iframeSource;
3432 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3433 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3434 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3435 isTimeout = _useTimeout2[0],
3436 turnOffTimeout = _useTimeout2[1];
3437 var _useUserInfo = (0, _useUserInfo2.default)(),
3438 isConnected = _useUserInfo.isConnected,
3439 hasSubscription = _useUserInfo.hasSubscription,
3440 credits = _useUserInfo.credits,
3441 usagePercentage = _useUserInfo.usagePercentage;
3442 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3443 isLoaded = _useRemoteConfig.isLoaded,
3444 isError = _useRemoteConfig.isError,
3445 remoteConfig = _useRemoteConfig.remoteConfig;
3446 (0, _react.useEffect)(function () {
3447 var onMessage = function onMessage(event) {
3448 if (event.origin !== iframeOrigin) {
3449 return;
3450 }
3451 var _event$data = event.data,
3452 type = _event$data.type,
3453 html = _event$data.html,
3454 url = _event$data.url;
3455 switch (type) {
3456 case 'element-selector/close':
3457 props.onClose();
3458 break;
3459 case 'element-selector/loaded':
3460 turnOffTimeout();
3461 break;
3462 case 'element-selector/attach':
3463 props.onAttach([{
3464 type: 'url',
3465 previewHTML: html,
3466 content: html,
3467 label: url ? new URL(url).host : '',
3468 source: _attachments.USER_URL_SOURCE
3469 }]);
3470 break;
3471 }
3472 };
3473 window.addEventListener('message', onMessage);
3474 return function () {
3475 window.removeEventListener('message', onMessage);
3476 };
3477 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3478 if (!iframeSource) {
3479 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3480 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3481 onClose: props.onClose
3482 });
3483 }
3484 if (!isLoaded || isError) {
3485 return null;
3486 }
3487 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3488 open: true,
3489 fullScreen: true,
3490 hideBackdrop: true,
3491 maxWidth: "md",
3492 sx: {
3493 '& .MuiPaper-root': {
3494 backgroundColor: 'transparent'
3495 }
3496 }
3497 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3498 sx: {
3499 padding: 0
3500 }
3501 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3502 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3503 onClose: props.onClose
3504 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3505 ref: iframeRef,
3506 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3507 src: iframeSource,
3508 onLoad: function onLoad() {
3509 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3510 accessLevel = _window$elementorAppC.access_level,
3511 accessTier = _window$elementorAppC.access_tier,
3512 isPro = _window$elementorAppC.is_pro;
3513 iframeRef.current.contentWindow.postMessage({
3514 type: 'referrer/info',
3515 info: {
3516 page: {
3517 url: window.location.href
3518 },
3519 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3520 products: {
3521 core: {
3522 version: window.elementor.config.version
3523 },
3524 pro: {
3525 isPro: isPro,
3526 accessLevel: accessLevel,
3527 accessTier: accessTier
3528 },
3529 ai: {
3530 isConnected: isConnected,
3531 hasSubscription: hasSubscription,
3532 credits: credits,
3533 usagePercentage: usagePercentage
3534 }
3535 },
3536 user: {
3537 isAdmin: window.elementor.config.user.is_administrator
3538 }
3539 }
3540 }, iframeOrigin);
3541 },
3542 style: {
3543 border: 'none',
3544 overflow: 'scroll',
3545 width: '100%',
3546 height: '100%',
3547 backgroundColor: 'rgba(255,255,255,0.6)'
3548 }
3549 })));
3550 };
3551 exports.UrlDialog = UrlDialog;
3552 UrlDialog.propTypes = {
3553 onAttach: _propTypes.default.func.isRequired,
3554 onClose: _propTypes.default.func.isRequired,
3555 url: _propTypes.default.string
3556 };
3557
3558 /***/ }),
3559
3560 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3561 /*!************************************************************************************!*\
3562 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.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 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3571 Object.defineProperty(exports, "__esModule", ({
3572 value: true
3573 }));
3574 exports["default"] = void 0;
3575 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3576 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3577 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3578 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3579 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3580 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3581 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3582 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3583 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3584 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3585 var _excluded = ["sx", "PaperProps"];
3586 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); }
3587 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; }
3588 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; }
3589 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; }
3590 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3591 return {
3592 '& .MuiDialog-container': {
3593 marginTop: 0,
3594 alignItems: 'flex-end',
3595 paddingBottom: '16vh'
3596 },
3597 '& .MuiPaper-root': {
3598 margin: 0,
3599 maxHeight: '55vh'
3600 }
3601 };
3602 });
3603 var DialogHeader = function DialogHeader(_ref) {
3604 var onClose = _ref.onClose,
3605 children = _ref.children;
3606 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3607 sx: {
3608 fontWeight: 'normal'
3609 },
3610 color: "transparent",
3611 position: "relative"
3612 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3613 variant: "dense"
3614 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3615 sx: {
3616 mr: 1
3617 }
3618 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3619 component: "span",
3620 variant: "subtitle2",
3621 sx: {
3622 fontWeight: 'bold',
3623 textTransform: 'uppercase'
3624 }
3625 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3626 label: (0, _i18n.__)('Beta', 'elementor'),
3627 color: "default",
3628 size: "small",
3629 sx: {
3630 ml: 1
3631 }
3632 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3633 direction: "row",
3634 spacing: 1,
3635 alignItems: "center",
3636 sx: {
3637 ml: 'auto'
3638 }
3639 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3640 size: "small",
3641 "aria-label": "close",
3642 onClick: onClose,
3643 sx: {
3644 '&.MuiButtonBase-root': {
3645 mr: -1
3646 }
3647 }
3648 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
3649 };
3650 DialogHeader.propTypes = {
3651 children: _propTypes.default.node,
3652 onClose: _propTypes.default.func.isRequired
3653 };
3654 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
3655 return {
3656 '&.MuiDialogContent-root': {
3657 padding: 0
3658 }
3659 };
3660 });
3661 var LayoutDialog = function LayoutDialog(_ref2) {
3662 var _ref2$sx = _ref2.sx,
3663 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
3664 _ref2$PaperProps = _ref2.PaperProps,
3665 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
3666 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
3667 var _useState = (0, _react.useState)({
3668 pointerEvents: 'none'
3669 }),
3670 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3671 sxStyle = _useState2[0],
3672 setSxStyle = _useState2[1];
3673 var timeoutRef = (0, _react.useRef)(null);
3674
3675 /**
3676 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
3677 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
3678 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
3679 */
3680 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
3681 maxWidth: "md",
3682 PaperProps: _objectSpread({
3683 sx: {
3684 pointerEvents: 'auto'
3685 },
3686 onMouseEnter: function onMouseEnter() {
3687 clearTimeout(timeoutRef.current);
3688 setSxStyle({
3689 pointerEvents: 'all'
3690 });
3691 },
3692 onMouseLeave: function onMouseLeave() {
3693 clearTimeout(timeoutRef.current);
3694 timeoutRef.current = setTimeout(function () {
3695 setSxStyle({
3696 pointerEvents: 'none'
3697 });
3698 }, 200);
3699 }
3700 }, PaperProps)
3701 }, props, {
3702 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
3703 }));
3704 };
3705 LayoutDialog.propTypes = {
3706 sx: _propTypes.default.object,
3707 PaperProps: _propTypes.default.object
3708 };
3709 LayoutDialog.Header = DialogHeader;
3710 LayoutDialog.Content = StyledDialogContent;
3711 var _default = LayoutDialog;
3712 exports["default"] = _default;
3713
3714 /***/ }),
3715
3716 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
3717 /*!*********************************************************************************************!*\
3718 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
3719 \*********************************************************************************************/
3720 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3721
3722 "use strict";
3723
3724
3725 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3726 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3727 Object.defineProperty(exports, "__esModule", ({
3728 value: true
3729 }));
3730 exports.ProTemplateIndicator = void 0;
3731 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3732 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3733 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3734 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3735 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3736 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); }
3737 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; }
3738 var popoverId = 'e-pro-upgrade-popover';
3739 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
3740 var theme = _ref.theme;
3741 return {
3742 position: 'relative',
3743 padding: theme.spacing(3),
3744 boxShadow: theme.shadows[4],
3745 zIndex: '9999'
3746 };
3747 });
3748 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
3749 var theme = _ref2.theme;
3750 return {
3751 position: 'absolute',
3752 width: theme.spacing(5),
3753 height: theme.spacing(5),
3754 overflow: 'hidden',
3755 // Override Popper inline styles.
3756 left: '100% !important',
3757 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
3758 '&::after': {
3759 backgroundColor: theme.palette.background.paper,
3760 content: '""',
3761 display: 'block',
3762 position: 'absolute',
3763 width: theme.spacing(2.5),
3764 height: theme.spacing(2.5),
3765 top: '50%',
3766 left: '50%',
3767 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
3768 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
3769 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
3770 }
3771 };
3772 });
3773 var ProTemplateIndicator = function ProTemplateIndicator() {
3774 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
3775 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
3776 var _useState = (0, _react.useState)(false),
3777 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3778 isPopoverOpen = _useState2[0],
3779 setIsPopoverOpen = _useState2[1];
3780 var anchorEl = (0, _react.useRef)(null);
3781 var arrowEl = (0, _react.useRef)(null);
3782 var showPopover = function showPopover() {
3783 return setIsPopoverOpen(true);
3784 };
3785 var hidePopover = function hidePopover() {
3786 return setIsPopoverOpen(false);
3787 };
3788 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3789 flexDirection: "row-reverse",
3790 component: "span",
3791 display: "flex",
3792 onMouseLeave: hidePopover,
3793 alignItems: "center"
3794 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3795 ref: anchorEl,
3796 onMouseEnter: showPopover,
3797 onClick: function onClick(e) {
3798 return e.stopPropagation();
3799 } /* Do nothing */,
3800 "aria-owns": isPopoverOpen ? popoverId : undefined,
3801 "aria-haspopup": "true",
3802 sx: {
3803 m: 1,
3804 '&:hover': {
3805 backgroundColor: 'action.selected'
3806 }
3807 }
3808 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
3809 sx: {
3810 color: 'text.primary'
3811 }
3812 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
3813 open: isPopoverOpen,
3814 popperOptions: {
3815 placement: 'left-start',
3816 modifiers: [{
3817 name: 'arrow',
3818 enabled: true,
3819 options: {
3820 element: arrowEl.current,
3821 padding: 5
3822 }
3823 }, {
3824 name: 'offset',
3825 options: {
3826 offset: [0, 10]
3827 }
3828 }]
3829 },
3830 anchorEl: anchorEl.current,
3831 sx: {
3832 zIndex: '9999',
3833 maxWidth: 300
3834 }
3835 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
3836 ref: arrowEl
3837 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3838 alignItems: "start",
3839 spacing: 2
3840 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3841 color: "accent",
3842 variant: "outlined",
3843 size: "small",
3844 label: (0, _i18n.__)('Pro', 'elementor'),
3845 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
3846 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3847 variant: "body2"
3848 }, (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, {
3849 variant: "contained",
3850 color: "accent",
3851 size: "small",
3852 href: actionUrl,
3853 target: "_blank",
3854 sx: {
3855 alignSelf: 'flex-end'
3856 }
3857 }, actionLabel)))));
3858 };
3859 exports.ProTemplateIndicator = ProTemplateIndicator;
3860
3861 /***/ }),
3862
3863 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
3864 /*!*****************************************************************************************!*\
3865 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
3866 \*****************************************************************************************/
3867 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3868
3869 "use strict";
3870
3871
3872 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3873 Object.defineProperty(exports, "__esModule", ({
3874 value: true
3875 }));
3876 exports.ProWidgetsNotice = void 0;
3877 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3878 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3879 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3880 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3881 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3882 var ProWidgetsNotice = function ProWidgetsNotice() {
3883 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-pro-widget'),
3884 isViewed = _useIntroduction.isViewed,
3885 markAsViewed = _useIntroduction.markAsViewed;
3886 if (isViewed) {
3887 return null;
3888 }
3889 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3890 sx: {
3891 pt: 2,
3892 px: 2,
3893 pb: 0
3894 }
3895 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3896 severity: "info",
3897 variant: "filled",
3898 color: "accent",
3899 onClose: function onClose() {
3900 return markAsViewed();
3901 },
3902 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
3903 sx: {
3904 '& .MuiAlert-message': {
3905 width: '100%'
3906 }
3907 }
3908 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3909 flexDirection: "row",
3910 alignItems: "baseline",
3911 justifyContent: "space-between"
3912 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3913 variant: "body2",
3914 component: "span",
3915 sx: {
3916 paddingInlineEnd: 0.5
3917 }
3918 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3919 variant: "subtitle2",
3920 component: "span",
3921 sx: {
3922 paddingInlineEnd: 1
3923 }
3924 }, (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, {
3925 variant: "outlined",
3926 size: "small",
3927 onClick: function onClick() {
3928 return window.open('https://go.elementor.com/upgrade-pro/', '_blank');
3929 },
3930 color: "inherit"
3931 }, (0, _i18n.__)('Go Pro', 'elementor')))));
3932 };
3933 exports.ProWidgetsNotice = ProWidgetsNotice;
3934
3935 /***/ }),
3936
3937 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
3938 /*!******************************************************************************************!*\
3939 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
3940 \******************************************************************************************/
3941 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3942
3943 "use strict";
3944
3945
3946 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3947 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3948 Object.defineProperty(exports, "__esModule", ({
3949 value: true
3950 }));
3951 exports["default"] = void 0;
3952 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3953 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3954 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3955 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3956 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3957 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3958 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3959 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3960 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
3961 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3962 var _excluded = ["onSubmit"];
3963 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); }
3964 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; }
3965 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; }
3966 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; }
3967 var TextInput = (0, _react.forwardRef)(function (props, ref) {
3968 return /*#__PURE__*/_react.default.createElement(_ui.TextField
3969 // eslint-disable-next-line jsx-a11y/no-autofocus
3970 , (0, _extends2.default)({
3971 autoFocus: true,
3972 multiline: true,
3973 size: "small",
3974 maxRows: 3,
3975 color: "secondary",
3976 variant: "standard"
3977 }, props, {
3978 inputRef: ref,
3979 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
3980 type: 'search',
3981 sx: {
3982 pt: 0
3983 }
3984 })
3985 }));
3986 });
3987 TextInput.propTypes = {
3988 InputProps: _propTypes.default.object
3989 };
3990 var PaperComponent = function PaperComponent(props) {
3991 var _useConfig = (0, _config.useConfig)(),
3992 mode = _useConfig.mode;
3993 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
3994 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
3995 elevation: 8,
3996 sx: {
3997 borderRadius: 2
3998 }
3999 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4000 component: _ui.Box,
4001 color: function color(theme) {
4002 return theme.palette.text.tertiary;
4003 },
4004 variant: "caption",
4005 paddingX: 2,
4006 paddingY: 1
4007 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4008 sx: {
4009 m: 2
4010 }
4011 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4012 libraryLink: libraryLink
4013 })));
4014 };
4015 PaperComponent.propTypes = {
4016 children: _propTypes.default.node
4017 };
4018 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4019 var onSubmit = _ref.onSubmit,
4020 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4021 var _useState = (0, _react.useState)(false),
4022 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4023 showSuggestions = _useState2[0],
4024 setShowSuggestions = _useState2[1];
4025 var theme = (0, _ui.useTheme)();
4026 var itemHeight = parseInt(theme.spacing(4));
4027 var maxItems = 5;
4028 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4029 PaperComponent: PaperComponent,
4030 ListboxProps: {
4031 sx: {
4032 maxHeight: maxItems * itemHeight
4033 }
4034 },
4035 renderOption: function renderOption(optionProps, option) {
4036 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4037 title: option.text,
4038 noWrap: true,
4039 variant: "body2",
4040 component: _ui.Box,
4041 sx: {
4042 '&.MuiAutocomplete-option': {
4043 display: 'block',
4044 minHeight: itemHeight
4045 }
4046 }
4047 }), option.text);
4048 },
4049 freeSolo: true,
4050 fullWidth: true,
4051 disableClearable: true,
4052 open: showSuggestions,
4053 onClose: function onClose(e) {
4054 var _e$relatedTarget;
4055 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4056 },
4057 onKeyDown: function onKeyDown(e) {
4058 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4059 onSubmit(e);
4060 } else if ('/' === e.key && '' === e.target.value) {
4061 e.preventDefault();
4062 setShowSuggestions(true);
4063 }
4064 }
4065 }, props));
4066 };
4067 PromptAutocomplete.propTypes = {
4068 onSubmit: _propTypes.default.func.isRequired
4069 };
4070 PromptAutocomplete.TextInput = TextInput;
4071 var _default = PromptAutocomplete;
4072 exports["default"] = _default;
4073
4074 /***/ }),
4075
4076 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4077 /*!**********************************************************************************!*\
4078 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4079 \**********************************************************************************/
4080 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4081
4082 "use strict";
4083
4084
4085 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4086 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4087 Object.defineProperty(exports, "__esModule", ({
4088 value: true
4089 }));
4090 exports["default"] = void 0;
4091 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4092 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4093 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4094 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4095 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4096 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4097 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4098 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4099 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4100 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4101 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4102 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4103 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4104 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4105 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4106 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4107 var _excluded = ["tooltip"];
4108 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); }
4109 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; }
4110 var PROMPT_SUGGESTIONS = Object.freeze([{
4111 text: (0, _i18n.__)('Services section with list layout, icons, and service descriptions for [topic]', 'elementor')
4112 }, {
4113 text: (0, _i18n.__)('Accordion-style FAQ block with clickable questions about [topic]', 'elementor')
4114 }, {
4115 text: (0, _i18n.__)('Hero section with image, heading, subheading, and CTA button about [topic]', 'elementor')
4116 }, {
4117 text: (0, _i18n.__)('Full-width call-to-action with background image and overlay text about [topic]', 'elementor')
4118 }, {
4119 text: (0, _i18n.__)('Carousel testimonial block with user images, names, and feedback about [topic]', 'elementor')
4120 }, {
4121 text: (0, _i18n.__)('Features block showcasing feature title and brief description about [topic]', 'elementor')
4122 }, {
4123 text: (0, _i18n.__)('Multi-column minimalistic About Us section with icons for [topic]', 'elementor')
4124 }, {
4125 text: (0, _i18n.__)('Section with contact form and social media icons for [topic]', 'elementor')
4126 }, {
4127 text: (0, _i18n.__)('Statistics display in a 3-column layout with numbers and icons for [topic]', 'elementor')
4128 }, {
4129 text: (0, _i18n.__)('Pricing table section with highlighted option for [topic]', 'elementor')
4130 }, {
4131 text: (0, _i18n.__)('About Us section combining company history and values for [topic]', 'elementor')
4132 }]);
4133 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4134 var tooltip = _ref.tooltip,
4135 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4136 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4137 title: tooltip
4138 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4139 component: "span",
4140 sx: {
4141 cursor: props.disabled ? 'default' : 'pointer'
4142 }
4143 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4144 };
4145 IconButtonWithTooltip.propTypes = {
4146 tooltip: _propTypes.default.string,
4147 disabled: _propTypes.default.bool
4148 };
4149 var BackButton = function BackButton(props) {
4150 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4151 size: "small",
4152 color: "secondary",
4153 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4154 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4155 };
4156 var EditButton = function EditButton(props) {
4157 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4158 size: "small",
4159 color: "primary",
4160 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4161 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4162 };
4163 var GenerateButton = function GenerateButton(props) {
4164 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4165 size: "small",
4166 fullWidth: false
4167 }, props), (0, _i18n.__)('Generate', 'elementor'));
4168 };
4169 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4170 var _attachments$;
4171 var attachments = _ref2.attachments,
4172 isActive = _ref2.isActive,
4173 isLoading = _ref2.isLoading,
4174 _ref2$showActions = _ref2.showActions,
4175 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4176 onAttach = _ref2.onAttach,
4177 onDetach = _ref2.onDetach,
4178 _onSubmit = _ref2.onSubmit,
4179 onBack = _ref2.onBack,
4180 onEdit = _ref2.onEdit,
4181 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4182 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4183 var _useState = (0, _react.useState)(''),
4184 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4185 prompt = _useState2[0],
4186 setPrompt = _useState2[1];
4187 (0, _react.useEffect)(function () {
4188 if (shouldResetPrompt) {
4189 setPrompt('');
4190 }
4191 }, [shouldResetPrompt]);
4192 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4193 isEnhancing = _usePromptEnhancer.isEnhancing,
4194 enhance = _usePromptEnhancer.enhance;
4195 var previousPrompt = (0, _react.useRef)('');
4196 var _useConfig = (0, _config.useConfig)(),
4197 attachmentsTypes = _useConfig.attachmentsTypes;
4198 var isInputDisabled = isLoading || isEnhancing || !isActive;
4199 var isInputEmpty = '' === prompt && !attachments.length;
4200 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4201 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4202 var attachmentsConfig = attachmentsTypes[attachmentsType];
4203 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4204 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');
4205 var handleBack = function handleBack() {
4206 setPrompt(previousPrompt.current);
4207 onBack();
4208 };
4209 var handleEdit = function handleEdit() {
4210 previousPrompt.current = prompt;
4211 onEdit();
4212 };
4213 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4214 component: "form",
4215 onSubmit: function onSubmit(e) {
4216 return _onSubmit(e, prompt);
4217 },
4218 direction: "row",
4219 sx: {
4220 p: 3
4221 },
4222 alignItems: "start",
4223 gap: 1
4224 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4225 direction: "row",
4226 alignItems: "start",
4227 flexGrow: 1,
4228 spacing: 2
4229 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4230 disabled: isLoading || isEnhancing,
4231 onClick: handleBack
4232 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4233 disabled: isLoading,
4234 onClick: handleEdit
4235 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4236 attachments: attachments,
4237 onAttach: onAttach,
4238 onDetach: onDetach,
4239 disabled: isInputDisabled
4240 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4241 value: prompt,
4242 disabled: isInputDisabled,
4243 onSubmit: function onSubmit(e) {
4244 return _onSubmit(e, prompt);
4245 },
4246 options: promptSuggestions,
4247 onChange: function onChange(_, selectedValue) {
4248 return setPrompt(selectedValue.text + ' ');
4249 },
4250 renderInput: function renderInput(params) {
4251 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4252 ref: ref,
4253 onChange: function onChange(e) {
4254 return setPrompt(e.target.value);
4255 },
4256 placeholder: promptPlaceholder
4257 }));
4258 }
4259 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4260 size: "small",
4261 disabled: isGenerateDisabled || '' === prompt,
4262 isLoading: isEnhancing,
4263 onClick: function onClick() {
4264 return enhance().then(function (_ref3) {
4265 var result = _ref3.result;
4266 return setPrompt(result);
4267 });
4268 }
4269 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4270 disabled: isGenerateDisabled
4271 }));
4272 });
4273 PromptForm.propTypes = {
4274 isActive: _propTypes.default.bool,
4275 onAttach: _propTypes.default.func,
4276 onDetach: _propTypes.default.func,
4277 isLoading: _propTypes.default.bool,
4278 showActions: _propTypes.default.bool,
4279 onSubmit: _propTypes.default.func.isRequired,
4280 onBack: _propTypes.default.func.isRequired,
4281 onEdit: _propTypes.default.func.isRequired,
4282 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4283 shouldResetPrompt: _propTypes.default.bool
4284 };
4285 var _default = PromptForm;
4286 exports["default"] = _default;
4287
4288 /***/ }),
4289
4290 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4291 /*!*******************************************************************************************!*\
4292 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4293 \*******************************************************************************************/
4294 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4295
4296 "use strict";
4297
4298
4299 Object.defineProperty(exports, "__esModule", ({
4300 value: true
4301 }));
4302 exports["default"] = void 0;
4303 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4304 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4305 shouldForwardProp: function shouldForwardProp(prop) {
4306 return prop !== 'outlineOffset';
4307 }
4308 })(function (_ref) {
4309 var theme = _ref.theme,
4310 selected = _ref.selected,
4311 height = _ref.height,
4312 disabled = _ref.disabled,
4313 _ref$outlineOffset = _ref.outlineOffset,
4314 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4315 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4316 var outline = "2px solid ".concat(outlineColor);
4317 return {
4318 height: height,
4319 cursor: disabled ? 'default' : 'pointer',
4320 overflow: 'hidden',
4321 boxSizing: 'border-box',
4322 backgroundPosition: 'top center',
4323 backgroundSize: '100% auto',
4324 backgroundRepeat: 'no-repeat',
4325 backgroundColor: theme.palette.common.white,
4326 borderRadius: theme.shape.borderRadius * 0.5,
4327 outlineOffset: outlineOffset,
4328 outline: outline,
4329 opacity: disabled ? '0.4' : '1',
4330 transition: "all 50ms linear",
4331 '&:hover': disabled ? {} : {
4332 outlineColor: theme.palette.text.primary
4333 }
4334 };
4335 });
4336 var _default = ScreenshotContainer;
4337 exports["default"] = _default;
4338
4339 /***/ }),
4340
4341 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4342 /*!*********************************************************************************************!*\
4343 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4344 \*********************************************************************************************/
4345 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4346
4347 "use strict";
4348
4349
4350 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4351 Object.defineProperty(exports, "__esModule", ({
4352 value: true
4353 }));
4354 exports["default"] = ScreenshotUnavailable;
4355 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4356 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4357 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4358 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4359 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4360 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4361 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; }
4362 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; }
4363 function ScreenshotUnavailable(props) {
4364 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4365 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4366 display: 'flex',
4367 alignItems: 'center',
4368 justifyContent: 'center',
4369 backgroundColor: 'background.paper',
4370 color: 'text.tertiary',
4371 fontStyle: 'italic',
4372 fontSize: '12px',
4373 paddingInline: 12,
4374 textAlign: 'center',
4375 lineHeight: 1.5
4376 })
4377 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4378 }
4379 ScreenshotUnavailable.propTypes = {
4380 sx: _propTypes.default.object
4381 };
4382
4383 /***/ }),
4384
4385 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4386 /*!*********************************************************************************!*\
4387 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4388 \*********************************************************************************/
4389 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4390
4391 "use strict";
4392
4393
4394 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4395 Object.defineProperty(exports, "__esModule", ({
4396 value: true
4397 }));
4398 exports["default"] = void 0;
4399 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4400 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4401 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4402 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4403 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4404 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4405 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4406 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; }
4407 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; }
4408 var SCREENSHOT_HEIGHT = '138px';
4409 var Screenshot = function Screenshot(_ref) {
4410 var url = _ref.url,
4411 type = _ref.type,
4412 _ref$isLoading = _ref.isLoading,
4413 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4414 _ref$isSelected = _ref.isSelected,
4415 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4416 isPlaceholder = _ref.isPlaceholder,
4417 disabled = _ref.disabled,
4418 onClick = _ref.onClick,
4419 _ref$sx = _ref.sx,
4420 sx = _ref$sx === void 0 ? {} : _ref$sx,
4421 outlineOffset = _ref.outlineOffset;
4422 if (isPlaceholder) {
4423 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4424 sx: _objectSpread({
4425 height: SCREENSHOT_HEIGHT
4426 }, sx)
4427 });
4428 }
4429 if (isLoading) {
4430 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4431 width: "100%",
4432 animation: "wave",
4433 variant: "rounded",
4434 height: SCREENSHOT_HEIGHT,
4435 sx: sx
4436 });
4437 }
4438 if (!url) {
4439 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4440 selected: isSelected,
4441 disabled: disabled,
4442 sx: sx,
4443 onClick: onClick,
4444 height: SCREENSHOT_HEIGHT,
4445 outlineOffset: outlineOffset
4446 });
4447 }
4448 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4449 selected: isSelected,
4450 disabled: disabled,
4451 sx: _objectSpread({
4452 backgroundImage: "url('".concat(url, "')")
4453 }, sx),
4454 onClick: onClick,
4455 height: SCREENSHOT_HEIGHT,
4456 outlineOffset: outlineOffset
4457 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4458 type: type
4459 }));
4460 };
4461 Screenshot.propTypes = {
4462 isSelected: _propTypes.default.bool,
4463 isLoading: _propTypes.default.bool,
4464 isPlaceholder: _propTypes.default.bool,
4465 disabled: _propTypes.default.bool,
4466 onClick: _propTypes.default.func.isRequired,
4467 url: _propTypes.default.string,
4468 type: _propTypes.default.string,
4469 sx: _propTypes.default.object,
4470 outlineOffset: _propTypes.default.string
4471 };
4472 var _default = Screenshot;
4473 exports["default"] = _default;
4474
4475 /***/ }),
4476
4477 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4478 /*!*************************************************************************************!*\
4479 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4480 \*************************************************************************************/
4481 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4482
4483 "use strict";
4484
4485
4486 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4487 Object.defineProperty(exports, "__esModule", ({
4488 value: true
4489 }));
4490 exports["default"] = void 0;
4491 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4492 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4493 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4494 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4495 var TemplateBadge = function TemplateBadge(props) {
4496 var _useConfig = (0, _config.useConfig)(),
4497 hasPro = _useConfig.hasPro;
4498 if ('Pro' === props.type && !hasPro) {
4499 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4500 }
4501 return null;
4502 };
4503 var _default = TemplateBadge;
4504 exports["default"] = _default;
4505 TemplateBadge.propTypes = {
4506 type: _propTypes.default.string
4507 };
4508
4509 /***/ }),
4510
4511 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4512 /*!********************************************************************************************!*\
4513 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4514 \********************************************************************************************/
4515 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4516
4517 "use strict";
4518
4519
4520 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4521 Object.defineProperty(exports, "__esModule", ({
4522 value: true
4523 }));
4524 exports["default"] = void 0;
4525 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4526 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4527 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4528 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4529 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4530 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4531 var _excluded = ["onClose", "onCancel", "title", "text"];
4532 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4533 var onClose = _ref.onClose,
4534 onCancel = _ref.onCancel,
4535 title = _ref.title,
4536 text = _ref.text,
4537 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4538 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4539 "aria-labelledby": "unsaved-changes-alert-title",
4540 "aria-describedby": "unsaved-changes-alert-description"
4541 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4542 id: "unsaved-changes-alert-title"
4543 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4544 id: "unsaved-changes-alert-description"
4545 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4546 onClick: onCancel,
4547 color: "secondary"
4548 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4549 onClick: onClose,
4550 color: "error",
4551 variant: "contained"
4552 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4553 };
4554 UnsavedChangesAlert.propTypes = {
4555 title: _propTypes.default.string,
4556 text: _propTypes.default.string,
4557 onCancel: _propTypes.default.func,
4558 onClose: _propTypes.default.func
4559 };
4560 var _default = UnsavedChangesAlert;
4561 exports["default"] = _default;
4562
4563 /***/ }),
4564
4565 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4566 /*!**************************************************************************!*\
4567 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4568 \**************************************************************************/
4569 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4570
4571 "use strict";
4572
4573
4574 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4575 Object.defineProperty(exports, "__esModule", ({
4576 value: true
4577 }));
4578 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4579 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4580 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4581 var MODE_LAYOUT = 'layout';
4582 exports.MODE_LAYOUT = MODE_LAYOUT;
4583 var MODE_VARIATION = 'variation';
4584 exports.MODE_VARIATION = MODE_VARIATION;
4585 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4586 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4587 var ConfigContext = _react.default.createContext({});
4588 var useConfig = function useConfig() {
4589 return _react.default.useContext(ConfigContext);
4590 };
4591 exports.useConfig = useConfig;
4592 var ConfigProvider = function ConfigProvider(props) {
4593 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4594 value: {
4595 mode: props.mode,
4596 attachmentsTypes: props.attachmentsTypes,
4597 onClose: props.onClose,
4598 onConnect: props.onConnect,
4599 onData: props.onData,
4600 onInsert: props.onInsert,
4601 onSelect: props.onSelect,
4602 onGenerate: props.onGenerate,
4603 currentContext: props.currentContext,
4604 hasPro: props.hasPro,
4605 sessionId: props.sessionId,
4606 editorSessionId: props.editorSessionId
4607 }
4608 }, props.children);
4609 };
4610 exports.ConfigProvider = ConfigProvider;
4611 ConfigProvider.propTypes = {
4612 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4613 children: _propTypes.default.node.isRequired,
4614 attachmentsTypes: _propTypes.default.object.isRequired,
4615 onClose: _propTypes.default.func.isRequired,
4616 onConnect: _propTypes.default.func.isRequired,
4617 onData: _propTypes.default.func.isRequired,
4618 onInsert: _propTypes.default.func.isRequired,
4619 onSelect: _propTypes.default.func.isRequired,
4620 onGenerate: _propTypes.default.func.isRequired,
4621 currentContext: _propTypes.default.object,
4622 hasPro: _propTypes.default.bool,
4623 sessionId: _propTypes.default.string,
4624 editorSessionId: _propTypes.default.string
4625 };
4626 var _default = ConfigContext;
4627 exports["default"] = _default;
4628
4629 /***/ }),
4630
4631 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4632 /*!*********************************************************************************!*\
4633 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4634 \*********************************************************************************/
4635 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4636
4637 "use strict";
4638
4639
4640 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4641 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4642 Object.defineProperty(exports, "__esModule", ({
4643 value: true
4644 }));
4645 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4646 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4647 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4648 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4649 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4650 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4651 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4652 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); }
4653 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; }
4654 var RemoteConfigContext = _react.default.createContext({});
4655 var useRemoteConfig = function useRemoteConfig() {
4656 return _react.default.useContext(RemoteConfigContext);
4657 };
4658 exports.useRemoteConfig = useRemoteConfig;
4659 var CONFIG_KEYS = {
4660 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4661 AUTH_TOKEN: 'jwt'
4662 };
4663 exports.CONFIG_KEYS = CONFIG_KEYS;
4664 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4665 var _useState = (0, _react.useState)(false),
4666 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4667 isLoading = _useState2[0],
4668 setIsLoading = _useState2[1];
4669 var _useState3 = (0, _react.useState)(false),
4670 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4671 isLoaded = _useState4[0],
4672 setIsLoaded = _useState4[1];
4673 var _useState5 = (0, _react.useState)(false),
4674 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4675 isError = _useState6[0],
4676 setIsError = _useState6[1];
4677 var _useState7 = (0, _react.useState)({}),
4678 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4679 remoteConfig = _useState8[0],
4680 setRemoteConfig = _useState8[1];
4681 var fetchData = /*#__PURE__*/function () {
4682 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4683 var result;
4684 return _regenerator.default.wrap(function _callee$(_context) {
4685 while (1) switch (_context.prev = _context.next) {
4686 case 0:
4687 setIsLoading(true);
4688 _context.prev = 1;
4689 _context.next = 4;
4690 return (0, _api.getRemoteConfig)().finally(function () {
4691 setIsLoaded(true);
4692 setIsLoading(false);
4693 });
4694 case 4:
4695 result = _context.sent;
4696 if (result.config) {
4697 _context.next = 7;
4698 break;
4699 }
4700 throw new Error('Invalid remote config');
4701 case 7:
4702 setRemoteConfig(result.config);
4703 _context.next = 15;
4704 break;
4705 case 10:
4706 _context.prev = 10;
4707 _context.t0 = _context["catch"](1);
4708 setIsError(true);
4709 setIsLoaded(true);
4710 setIsLoading(false);
4711 case 15:
4712 case "end":
4713 return _context.stop();
4714 }
4715 }, _callee, null, [[1, 10]]);
4716 }));
4717 return function fetchData() {
4718 return _ref.apply(this, arguments);
4719 };
4720 }();
4721 if (!isLoaded && !isLoading) {
4722 fetchData();
4723 }
4724 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
4725 value: {
4726 isLoading: isLoading,
4727 isLoaded: isLoaded,
4728 isError: isError,
4729 remoteConfig: remoteConfig
4730 }
4731 }, props.children);
4732 };
4733 exports.RemoteConfigProvider = RemoteConfigProvider;
4734 RemoteConfigProvider.propTypes = {
4735 children: _propTypes.default.node.isRequired,
4736 onError: _propTypes.default.func.isRequired
4737 };
4738
4739 /***/ }),
4740
4741 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
4742 /*!****************************************************************************************!*\
4743 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
4744 \****************************************************************************************/
4745 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4746
4747 "use strict";
4748
4749
4750 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4751 Object.defineProperty(exports, "__esModule", ({
4752 value: true
4753 }));
4754 exports.useAttachUrlService = void 0;
4755 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4756 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4757 var _react = __webpack_require__(/*! react */ "react");
4758 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
4759 var useAttachUrlService = function useAttachUrlService(args) {
4760 var _window$elementorComm, _window$elementorComm2;
4761 var _useState = (0, _react.useState)(args.targetUrl),
4762 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4763 currentUrl = _useState2[0],
4764 setCurrentUrl = _useState2[1];
4765 var theme = (0, _ui.useTheme)();
4766 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
4767 isLoaded = _useRemoteConfig.isLoaded,
4768 isError = _useRemoteConfig.isError,
4769 remoteConfig = _useRemoteConfig.remoteConfig;
4770 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
4771 return {
4772 iframeSource: '',
4773 currentUrl: currentUrl,
4774 setCurrentUrl: setCurrentUrl
4775 };
4776 }
4777 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
4778 urlObject.searchParams.append('colorScheme', theme.palette.mode);
4779 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
4780 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);
4781 if (currentUrl) {
4782 urlObject.searchParams.append('url', currentUrl);
4783 }
4784 return {
4785 iframeSource: urlObject.toString(),
4786 currentUrl: currentUrl,
4787 setCurrentUrl: setCurrentUrl
4788 };
4789 };
4790 exports.useAttachUrlService = useAttachUrlService;
4791
4792 /***/ }),
4793
4794 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
4795 /*!***********************************************************************************!*\
4796 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
4797 \***********************************************************************************/
4798 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4799
4800 "use strict";
4801
4802
4803 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4804 Object.defineProperty(exports, "__esModule", ({
4805 value: true
4806 }));
4807 exports["default"] = void 0;
4808 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4809 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
4810 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
4811 return (0, _usePrompt.default)(function (requestBody, signal) {
4812 requestBody.variationType = type;
4813 return (0, _api.generateLayout)(requestBody, signal);
4814 }, initialValue);
4815 };
4816 var _default = useLayoutPrompt;
4817 exports["default"] = _default;
4818
4819 /***/ }),
4820
4821 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
4822 /*!********************************************************************************!*\
4823 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
4824 \********************************************************************************/
4825 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4826
4827 "use strict";
4828
4829
4830 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4831 Object.defineProperty(exports, "__esModule", ({
4832 value: true
4833 }));
4834 exports["default"] = void 0;
4835 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4836 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4837 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4838 var _react = __webpack_require__(/*! react */ "react");
4839 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
4840 var ERROR_INITIAL_VALUE = '';
4841 var useScreenshot = function useScreenshot(type, onData) {
4842 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
4843 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4844 error = _useState2[0],
4845 setError = _useState2[1];
4846 var _useState3 = (0, _react.useState)(false),
4847 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4848 isLoading = _useState4[0],
4849 setIsLoading = _useState4[1];
4850 var layoutData = (0, _useLayoutPrompt.default)(type, null);
4851 var generate = function generate(requestBody, signal) {
4852 setIsLoading(true);
4853 setError(ERROR_INITIAL_VALUE);
4854 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
4855 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
4856 var createdScreenshot;
4857 return _regenerator.default.wrap(function _callee$(_context) {
4858 while (1) switch (_context.prev = _context.next) {
4859 case 0:
4860 _context.next = 2;
4861 return onData(data.result);
4862 case 2:
4863 createdScreenshot = _context.sent;
4864 createdScreenshot.sendUsageData = function () {
4865 return layoutData.sendUsageData(data);
4866 };
4867 createdScreenshot.baseTemplateId = data.baseTemplateId;
4868 createdScreenshot.type = data.type;
4869 return _context.abrupt("return", createdScreenshot);
4870 case 7:
4871 case "end":
4872 return _context.stop();
4873 }
4874 }, _callee);
4875 }));
4876 return function (_x) {
4877 return _ref.apply(this, arguments);
4878 };
4879 }()).catch(function (err) {
4880 setError(err.message || err);
4881 throw err;
4882 }).finally(function () {
4883 return setIsLoading(false);
4884 });
4885 };
4886 return {
4887 generate: generate,
4888 error: error,
4889 isLoading: isLoading
4890 };
4891 };
4892 var _default = useScreenshot;
4893 exports["default"] = _default;
4894
4895 /***/ }),
4896
4897 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
4898 /*!*********************************************************************************!*\
4899 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
4900 \*********************************************************************************/
4901 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4902
4903 "use strict";
4904
4905
4906 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4907 Object.defineProperty(exports, "__esModule", ({
4908 value: true
4909 }));
4910 exports["default"] = void 0;
4911 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4912 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
4913 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4914 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4915 var _react = __webpack_require__(/*! react */ "react");
4916 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
4917 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4918 var _generateIds = __webpack_require__(/*! ../../../utils/generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
4919 var PENDING_VALUE = {
4920 isPending: true
4921 };
4922 var useScreenshots = function useScreenshots(_ref) {
4923 var onData = _ref.onData;
4924 var _useState = (0, _react.useState)([]),
4925 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4926 screenshots = _useState2[0],
4927 setScreenshots = _useState2[1];
4928
4929 /**
4930 * The ids for each request are:
4931 * - editorSessionId: a unique id for each editor opening
4932 * - sessionId: a unique id for each session. (open the AI builder)
4933 * - generateId: a unique id for each generate request. (prompt change)
4934 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
4935 * - requestId: a unique id for each generate request.
4936 */
4937
4938 var _useConfig = (0, _config.useConfig)(),
4939 currentContext = _useConfig.currentContext,
4940 sessionId = _useConfig.sessionId,
4941 editorSessionId = _useConfig.editorSessionId;
4942 var generateIdRef = (0, _react.useRef)('');
4943 var batchId = "batch-".concat((0, _generateIds.getUniqueId)());
4944 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
4945 var screenshotsGroupCount = screenshotsData.length;
4946 var error = screenshotsData.every(function (s) {
4947 return s === null || s === void 0 ? void 0 : s.error;
4948 }) ? screenshotsData[0].error : '';
4949 var isLoading = screenshotsData.some(function (s) {
4950 return s === null || s === void 0 ? void 0 : s.isLoading;
4951 });
4952 var abortController = (0, _react.useRef)(null);
4953 var abort = function abort() {
4954 var _abortController$curr;
4955 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
4956 };
4957 var createScreenshots = /*#__PURE__*/function () {
4958 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
4959 var onGenerate, onError, promises, results, isAllFailed;
4960 return _regenerator.default.wrap(function _callee$(_context) {
4961 while (1) switch (_context.prev = _context.next) {
4962 case 0:
4963 abortController.current = new AbortController();
4964 onGenerate = function onGenerate(screenshot) {
4965 setScreenshots(function (prev) {
4966 var updatedData = (0, _toConsumableArray2.default)(prev);
4967 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
4968 updatedData[pendingIndex] = screenshot;
4969 return updatedData;
4970 });
4971 return true;
4972 };
4973 onError = function onError() {
4974 setScreenshots(function (prev) {
4975 var updatedData = (0, _toConsumableArray2.default)(prev);
4976 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
4977 updatedData[pendingIndex] = {
4978 isError: true
4979 };
4980 return updatedData;
4981 });
4982 return false;
4983 };
4984 promises = screenshotsData.map(function (_ref3) {
4985 var generate = _ref3.generate;
4986 var prevGeneratedIds = screenshots.map(function (screenshot) {
4987 return screenshot.baseTemplateId || '';
4988 });
4989 var requestBody = {
4990 prompt: prompt,
4991 prevGeneratedIds: prevGeneratedIds,
4992 currentContext: currentContext,
4993 ids: {
4994 editorSessionId: editorSessionId,
4995 sessionId: sessionId,
4996 generateId: generateIdRef.current,
4997 batchId: batchId,
4998 requestId: "request-".concat((0, _generateIds.getUniqueId)())
4999 },
5000 attachments: attachments.map(function (_ref4) {
5001 var type = _ref4.type,
5002 content = _ref4.content,
5003 label = _ref4.label,
5004 source = _ref4.source;
5005 // Send only the data that is needed for the generation.
5006 return {
5007 type: type,
5008 content: content,
5009 label: label,
5010 source: source
5011 };
5012 })
5013 };
5014 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5015 });
5016 _context.next = 6;
5017 return Promise.all(promises);
5018 case 6:
5019 results = _context.sent;
5020 isAllFailed = results.every(function (value) {
5021 return false === value;
5022 });
5023 if (isAllFailed) {
5024 setScreenshots(function (prev) {
5025 var updatedData = (0, _toConsumableArray2.default)(prev);
5026 updatedData.splice(screenshotsGroupCount * -1);
5027 return updatedData;
5028 });
5029 }
5030 case 9:
5031 case "end":
5032 return _context.stop();
5033 }
5034 }, _callee);
5035 }));
5036 return function createScreenshots(_x, _x2) {
5037 return _ref2.apply(this, arguments);
5038 };
5039 }();
5040 var generate = function generate(prompt, attachments) {
5041 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5042 generateIdRef.current = "generate-".concat((0, _generateIds.getUniqueId)());
5043 setScreenshots(placeholders);
5044 createScreenshots(prompt, attachments);
5045 };
5046 var regenerate = function regenerate(prompt, attachments) {
5047 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5048 setScreenshots(function (prev) {
5049 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5050 });
5051 createScreenshots(prompt, attachments);
5052 };
5053 return {
5054 generate: generate,
5055 regenerate: regenerate,
5056 screenshots: screenshots,
5057 isLoading: isLoading,
5058 error: error,
5059 abort: abort
5060 };
5061 };
5062 var _default = useScreenshots;
5063 exports["default"] = _default;
5064
5065 /***/ }),
5066
5067 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5068 /*!****************************************************************************!*\
5069 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5070 \****************************************************************************/
5071 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5072
5073 "use strict";
5074
5075
5076 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5077 Object.defineProperty(exports, "__esModule", ({
5078 value: true
5079 }));
5080 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5081 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5082 var _react = __webpack_require__(/*! react */ "react");
5083 var SCREENSHOTS_PER_PAGE = 3;
5084 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5085 var MAX_PAGES = 5;
5086 exports.MAX_PAGES = MAX_PAGES;
5087 var useSlider = function useSlider() {
5088 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5089 _ref$slidesCount = _ref.slidesCount,
5090 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5091 _ref$slidesPerPage = _ref.slidesPerPage,
5092 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5093 _ref$gapPercentage = _ref.gapPercentage,
5094 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5095 var _useState = (0, _react.useState)(1),
5096 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5097 currentPage = _useState2[0],
5098 setCurrentPage = _useState2[1];
5099 var gapsCount = slidesPerPage - 1;
5100 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5101 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5102 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5103 (0, _react.useEffect)(function () {
5104 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5105 if (currentPage > 1 && currentPage > pagesCount) {
5106 setCurrentPage(pagesCount);
5107 }
5108 }, [pagesCount]);
5109 return {
5110 currentPage: currentPage,
5111 setCurrentPage: setCurrentPage,
5112 pagesCount: pagesCount,
5113 slidesPerPage: slidesPerPage,
5114 gapPercentage: gapPercentage,
5115 offsetXPercentage: offsetXPercentage,
5116 slideWidthPercentage: slideWidthPercentage
5117 };
5118 };
5119 var _default = useSlider;
5120 exports["default"] = _default;
5121
5122 /***/ }),
5123
5124 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5125 /*!*****************************************************************!*\
5126 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5127 \*****************************************************************/
5128 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5129
5130 "use strict";
5131
5132
5133 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5134 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5135 Object.defineProperty(exports, "__esModule", ({
5136 value: true
5137 }));
5138 exports["default"] = void 0;
5139 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5140 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5141 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5142 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5143 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5144 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5145 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5146 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5147 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5148 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5149 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5150 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5151 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5152 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5153 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5154 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5155 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5156 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5157 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5158 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5159 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5160 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
5161 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5162 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5163 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5164 var _excluded = ["children"];
5165 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); }
5166 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; }
5167 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5168 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5169
5170 /**
5171 * @typedef {Object} Attachment
5172 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5173 * @property {string} previewHTML - HTML content as a string, representing a preview.
5174 * @property {string} content - Actual content of the attachment as a string.
5175 * @property {string} label - Label for the attachment.
5176 */
5177
5178 var RegenerateButton = function RegenerateButton(props) {
5179 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5180 size: "small",
5181 color: "secondary",
5182 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5183 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5184 };
5185 var UseLayoutButton = function UseLayoutButton(props) {
5186 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5187 size: "small",
5188 variant: "contained"
5189 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5190 };
5191 UseLayoutButton.propTypes = {
5192 sx: _propTypes.default.object
5193 };
5194 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5195 if (isLoading || isPromptFormActive) {
5196 return true;
5197 }
5198 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5199 };
5200 var FormLayout = function FormLayout(_ref) {
5201 var _screenshots$selected, _screenshots$2;
5202 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5203 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5204 _ref$DialogContentPro = _ref.DialogContentProps,
5205 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5206 initialAttachments = _ref.attachments;
5207 var _useConfig = (0, _config.useConfig)(),
5208 attachmentsTypes = _useConfig.attachmentsTypes,
5209 onData = _useConfig.onData,
5210 onInsert = _useConfig.onInsert,
5211 onSelect = _useConfig.onSelect,
5212 onClose = _useConfig.onClose,
5213 onGenerate = _useConfig.onGenerate,
5214 hasPro = _useConfig.hasPro;
5215 var _useScreenshots = (0, _useScreenshots2.default)({
5216 onData: onData
5217 }),
5218 screenshots = _useScreenshots.screenshots,
5219 generate = _useScreenshots.generate,
5220 regenerate = _useScreenshots.regenerate,
5221 isLoading = _useScreenshots.isLoading,
5222 error = _useScreenshots.error,
5223 abort = _useScreenshots.abort;
5224 var screenshotOutlineOffset = '2px';
5225 var _useSlider = (0, _useSlider2.default)({
5226 slidesCount: screenshots.length
5227 }),
5228 currentPage = _useSlider.currentPage,
5229 setCurrentPage = _useSlider.setCurrentPage,
5230 pagesCount = _useSlider.pagesCount,
5231 gapPercentage = _useSlider.gapPercentage,
5232 slidesPerPage = _useSlider.slidesPerPage,
5233 offsetXPercentage = _useSlider.offsetXPercentage,
5234 slideWidthPercentage = _useSlider.slideWidthPercentage;
5235 var _useState = (0, _react.useState)(-1),
5236 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5237 selectedScreenshotIndex = _useState2[0],
5238 setSelectedScreenshotIndex = _useState2[1];
5239 var _useState3 = (0, _react.useState)(false),
5240 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5241 showUnsavedChangesAlert = _useState4[0],
5242 setShowUnsavedChangesAlert = _useState4[1];
5243 var _useState5 = (0, _react.useState)(true),
5244 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5245 isPromptEditable = _useState6[0],
5246 setIsPromptEditable = _useState6[1];
5247 var _useState7 = (0, _react.useState)([]),
5248 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5249 attachments = _useState8[0],
5250 setAttachments = _useState8[1];
5251 var _useState9 = (0, _react.useState)(false),
5252 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5253 shouldRenderWebApp = _useState10[0],
5254 setShouldRenderWebApp = _useState10[1];
5255 var _useState11 = (0, _react.useState)(false),
5256 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5257 isMinimized = _useState12[0],
5258 setIsMinimized = _useState12[1];
5259 var lastRun = (0, _react.useRef)(function () {});
5260 var promptInputRef = (0, _react.useRef)(null);
5261 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5262 var dialogContentChildren = DialogContentProps.children,
5263 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5264
5265 // When there are no screenshots the prompt field should be editable.
5266 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5267 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5268 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
5269 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
5270 });
5271 var abortAndClose = function abortAndClose() {
5272 abort();
5273 onClose();
5274 };
5275 var onCloseIntent = function onCloseIntent() {
5276 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5277 if (hasUnsavedChanges) {
5278 return setShowUnsavedChangesAlert(true);
5279 }
5280 abortAndClose();
5281 };
5282 var handleGenerate = function handleGenerate(event, prompt) {
5283 event.preventDefault();
5284 if ('' === prompt.trim() && 0 === attachments.length) {
5285 return;
5286 }
5287 if ((0, _isURL.default)(prompt)) {
5288 setShouldRenderWebApp(true);
5289 return;
5290 }
5291 onGenerate();
5292 lastRun.current = function () {
5293 setSelectedScreenshotIndex(-1);
5294 generate(prompt, attachments);
5295 };
5296 lastRun.current();
5297 setIsPromptEditable(false);
5298 setCurrentPage(1);
5299 };
5300 var handleRegenerate = function handleRegenerate() {
5301 lastRun.current = function () {
5302 regenerate(promptInputRef.current.value, attachments);
5303 // Changing the current page to the next page number.
5304 setCurrentPage(pagesCount + 1);
5305 };
5306 lastRun.current();
5307 };
5308 var applyTemplate = function applyTemplate() {
5309 onInsert(selectedTemplate);
5310 screenshots[selectedScreenshotIndex].sendUsageData();
5311 abortAndClose();
5312 };
5313 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5314 return function () {
5315 if (isPromptFormActive) {
5316 return;
5317 }
5318 setSelectedScreenshotIndex(index);
5319 onSelect(template);
5320 };
5321 };
5322
5323 /**
5324 * @param {Attachment[]} items
5325 */
5326 var onAttach = function onAttach(items) {
5327 items.forEach(function (item) {
5328 if (!attachmentsTypes[item.type]) {
5329 throw new Error("Invalid attachment type: ".concat(item.type));
5330 }
5331 var typeConfig = attachmentsTypes[item.type];
5332 if (!item.previewHTML && typeConfig.previewGenerator) {
5333 typeConfig.previewGenerator(item.content).then(function (html) {
5334 item.previewHTML = html;
5335 setAttachments(function (prev) {
5336 // Replace the attachment with the updated one.
5337 return prev.map(function (attachment) {
5338 if (attachment.content === item.content) {
5339 return item;
5340 }
5341 return attachment;
5342 });
5343 });
5344 });
5345 }
5346 });
5347 setAttachments(items);
5348 setShouldRenderWebApp(false);
5349 setIsPromptEditable(true);
5350 };
5351 (0, _react.useEffect)(function () {
5352 var _screenshots$;
5353 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5354 if (isFirstTemplateExist) {
5355 onSelect(screenshots[0].template);
5356 setSelectedScreenshotIndex(0);
5357 }
5358 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5359 (0, _react.useEffect)(function () {
5360 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5361 onAttach(initialAttachments);
5362 }
5363 }, []);
5364 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5365 onClose: onCloseIntent
5366 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5367 onClose: onCloseIntent
5368 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5369 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5370 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5371 size: "small",
5372 "aria-label": "minimize",
5373 onClick: function onClick() {
5374 return setIsMinimized(function (prev) {
5375 return !prev;
5376 });
5377 }
5378 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5379 dividers: true
5380 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5381 in: !isMinimized
5382 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5383 sx: {
5384 pt: 2,
5385 px: 2,
5386 pb: 0
5387 }
5388 }, 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, {
5389 sx: {
5390 pt: 2,
5391 px: 2,
5392 pb: 0
5393 }
5394 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5395 error: error,
5396 onRetry: lastRun.current
5397 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5398 open: showUnsavedChangesAlert,
5399 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5400 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5401 onClose: abortAndClose,
5402 onCancel: function onCancel() {
5403 return setShowUnsavedChangesAlert(false);
5404 }
5405 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5406 type: _attachments.ATTACHMENT_TYPE_URL,
5407 url: promptInputRef.current.value,
5408 onAttach: onAttach,
5409 onClose: function onClose() {
5410 setShouldRenderWebApp(false);
5411 }
5412 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5413 shouldResetPrompt: shouldRenderWebApp,
5414 ref: promptInputRef,
5415 isActive: isPromptFormActive,
5416 isLoading: isLoading,
5417 showActions: screenshots.length > 0 || isLoading,
5418 attachmentsTypes: attachmentsTypes,
5419 attachments: attachments,
5420 onAttach: onAttach,
5421 onDetach: function onDetach(index) {
5422 setAttachments(function (prev) {
5423 var newAttachments = (0, _toConsumableArray2.default)(prev);
5424 newAttachments.splice(index, 1);
5425 return newAttachments;
5426 });
5427 setIsPromptEditable(true);
5428 },
5429 onSubmit: handleGenerate,
5430 onBack: function onBack() {
5431 return setIsPromptEditable(false);
5432 },
5433 onEdit: function onEdit() {
5434 return setIsPromptEditable(true);
5435 }
5436 }), (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, {
5437 sx: {
5438 p: 1.5
5439 }
5440 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5441 sx: {
5442 overflow: 'hidden',
5443 p: 0.5
5444 }
5445 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5446 sx: {
5447 display: 'flex',
5448 transition: 'all 0.4s ease',
5449 gap: "".concat(gapPercentage, "%"),
5450 transform: "translateX(".concat(offsetXPercentage, "%)")
5451 }
5452 }, screenshots.map(function (_ref2, index) {
5453 var screenshot = _ref2.screenshot,
5454 type = _ref2.type,
5455 template = _ref2.template,
5456 isError = _ref2.isError,
5457 isPending = _ref2.isPending;
5458 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5459 key: index,
5460 url: screenshot,
5461 type: type,
5462 disabled: isPromptFormActive,
5463 isPlaceholder: isError,
5464 isLoading: isPending,
5465 isSelected: selectedScreenshotIndex === index,
5466 onClick: handleScreenshotClick(index, template),
5467 outlineOffset: screenshotOutlineOffset,
5468 sx: {
5469 flex: "0 0 ".concat(slideWidthPercentage, "%")
5470 }
5471 });
5472 })))), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5473 sx: {
5474 pt: 0,
5475 px: 2,
5476 pb: 2
5477 },
5478 display: "grid",
5479 gridTemplateColumns: "repeat(3, 1fr)",
5480 justifyItems: "center"
5481 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5482 onClick: handleRegenerate,
5483 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5484 sx: {
5485 justifySelf: 'start'
5486 }
5487 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5488 page: currentPage,
5489 count: pagesCount,
5490 disabled: isPromptFormActive,
5491 onChange: function onChange(_, page) {
5492 return setCurrentPage(page);
5493 }
5494 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5495 onClick: applyTemplate,
5496 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5497 sx: {
5498 justifySelf: 'end',
5499 gridColumn: 3
5500 }
5501 }))))));
5502 };
5503 FormLayout.propTypes = {
5504 DialogHeaderProps: _propTypes.default.object,
5505 DialogContentProps: _propTypes.default.object,
5506 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5507 };
5508 var _default = FormLayout;
5509 exports["default"] = _default;
5510
5511 /***/ }),
5512
5513 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5514 /*!************************************************************************************!*\
5515 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5516 \************************************************************************************/
5517 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5518
5519 "use strict";
5520
5521
5522 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5523 Object.defineProperty(exports, "__esModule", ({
5524 value: true
5525 }));
5526 exports["default"] = void 0;
5527 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5528 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5529 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5530 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5531 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5532 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5533 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5534 var _excluded = ["isLoading"];
5535 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5536 var EnhanceButton = function EnhanceButton(_ref) {
5537 var isLoading = _ref.isLoading,
5538 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5539 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5540 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5541 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5542 component: "span",
5543 sx: {
5544 cursor: props.disabled ? 'default' : 'pointer'
5545 }
5546 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5547 size: "small",
5548 color: "secondary"
5549 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5550 color: "secondary",
5551 size: 20
5552 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5553 fontSize: "small"
5554 }))));
5555 };
5556 EnhanceButton.propTypes = {
5557 disabled: _propTypes.default.bool,
5558 isLoading: _propTypes.default.bool
5559 };
5560 var _default = EnhanceButton;
5561 exports["default"] = _default;
5562
5563 /***/ }),
5564
5565 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5566 /*!*************************************************************************************!*\
5567 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5568 \*************************************************************************************/
5569 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5570
5571 "use strict";
5572
5573
5574 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5575 Object.defineProperty(exports, "__esModule", ({
5576 value: true
5577 }));
5578 exports["default"] = void 0;
5579 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5580 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5581 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5582 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5583 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5584 var GenerateSubmit = function GenerateSubmit(props) {
5585 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5586 fullWidth: true,
5587 size: "medium",
5588 type: "submit",
5589 variant: "contained"
5590 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5591 };
5592 GenerateSubmit.propTypes = {
5593 children: _propTypes.default.node
5594 };
5595 var _default = GenerateSubmit;
5596 exports["default"] = _default;
5597
5598 /***/ }),
5599
5600 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5601 /*!*****************************************************************!*\
5602 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5603 \*****************************************************************/
5604 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5605
5606 "use strict";
5607
5608
5609 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5610 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5611 Object.defineProperty(exports, "__esModule", ({
5612 value: true
5613 }));
5614 exports["default"] = void 0;
5615 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5616 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5617 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5618 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5619 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5620 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5621 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5622 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5623 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5624 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); }
5625 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; }
5626 var GetStarted = function GetStarted(_ref) {
5627 var onSuccess = _ref.onSuccess;
5628 var _useState = (0, _react.useState)(false),
5629 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5630 isTermsChecked = _useState2[0],
5631 setIsTermsChecked = _useState2[1];
5632 var onGetStartedClick = /*#__PURE__*/function () {
5633 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5634 return _regenerator.default.wrap(function _callee$(_context) {
5635 while (1) switch (_context.prev = _context.next) {
5636 case 0:
5637 _context.next = 2;
5638 return (0, _api.setGetStarted)();
5639 case 2:
5640 onSuccess();
5641 case 3:
5642 case "end":
5643 return _context.stop();
5644 }
5645 }, _callee);
5646 }));
5647 return function onGetStartedClick() {
5648 return _ref2.apply(this, arguments);
5649 };
5650 }();
5651 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5652 alignItems: "center",
5653 gap: 1.5
5654 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5655 sx: {
5656 color: 'text.primary',
5657 fontSize: '60px',
5658 mb: 1
5659 }
5660 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5661 variant: "h4",
5662 sx: {
5663 color: 'text.primary'
5664 }
5665 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5666 variant: "body2"
5667 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5668 direction: "row",
5669 gap: 1.5,
5670 alignItems: "flex-start"
5671 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5672 id: "e-ai-terms-approval",
5673 color: "secondary",
5674 sx: {
5675 p: 0
5676 },
5677 onChange: function onChange() {
5678 return setIsTermsChecked(function (prevState) {
5679 return !prevState;
5680 });
5681 }
5682 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5683 variant: "caption",
5684 sx: {
5685 maxWidth: 520
5686 },
5687 component: "label",
5688 htmlFor: "e-ai-terms-approval"
5689 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
5690 href: "https://go.elementor.com/ai-terms/",
5691 target: "_blank",
5692 color: "info.main"
5693 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
5694 href: "https://go.elementor.com/ai-privacy-policy/",
5695 target: "_blank",
5696 color: "info.main"
5697 }, (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, {
5698 disabled: !isTermsChecked,
5699 variant: "contained",
5700 onClick: onGetStartedClick,
5701 sx: {
5702 mt: 1,
5703 '&:hover': {
5704 color: 'primary.contrastText'
5705 }
5706 }
5707 }, (0, _i18n.__)('Get Started', 'elementor')));
5708 };
5709 GetStarted.propTypes = {
5710 onSuccess: _propTypes.default.func.isRequired
5711 };
5712 var _default = GetStarted;
5713 exports["default"] = _default;
5714
5715 /***/ }),
5716
5717 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
5718 /*!**********************************************************!*\
5719 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
5720 \**********************************************************/
5721 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5722
5723 "use strict";
5724
5725
5726 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5727 Object.defineProperty(exports, "__esModule", ({
5728 value: true
5729 }));
5730 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
5731 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5732 var AttachmentPropType = _propTypes.default.shape({
5733 type: _propTypes.default.string,
5734 previewHTML: _propTypes.default.string,
5735 content: _propTypes.default.string,
5736 label: _propTypes.default.string,
5737 source: _propTypes.default.string
5738 });
5739 exports.AttachmentPropType = AttachmentPropType;
5740 var AttachmentsTypesPropType = _propTypes.default.shape({
5741 type: _propTypes.default.shape({
5742 promptPlaceholder: _propTypes.default.string,
5743 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
5744 text: _propTypes.default.string.isRequired
5745 })),
5746 previewGenerator: _propTypes.default.func
5747 })
5748 });
5749 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
5750
5751 /***/ }),
5752
5753 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
5754 /*!******************************************************************!*\
5755 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
5756 \******************************************************************/
5757 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5758
5759 "use strict";
5760 /* provided dependency */ var ReactDOM = __webpack_require__(/*! react-dom */ "react-dom");
5761
5762
5763 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5764 Object.defineProperty(exports, "__esModule", ({
5765 value: true
5766 }));
5767 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
5768 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5769 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5770 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5771 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
5772 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
5773 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
5774 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
5775 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5776 var _generateIds = __webpack_require__(/*! ./generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
5777 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
5778 var closePanel = function closePanel() {
5779 $e.run('panel/close');
5780 $e.components.get('panel').blockUserInteractions();
5781 };
5782 exports.closePanel = closePanel;
5783 var openPanel = function openPanel() {
5784 $e.run('panel/open');
5785 $e.components.get('panel').unblockUserInteractions();
5786 };
5787 exports.openPanel = openPanel;
5788 var onConnect = function onConnect(data) {
5789 elementorCommon.config.library_connect.is_connected = true;
5790 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
5791 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
5792 };
5793 exports.onConnect = onConnect;
5794 var getUiConfig = function getUiConfig() {
5795 var _elementor, _elementor$getPrefere;
5796 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';
5797 var isRTL = elementorCommon.config.isRTL;
5798 return {
5799 colorScheme: colorScheme,
5800 isRTL: isRTL
5801 };
5802 };
5803 exports.getUiConfig = getUiConfig;
5804 var VARIATIONS_PROMPTS = [{
5805 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
5806 }, {
5807 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
5808 }, {
5809 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
5810 }, {
5811 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
5812 }, {
5813 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
5814 }, {
5815 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
5816 }, {
5817 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
5818 }, {
5819 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
5820 }, {
5821 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
5822 }];
5823 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
5824 var EDITOR_SESSION_ID = "editor-session-".concat((0, _generateIds.getUniqueId)());
5825 var renderLayoutApp = function renderLayoutApp() {
5826 var _options$onRenderApp;
5827 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
5828 parentContainer: null,
5829 mode: '',
5830 at: null,
5831 onClose: null,
5832 onGenerate: null,
5833 onInsert: null,
5834 onRenderApp: null,
5835 onSelect: null,
5836 attachments: []
5837 };
5838 closePanel();
5839 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
5840 // Create the container at the "drag widget here" area position.
5841 at: options.at
5842 });
5843 var _getUiConfig = getUiConfig(),
5844 colorScheme = _getUiConfig.colorScheme,
5845 isRTL = _getUiConfig.isRTL;
5846 var rootElement = document.createElement('div');
5847 document.body.append(rootElement);
5848 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
5849 ReactDOM.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
5850 isRTL: isRTL,
5851 colorScheme: colorScheme
5852 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
5853 mode: options.mode,
5854 currentContext: {
5855 body: {
5856 backgroundColor: bodyStyle.backgroundColor,
5857 backgroundImage: bodyStyle.backgroundImage
5858 }
5859 },
5860 attachmentsTypes: {
5861 json: {
5862 promptSuggestions: VARIATIONS_PROMPTS,
5863 promptPlaceholder: PROMPT_PLACEHOLDER,
5864 previewGenerator: function () {
5865 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
5866 var screenshot;
5867 return _regenerator.default.wrap(function _callee$(_context) {
5868 while (1) switch (_context.prev = _context.next) {
5869 case 0:
5870 _context.next = 2;
5871 return (0, _screenshot.takeScreenshot)(json);
5872 case 2:
5873 screenshot = _context.sent;
5874 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
5875 case 4:
5876 case "end":
5877 return _context.stop();
5878 }
5879 }, _callee);
5880 }));
5881 function previewGenerator(_x) {
5882 return _previewGenerator.apply(this, arguments);
5883 }
5884 return previewGenerator;
5885 }()
5886 },
5887 url: {
5888 promptPlaceholder: PROMPT_PLACEHOLDER,
5889 promptSuggestions: VARIATIONS_PROMPTS
5890 }
5891 },
5892 attachments: options.attachments || [],
5893 onClose: function onClose() {
5894 var _options$onClose;
5895 previewContainer.destroy();
5896 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
5897 ReactDOM.unmountComponentAtNode(rootElement);
5898 rootElement.remove();
5899 openPanel();
5900 },
5901 onConnect: onConnect,
5902 onGenerate: function onGenerate() {
5903 var _options$onGenerate;
5904 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
5905 previewContainer: previewContainer
5906 });
5907 },
5908 onData: /*#__PURE__*/function () {
5909 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
5910 var screenshot;
5911 return _regenerator.default.wrap(function _callee2$(_context2) {
5912 while (1) switch (_context2.prev = _context2.next) {
5913 case 0:
5914 _context2.next = 2;
5915 return (0, _screenshot.takeScreenshot)(template);
5916 case 2:
5917 screenshot = _context2.sent;
5918 return _context2.abrupt("return", {
5919 screenshot: screenshot,
5920 template: template
5921 });
5922 case 4:
5923 case "end":
5924 return _context2.stop();
5925 }
5926 }, _callee2);
5927 }));
5928 return function (_x2) {
5929 return _ref.apply(this, arguments);
5930 };
5931 }(),
5932 onSelect: function onSelect(template) {
5933 var _options$onSelect;
5934 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
5935 previewContainer.setContent(template);
5936 },
5937 onInsert: options.onInsert,
5938 hasPro: elementor.helpers.hasPro(),
5939 editorSessionId: EDITOR_SESSION_ID
5940 })), rootElement);
5941 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
5942 previewContainer: previewContainer
5943 });
5944 };
5945 exports.renderLayoutApp = renderLayoutApp;
5946 var importToEditor = function importToEditor(_ref2) {
5947 var parentContainer = _ref2.parentContainer,
5948 at = _ref2.at,
5949 template = _ref2.template,
5950 historyTitle = _ref2.historyTitle,
5951 _ref2$replace = _ref2.replace,
5952 replace = _ref2$replace === void 0 ? false : _ref2$replace;
5953 var endHistoryLog = (0, _history.startHistoryLog)({
5954 type: 'import',
5955 title: historyTitle
5956 });
5957 if (replace) {
5958 $e.run('document/elements/delete', {
5959 container: parentContainer.children.at(at)
5960 });
5961 }
5962 $e.run('document/elements/create', {
5963 container: parentContainer,
5964 model: (0, _generateIds.generateIds)(template),
5965 options: {
5966 at: at,
5967 edit: true
5968 }
5969 });
5970 endHistoryLog();
5971 };
5972 exports.importToEditor = importToEditor;
5973
5974 /***/ }),
5975
5976 /***/ "../modules/ai/assets/js/editor/utils/generate-ids.js":
5977 /*!************************************************************!*\
5978 !*** ../modules/ai/assets/js/editor/utils/generate-ids.js ***!
5979 \************************************************************/
5980 /***/ ((__unused_webpack_module, exports) => {
5981
5982 "use strict";
5983
5984
5985 Object.defineProperty(exports, "__esModule", ({
5986 value: true
5987 }));
5988 exports.generateIds = generateIds;
5989 exports.getUniqueId = void 0;
5990 // Create missing IDs for the elements.
5991 var getUniqueId = function getUniqueId() {
5992 return Math.random().toString(16).substr(2, 7);
5993 };
5994 exports.getUniqueId = getUniqueId;
5995 function generateIds(template) {
5996 var _template$elements;
5997 template.id = getUniqueId().toString();
5998 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
5999 template.elements.map(function (child) {
6000 return generateIds(child);
6001 });
6002 }
6003 return template;
6004 }
6005
6006 /***/ }),
6007
6008 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6009 /*!*******************************************************!*\
6010 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6011 \*******************************************************/
6012 /***/ ((__unused_webpack_module, exports) => {
6013
6014 "use strict";
6015
6016
6017 Object.defineProperty(exports, "__esModule", ({
6018 value: true
6019 }));
6020 exports.startHistoryLog = startHistoryLog;
6021 exports.toggleHistory = toggleHistory;
6022 function toggleHistory(isActive) {
6023 elementor.documents.getCurrent().history.setActive(isActive);
6024 }
6025
6026 /**
6027 * @param {Object} options
6028 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6029 * @param { string } options.title
6030 *
6031 * @return {*}
6032 */
6033 function startHistoryLog(_ref) {
6034 var type = _ref.type,
6035 title = _ref.title;
6036 var id = $e.internal('document/history/start-log', {
6037 type: type,
6038 title: title
6039 });
6040 return function () {
6041 return $e.internal('document/history/end-log', {
6042 id: id
6043 });
6044 };
6045 }
6046
6047 /***/ }),
6048
6049 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6050 /*!*****************************************************************!*\
6051 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6052 \*****************************************************************/
6053 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6054
6055 "use strict";
6056
6057
6058 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6059 Object.defineProperty(exports, "__esModule", ({
6060 value: true
6061 }));
6062 exports.createPreviewContainer = createPreviewContainer;
6063 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6064 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6065 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6066 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; }
6067 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; }
6068 /**
6069 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6070 */
6071
6072 var PREFIX = 'e-ai-preview-container';
6073 var CLASS_HIDDEN = PREFIX + '--hidden';
6074 var CLASS_IDLE = PREFIX + '--idle';
6075
6076 /**
6077 * @param {Container} parentContainer
6078 * @param {{}} containerOptions
6079 * @return {{init, setContent, reset, destroy}}
6080 */
6081
6082 function createPreviewContainer(parentContainer) {
6083 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6084 var createdContainers = new Map();
6085 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6086 function init() {
6087 showContainer(idleContainer);
6088 }
6089 function getAllContainers() {
6090 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6091 }
6092 function reset() {
6093 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6094 createdContainers.clear();
6095 showContainer(idleContainer);
6096 }
6097 function setContent(template) {
6098 if (!template) {
6099 return;
6100 }
6101 hideContainers(getAllContainers());
6102 if (!createdContainers.has(template)) {
6103 var newContainer = createContainer(parentContainer, template, containerOptions);
6104 createdContainers.set(template, newContainer);
6105 }
6106 showContainer(createdContainers.get(template));
6107 }
6108 function destroy() {
6109 deleteContainers(getAllContainers());
6110 createdContainers.clear();
6111 }
6112 return {
6113 init: init,
6114 reset: reset,
6115 setContent: setContent,
6116 destroy: destroy
6117 };
6118 }
6119
6120 /**
6121 * @param {Container} parentContainer
6122 * @param {{}} model
6123 * @param {{}} options
6124 * @return {*}
6125 */
6126 function createContainer(parentContainer, model) {
6127 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6128 (0, _history.toggleHistory)(false);
6129 var container = $e.run('document/elements/create', {
6130 container: parentContainer,
6131 model: _objectSpread(_objectSpread({}, model), {}, {
6132 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6133 }),
6134 options: _objectSpread(_objectSpread({}, options), {}, {
6135 edit: false
6136 })
6137 });
6138 (0, _history.toggleHistory)(true);
6139 container.view.$el.addClass(CLASS_HIDDEN);
6140 return container;
6141 }
6142
6143 /**
6144 * @param {Container} parentContainer
6145 * @param {{}} containerOptions
6146 * @return {*}
6147 */
6148 function createIdleContainer(parentContainer) {
6149 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6150 // Create an empty container that'll be used of UI purposes.
6151 var container = createContainer(parentContainer, {
6152 elType: 'container'
6153 }, containerOptions);
6154 container.view.$el.addClass(CLASS_IDLE);
6155 return container;
6156 }
6157 function hideContainers(containers) {
6158 containers.forEach(function (container) {
6159 container.view.$el.addClass(CLASS_HIDDEN);
6160 });
6161 }
6162 function showContainer(container) {
6163 container.view.$el.removeClass(CLASS_HIDDEN);
6164
6165 // Delay the scroll to avoid UI jumps when toggling between containers.
6166 setTimeout(function () {
6167 container.view.$el[0].scrollIntoView({
6168 behavior: 'smooth',
6169 block: 'start'
6170 });
6171 });
6172 }
6173 function deleteContainers(containers) {
6174 (0, _history.toggleHistory)(false);
6175 $e.run('document/elements/delete', {
6176 containers: containers
6177 });
6178 (0, _history.toggleHistory)(true);
6179 }
6180
6181 /***/ }),
6182
6183 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6184 /*!**********************************************************!*\
6185 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6186 \**********************************************************/
6187 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6188
6189 "use strict";
6190
6191
6192 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6193 Object.defineProperty(exports, "__esModule", ({
6194 value: true
6195 }));
6196 exports.takeScreenshot = void 0;
6197 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6198 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6199 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6200 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6201 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6202 var _generateIds = __webpack_require__(/*! ./generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
6203 var takeScreenshot = /*#__PURE__*/function () {
6204 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6205 var hiddenWrapper, container, screenshot;
6206 return _regenerator.default.wrap(function _callee$(_context) {
6207 while (1) switch (_context.prev = _context.next) {
6208 case 0:
6209 if (template) {
6210 _context.next = 2;
6211 break;
6212 }
6213 return _context.abrupt("return", '');
6214 case 2:
6215 // Disable history so the Editor won't show our hidden container as a user action.
6216 (0, _history.toggleHistory)(false);
6217 hiddenWrapper = createHiddenWrapper();
6218 container = createContainer(template);
6219 wrapContainer(container, hiddenWrapper);
6220 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6221
6222 // Wait for the container to render.
6223 _context.next = 9;
6224 return waitForContainer(container.id);
6225 case 9:
6226 if (!template.elements.length) {
6227 _context.next = 12;
6228 break;
6229 }
6230 _context.next = 12;
6231 return Promise.all(template.elements.map(function (child) {
6232 return waitForContainer(child.id);
6233 }));
6234 case 12:
6235 _context.prev = 12;
6236 _context.next = 15;
6237 return screenshotNode(container.view.$el[0]);
6238 case 15:
6239 screenshot = _context.sent;
6240 _context.next = 21;
6241 break;
6242 case 18:
6243 _context.prev = 18;
6244 _context.t0 = _context["catch"](12);
6245 // Return an empty image url if the screenshot failed.
6246 screenshot = '';
6247 case 21:
6248 deleteContainer(container);
6249 hiddenWrapper.remove();
6250 (0, _history.toggleHistory)(true);
6251 return _context.abrupt("return", screenshot);
6252 case 25:
6253 case "end":
6254 return _context.stop();
6255 }
6256 }, _callee, null, [[12, 18]]);
6257 }));
6258 return function takeScreenshot(_x) {
6259 return _ref.apply(this, arguments);
6260 };
6261 }();
6262 exports.takeScreenshot = takeScreenshot;
6263 function screenshotNode(node) {
6264 return toWebp(node, {
6265 quality: 0.01,
6266 // Transparent 1x1 pixel.
6267 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6268 });
6269 }
6270 function toWebp(_x2) {
6271 return _toWebp.apply(this, arguments);
6272 }
6273 function _toWebp() {
6274 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6275 var _options$quality;
6276 var options,
6277 canvas,
6278 _args3 = arguments;
6279 return _regenerator.default.wrap(function _callee3$(_context3) {
6280 while (1) switch (_context3.prev = _context3.next) {
6281 case 0:
6282 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6283 _context3.next = 3;
6284 return (0, _htmlToImage.toCanvas)(node, options);
6285 case 3:
6286 canvas = _context3.sent;
6287 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6288 case 5:
6289 case "end":
6290 return _context3.stop();
6291 }
6292 }, _callee3);
6293 }));
6294 return _toWebp.apply(this, arguments);
6295 }
6296 function createHiddenWrapper() {
6297 var wrapper = document.createElement('div');
6298 wrapper.style.position = 'fixed';
6299 wrapper.style.opacity = '0';
6300 wrapper.style.inset = '0';
6301 return wrapper;
6302 }
6303 function createContainer(template) {
6304 var model = (0, _generateIds.generateIds)(template);
6305
6306 // Set a custom ID, so it can be used later on in the backend.
6307 model.id = "e-ai-screenshot-container-".concat(model.id);
6308 return $e.run('document/elements/create', {
6309 container: elementor.getPreviewContainer(),
6310 model: model,
6311 options: {
6312 edit: false
6313 }
6314 });
6315 }
6316 function deleteContainer(container) {
6317 return $e.run('document/elements/delete', {
6318 container: container
6319 });
6320 }
6321 function waitForContainer(id) {
6322 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6323 var timeoutPromise = sleep(timeout);
6324 var waitPromise = new Promise(function (resolve) {
6325 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6326 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6327 var images;
6328 return _regenerator.default.wrap(function _callee2$(_context2) {
6329 while (1) switch (_context2.prev = _context2.next) {
6330 case 0:
6331 if (!($element.data('id') === id)) {
6332 _context2.next = 5;
6333 break;
6334 }
6335 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6336 _context2.next = 4;
6337 return Promise.all(images.map(waitForImage));
6338 case 4:
6339 resolve();
6340 case 5:
6341 case "end":
6342 return _context2.stop();
6343 }
6344 }, _callee2);
6345 }));
6346 return function (_x3) {
6347 return _ref2.apply(this, arguments);
6348 };
6349 }());
6350 });
6351 return Promise.any([timeoutPromise, waitPromise]);
6352 }
6353 function waitForImage(image) {
6354 if (image.complete) {
6355 return Promise.resolve();
6356 }
6357 return new Promise(function (resolve) {
6358 image.addEventListener('load', resolve);
6359 image.addEventListener('error', function () {
6360 // Remove the image to make sure it won't break the screenshot.
6361 image.remove();
6362 resolve();
6363 });
6364 });
6365 }
6366 function sleep(ms) {
6367 return new Promise(function (resolve) {
6368 return setTimeout(resolve, ms);
6369 });
6370 }
6371 function wrapContainer(container, wrapper) {
6372 var el = container.view.$el[0];
6373 el.parentNode.insertBefore(wrapper, el);
6374 wrapper.appendChild(el);
6375 }
6376
6377 /***/ }),
6378
6379 /***/ "../node_modules/clsx/dist/clsx.m.js":
6380 /*!*******************************************!*\
6381 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6382 \*******************************************/
6383 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6384
6385 "use strict";
6386 __webpack_require__.r(__webpack_exports__);
6387 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6388 /* harmony export */ clsx: () => (/* binding */ clsx),
6389 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6390 /* harmony export */ });
6391 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);
6392
6393 /***/ }),
6394
6395 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6396 /*!***********************************************************************************!*\
6397 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6398 \***********************************************************************************/
6399 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6400
6401 "use strict";
6402
6403
6404 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6405
6406 /**
6407 * Copyright 2015, Yahoo! Inc.
6408 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6409 */
6410 var REACT_STATICS = {
6411 childContextTypes: true,
6412 contextType: true,
6413 contextTypes: true,
6414 defaultProps: true,
6415 displayName: true,
6416 getDefaultProps: true,
6417 getDerivedStateFromError: true,
6418 getDerivedStateFromProps: true,
6419 mixins: true,
6420 propTypes: true,
6421 type: true
6422 };
6423 var KNOWN_STATICS = {
6424 name: true,
6425 length: true,
6426 prototype: true,
6427 caller: true,
6428 callee: true,
6429 arguments: true,
6430 arity: true
6431 };
6432 var FORWARD_REF_STATICS = {
6433 '$$typeof': true,
6434 render: true,
6435 defaultProps: true,
6436 displayName: true,
6437 propTypes: true
6438 };
6439 var MEMO_STATICS = {
6440 '$$typeof': true,
6441 compare: true,
6442 defaultProps: true,
6443 displayName: true,
6444 propTypes: true,
6445 type: true
6446 };
6447 var TYPE_STATICS = {};
6448 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6449 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6450
6451 function getStatics(component) {
6452 // React v16.11 and below
6453 if (reactIs.isMemo(component)) {
6454 return MEMO_STATICS;
6455 } // React v16.12 and above
6456
6457
6458 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6459 }
6460
6461 var defineProperty = Object.defineProperty;
6462 var getOwnPropertyNames = Object.getOwnPropertyNames;
6463 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6464 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6465 var getPrototypeOf = Object.getPrototypeOf;
6466 var objectPrototype = Object.prototype;
6467 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6468 if (typeof sourceComponent !== 'string') {
6469 // don't hoist over string (html) components
6470 if (objectPrototype) {
6471 var inheritedComponent = getPrototypeOf(sourceComponent);
6472
6473 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6474 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6475 }
6476 }
6477
6478 var keys = getOwnPropertyNames(sourceComponent);
6479
6480 if (getOwnPropertySymbols) {
6481 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6482 }
6483
6484 var targetStatics = getStatics(targetComponent);
6485 var sourceStatics = getStatics(sourceComponent);
6486
6487 for (var i = 0; i < keys.length; ++i) {
6488 var key = keys[i];
6489
6490 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6491 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6492
6493 try {
6494 // Avoid failures from read-only properties
6495 defineProperty(targetComponent, key, descriptor);
6496 } catch (e) {}
6497 }
6498 }
6499 }
6500
6501 return targetComponent;
6502 }
6503
6504 module.exports = hoistNonReactStatics;
6505
6506
6507 /***/ }),
6508
6509 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6510 /*!*************************************************************************************************!*\
6511 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6512 \*************************************************************************************************/
6513 /***/ ((__unused_webpack_module, exports) => {
6514
6515 "use strict";
6516 /** @license React v16.13.1
6517 * react-is.development.js
6518 *
6519 * Copyright (c) Facebook, Inc. and its affiliates.
6520 *
6521 * This source code is licensed under the MIT license found in the
6522 * LICENSE file in the root directory of this source tree.
6523 */
6524
6525
6526
6527
6528
6529 if (true) {
6530 (function() {
6531 'use strict';
6532
6533 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6534 // nor polyfill, then a plain number is used for performance.
6535 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6536 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6537 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6538 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6539 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6540 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6541 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6542 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6543 // (unstable) APIs that have been removed. Can we remove the symbols?
6544
6545 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6546 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6547 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6548 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6549 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6550 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6551 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6552 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6553 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6554 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6555 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6556
6557 function isValidElementType(type) {
6558 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6559 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);
6560 }
6561
6562 function typeOf(object) {
6563 if (typeof object === 'object' && object !== null) {
6564 var $$typeof = object.$$typeof;
6565
6566 switch ($$typeof) {
6567 case REACT_ELEMENT_TYPE:
6568 var type = object.type;
6569
6570 switch (type) {
6571 case REACT_ASYNC_MODE_TYPE:
6572 case REACT_CONCURRENT_MODE_TYPE:
6573 case REACT_FRAGMENT_TYPE:
6574 case REACT_PROFILER_TYPE:
6575 case REACT_STRICT_MODE_TYPE:
6576 case REACT_SUSPENSE_TYPE:
6577 return type;
6578
6579 default:
6580 var $$typeofType = type && type.$$typeof;
6581
6582 switch ($$typeofType) {
6583 case REACT_CONTEXT_TYPE:
6584 case REACT_FORWARD_REF_TYPE:
6585 case REACT_LAZY_TYPE:
6586 case REACT_MEMO_TYPE:
6587 case REACT_PROVIDER_TYPE:
6588 return $$typeofType;
6589
6590 default:
6591 return $$typeof;
6592 }
6593
6594 }
6595
6596 case REACT_PORTAL_TYPE:
6597 return $$typeof;
6598 }
6599 }
6600
6601 return undefined;
6602 } // AsyncMode is deprecated along with isAsyncMode
6603
6604 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6605 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6606 var ContextConsumer = REACT_CONTEXT_TYPE;
6607 var ContextProvider = REACT_PROVIDER_TYPE;
6608 var Element = REACT_ELEMENT_TYPE;
6609 var ForwardRef = REACT_FORWARD_REF_TYPE;
6610 var Fragment = REACT_FRAGMENT_TYPE;
6611 var Lazy = REACT_LAZY_TYPE;
6612 var Memo = REACT_MEMO_TYPE;
6613 var Portal = REACT_PORTAL_TYPE;
6614 var Profiler = REACT_PROFILER_TYPE;
6615 var StrictMode = REACT_STRICT_MODE_TYPE;
6616 var Suspense = REACT_SUSPENSE_TYPE;
6617 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6618
6619 function isAsyncMode(object) {
6620 {
6621 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6622 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6623
6624 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.');
6625 }
6626 }
6627
6628 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6629 }
6630 function isConcurrentMode(object) {
6631 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6632 }
6633 function isContextConsumer(object) {
6634 return typeOf(object) === REACT_CONTEXT_TYPE;
6635 }
6636 function isContextProvider(object) {
6637 return typeOf(object) === REACT_PROVIDER_TYPE;
6638 }
6639 function isElement(object) {
6640 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6641 }
6642 function isForwardRef(object) {
6643 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6644 }
6645 function isFragment(object) {
6646 return typeOf(object) === REACT_FRAGMENT_TYPE;
6647 }
6648 function isLazy(object) {
6649 return typeOf(object) === REACT_LAZY_TYPE;
6650 }
6651 function isMemo(object) {
6652 return typeOf(object) === REACT_MEMO_TYPE;
6653 }
6654 function isPortal(object) {
6655 return typeOf(object) === REACT_PORTAL_TYPE;
6656 }
6657 function isProfiler(object) {
6658 return typeOf(object) === REACT_PROFILER_TYPE;
6659 }
6660 function isStrictMode(object) {
6661 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6662 }
6663 function isSuspense(object) {
6664 return typeOf(object) === REACT_SUSPENSE_TYPE;
6665 }
6666
6667 exports.AsyncMode = AsyncMode;
6668 exports.ConcurrentMode = ConcurrentMode;
6669 exports.ContextConsumer = ContextConsumer;
6670 exports.ContextProvider = ContextProvider;
6671 exports.Element = Element;
6672 exports.ForwardRef = ForwardRef;
6673 exports.Fragment = Fragment;
6674 exports.Lazy = Lazy;
6675 exports.Memo = Memo;
6676 exports.Portal = Portal;
6677 exports.Profiler = Profiler;
6678 exports.StrictMode = StrictMode;
6679 exports.Suspense = Suspense;
6680 exports.isAsyncMode = isAsyncMode;
6681 exports.isConcurrentMode = isConcurrentMode;
6682 exports.isContextConsumer = isContextConsumer;
6683 exports.isContextProvider = isContextProvider;
6684 exports.isElement = isElement;
6685 exports.isForwardRef = isForwardRef;
6686 exports.isFragment = isFragment;
6687 exports.isLazy = isLazy;
6688 exports.isMemo = isMemo;
6689 exports.isPortal = isPortal;
6690 exports.isProfiler = isProfiler;
6691 exports.isStrictMode = isStrictMode;
6692 exports.isSuspense = isSuspense;
6693 exports.isValidElementType = isValidElementType;
6694 exports.typeOf = typeOf;
6695 })();
6696 }
6697
6698
6699 /***/ }),
6700
6701 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
6702 /*!******************************************************************************!*\
6703 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
6704 \******************************************************************************/
6705 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6706
6707 "use strict";
6708
6709
6710 if (false) {} else {
6711 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
6712 }
6713
6714
6715 /***/ }),
6716
6717 /***/ "../node_modules/html-to-image/es/apply-style.js":
6718 /*!*******************************************************!*\
6719 !*** ../node_modules/html-to-image/es/apply-style.js ***!
6720 \*******************************************************/
6721 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6722
6723 "use strict";
6724 __webpack_require__.r(__webpack_exports__);
6725 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6726 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
6727 /* harmony export */ });
6728 function applyStyle(node, options) {
6729 const { style } = node;
6730 if (options.backgroundColor) {
6731 style.backgroundColor = options.backgroundColor;
6732 }
6733 if (options.width) {
6734 style.width = `${options.width}px`;
6735 }
6736 if (options.height) {
6737 style.height = `${options.height}px`;
6738 }
6739 const manual = options.style;
6740 if (manual != null) {
6741 Object.keys(manual).forEach((key) => {
6742 style[key] = manual[key];
6743 });
6744 }
6745 return node;
6746 }
6747 //# sourceMappingURL=apply-style.js.map
6748
6749 /***/ }),
6750
6751 /***/ "../node_modules/html-to-image/es/clone-node.js":
6752 /*!******************************************************!*\
6753 !*** ../node_modules/html-to-image/es/clone-node.js ***!
6754 \******************************************************/
6755 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6756
6757 "use strict";
6758 __webpack_require__.r(__webpack_exports__);
6759 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6760 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
6761 /* harmony export */ });
6762 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
6763 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6764 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
6765 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
6766
6767
6768
6769
6770 async function cloneCanvasElement(canvas) {
6771 const dataURL = canvas.toDataURL();
6772 if (dataURL === 'data:,') {
6773 return canvas.cloneNode(false);
6774 }
6775 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6776 }
6777 async function cloneVideoElement(video, options) {
6778 if (video.currentSrc) {
6779 const canvas = document.createElement('canvas');
6780 const ctx = canvas.getContext('2d');
6781 canvas.width = video.clientWidth;
6782 canvas.height = video.clientHeight;
6783 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6784 const dataURL = canvas.toDataURL();
6785 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6786 }
6787 const poster = video.poster;
6788 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
6789 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
6790 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6791 }
6792 async function cloneIFrameElement(iframe) {
6793 var _a;
6794 try {
6795 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
6796 return (await cloneNode(iframe.contentDocument.body, {}, true));
6797 }
6798 }
6799 catch (_b) {
6800 // Failed to clone iframe
6801 }
6802 return iframe.cloneNode(false);
6803 }
6804 async function cloneSingleNode(node, options) {
6805 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
6806 return cloneCanvasElement(node);
6807 }
6808 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
6809 return cloneVideoElement(node, options);
6810 }
6811 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
6812 return cloneIFrameElement(node);
6813 }
6814 return node.cloneNode(false);
6815 }
6816 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
6817 async function cloneChildren(nativeNode, clonedNode, options) {
6818 var _a, _b;
6819 let children = [];
6820 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
6821 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
6822 }
6823 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
6824 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
6825 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
6826 }
6827 else {
6828 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
6829 }
6830 if (children.length === 0 ||
6831 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
6832 return clonedNode;
6833 }
6834 await children.reduce((deferred, child) => deferred
6835 .then(() => cloneNode(child, options))
6836 .then((clonedChild) => {
6837 if (clonedChild) {
6838 clonedNode.appendChild(clonedChild);
6839 }
6840 }), Promise.resolve());
6841 return clonedNode;
6842 }
6843 function cloneCSSStyle(nativeNode, clonedNode) {
6844 const targetStyle = clonedNode.style;
6845 if (!targetStyle) {
6846 return;
6847 }
6848 const sourceStyle = window.getComputedStyle(nativeNode);
6849 if (sourceStyle.cssText) {
6850 targetStyle.cssText = sourceStyle.cssText;
6851 targetStyle.transformOrigin = sourceStyle.transformOrigin;
6852 }
6853 else {
6854 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
6855 let value = sourceStyle.getPropertyValue(name);
6856 if (name === 'font-size' && value.endsWith('px')) {
6857 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
6858 value = `${reducedFont}px`;
6859 }
6860 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
6861 name === 'display' &&
6862 value === 'inline') {
6863 value = 'block';
6864 }
6865 if (name === 'd' && clonedNode.getAttribute('d')) {
6866 value = `path(${clonedNode.getAttribute('d')})`;
6867 }
6868 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
6869 });
6870 }
6871 }
6872 function cloneInputValue(nativeNode, clonedNode) {
6873 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
6874 clonedNode.innerHTML = nativeNode.value;
6875 }
6876 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
6877 clonedNode.setAttribute('value', nativeNode.value);
6878 }
6879 }
6880 function cloneSelectValue(nativeNode, clonedNode) {
6881 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
6882 const clonedSelect = clonedNode;
6883 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
6884 if (selectedOption) {
6885 selectedOption.setAttribute('selected', '');
6886 }
6887 }
6888 }
6889 function decorate(nativeNode, clonedNode) {
6890 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
6891 cloneCSSStyle(nativeNode, clonedNode);
6892 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
6893 cloneInputValue(nativeNode, clonedNode);
6894 cloneSelectValue(nativeNode, clonedNode);
6895 }
6896 return clonedNode;
6897 }
6898 async function ensureSVGSymbols(clone, options) {
6899 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
6900 if (uses.length === 0) {
6901 return clone;
6902 }
6903 const processedDefs = {};
6904 for (let i = 0; i < uses.length; i++) {
6905 const use = uses[i];
6906 const id = use.getAttribute('xlink:href');
6907 if (id) {
6908 const exist = clone.querySelector(id);
6909 const definition = document.querySelector(id);
6910 if (!exist && definition && !processedDefs[id]) {
6911 // eslint-disable-next-line no-await-in-loop
6912 processedDefs[id] = (await cloneNode(definition, options, true));
6913 }
6914 }
6915 }
6916 const nodes = Object.values(processedDefs);
6917 if (nodes.length) {
6918 const ns = 'http://www.w3.org/1999/xhtml';
6919 const svg = document.createElementNS(ns, 'svg');
6920 svg.setAttribute('xmlns', ns);
6921 svg.style.position = 'absolute';
6922 svg.style.width = '0';
6923 svg.style.height = '0';
6924 svg.style.overflow = 'hidden';
6925 svg.style.display = 'none';
6926 const defs = document.createElementNS(ns, 'defs');
6927 svg.appendChild(defs);
6928 for (let i = 0; i < nodes.length; i++) {
6929 defs.appendChild(nodes[i]);
6930 }
6931 clone.appendChild(svg);
6932 }
6933 return clone;
6934 }
6935 async function cloneNode(node, options, isRoot) {
6936 if (!isRoot && options.filter && !options.filter(node)) {
6937 return null;
6938 }
6939 return Promise.resolve(node)
6940 .then((clonedNode) => cloneSingleNode(clonedNode, options))
6941 .then((clonedNode) => cloneChildren(node, clonedNode, options))
6942 .then((clonedNode) => decorate(node, clonedNode))
6943 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
6944 }
6945 //# sourceMappingURL=clone-node.js.map
6946
6947 /***/ }),
6948
6949 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
6950 /*!*********************************************************!*\
6951 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
6952 \*********************************************************/
6953 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6954
6955 "use strict";
6956 __webpack_require__.r(__webpack_exports__);
6957 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6958 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
6959 /* harmony export */ });
6960 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6961
6962 function formatCSSText(style) {
6963 const content = style.getPropertyValue('content');
6964 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
6965 }
6966 function formatCSSProperties(style) {
6967 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
6968 .map((name) => {
6969 const value = style.getPropertyValue(name);
6970 const priority = style.getPropertyPriority(name);
6971 return `${name}: ${value}${priority ? ' !important' : ''};`;
6972 })
6973 .join(' ');
6974 }
6975 function getPseudoElementStyle(className, pseudo, style) {
6976 const selector = `.${className}:${pseudo}`;
6977 const cssText = style.cssText
6978 ? formatCSSText(style)
6979 : formatCSSProperties(style);
6980 return document.createTextNode(`${selector}{${cssText}}`);
6981 }
6982 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
6983 const style = window.getComputedStyle(nativeNode, pseudo);
6984 const content = style.getPropertyValue('content');
6985 if (content === '' || content === 'none') {
6986 return;
6987 }
6988 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
6989 try {
6990 clonedNode.className = `${clonedNode.className} ${className}`;
6991 }
6992 catch (err) {
6993 return;
6994 }
6995 const styleElement = document.createElement('style');
6996 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
6997 clonedNode.appendChild(styleElement);
6998 }
6999 function clonePseudoElements(nativeNode, clonedNode) {
7000 clonePseudoElement(nativeNode, clonedNode, ':before');
7001 clonePseudoElement(nativeNode, clonedNode, ':after');
7002 }
7003 //# sourceMappingURL=clone-pseudos.js.map
7004
7005 /***/ }),
7006
7007 /***/ "../node_modules/html-to-image/es/dataurl.js":
7008 /*!***************************************************!*\
7009 !*** ../node_modules/html-to-image/es/dataurl.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 */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7017 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7018 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7019 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7020 /* harmony export */ });
7021 function getContentFromDataUrl(dataURL) {
7022 return dataURL.split(/,/)[1];
7023 }
7024 function isDataUrl(url) {
7025 return url.search(/^(data:)/) !== -1;
7026 }
7027 function makeDataUrl(content, mimeType) {
7028 return `data:${mimeType};base64,${content}`;
7029 }
7030 async function fetchAsDataURL(url, init, process) {
7031 const res = await fetch(url, init);
7032 if (res.status === 404) {
7033 throw new Error(`Resource "${res.url}" not found`);
7034 }
7035 const blob = await res.blob();
7036 return new Promise((resolve, reject) => {
7037 const reader = new FileReader();
7038 reader.onerror = reject;
7039 reader.onloadend = () => {
7040 try {
7041 resolve(process({ res, result: reader.result }));
7042 }
7043 catch (error) {
7044 reject(error);
7045 }
7046 };
7047 reader.readAsDataURL(blob);
7048 });
7049 }
7050 const cache = {};
7051 function getCacheKey(url, contentType, includeQueryParams) {
7052 let key = url.replace(/\?.*/, '');
7053 if (includeQueryParams) {
7054 key = url;
7055 }
7056 // font resource
7057 if (/ttf|otf|eot|woff2?/i.test(key)) {
7058 key = key.replace(/.*\//, '');
7059 }
7060 return contentType ? `[${contentType}]${key}` : key;
7061 }
7062 async function resourceToDataURL(resourceUrl, contentType, options) {
7063 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7064 if (cache[cacheKey] != null) {
7065 return cache[cacheKey];
7066 }
7067 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7068 if (options.cacheBust) {
7069 // eslint-disable-next-line no-param-reassign
7070 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7071 }
7072 let dataURL;
7073 try {
7074 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7075 if (!contentType) {
7076 // eslint-disable-next-line no-param-reassign
7077 contentType = res.headers.get('Content-Type') || '';
7078 }
7079 return getContentFromDataUrl(result);
7080 });
7081 dataURL = makeDataUrl(content, contentType);
7082 }
7083 catch (error) {
7084 dataURL = options.imagePlaceholder || '';
7085 let msg = `Failed to fetch resource: ${resourceUrl}`;
7086 if (error) {
7087 msg = typeof error === 'string' ? error : error.message;
7088 }
7089 if (msg) {
7090 console.warn(msg);
7091 }
7092 }
7093 cache[cacheKey] = dataURL;
7094 return dataURL;
7095 }
7096 //# sourceMappingURL=dataurl.js.map
7097
7098 /***/ }),
7099
7100 /***/ "../node_modules/html-to-image/es/embed-images.js":
7101 /*!********************************************************!*\
7102 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7103 \********************************************************/
7104 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7105
7106 "use strict";
7107 __webpack_require__.r(__webpack_exports__);
7108 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7109 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7110 /* harmony export */ });
7111 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7112 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7113 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7114 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7115
7116
7117
7118
7119 async function embedProp(propName, node, options) {
7120 var _a;
7121 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7122 if (propValue) {
7123 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7124 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7125 return true;
7126 }
7127 return false;
7128 }
7129 async function embedBackground(clonedNode, options) {
7130 if (!(await embedProp('background', clonedNode, options))) {
7131 await embedProp('background-image', clonedNode, options);
7132 }
7133 if (!(await embedProp('mask', clonedNode, options))) {
7134 await embedProp('mask-image', clonedNode, options);
7135 }
7136 }
7137 async function embedImageNode(clonedNode, options) {
7138 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7139 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7140 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7141 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7142 return;
7143 }
7144 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7145 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7146 await new Promise((resolve, reject) => {
7147 clonedNode.onload = resolve;
7148 clonedNode.onerror = reject;
7149 const image = clonedNode;
7150 if (image.decode) {
7151 image.decode = resolve;
7152 }
7153 if (image.loading === 'lazy') {
7154 image.loading = 'eager';
7155 }
7156 if (isImageElement) {
7157 clonedNode.srcset = '';
7158 clonedNode.src = dataURL;
7159 }
7160 else {
7161 clonedNode.href.baseVal = dataURL;
7162 }
7163 });
7164 }
7165 async function embedChildren(clonedNode, options) {
7166 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7167 const deferreds = children.map((child) => embedImages(child, options));
7168 await Promise.all(deferreds).then(() => clonedNode);
7169 }
7170 async function embedImages(clonedNode, options) {
7171 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7172 await embedBackground(clonedNode, options);
7173 await embedImageNode(clonedNode, options);
7174 await embedChildren(clonedNode, options);
7175 }
7176 }
7177 //# sourceMappingURL=embed-images.js.map
7178
7179 /***/ }),
7180
7181 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7182 /*!***********************************************************!*\
7183 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7184 \***********************************************************/
7185 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7186
7187 "use strict";
7188 __webpack_require__.r(__webpack_exports__);
7189 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7190 /* harmony export */ embed: () => (/* binding */ embed),
7191 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7192 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7193 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7194 /* harmony export */ });
7195 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7196 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7197 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7198
7199
7200
7201 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7202 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7203 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7204 function toRegex(url) {
7205 // eslint-disable-next-line no-useless-escape
7206 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7207 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7208 }
7209 function parseURLs(cssText) {
7210 const urls = [];
7211 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7212 urls.push(url);
7213 return raw;
7214 });
7215 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7216 }
7217 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7218 try {
7219 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7220 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7221 let dataURL;
7222 if (getContentFromUrl) {
7223 const content = await getContentFromUrl(resolvedURL);
7224 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7225 }
7226 else {
7227 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7228 }
7229 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7230 }
7231 catch (error) {
7232 // pass
7233 }
7234 return cssText;
7235 }
7236 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7237 return !preferredFontFormat
7238 ? str
7239 : str.replace(FONT_SRC_REGEX, (match) => {
7240 // eslint-disable-next-line no-constant-condition
7241 while (true) {
7242 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7243 if (!format) {
7244 return '';
7245 }
7246 if (format === preferredFontFormat) {
7247 return `src: ${src};`;
7248 }
7249 }
7250 });
7251 }
7252 function shouldEmbed(url) {
7253 return url.search(URL_REGEX) !== -1;
7254 }
7255 async function embedResources(cssText, baseUrl, options) {
7256 if (!shouldEmbed(cssText)) {
7257 return cssText;
7258 }
7259 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7260 const urls = parseURLs(filteredCSSText);
7261 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7262 }
7263 //# sourceMappingURL=embed-resources.js.map
7264
7265 /***/ }),
7266
7267 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7268 /*!**********************************************************!*\
7269 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7270 \**********************************************************/
7271 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7272
7273 "use strict";
7274 __webpack_require__.r(__webpack_exports__);
7275 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7276 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7277 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7278 /* harmony export */ });
7279 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7280 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7281 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7282
7283
7284
7285 const cssFetchCache = {};
7286 async function fetchCSS(url) {
7287 let cache = cssFetchCache[url];
7288 if (cache != null) {
7289 return cache;
7290 }
7291 const res = await fetch(url);
7292 const cssText = await res.text();
7293 cache = { url, cssText };
7294 cssFetchCache[url] = cache;
7295 return cache;
7296 }
7297 async function embedFonts(data, options) {
7298 let cssText = data.cssText;
7299 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7300 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7301 const loadFonts = fontLocs.map(async (loc) => {
7302 let url = loc.replace(regexUrl, '$1');
7303 if (!url.startsWith('https://')) {
7304 url = new URL(url, data.url).href;
7305 }
7306 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7307 cssText = cssText.replace(loc, `url(${result})`);
7308 return [loc, result];
7309 });
7310 });
7311 return Promise.all(loadFonts).then(() => cssText);
7312 }
7313 function parseCSS(source) {
7314 if (source == null) {
7315 return [];
7316 }
7317 const result = [];
7318 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7319 // strip out comments
7320 let cssText = source.replace(commentsRegex, '');
7321 // eslint-disable-next-line prefer-regex-literals
7322 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7323 // eslint-disable-next-line no-constant-condition
7324 while (true) {
7325 const matches = keyframesRegex.exec(cssText);
7326 if (matches === null) {
7327 break;
7328 }
7329 result.push(matches[0]);
7330 }
7331 cssText = cssText.replace(keyframesRegex, '');
7332 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7333 // to match css & media queries together
7334 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7335 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7336 // unified regex
7337 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7338 // eslint-disable-next-line no-constant-condition
7339 while (true) {
7340 let matches = importRegex.exec(cssText);
7341 if (matches === null) {
7342 matches = unifiedRegex.exec(cssText);
7343 if (matches === null) {
7344 break;
7345 }
7346 else {
7347 importRegex.lastIndex = unifiedRegex.lastIndex;
7348 }
7349 }
7350 else {
7351 unifiedRegex.lastIndex = importRegex.lastIndex;
7352 }
7353 result.push(matches[0]);
7354 }
7355 return result;
7356 }
7357 async function getCSSRules(styleSheets, options) {
7358 const ret = [];
7359 const deferreds = [];
7360 // First loop inlines imports
7361 styleSheets.forEach((sheet) => {
7362 if ('cssRules' in sheet) {
7363 try {
7364 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7365 if (item.type === CSSRule.IMPORT_RULE) {
7366 let importIndex = index + 1;
7367 const url = item.href;
7368 const deferred = fetchCSS(url)
7369 .then((metadata) => embedFonts(metadata, options))
7370 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7371 try {
7372 sheet.insertRule(rule, rule.startsWith('@import')
7373 ? (importIndex += 1)
7374 : sheet.cssRules.length);
7375 }
7376 catch (error) {
7377 console.error('Error inserting rule from remote css', {
7378 rule,
7379 error,
7380 });
7381 }
7382 }))
7383 .catch((e) => {
7384 console.error('Error loading remote css', e.toString());
7385 });
7386 deferreds.push(deferred);
7387 }
7388 });
7389 }
7390 catch (e) {
7391 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7392 if (sheet.href != null) {
7393 deferreds.push(fetchCSS(sheet.href)
7394 .then((metadata) => embedFonts(metadata, options))
7395 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7396 inline.insertRule(rule, sheet.cssRules.length);
7397 }))
7398 .catch((err) => {
7399 console.error('Error loading remote stylesheet', err);
7400 }));
7401 }
7402 console.error('Error inlining remote css file', e);
7403 }
7404 }
7405 });
7406 return Promise.all(deferreds).then(() => {
7407 // Second loop parses rules
7408 styleSheets.forEach((sheet) => {
7409 if ('cssRules' in sheet) {
7410 try {
7411 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7412 ret.push(item);
7413 });
7414 }
7415 catch (e) {
7416 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7417 }
7418 }
7419 });
7420 return ret;
7421 });
7422 }
7423 function getWebFontRules(cssRules) {
7424 return cssRules
7425 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7426 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7427 }
7428 async function parseWebFontRules(node, options) {
7429 if (node.ownerDocument == null) {
7430 throw new Error('Provided element is not within a Document');
7431 }
7432 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7433 const cssRules = await getCSSRules(styleSheets, options);
7434 return getWebFontRules(cssRules);
7435 }
7436 async function getWebFontCSS(node, options) {
7437 const rules = await parseWebFontRules(node, options);
7438 const cssTexts = await Promise.all(rules.map((rule) => {
7439 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7440 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7441 }));
7442 return cssTexts.join('\n');
7443 }
7444 async function embedWebFonts(clonedNode, options) {
7445 const cssText = options.fontEmbedCSS != null
7446 ? options.fontEmbedCSS
7447 : options.skipFonts
7448 ? null
7449 : await getWebFontCSS(clonedNode, options);
7450 if (cssText) {
7451 const styleNode = document.createElement('style');
7452 const sytleContent = document.createTextNode(cssText);
7453 styleNode.appendChild(sytleContent);
7454 if (clonedNode.firstChild) {
7455 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7456 }
7457 else {
7458 clonedNode.appendChild(styleNode);
7459 }
7460 }
7461 }
7462 //# sourceMappingURL=embed-webfonts.js.map
7463
7464 /***/ }),
7465
7466 /***/ "../node_modules/html-to-image/es/index.js":
7467 /*!*************************************************!*\
7468 !*** ../node_modules/html-to-image/es/index.js ***!
7469 \*************************************************/
7470 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7471
7472 "use strict";
7473 __webpack_require__.r(__webpack_exports__);
7474 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7475 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7476 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7477 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7478 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7479 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7480 /* harmony export */ toPng: () => (/* binding */ toPng),
7481 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7482 /* harmony export */ });
7483 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7484 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7485 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7486 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7487 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7488
7489
7490
7491
7492
7493 async function toSvg(node, options = {}) {
7494 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7495 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7496 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7497 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7498 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7499 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7500 return datauri;
7501 }
7502 async function toCanvas(node, options = {}) {
7503 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7504 const svg = await toSvg(node, options);
7505 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7506 const canvas = document.createElement('canvas');
7507 const context = canvas.getContext('2d');
7508 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7509 const canvasWidth = options.canvasWidth || width;
7510 const canvasHeight = options.canvasHeight || height;
7511 canvas.width = canvasWidth * ratio;
7512 canvas.height = canvasHeight * ratio;
7513 if (!options.skipAutoScale) {
7514 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7515 }
7516 canvas.style.width = `${canvasWidth}`;
7517 canvas.style.height = `${canvasHeight}`;
7518 if (options.backgroundColor) {
7519 context.fillStyle = options.backgroundColor;
7520 context.fillRect(0, 0, canvas.width, canvas.height);
7521 }
7522 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7523 return canvas;
7524 }
7525 async function toPixelData(node, options = {}) {
7526 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7527 const canvas = await toCanvas(node, options);
7528 const ctx = canvas.getContext('2d');
7529 return ctx.getImageData(0, 0, width, height).data;
7530 }
7531 async function toPng(node, options = {}) {
7532 const canvas = await toCanvas(node, options);
7533 return canvas.toDataURL();
7534 }
7535 async function toJpeg(node, options = {}) {
7536 const canvas = await toCanvas(node, options);
7537 return canvas.toDataURL('image/jpeg', options.quality || 1);
7538 }
7539 async function toBlob(node, options = {}) {
7540 const canvas = await toCanvas(node, options);
7541 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7542 return blob;
7543 }
7544 async function getFontEmbedCSS(node, options = {}) {
7545 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7546 }
7547 //# sourceMappingURL=index.js.map
7548
7549 /***/ }),
7550
7551 /***/ "../node_modules/html-to-image/es/mimes.js":
7552 /*!*************************************************!*\
7553 !*** ../node_modules/html-to-image/es/mimes.js ***!
7554 \*************************************************/
7555 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7556
7557 "use strict";
7558 __webpack_require__.r(__webpack_exports__);
7559 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7560 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7561 /* harmony export */ });
7562 const WOFF = 'application/font-woff';
7563 const JPEG = 'image/jpeg';
7564 const mimes = {
7565 woff: WOFF,
7566 woff2: WOFF,
7567 ttf: 'application/font-truetype',
7568 eot: 'application/vnd.ms-fontobject',
7569 png: 'image/png',
7570 jpg: JPEG,
7571 jpeg: JPEG,
7572 gif: 'image/gif',
7573 tiff: 'image/tiff',
7574 svg: 'image/svg+xml',
7575 webp: 'image/webp',
7576 };
7577 function getExtension(url) {
7578 const match = /\.([^./]*?)$/g.exec(url);
7579 return match ? match[1] : '';
7580 }
7581 function getMimeType(url) {
7582 const extension = getExtension(url).toLowerCase();
7583 return mimes[extension] || '';
7584 }
7585 //# sourceMappingURL=mimes.js.map
7586
7587 /***/ }),
7588
7589 /***/ "../node_modules/html-to-image/es/util.js":
7590 /*!************************************************!*\
7591 !*** ../node_modules/html-to-image/es/util.js ***!
7592 \************************************************/
7593 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7594
7595 "use strict";
7596 __webpack_require__.r(__webpack_exports__);
7597 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7598 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7599 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7600 /* harmony export */ createImage: () => (/* binding */ createImage),
7601 /* harmony export */ delay: () => (/* binding */ delay),
7602 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7603 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7604 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7605 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7606 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7607 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7608 /* harmony export */ toArray: () => (/* binding */ toArray),
7609 /* harmony export */ uuid: () => (/* binding */ uuid)
7610 /* harmony export */ });
7611 function resolveUrl(url, baseUrl) {
7612 // url is absolute already
7613 if (url.match(/^[a-z]+:\/\//i)) {
7614 return url;
7615 }
7616 // url is absolute already, without protocol
7617 if (url.match(/^\/\//)) {
7618 return window.location.protocol + url;
7619 }
7620 // dataURI, mailto:, tel:, etc.
7621 if (url.match(/^[a-z]+:/i)) {
7622 return url;
7623 }
7624 const doc = document.implementation.createHTMLDocument();
7625 const base = doc.createElement('base');
7626 const a = doc.createElement('a');
7627 doc.head.appendChild(base);
7628 doc.body.appendChild(a);
7629 if (baseUrl) {
7630 base.href = baseUrl;
7631 }
7632 a.href = url;
7633 return a.href;
7634 }
7635 const uuid = (() => {
7636 // generate uuid for className of pseudo elements.
7637 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7638 let counter = 0;
7639 // ref: http://stackoverflow.com/a/6248722/2519373
7640 const random = () =>
7641 // eslint-disable-next-line no-bitwise
7642 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7643 return () => {
7644 counter += 1;
7645 return `u${random()}${counter}`;
7646 };
7647 })();
7648 function delay(ms) {
7649 return (args) => new Promise((resolve) => {
7650 setTimeout(() => resolve(args), ms);
7651 });
7652 }
7653 function toArray(arrayLike) {
7654 const arr = [];
7655 for (let i = 0, l = arrayLike.length; i < l; i++) {
7656 arr.push(arrayLike[i]);
7657 }
7658 return arr;
7659 }
7660 function px(node, styleProperty) {
7661 const win = node.ownerDocument.defaultView || window;
7662 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7663 return val ? parseFloat(val.replace('px', '')) : 0;
7664 }
7665 function getNodeWidth(node) {
7666 const leftBorder = px(node, 'border-left-width');
7667 const rightBorder = px(node, 'border-right-width');
7668 return node.clientWidth + leftBorder + rightBorder;
7669 }
7670 function getNodeHeight(node) {
7671 const topBorder = px(node, 'border-top-width');
7672 const bottomBorder = px(node, 'border-bottom-width');
7673 return node.clientHeight + topBorder + bottomBorder;
7674 }
7675 function getImageSize(targetNode, options = {}) {
7676 const width = options.width || getNodeWidth(targetNode);
7677 const height = options.height || getNodeHeight(targetNode);
7678 return { width, height };
7679 }
7680 function getPixelRatio() {
7681 let ratio;
7682 let FINAL_PROCESS;
7683 try {
7684 FINAL_PROCESS = process;
7685 }
7686 catch (e) {
7687 // pass
7688 }
7689 const val = FINAL_PROCESS && FINAL_PROCESS.env
7690 ? FINAL_PROCESS.env.devicePixelRatio
7691 : null;
7692 if (val) {
7693 ratio = parseInt(val, 10);
7694 if (Number.isNaN(ratio)) {
7695 ratio = 1;
7696 }
7697 }
7698 return ratio || window.devicePixelRatio || 1;
7699 }
7700 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
7701 const canvasDimensionLimit = 16384;
7702 function checkCanvasDimensions(canvas) {
7703 if (canvas.width > canvasDimensionLimit ||
7704 canvas.height > canvasDimensionLimit) {
7705 if (canvas.width > canvasDimensionLimit &&
7706 canvas.height > canvasDimensionLimit) {
7707 if (canvas.width > canvas.height) {
7708 canvas.height *= canvasDimensionLimit / canvas.width;
7709 canvas.width = canvasDimensionLimit;
7710 }
7711 else {
7712 canvas.width *= canvasDimensionLimit / canvas.height;
7713 canvas.height = canvasDimensionLimit;
7714 }
7715 }
7716 else if (canvas.width > canvasDimensionLimit) {
7717 canvas.height *= canvasDimensionLimit / canvas.width;
7718 canvas.width = canvasDimensionLimit;
7719 }
7720 else {
7721 canvas.width *= canvasDimensionLimit / canvas.height;
7722 canvas.height = canvasDimensionLimit;
7723 }
7724 }
7725 }
7726 function canvasToBlob(canvas, options = {}) {
7727 if (canvas.toBlob) {
7728 return new Promise((resolve) => {
7729 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
7730 });
7731 }
7732 return new Promise((resolve) => {
7733 const binaryString = window.atob(canvas
7734 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
7735 .split(',')[1]);
7736 const len = binaryString.length;
7737 const binaryArray = new Uint8Array(len);
7738 for (let i = 0; i < len; i += 1) {
7739 binaryArray[i] = binaryString.charCodeAt(i);
7740 }
7741 resolve(new Blob([binaryArray], {
7742 type: options.type ? options.type : 'image/png',
7743 }));
7744 });
7745 }
7746 function createImage(url) {
7747 return new Promise((resolve, reject) => {
7748 const img = new Image();
7749 img.decode = () => resolve(img);
7750 img.onload = () => resolve(img);
7751 img.onerror = reject;
7752 img.crossOrigin = 'anonymous';
7753 img.decoding = 'async';
7754 img.src = url;
7755 });
7756 }
7757 async function svgToDataURL(svg) {
7758 return Promise.resolve()
7759 .then(() => new XMLSerializer().serializeToString(svg))
7760 .then(encodeURIComponent)
7761 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
7762 }
7763 async function nodeToDataURL(node, width, height) {
7764 const xmlns = 'http://www.w3.org/2000/svg';
7765 const svg = document.createElementNS(xmlns, 'svg');
7766 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
7767 svg.setAttribute('width', `${width}`);
7768 svg.setAttribute('height', `${height}`);
7769 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
7770 foreignObject.setAttribute('width', '100%');
7771 foreignObject.setAttribute('height', '100%');
7772 foreignObject.setAttribute('x', '0');
7773 foreignObject.setAttribute('y', '0');
7774 foreignObject.setAttribute('externalResourcesRequired', 'true');
7775 svg.appendChild(foreignObject);
7776 foreignObject.appendChild(node);
7777 return svgToDataURL(svg);
7778 }
7779 const isInstanceOfElement = (node, instance) => {
7780 if (node instanceof instance)
7781 return true;
7782 const nodePrototype = Object.getPrototypeOf(node);
7783 if (nodePrototype === null)
7784 return false;
7785 return (nodePrototype.constructor.name === instance.name ||
7786 isInstanceOfElement(nodePrototype, instance));
7787 };
7788 //# sourceMappingURL=util.js.map
7789
7790 /***/ }),
7791
7792 /***/ "../node_modules/object-assign/index.js":
7793 /*!**********************************************!*\
7794 !*** ../node_modules/object-assign/index.js ***!
7795 \**********************************************/
7796 /***/ ((module) => {
7797
7798 "use strict";
7799 /*
7800 object-assign
7801 (c) Sindre Sorhus
7802 @license MIT
7803 */
7804
7805
7806 /* eslint-disable no-unused-vars */
7807 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
7808 var hasOwnProperty = Object.prototype.hasOwnProperty;
7809 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
7810
7811 function toObject(val) {
7812 if (val === null || val === undefined) {
7813 throw new TypeError('Object.assign cannot be called with null or undefined');
7814 }
7815
7816 return Object(val);
7817 }
7818
7819 function shouldUseNative() {
7820 try {
7821 if (!Object.assign) {
7822 return false;
7823 }
7824
7825 // Detect buggy property enumeration order in older V8 versions.
7826
7827 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
7828 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
7829 test1[5] = 'de';
7830 if (Object.getOwnPropertyNames(test1)[0] === '5') {
7831 return false;
7832 }
7833
7834 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
7835 var test2 = {};
7836 for (var i = 0; i < 10; i++) {
7837 test2['_' + String.fromCharCode(i)] = i;
7838 }
7839 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
7840 return test2[n];
7841 });
7842 if (order2.join('') !== '0123456789') {
7843 return false;
7844 }
7845
7846 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
7847 var test3 = {};
7848 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
7849 test3[letter] = letter;
7850 });
7851 if (Object.keys(Object.assign({}, test3)).join('') !==
7852 'abcdefghijklmnopqrst') {
7853 return false;
7854 }
7855
7856 return true;
7857 } catch (err) {
7858 // We don't expect any of the above to throw, but better to be safe.
7859 return false;
7860 }
7861 }
7862
7863 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
7864 var from;
7865 var to = toObject(target);
7866 var symbols;
7867
7868 for (var s = 1; s < arguments.length; s++) {
7869 from = Object(arguments[s]);
7870
7871 for (var key in from) {
7872 if (hasOwnProperty.call(from, key)) {
7873 to[key] = from[key];
7874 }
7875 }
7876
7877 if (getOwnPropertySymbols) {
7878 symbols = getOwnPropertySymbols(from);
7879 for (var i = 0; i < symbols.length; i++) {
7880 if (propIsEnumerable.call(from, symbols[i])) {
7881 to[symbols[i]] = from[symbols[i]];
7882 }
7883 }
7884 }
7885 }
7886
7887 return to;
7888 };
7889
7890
7891 /***/ }),
7892
7893 /***/ "../node_modules/prop-types/checkPropTypes.js":
7894 /*!****************************************************!*\
7895 !*** ../node_modules/prop-types/checkPropTypes.js ***!
7896 \****************************************************/
7897 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7898
7899 "use strict";
7900 /**
7901 * Copyright (c) 2013-present, Facebook, Inc.
7902 *
7903 * This source code is licensed under the MIT license found in the
7904 * LICENSE file in the root directory of this source tree.
7905 */
7906
7907
7908
7909 var printWarning = function() {};
7910
7911 if (true) {
7912 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
7913 var loggedTypeFailures = {};
7914 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
7915
7916 printWarning = function(text) {
7917 var message = 'Warning: ' + text;
7918 if (typeof console !== 'undefined') {
7919 console.error(message);
7920 }
7921 try {
7922 // --- Welcome to debugging React ---
7923 // This error was thrown as a convenience so that you can use this stack
7924 // to find the callsite that caused this warning to fire.
7925 throw new Error(message);
7926 } catch (x) { /**/ }
7927 };
7928 }
7929
7930 /**
7931 * Assert that the values match with the type specs.
7932 * Error messages are memorized and will only be shown once.
7933 *
7934 * @param {object} typeSpecs Map of name to a ReactPropType
7935 * @param {object} values Runtime values that need to be type-checked
7936 * @param {string} location e.g. "prop", "context", "child context"
7937 * @param {string} componentName Name of the component for error messages.
7938 * @param {?Function} getStack Returns the component stack.
7939 * @private
7940 */
7941 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
7942 if (true) {
7943 for (var typeSpecName in typeSpecs) {
7944 if (has(typeSpecs, typeSpecName)) {
7945 var error;
7946 // Prop type validation may throw. In case they do, we don't want to
7947 // fail the render phase where it didn't fail before. So we log it.
7948 // After these have been cleaned up, we'll let them throw.
7949 try {
7950 // This is intentionally an invariant that gets caught. It's the same
7951 // behavior as without this statement except with a better message.
7952 if (typeof typeSpecs[typeSpecName] !== 'function') {
7953 var err = Error(
7954 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
7955 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
7956 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
7957 );
7958 err.name = 'Invariant Violation';
7959 throw err;
7960 }
7961 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
7962 } catch (ex) {
7963 error = ex;
7964 }
7965 if (error && !(error instanceof Error)) {
7966 printWarning(
7967 (componentName || 'React class') + ': type specification of ' +
7968 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
7969 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
7970 'You may have forgotten to pass an argument to the type checker ' +
7971 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
7972 'shape all require an argument).'
7973 );
7974 }
7975 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
7976 // Only monitor this failure once because there tends to be a lot of the
7977 // same error.
7978 loggedTypeFailures[error.message] = true;
7979
7980 var stack = getStack ? getStack() : '';
7981
7982 printWarning(
7983 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
7984 );
7985 }
7986 }
7987 }
7988 }
7989 }
7990
7991 /**
7992 * Resets warning cache when testing.
7993 *
7994 * @private
7995 */
7996 checkPropTypes.resetWarningCache = function() {
7997 if (true) {
7998 loggedTypeFailures = {};
7999 }
8000 }
8001
8002 module.exports = checkPropTypes;
8003
8004
8005 /***/ }),
8006
8007 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8008 /*!*************************************************************!*\
8009 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8010 \*************************************************************/
8011 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8012
8013 "use strict";
8014 /**
8015 * Copyright (c) 2013-present, Facebook, Inc.
8016 *
8017 * This source code is licensed under the MIT license found in the
8018 * LICENSE file in the root directory of this source tree.
8019 */
8020
8021
8022
8023 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8024 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8025
8026 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8027 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8028 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8029
8030 var printWarning = function() {};
8031
8032 if (true) {
8033 printWarning = function(text) {
8034 var message = 'Warning: ' + text;
8035 if (typeof console !== 'undefined') {
8036 console.error(message);
8037 }
8038 try {
8039 // --- Welcome to debugging React ---
8040 // This error was thrown as a convenience so that you can use this stack
8041 // to find the callsite that caused this warning to fire.
8042 throw new Error(message);
8043 } catch (x) {}
8044 };
8045 }
8046
8047 function emptyFunctionThatReturnsNull() {
8048 return null;
8049 }
8050
8051 module.exports = function(isValidElement, throwOnDirectAccess) {
8052 /* global Symbol */
8053 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8054 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8055
8056 /**
8057 * Returns the iterator method function contained on the iterable object.
8058 *
8059 * Be sure to invoke the function with the iterable as context:
8060 *
8061 * var iteratorFn = getIteratorFn(myIterable);
8062 * if (iteratorFn) {
8063 * var iterator = iteratorFn.call(myIterable);
8064 * ...
8065 * }
8066 *
8067 * @param {?object} maybeIterable
8068 * @return {?function}
8069 */
8070 function getIteratorFn(maybeIterable) {
8071 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8072 if (typeof iteratorFn === 'function') {
8073 return iteratorFn;
8074 }
8075 }
8076
8077 /**
8078 * Collection of methods that allow declaration and validation of props that are
8079 * supplied to React components. Example usage:
8080 *
8081 * var Props = require('ReactPropTypes');
8082 * var MyArticle = React.createClass({
8083 * propTypes: {
8084 * // An optional string prop named "description".
8085 * description: Props.string,
8086 *
8087 * // A required enum prop named "category".
8088 * category: Props.oneOf(['News','Photos']).isRequired,
8089 *
8090 * // A prop named "dialog" that requires an instance of Dialog.
8091 * dialog: Props.instanceOf(Dialog).isRequired
8092 * },
8093 * render: function() { ... }
8094 * });
8095 *
8096 * A more formal specification of how these methods are used:
8097 *
8098 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8099 * decl := ReactPropTypes.{type}(.isRequired)?
8100 *
8101 * Each and every declaration produces a function with the same signature. This
8102 * allows the creation of custom validation functions. For example:
8103 *
8104 * var MyLink = React.createClass({
8105 * propTypes: {
8106 * // An optional string or URI prop named "href".
8107 * href: function(props, propName, componentName) {
8108 * var propValue = props[propName];
8109 * if (propValue != null && typeof propValue !== 'string' &&
8110 * !(propValue instanceof URI)) {
8111 * return new Error(
8112 * 'Expected a string or an URI for ' + propName + ' in ' +
8113 * componentName
8114 * );
8115 * }
8116 * }
8117 * },
8118 * render: function() {...}
8119 * });
8120 *
8121 * @internal
8122 */
8123
8124 var ANONYMOUS = '<<anonymous>>';
8125
8126 // Important!
8127 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8128 var ReactPropTypes = {
8129 array: createPrimitiveTypeChecker('array'),
8130 bigint: createPrimitiveTypeChecker('bigint'),
8131 bool: createPrimitiveTypeChecker('boolean'),
8132 func: createPrimitiveTypeChecker('function'),
8133 number: createPrimitiveTypeChecker('number'),
8134 object: createPrimitiveTypeChecker('object'),
8135 string: createPrimitiveTypeChecker('string'),
8136 symbol: createPrimitiveTypeChecker('symbol'),
8137
8138 any: createAnyTypeChecker(),
8139 arrayOf: createArrayOfTypeChecker,
8140 element: createElementTypeChecker(),
8141 elementType: createElementTypeTypeChecker(),
8142 instanceOf: createInstanceTypeChecker,
8143 node: createNodeChecker(),
8144 objectOf: createObjectOfTypeChecker,
8145 oneOf: createEnumTypeChecker,
8146 oneOfType: createUnionTypeChecker,
8147 shape: createShapeTypeChecker,
8148 exact: createStrictShapeTypeChecker,
8149 };
8150
8151 /**
8152 * inlined Object.is polyfill to avoid requiring consumers ship their own
8153 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8154 */
8155 /*eslint-disable no-self-compare*/
8156 function is(x, y) {
8157 // SameValue algorithm
8158 if (x === y) {
8159 // Steps 1-5, 7-10
8160 // Steps 6.b-6.e: +0 != -0
8161 return x !== 0 || 1 / x === 1 / y;
8162 } else {
8163 // Step 6.a: NaN == NaN
8164 return x !== x && y !== y;
8165 }
8166 }
8167 /*eslint-enable no-self-compare*/
8168
8169 /**
8170 * We use an Error-like object for backward compatibility as people may call
8171 * PropTypes directly and inspect their output. However, we don't use real
8172 * Errors anymore. We don't inspect their stack anyway, and creating them
8173 * is prohibitively expensive if they are created too often, such as what
8174 * happens in oneOfType() for any type before the one that matched.
8175 */
8176 function PropTypeError(message, data) {
8177 this.message = message;
8178 this.data = data && typeof data === 'object' ? data: {};
8179 this.stack = '';
8180 }
8181 // Make `instanceof Error` still work for returned errors.
8182 PropTypeError.prototype = Error.prototype;
8183
8184 function createChainableTypeChecker(validate) {
8185 if (true) {
8186 var manualPropTypeCallCache = {};
8187 var manualPropTypeWarningCount = 0;
8188 }
8189 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8190 componentName = componentName || ANONYMOUS;
8191 propFullName = propFullName || propName;
8192
8193 if (secret !== ReactPropTypesSecret) {
8194 if (throwOnDirectAccess) {
8195 // New behavior only for users of `prop-types` package
8196 var err = new Error(
8197 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8198 'Use `PropTypes.checkPropTypes()` to call them. ' +
8199 'Read more at http://fb.me/use-check-prop-types'
8200 );
8201 err.name = 'Invariant Violation';
8202 throw err;
8203 } else if ( true && typeof console !== 'undefined') {
8204 // Old behavior for people using React.PropTypes
8205 var cacheKey = componentName + ':' + propName;
8206 if (
8207 !manualPropTypeCallCache[cacheKey] &&
8208 // Avoid spamming the console because they are often not actionable except for lib authors
8209 manualPropTypeWarningCount < 3
8210 ) {
8211 printWarning(
8212 'You are manually calling a React.PropTypes validation ' +
8213 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8214 'and will throw in the standalone `prop-types` package. ' +
8215 'You may be seeing this warning due to a third-party PropTypes ' +
8216 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8217 );
8218 manualPropTypeCallCache[cacheKey] = true;
8219 manualPropTypeWarningCount++;
8220 }
8221 }
8222 }
8223 if (props[propName] == null) {
8224 if (isRequired) {
8225 if (props[propName] === null) {
8226 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8227 }
8228 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8229 }
8230 return null;
8231 } else {
8232 return validate(props, propName, componentName, location, propFullName);
8233 }
8234 }
8235
8236 var chainedCheckType = checkType.bind(null, false);
8237 chainedCheckType.isRequired = checkType.bind(null, true);
8238
8239 return chainedCheckType;
8240 }
8241
8242 function createPrimitiveTypeChecker(expectedType) {
8243 function validate(props, propName, componentName, location, propFullName, secret) {
8244 var propValue = props[propName];
8245 var propType = getPropType(propValue);
8246 if (propType !== expectedType) {
8247 // `propValue` being instance of, say, date/regexp, pass the 'object'
8248 // check, but we can offer a more precise error message here rather than
8249 // 'of type `object`'.
8250 var preciseType = getPreciseType(propValue);
8251
8252 return new PropTypeError(
8253 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8254 {expectedType: expectedType}
8255 );
8256 }
8257 return null;
8258 }
8259 return createChainableTypeChecker(validate);
8260 }
8261
8262 function createAnyTypeChecker() {
8263 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8264 }
8265
8266 function createArrayOfTypeChecker(typeChecker) {
8267 function validate(props, propName, componentName, location, propFullName) {
8268 if (typeof typeChecker !== 'function') {
8269 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8270 }
8271 var propValue = props[propName];
8272 if (!Array.isArray(propValue)) {
8273 var propType = getPropType(propValue);
8274 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8275 }
8276 for (var i = 0; i < propValue.length; i++) {
8277 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8278 if (error instanceof Error) {
8279 return error;
8280 }
8281 }
8282 return null;
8283 }
8284 return createChainableTypeChecker(validate);
8285 }
8286
8287 function createElementTypeChecker() {
8288 function validate(props, propName, componentName, location, propFullName) {
8289 var propValue = props[propName];
8290 if (!isValidElement(propValue)) {
8291 var propType = getPropType(propValue);
8292 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8293 }
8294 return null;
8295 }
8296 return createChainableTypeChecker(validate);
8297 }
8298
8299 function createElementTypeTypeChecker() {
8300 function validate(props, propName, componentName, location, propFullName) {
8301 var propValue = props[propName];
8302 if (!ReactIs.isValidElementType(propValue)) {
8303 var propType = getPropType(propValue);
8304 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8305 }
8306 return null;
8307 }
8308 return createChainableTypeChecker(validate);
8309 }
8310
8311 function createInstanceTypeChecker(expectedClass) {
8312 function validate(props, propName, componentName, location, propFullName) {
8313 if (!(props[propName] instanceof expectedClass)) {
8314 var expectedClassName = expectedClass.name || ANONYMOUS;
8315 var actualClassName = getClassName(props[propName]);
8316 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8317 }
8318 return null;
8319 }
8320 return createChainableTypeChecker(validate);
8321 }
8322
8323 function createEnumTypeChecker(expectedValues) {
8324 if (!Array.isArray(expectedValues)) {
8325 if (true) {
8326 if (arguments.length > 1) {
8327 printWarning(
8328 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8329 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8330 );
8331 } else {
8332 printWarning('Invalid argument supplied to oneOf, expected an array.');
8333 }
8334 }
8335 return emptyFunctionThatReturnsNull;
8336 }
8337
8338 function validate(props, propName, componentName, location, propFullName) {
8339 var propValue = props[propName];
8340 for (var i = 0; i < expectedValues.length; i++) {
8341 if (is(propValue, expectedValues[i])) {
8342 return null;
8343 }
8344 }
8345
8346 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8347 var type = getPreciseType(value);
8348 if (type === 'symbol') {
8349 return String(value);
8350 }
8351 return value;
8352 });
8353 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8354 }
8355 return createChainableTypeChecker(validate);
8356 }
8357
8358 function createObjectOfTypeChecker(typeChecker) {
8359 function validate(props, propName, componentName, location, propFullName) {
8360 if (typeof typeChecker !== 'function') {
8361 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8362 }
8363 var propValue = props[propName];
8364 var propType = getPropType(propValue);
8365 if (propType !== 'object') {
8366 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8367 }
8368 for (var key in propValue) {
8369 if (has(propValue, key)) {
8370 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8371 if (error instanceof Error) {
8372 return error;
8373 }
8374 }
8375 }
8376 return null;
8377 }
8378 return createChainableTypeChecker(validate);
8379 }
8380
8381 function createUnionTypeChecker(arrayOfTypeCheckers) {
8382 if (!Array.isArray(arrayOfTypeCheckers)) {
8383 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8384 return emptyFunctionThatReturnsNull;
8385 }
8386
8387 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8388 var checker = arrayOfTypeCheckers[i];
8389 if (typeof checker !== 'function') {
8390 printWarning(
8391 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8392 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8393 );
8394 return emptyFunctionThatReturnsNull;
8395 }
8396 }
8397
8398 function validate(props, propName, componentName, location, propFullName) {
8399 var expectedTypes = [];
8400 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8401 var checker = arrayOfTypeCheckers[i];
8402 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8403 if (checkerResult == null) {
8404 return null;
8405 }
8406 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8407 expectedTypes.push(checkerResult.data.expectedType);
8408 }
8409 }
8410 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8411 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8412 }
8413 return createChainableTypeChecker(validate);
8414 }
8415
8416 function createNodeChecker() {
8417 function validate(props, propName, componentName, location, propFullName) {
8418 if (!isNode(props[propName])) {
8419 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8420 }
8421 return null;
8422 }
8423 return createChainableTypeChecker(validate);
8424 }
8425
8426 function invalidValidatorError(componentName, location, propFullName, key, type) {
8427 return new PropTypeError(
8428 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8429 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8430 );
8431 }
8432
8433 function createShapeTypeChecker(shapeTypes) {
8434 function validate(props, propName, componentName, location, propFullName) {
8435 var propValue = props[propName];
8436 var propType = getPropType(propValue);
8437 if (propType !== 'object') {
8438 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8439 }
8440 for (var key in shapeTypes) {
8441 var checker = shapeTypes[key];
8442 if (typeof checker !== 'function') {
8443 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8444 }
8445 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8446 if (error) {
8447 return error;
8448 }
8449 }
8450 return null;
8451 }
8452 return createChainableTypeChecker(validate);
8453 }
8454
8455 function createStrictShapeTypeChecker(shapeTypes) {
8456 function validate(props, propName, componentName, location, propFullName) {
8457 var propValue = props[propName];
8458 var propType = getPropType(propValue);
8459 if (propType !== 'object') {
8460 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8461 }
8462 // We need to check all keys in case some are required but missing from props.
8463 var allKeys = assign({}, props[propName], shapeTypes);
8464 for (var key in allKeys) {
8465 var checker = shapeTypes[key];
8466 if (has(shapeTypes, key) && typeof checker !== 'function') {
8467 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8468 }
8469 if (!checker) {
8470 return new PropTypeError(
8471 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8472 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8473 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8474 );
8475 }
8476 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8477 if (error) {
8478 return error;
8479 }
8480 }
8481 return null;
8482 }
8483
8484 return createChainableTypeChecker(validate);
8485 }
8486
8487 function isNode(propValue) {
8488 switch (typeof propValue) {
8489 case 'number':
8490 case 'string':
8491 case 'undefined':
8492 return true;
8493 case 'boolean':
8494 return !propValue;
8495 case 'object':
8496 if (Array.isArray(propValue)) {
8497 return propValue.every(isNode);
8498 }
8499 if (propValue === null || isValidElement(propValue)) {
8500 return true;
8501 }
8502
8503 var iteratorFn = getIteratorFn(propValue);
8504 if (iteratorFn) {
8505 var iterator = iteratorFn.call(propValue);
8506 var step;
8507 if (iteratorFn !== propValue.entries) {
8508 while (!(step = iterator.next()).done) {
8509 if (!isNode(step.value)) {
8510 return false;
8511 }
8512 }
8513 } else {
8514 // Iterator will provide entry [k,v] tuples rather than values.
8515 while (!(step = iterator.next()).done) {
8516 var entry = step.value;
8517 if (entry) {
8518 if (!isNode(entry[1])) {
8519 return false;
8520 }
8521 }
8522 }
8523 }
8524 } else {
8525 return false;
8526 }
8527
8528 return true;
8529 default:
8530 return false;
8531 }
8532 }
8533
8534 function isSymbol(propType, propValue) {
8535 // Native Symbol.
8536 if (propType === 'symbol') {
8537 return true;
8538 }
8539
8540 // falsy value can't be a Symbol
8541 if (!propValue) {
8542 return false;
8543 }
8544
8545 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8546 if (propValue['@@toStringTag'] === 'Symbol') {
8547 return true;
8548 }
8549
8550 // Fallback for non-spec compliant Symbols which are polyfilled.
8551 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8552 return true;
8553 }
8554
8555 return false;
8556 }
8557
8558 // Equivalent of `typeof` but with special handling for array and regexp.
8559 function getPropType(propValue) {
8560 var propType = typeof propValue;
8561 if (Array.isArray(propValue)) {
8562 return 'array';
8563 }
8564 if (propValue instanceof RegExp) {
8565 // Old webkits (at least until Android 4.0) return 'function' rather than
8566 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8567 // passes PropTypes.object.
8568 return 'object';
8569 }
8570 if (isSymbol(propType, propValue)) {
8571 return 'symbol';
8572 }
8573 return propType;
8574 }
8575
8576 // This handles more types than `getPropType`. Only used for error messages.
8577 // See `createPrimitiveTypeChecker`.
8578 function getPreciseType(propValue) {
8579 if (typeof propValue === 'undefined' || propValue === null) {
8580 return '' + propValue;
8581 }
8582 var propType = getPropType(propValue);
8583 if (propType === 'object') {
8584 if (propValue instanceof Date) {
8585 return 'date';
8586 } else if (propValue instanceof RegExp) {
8587 return 'regexp';
8588 }
8589 }
8590 return propType;
8591 }
8592
8593 // Returns a string that is postfixed to a warning about an invalid type.
8594 // For example, "undefined" or "of type array"
8595 function getPostfixForTypeWarning(value) {
8596 var type = getPreciseType(value);
8597 switch (type) {
8598 case 'array':
8599 case 'object':
8600 return 'an ' + type;
8601 case 'boolean':
8602 case 'date':
8603 case 'regexp':
8604 return 'a ' + type;
8605 default:
8606 return type;
8607 }
8608 }
8609
8610 // Returns class name of the object, if any.
8611 function getClassName(propValue) {
8612 if (!propValue.constructor || !propValue.constructor.name) {
8613 return ANONYMOUS;
8614 }
8615 return propValue.constructor.name;
8616 }
8617
8618 ReactPropTypes.checkPropTypes = checkPropTypes;
8619 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8620 ReactPropTypes.PropTypes = ReactPropTypes;
8621
8622 return ReactPropTypes;
8623 };
8624
8625
8626 /***/ }),
8627
8628 /***/ "../node_modules/prop-types/index.js":
8629 /*!*******************************************!*\
8630 !*** ../node_modules/prop-types/index.js ***!
8631 \*******************************************/
8632 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8633
8634 /**
8635 * Copyright (c) 2013-present, Facebook, Inc.
8636 *
8637 * This source code is licensed under the MIT license found in the
8638 * LICENSE file in the root directory of this source tree.
8639 */
8640
8641 if (true) {
8642 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8643
8644 // By explicitly using `prop-types` you are opting into new development behavior.
8645 // http://fb.me/prop-types-in-prod
8646 var throwOnDirectAccess = true;
8647 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8648 } else {}
8649
8650
8651 /***/ }),
8652
8653 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8654 /*!**************************************************************!*\
8655 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8656 \**************************************************************/
8657 /***/ ((module) => {
8658
8659 "use strict";
8660 /**
8661 * Copyright (c) 2013-present, Facebook, Inc.
8662 *
8663 * This source code is licensed under the MIT license found in the
8664 * LICENSE file in the root directory of this source tree.
8665 */
8666
8667
8668
8669 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8670
8671 module.exports = ReactPropTypesSecret;
8672
8673
8674 /***/ }),
8675
8676 /***/ "../node_modules/prop-types/lib/has.js":
8677 /*!*********************************************!*\
8678 !*** ../node_modules/prop-types/lib/has.js ***!
8679 \*********************************************/
8680 /***/ ((module) => {
8681
8682 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8683
8684
8685 /***/ }),
8686
8687 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8688 /*!************************************************************************************!*\
8689 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8690 \************************************************************************************/
8691 /***/ ((__unused_webpack_module, exports) => {
8692
8693 "use strict";
8694 /** @license React v16.13.1
8695 * react-is.development.js
8696 *
8697 * Copyright (c) Facebook, Inc. and its affiliates.
8698 *
8699 * This source code is licensed under the MIT license found in the
8700 * LICENSE file in the root directory of this source tree.
8701 */
8702
8703
8704
8705
8706
8707 if (true) {
8708 (function() {
8709 'use strict';
8710
8711 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
8712 // nor polyfill, then a plain number is used for performance.
8713 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
8714 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
8715 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
8716 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
8717 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
8718 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
8719 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
8720 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
8721 // (unstable) APIs that have been removed. Can we remove the symbols?
8722
8723 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
8724 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
8725 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
8726 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
8727 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
8728 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
8729 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
8730 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
8731 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
8732 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
8733 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
8734
8735 function isValidElementType(type) {
8736 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
8737 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);
8738 }
8739
8740 function typeOf(object) {
8741 if (typeof object === 'object' && object !== null) {
8742 var $$typeof = object.$$typeof;
8743
8744 switch ($$typeof) {
8745 case REACT_ELEMENT_TYPE:
8746 var type = object.type;
8747
8748 switch (type) {
8749 case REACT_ASYNC_MODE_TYPE:
8750 case REACT_CONCURRENT_MODE_TYPE:
8751 case REACT_FRAGMENT_TYPE:
8752 case REACT_PROFILER_TYPE:
8753 case REACT_STRICT_MODE_TYPE:
8754 case REACT_SUSPENSE_TYPE:
8755 return type;
8756
8757 default:
8758 var $$typeofType = type && type.$$typeof;
8759
8760 switch ($$typeofType) {
8761 case REACT_CONTEXT_TYPE:
8762 case REACT_FORWARD_REF_TYPE:
8763 case REACT_LAZY_TYPE:
8764 case REACT_MEMO_TYPE:
8765 case REACT_PROVIDER_TYPE:
8766 return $$typeofType;
8767
8768 default:
8769 return $$typeof;
8770 }
8771
8772 }
8773
8774 case REACT_PORTAL_TYPE:
8775 return $$typeof;
8776 }
8777 }
8778
8779 return undefined;
8780 } // AsyncMode is deprecated along with isAsyncMode
8781
8782 var AsyncMode = REACT_ASYNC_MODE_TYPE;
8783 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
8784 var ContextConsumer = REACT_CONTEXT_TYPE;
8785 var ContextProvider = REACT_PROVIDER_TYPE;
8786 var Element = REACT_ELEMENT_TYPE;
8787 var ForwardRef = REACT_FORWARD_REF_TYPE;
8788 var Fragment = REACT_FRAGMENT_TYPE;
8789 var Lazy = REACT_LAZY_TYPE;
8790 var Memo = REACT_MEMO_TYPE;
8791 var Portal = REACT_PORTAL_TYPE;
8792 var Profiler = REACT_PROFILER_TYPE;
8793 var StrictMode = REACT_STRICT_MODE_TYPE;
8794 var Suspense = REACT_SUSPENSE_TYPE;
8795 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
8796
8797 function isAsyncMode(object) {
8798 {
8799 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
8800 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
8801
8802 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.');
8803 }
8804 }
8805
8806 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
8807 }
8808 function isConcurrentMode(object) {
8809 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
8810 }
8811 function isContextConsumer(object) {
8812 return typeOf(object) === REACT_CONTEXT_TYPE;
8813 }
8814 function isContextProvider(object) {
8815 return typeOf(object) === REACT_PROVIDER_TYPE;
8816 }
8817 function isElement(object) {
8818 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
8819 }
8820 function isForwardRef(object) {
8821 return typeOf(object) === REACT_FORWARD_REF_TYPE;
8822 }
8823 function isFragment(object) {
8824 return typeOf(object) === REACT_FRAGMENT_TYPE;
8825 }
8826 function isLazy(object) {
8827 return typeOf(object) === REACT_LAZY_TYPE;
8828 }
8829 function isMemo(object) {
8830 return typeOf(object) === REACT_MEMO_TYPE;
8831 }
8832 function isPortal(object) {
8833 return typeOf(object) === REACT_PORTAL_TYPE;
8834 }
8835 function isProfiler(object) {
8836 return typeOf(object) === REACT_PROFILER_TYPE;
8837 }
8838 function isStrictMode(object) {
8839 return typeOf(object) === REACT_STRICT_MODE_TYPE;
8840 }
8841 function isSuspense(object) {
8842 return typeOf(object) === REACT_SUSPENSE_TYPE;
8843 }
8844
8845 exports.AsyncMode = AsyncMode;
8846 exports.ConcurrentMode = ConcurrentMode;
8847 exports.ContextConsumer = ContextConsumer;
8848 exports.ContextProvider = ContextProvider;
8849 exports.Element = Element;
8850 exports.ForwardRef = ForwardRef;
8851 exports.Fragment = Fragment;
8852 exports.Lazy = Lazy;
8853 exports.Memo = Memo;
8854 exports.Portal = Portal;
8855 exports.Profiler = Profiler;
8856 exports.StrictMode = StrictMode;
8857 exports.Suspense = Suspense;
8858 exports.isAsyncMode = isAsyncMode;
8859 exports.isConcurrentMode = isConcurrentMode;
8860 exports.isContextConsumer = isContextConsumer;
8861 exports.isContextProvider = isContextProvider;
8862 exports.isElement = isElement;
8863 exports.isForwardRef = isForwardRef;
8864 exports.isFragment = isFragment;
8865 exports.isLazy = isLazy;
8866 exports.isMemo = isMemo;
8867 exports.isPortal = isPortal;
8868 exports.isProfiler = isProfiler;
8869 exports.isStrictMode = isStrictMode;
8870 exports.isSuspense = isSuspense;
8871 exports.isValidElementType = isValidElementType;
8872 exports.typeOf = typeOf;
8873 })();
8874 }
8875
8876
8877 /***/ }),
8878
8879 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
8880 /*!*****************************************************************!*\
8881 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
8882 \*****************************************************************/
8883 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8884
8885 "use strict";
8886
8887
8888 if (false) {} else {
8889 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
8890 }
8891
8892
8893 /***/ }),
8894
8895 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
8896 /*!**************************************************************!*\
8897 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
8898 \**************************************************************/
8899 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8900
8901 "use strict";
8902
8903
8904 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); }
8905
8906 Object.defineProperty(exports, "__esModule", ({
8907 value: true
8908 }));
8909 Object.defineProperty(exports, "DraggableCore", ({
8910 enumerable: true,
8911 get: function get() {
8912 return _DraggableCore.default;
8913 }
8914 }));
8915 exports["default"] = void 0;
8916
8917 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8918
8919 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8920
8921 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
8922
8923 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
8924
8925 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
8926
8927 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
8928
8929 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
8930
8931 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
8932
8933 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
8934
8935 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
8936
8937 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8938
8939 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); }
8940
8941 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; }
8942
8943 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); }
8944
8945 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; }
8946
8947 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; }
8948
8949 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; }
8950
8951 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; }
8952
8953 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8954
8955 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."); }
8956
8957 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); }
8958
8959 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; }
8960
8961 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; }
8962
8963 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8964
8965 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8966
8967 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); } }
8968
8969 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8970
8971 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); }
8972
8973 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8974
8975 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); }; }
8976
8977 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); }
8978
8979 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
8980
8981 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; } }
8982
8983 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
8984
8985 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; }
8986
8987 //
8988 // Define <Draggable>
8989 //
8990 var Draggable = /*#__PURE__*/function (_React$Component) {
8991 _inherits(Draggable, _React$Component);
8992
8993 var _super = _createSuper(Draggable);
8994
8995 function Draggable(props
8996 /*: DraggableProps*/
8997 ) {
8998 var _this;
8999
9000 _classCallCheck(this, Draggable);
9001
9002 _this = _super.call(this, props);
9003
9004 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9005 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9006
9007 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.
9008
9009
9010 if (shouldStart === false) return false;
9011
9012 _this.setState({
9013 dragging: true,
9014 dragged: true
9015 });
9016 });
9017
9018 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9019 if (!_this.state.dragging) return false;
9020 (0, _log.default)('Draggable: onDrag: %j', coreData);
9021 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9022 var newState
9023 /*: $Shape<DraggableState>*/
9024 = {
9025 x: uiData.x,
9026 y: uiData.y
9027 }; // Keep within bounds.
9028
9029 if (_this.props.bounds) {
9030 // Save original x and y.
9031 var x = newState.x,
9032 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9033 // we start removing slack, the element won't react to it right away until it's been
9034 // completely removed.
9035
9036 newState.x += _this.state.slackX;
9037 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9038
9039 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9040 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9041 newStateX = _getBoundPosition2[0],
9042 newStateY = _getBoundPosition2[1];
9043
9044 newState.x = newStateX;
9045 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9046
9047 newState.slackX = _this.state.slackX + (x - newState.x);
9048 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9049
9050 uiData.x = newState.x;
9051 uiData.y = newState.y;
9052 uiData.deltaX = newState.x - _this.state.x;
9053 uiData.deltaY = newState.y - _this.state.y;
9054 } // Short-circuit if user's callback killed it.
9055
9056
9057 var shouldUpdate = _this.props.onDrag(e, uiData);
9058
9059 if (shouldUpdate === false) return false;
9060
9061 _this.setState(newState);
9062 });
9063
9064 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9065 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9066
9067 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9068
9069 if (shouldContinue === false) return false;
9070 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9071 var newState
9072 /*: $Shape<DraggableState>*/
9073 = {
9074 dragging: false,
9075 slackX: 0,
9076 slackY: 0
9077 }; // If this is a controlled component, the result of this operation will be to
9078 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9079
9080 var controlled = Boolean(_this.props.position);
9081
9082 if (controlled) {
9083 var _this$props$position = _this.props.position,
9084 x = _this$props$position.x,
9085 y = _this$props$position.y;
9086 newState.x = x;
9087 newState.y = y;
9088 }
9089
9090 _this.setState(newState);
9091 });
9092
9093 _this.state = {
9094 // Whether or not we are currently dragging.
9095 dragging: false,
9096 // Whether or not we have been dragged before.
9097 dragged: false,
9098 // Current transform x and y.
9099 x: props.position ? props.position.x : props.defaultPosition.x,
9100 y: props.position ? props.position.y : props.defaultPosition.y,
9101 prevPropsPosition: _objectSpread({}, props.position),
9102 // Used for compensating for out-of-bounds drags
9103 slackX: 0,
9104 slackY: 0,
9105 // Can only determine if SVG after mounting
9106 isElementSVG: false
9107 };
9108
9109 if (props.position && !(props.onDrag || props.onStop)) {
9110 // eslint-disable-next-line no-console
9111 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.');
9112 }
9113
9114 return _this;
9115 }
9116
9117 _createClass(Draggable, [{
9118 key: "componentDidMount",
9119 value: function componentDidMount() {
9120 // Check to see if the element passed is an instanceof SVGElement
9121 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9122 this.setState({
9123 isElementSVG: true
9124 });
9125 }
9126 }
9127 }, {
9128 key: "componentWillUnmount",
9129 value: function componentWillUnmount() {
9130 this.setState({
9131 dragging: false
9132 }); // prevents invariant if unmounted while dragging
9133 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9134 // the underlying DOM node ourselves. See the README for more information.
9135
9136 }, {
9137 key: "findDOMNode",
9138 value: function findDOMNode()
9139 /*: ?HTMLElement*/
9140 {
9141 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9142
9143 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);
9144 }
9145 }, {
9146 key: "render",
9147 value: function render()
9148 /*: ReactElement<any>*/
9149 {
9150 var _clsx;
9151
9152 var _this$props2 = this.props,
9153 axis = _this$props2.axis,
9154 bounds = _this$props2.bounds,
9155 children = _this$props2.children,
9156 defaultPosition = _this$props2.defaultPosition,
9157 defaultClassName = _this$props2.defaultClassName,
9158 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9159 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9160 position = _this$props2.position,
9161 positionOffset = _this$props2.positionOffset,
9162 scale = _this$props2.scale,
9163 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9164
9165 var style = {};
9166 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9167
9168 var controlled = Boolean(position);
9169 var draggable = !controlled || this.state.dragging;
9170 var validPosition = position || defaultPosition;
9171 var transformOpts = {
9172 // Set left if horizontal drag is enabled
9173 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9174 // Set top if vertical drag is enabled
9175 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9176 }; // If this element was SVG, we use the `transform` attribute.
9177
9178 if (this.state.isElementSVG) {
9179 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9180 } else {
9181 // Add a CSS transform to move the element around. This allows us to move the element around
9182 // without worrying about whether or not it is relatively or absolutely positioned.
9183 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9184 // has a clean slate.
9185 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9186 } // Mark with class while dragging
9187
9188
9189 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
9190 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9191
9192 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9193 onStart: this.onDragStart,
9194 onDrag: this.onDrag,
9195 onStop: this.onDragStop
9196 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9197 className: className,
9198 style: _objectSpread(_objectSpread({}, children.props.style), style),
9199 transform: svgTransform
9200 }));
9201 }
9202 }], [{
9203 key: "getDerivedStateFromProps",
9204 value: // React 16.3+
9205 // Arity (props, state)
9206 function getDerivedStateFromProps(_ref, _ref2)
9207 /*: ?$Shape<DraggableState>*/
9208 {
9209 var position = _ref.position;
9210 var prevPropsPosition = _ref2.prevPropsPosition;
9211
9212 // Set x/y if a new position is provided in props that is different than the previous.
9213 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9214 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9215 position: position,
9216 prevPropsPosition: prevPropsPosition
9217 });
9218 return {
9219 x: position.x,
9220 y: position.y,
9221 prevPropsPosition: _objectSpread({}, position)
9222 };
9223 }
9224
9225 return null;
9226 }
9227 }]);
9228
9229 return Draggable;
9230 }(React.Component);
9231
9232 exports["default"] = Draggable;
9233
9234 _defineProperty(Draggable, "displayName", 'Draggable');
9235
9236 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9237 /**
9238 * `axis` determines which axis the draggable can move.
9239 *
9240 * Note that all callbacks will still return data as normal. This only
9241 * controls flushing to the DOM.
9242 *
9243 * 'both' allows movement horizontally and vertically.
9244 * 'x' limits movement to horizontal axis.
9245 * 'y' limits movement to vertical axis.
9246 * 'none' limits all movement.
9247 *
9248 * Defaults to 'both'.
9249 */
9250 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9251
9252 /**
9253 * `bounds` determines the range of movement available to the element.
9254 * Available values are:
9255 *
9256 * 'parent' restricts movement within the Draggable's parent node.
9257 *
9258 * Alternatively, pass an object with the following properties, all of which are optional:
9259 *
9260 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9261 *
9262 * All values are in px.
9263 *
9264 * Example:
9265 *
9266 * ```jsx
9267 * let App = React.createClass({
9268 * render: function () {
9269 * return (
9270 * <Draggable bounds={{right: 300, bottom: 300}}>
9271 * <div>Content</div>
9272 * </Draggable>
9273 * );
9274 * }
9275 * });
9276 * ```
9277 */
9278 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9279 left: _propTypes.default.number,
9280 right: _propTypes.default.number,
9281 top: _propTypes.default.number,
9282 bottom: _propTypes.default.number
9283 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9284 defaultClassName: _propTypes.default.string,
9285 defaultClassNameDragging: _propTypes.default.string,
9286 defaultClassNameDragged: _propTypes.default.string,
9287
9288 /**
9289 * `defaultPosition` specifies the x and y that the dragged item should start at
9290 *
9291 * Example:
9292 *
9293 * ```jsx
9294 * let App = React.createClass({
9295 * render: function () {
9296 * return (
9297 * <Draggable defaultPosition={{x: 25, y: 25}}>
9298 * <div>I start with transformX: 25px and transformY: 25px;</div>
9299 * </Draggable>
9300 * );
9301 * }
9302 * });
9303 * ```
9304 */
9305 defaultPosition: _propTypes.default.shape({
9306 x: _propTypes.default.number,
9307 y: _propTypes.default.number
9308 }),
9309 positionOffset: _propTypes.default.shape({
9310 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9311 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9312 }),
9313
9314 /**
9315 * `position`, if present, defines the current position of the element.
9316 *
9317 * This is similar to how form elements in React work - if no `position` is supplied, the component
9318 * is uncontrolled.
9319 *
9320 * Example:
9321 *
9322 * ```jsx
9323 * let App = React.createClass({
9324 * render: function () {
9325 * return (
9326 * <Draggable position={{x: 25, y: 25}}>
9327 * <div>I start with transformX: 25px and transformY: 25px;</div>
9328 * </Draggable>
9329 * );
9330 * }
9331 * });
9332 * ```
9333 */
9334 position: _propTypes.default.shape({
9335 x: _propTypes.default.number,
9336 y: _propTypes.default.number
9337 }),
9338
9339 /**
9340 * These properties should be defined on the child, not here.
9341 */
9342 className: _shims.dontSetMe,
9343 style: _shims.dontSetMe,
9344 transform: _shims.dontSetMe
9345 }));
9346
9347 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9348 axis: 'both',
9349 bounds: false,
9350 defaultClassName: 'react-draggable',
9351 defaultClassNameDragging: 'react-draggable-dragging',
9352 defaultClassNameDragged: 'react-draggable-dragged',
9353 defaultPosition: {
9354 x: 0,
9355 y: 0
9356 },
9357 scale: 1
9358 }));
9359
9360 /***/ }),
9361
9362 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9363 /*!******************************************************************!*\
9364 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9365 \******************************************************************/
9366 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9367
9368 "use strict";
9369
9370
9371 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); }
9372
9373 Object.defineProperty(exports, "__esModule", ({
9374 value: true
9375 }));
9376 exports["default"] = void 0;
9377
9378 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9379
9380 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9381
9382 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9383
9384 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9385
9386 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9387
9388 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9389
9390 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9391
9392 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9393
9394 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); }
9395
9396 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; }
9397
9398 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9399
9400 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."); }
9401
9402 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); }
9403
9404 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; }
9405
9406 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; }
9407
9408 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9409
9410 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9411
9412 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); } }
9413
9414 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9415
9416 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); }
9417
9418 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9419
9420 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); }; }
9421
9422 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); }
9423
9424 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9425
9426 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; } }
9427
9428 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9429
9430 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; }
9431
9432 // Simple abstraction for dragging events names.
9433 var eventsFor = {
9434 touch: {
9435 start: 'touchstart',
9436 move: 'touchmove',
9437 stop: 'touchend'
9438 },
9439 mouse: {
9440 start: 'mousedown',
9441 move: 'mousemove',
9442 stop: 'mouseup'
9443 }
9444 }; // Default to mouse events.
9445
9446 var dragEventFor = eventsFor.mouse;
9447 /*:: type DraggableCoreState = {
9448 dragging: boolean,
9449 lastX: number,
9450 lastY: number,
9451 touchIdentifier: ?number
9452 };*/
9453
9454 /*:: export type DraggableData = {
9455 node: HTMLElement,
9456 x: number, y: number,
9457 deltaX: number, deltaY: number,
9458 lastX: number, lastY: number,
9459 };*/
9460
9461 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9462
9463 /*:: export type ControlPosition = {x: number, y: number};*/
9464
9465 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9466
9467 /*:: export type DraggableCoreDefaultProps = {
9468 allowAnyClick: boolean,
9469 disabled: boolean,
9470 enableUserSelectHack: boolean,
9471 onStart: DraggableEventHandler,
9472 onDrag: DraggableEventHandler,
9473 onStop: DraggableEventHandler,
9474 onMouseDown: (e: MouseEvent) => void,
9475 scale: number,
9476 };*/
9477
9478 /*:: export type DraggableCoreProps = {
9479 ...DraggableCoreDefaultProps,
9480 cancel: string,
9481 children: ReactElement<any>,
9482 offsetParent: HTMLElement,
9483 grid: [number, number],
9484 handle: string,
9485 nodeRef?: ?React.ElementRef<any>,
9486 };*/
9487
9488 //
9489 // Define <DraggableCore>.
9490 //
9491 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9492 // work well with libraries that require more control over the element.
9493 //
9494 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9495 _inherits(DraggableCore, _React$Component);
9496
9497 var _super = _createSuper(DraggableCore);
9498
9499 function DraggableCore() {
9500 var _this;
9501
9502 _classCallCheck(this, DraggableCore);
9503
9504 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9505 args[_key] = arguments[_key];
9506 }
9507
9508 _this = _super.call.apply(_super, [this].concat(args));
9509
9510 _defineProperty(_assertThisInitialized(_this), "state", {
9511 dragging: false,
9512 // Used while dragging to determine deltas.
9513 lastX: NaN,
9514 lastY: NaN,
9515 touchIdentifier: null
9516 });
9517
9518 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9519
9520 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9521 // Make it possible to attach event handlers on top of this one.
9522 _this.props.onMouseDown(e); // Only accept left-clicks.
9523
9524
9525 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9526
9527 var thisNode = _this.findDOMNode();
9528
9529 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9530 throw new Error('<DraggableCore> not mounted on DragStart!');
9531 }
9532
9533 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9534
9535 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)) {
9536 return;
9537 } // Prevent scrolling on mobile devices, like ipad/iphone.
9538 // Important that this is after handle/cancel.
9539
9540
9541 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9542 // distinguish between individual touches on multitouch screens by identifying which
9543 // touchpoint was set to this element.
9544
9545 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9546
9547 _this.setState({
9548 touchIdentifier: touchIdentifier
9549 }); // Get the current drag point from the event. This is used as the offset.
9550
9551
9552 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9553 if (position == null) return; // not possible but satisfies flow
9554
9555 var x = position.x,
9556 y = position.y; // Create an event object with all the data parents need to make a decision here.
9557
9558 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9559 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9560
9561 (0, _log.default)('calling', _this.props.onStart);
9562
9563 var shouldUpdate = _this.props.onStart(e, coreEvent);
9564
9565 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9566 // being selected all over the page.
9567
9568 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9569 // so we know how much we've moved during the drag. This allows us
9570 // to drag elements around even if they have been moved, without issue.
9571
9572 _this.setState({
9573 dragging: true,
9574 lastX: x,
9575 lastY: y
9576 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9577 // this element. We use different events depending on whether or not we have detected that this
9578 // is a touch-capable device.
9579
9580
9581 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9582 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9583 });
9584
9585 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9586 // Get the current drag point from the event. This is used as the offset.
9587 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9588 if (position == null) return;
9589 var x = position.x,
9590 y = position.y; // Snap to grid if prop has been provided
9591
9592 if (Array.isArray(_this.props.grid)) {
9593 var deltaX = x - _this.state.lastX,
9594 deltaY = y - _this.state.lastY;
9595
9596 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9597
9598 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9599
9600 deltaX = _snapToGrid2[0];
9601 deltaY = _snapToGrid2[1];
9602 if (!deltaX && !deltaY) return; // skip useless drag
9603
9604 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9605 }
9606
9607 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9608 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9609
9610 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9611
9612 if (shouldUpdate === false || _this.mounted === false) {
9613 try {
9614 // $FlowIgnore
9615 _this.handleDragStop(new MouseEvent('mouseup'));
9616 } catch (err) {
9617 // Old browsers
9618 var event = ((document.createEvent('MouseEvents')
9619 /*: any*/
9620 )
9621 /*: MouseTouchEvent*/
9622 ); // I see why this insanity was deprecated
9623 // $FlowIgnore
9624
9625 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9626
9627 _this.handleDragStop(event);
9628 }
9629
9630 return;
9631 }
9632
9633 _this.setState({
9634 lastX: x,
9635 lastY: y
9636 });
9637 });
9638
9639 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9640 if (!_this.state.dragging) return;
9641 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9642 if (position == null) return;
9643 var x = position.x,
9644 y = position.y; // Snap to grid if prop has been provided
9645
9646 if (Array.isArray(_this.props.grid)) {
9647 var deltaX = x - _this.state.lastX || 0;
9648 var deltaY = y - _this.state.lastY || 0;
9649
9650 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9651
9652 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9653
9654 deltaX = _snapToGrid4[0];
9655 deltaY = _snapToGrid4[1];
9656 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9657 }
9658
9659 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9660
9661 var shouldContinue = _this.props.onStop(e, coreEvent);
9662
9663 if (shouldContinue === false || _this.mounted === false) return false;
9664
9665 var thisNode = _this.findDOMNode();
9666
9667 if (thisNode) {
9668 // Remove user-select hack
9669 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
9670 }
9671
9672 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
9673
9674 _this.setState({
9675 dragging: false,
9676 lastX: NaN,
9677 lastY: NaN
9678 });
9679
9680 if (thisNode) {
9681 // Remove event handlers
9682 (0, _log.default)('DraggableCore: Removing handlers');
9683 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
9684 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
9685 }
9686 });
9687
9688 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
9689 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
9690
9691 return _this.handleDragStart(e);
9692 });
9693
9694 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
9695 dragEventFor = eventsFor.mouse;
9696 return _this.handleDragStop(e);
9697 });
9698
9699 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
9700 // We're on a touch device now, so change the event handlers
9701 dragEventFor = eventsFor.touch;
9702 return _this.handleDragStart(e);
9703 });
9704
9705 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
9706 // We're on a touch device now, so change the event handlers
9707 dragEventFor = eventsFor.touch;
9708 return _this.handleDragStop(e);
9709 });
9710
9711 return _this;
9712 }
9713
9714 _createClass(DraggableCore, [{
9715 key: "componentDidMount",
9716 value: function componentDidMount() {
9717 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
9718 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9719
9720 var thisNode = this.findDOMNode();
9721
9722 if (thisNode) {
9723 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9724 passive: false
9725 });
9726 }
9727 }
9728 }, {
9729 key: "componentWillUnmount",
9730 value: function componentWillUnmount() {
9731 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
9732 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
9733
9734 var thisNode = this.findDOMNode();
9735
9736 if (thisNode) {
9737 var ownerDocument = thisNode.ownerDocument;
9738 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
9739 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
9740 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
9741 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
9742 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9743 passive: false
9744 });
9745 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
9746 }
9747 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9748 // the underlying DOM node ourselves. See the README for more information.
9749
9750 }, {
9751 key: "findDOMNode",
9752 value: function findDOMNode()
9753 /*: ?HTMLElement*/
9754 {
9755 var _this$props, _this$props2, _this$props2$nodeRef;
9756
9757 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);
9758 }
9759 }, {
9760 key: "render",
9761 value: function render()
9762 /*: React.Element<any>*/
9763 {
9764 // Reuse the child provided
9765 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9766 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
9767 // Note: mouseMove handler is attached to document so it will still function
9768 // when the user drags quickly and leaves the bounds of the element.
9769 onMouseDown: this.onMouseDown,
9770 onMouseUp: this.onMouseUp,
9771 // onTouchStart is added on `componentDidMount` so they can be added with
9772 // {passive: false}, which allows it to cancel. See
9773 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9774 onTouchEnd: this.onTouchEnd
9775 });
9776 }
9777 }]);
9778
9779 return DraggableCore;
9780 }(React.Component);
9781
9782 exports["default"] = DraggableCore;
9783
9784 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
9785
9786 _defineProperty(DraggableCore, "propTypes", {
9787 /**
9788 * `allowAnyClick` allows dragging using any mouse button.
9789 * By default, we only accept the left button.
9790 *
9791 * Defaults to `false`.
9792 */
9793 allowAnyClick: _propTypes.default.bool,
9794
9795 /**
9796 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
9797 * with the exception of `onMouseDown`, will not fire.
9798 */
9799 disabled: _propTypes.default.bool,
9800
9801 /**
9802 * By default, we add 'user-select:none' attributes to the document body
9803 * to prevent ugly text selection during drag. If this is causing problems
9804 * for your app, set this to `false`.
9805 */
9806 enableUserSelectHack: _propTypes.default.bool,
9807
9808 /**
9809 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
9810 * instead of using the parent node.
9811 */
9812 offsetParent: function offsetParent(props
9813 /*: DraggableCoreProps*/
9814 , propName
9815 /*: $Keys<DraggableCoreProps>*/
9816 ) {
9817 if (props[propName] && props[propName].nodeType !== 1) {
9818 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
9819 }
9820 },
9821
9822 /**
9823 * `grid` specifies the x and y that dragging should snap to.
9824 */
9825 grid: _propTypes.default.arrayOf(_propTypes.default.number),
9826
9827 /**
9828 * `handle` specifies a selector to be used as the handle that initiates drag.
9829 *
9830 * Example:
9831 *
9832 * ```jsx
9833 * let App = React.createClass({
9834 * render: function () {
9835 * return (
9836 * <Draggable handle=".handle">
9837 * <div>
9838 * <div className="handle">Click me to drag</div>
9839 * <div>This is some other content</div>
9840 * </div>
9841 * </Draggable>
9842 * );
9843 * }
9844 * });
9845 * ```
9846 */
9847 handle: _propTypes.default.string,
9848
9849 /**
9850 * `cancel` specifies a selector to be used to prevent drag initialization.
9851 *
9852 * Example:
9853 *
9854 * ```jsx
9855 * let App = React.createClass({
9856 * render: function () {
9857 * return(
9858 * <Draggable cancel=".cancel">
9859 * <div>
9860 * <div className="cancel">You can't drag from here</div>
9861 * <div>Dragging here works fine</div>
9862 * </div>
9863 * </Draggable>
9864 * );
9865 * }
9866 * });
9867 * ```
9868 */
9869 cancel: _propTypes.default.string,
9870
9871 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
9872 * Unfortunately, in order for <Draggable> to work properly, we need raw access
9873 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
9874 * as in this example:
9875 *
9876 * function MyComponent() {
9877 * const nodeRef = React.useRef(null);
9878 * return (
9879 * <Draggable nodeRef={nodeRef}>
9880 * <div ref={nodeRef}>Example Target</div>
9881 * </Draggable>
9882 * );
9883 * }
9884 *
9885 * This can be used for arbitrarily nested components, so long as the ref ends up
9886 * pointing to the actual child DOM node and not a custom component.
9887 */
9888 nodeRef: _propTypes.default.object,
9889
9890 /**
9891 * Called when dragging starts.
9892 * If this function returns the boolean false, dragging will be canceled.
9893 */
9894 onStart: _propTypes.default.func,
9895
9896 /**
9897 * Called while dragging.
9898 * If this function returns the boolean false, dragging will be canceled.
9899 */
9900 onDrag: _propTypes.default.func,
9901
9902 /**
9903 * Called when dragging stops.
9904 * If this function returns the boolean false, the drag will remain active.
9905 */
9906 onStop: _propTypes.default.func,
9907
9908 /**
9909 * A workaround option which can be passed if onMouseDown needs to be accessed,
9910 * since it'll always be blocked (as there is internal use of onMouseDown)
9911 */
9912 onMouseDown: _propTypes.default.func,
9913
9914 /**
9915 * `scale`, if set, applies scaling while dragging an element
9916 */
9917 scale: _propTypes.default.number,
9918
9919 /**
9920 * These properties should be defined on the child, not here.
9921 */
9922 className: _shims.dontSetMe,
9923 style: _shims.dontSetMe,
9924 transform: _shims.dontSetMe
9925 });
9926
9927 _defineProperty(DraggableCore, "defaultProps", {
9928 allowAnyClick: false,
9929 // by default only accept left click
9930 disabled: false,
9931 enableUserSelectHack: true,
9932 onStart: function onStart() {},
9933 onDrag: function onDrag() {},
9934 onStop: function onStop() {},
9935 onMouseDown: function onMouseDown() {},
9936 scale: 1
9937 });
9938
9939 /***/ }),
9940
9941 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
9942 /*!********************************************************!*\
9943 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
9944 \********************************************************/
9945 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9946
9947 "use strict";
9948
9949
9950 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
9951 Draggable = _require.default,
9952 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'.
9953 // See https://github.com/mzabriskie/react-draggable/pull/254
9954 // and https://github.com/mzabriskie/react-draggable/issues/266
9955
9956
9957 module.exports = Draggable;
9958 module.exports["default"] = Draggable;
9959 module.exports.DraggableCore = DraggableCore;
9960
9961 /***/ }),
9962
9963 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
9964 /*!*****************************************************************!*\
9965 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
9966 \*****************************************************************/
9967 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9968
9969 "use strict";
9970
9971
9972 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); }
9973
9974 Object.defineProperty(exports, "__esModule", ({
9975 value: true
9976 }));
9977 exports.addClassName = addClassName;
9978 exports.addEvent = addEvent;
9979 exports.addUserSelectStyles = addUserSelectStyles;
9980 exports.createCSSTransform = createCSSTransform;
9981 exports.createSVGTransform = createSVGTransform;
9982 exports.getTouch = getTouch;
9983 exports.getTouchIdentifier = getTouchIdentifier;
9984 exports.getTranslation = getTranslation;
9985 exports.innerHeight = innerHeight;
9986 exports.innerWidth = innerWidth;
9987 exports.matchesSelector = matchesSelector;
9988 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
9989 exports.offsetXYFromParent = offsetXYFromParent;
9990 exports.outerHeight = outerHeight;
9991 exports.outerWidth = outerWidth;
9992 exports.removeClassName = removeClassName;
9993 exports.removeEvent = removeEvent;
9994 exports.removeUserSelectStyles = removeUserSelectStyles;
9995
9996 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9997
9998 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
9999
10000 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); }
10001
10002 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; }
10003
10004 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; }
10005
10006 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; }
10007
10008 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; }
10009
10010 var matchesSelectorFunc = '';
10011
10012 function matchesSelector(el
10013 /*: Node*/
10014 , selector
10015 /*: string*/
10016 )
10017 /*: boolean*/
10018 {
10019 if (!matchesSelectorFunc) {
10020 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10021 // $FlowIgnore: Doesn't think elements are indexable
10022 return (0, _shims.isFunction)(el[method]);
10023 });
10024 } // Might not be found entirely (not an Element?) - in that case, bail
10025 // $FlowIgnore: Doesn't think elements are indexable
10026
10027
10028 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10029
10030 return el[matchesSelectorFunc](selector);
10031 } // Works up the tree to the draggable itself attempting to match selector.
10032
10033
10034 function matchesSelectorAndParentsTo(el
10035 /*: Node*/
10036 , selector
10037 /*: string*/
10038 , baseNode
10039 /*: Node*/
10040 )
10041 /*: boolean*/
10042 {
10043 var node = el;
10044
10045 do {
10046 if (matchesSelector(node, selector)) return true;
10047 if (node === baseNode) return false;
10048 node = node.parentNode;
10049 } while (node);
10050
10051 return false;
10052 }
10053
10054 function addEvent(el
10055 /*: ?Node*/
10056 , event
10057 /*: string*/
10058 , handler
10059 /*: Function*/
10060 , inputOptions
10061 /*: Object*/
10062 )
10063 /*: void*/
10064 {
10065 if (!el) return;
10066
10067 var options = _objectSpread({
10068 capture: true
10069 }, inputOptions); // $FlowIgnore[method-unbinding]
10070
10071
10072 if (el.addEventListener) {
10073 el.addEventListener(event, handler, options);
10074 } else if (el.attachEvent) {
10075 el.attachEvent('on' + event, handler);
10076 } else {
10077 // $FlowIgnore: Doesn't think elements are indexable
10078 el['on' + event] = handler;
10079 }
10080 }
10081
10082 function removeEvent(el
10083 /*: ?Node*/
10084 , event
10085 /*: string*/
10086 , handler
10087 /*: Function*/
10088 , inputOptions
10089 /*: Object*/
10090 )
10091 /*: void*/
10092 {
10093 if (!el) return;
10094
10095 var options = _objectSpread({
10096 capture: true
10097 }, inputOptions); // $FlowIgnore[method-unbinding]
10098
10099
10100 if (el.removeEventListener) {
10101 el.removeEventListener(event, handler, options);
10102 } else if (el.detachEvent) {
10103 el.detachEvent('on' + event, handler);
10104 } else {
10105 // $FlowIgnore: Doesn't think elements are indexable
10106 el['on' + event] = null;
10107 }
10108 }
10109
10110 function outerHeight(node
10111 /*: HTMLElement*/
10112 )
10113 /*: number*/
10114 {
10115 // This is deliberately excluding margin for our calculations, since we are using
10116 // offsetTop which is including margin. See getBoundPosition
10117 var height = node.clientHeight;
10118 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10119 height += (0, _shims.int)(computedStyle.borderTopWidth);
10120 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10121 return height;
10122 }
10123
10124 function outerWidth(node
10125 /*: HTMLElement*/
10126 )
10127 /*: number*/
10128 {
10129 // This is deliberately excluding margin for our calculations, since we are using
10130 // offsetLeft which is including margin. See getBoundPosition
10131 var width = node.clientWidth;
10132 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10133 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10134 width += (0, _shims.int)(computedStyle.borderRightWidth);
10135 return width;
10136 }
10137
10138 function innerHeight(node
10139 /*: HTMLElement*/
10140 )
10141 /*: number*/
10142 {
10143 var height = node.clientHeight;
10144 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10145 height -= (0, _shims.int)(computedStyle.paddingTop);
10146 height -= (0, _shims.int)(computedStyle.paddingBottom);
10147 return height;
10148 }
10149
10150 function innerWidth(node
10151 /*: HTMLElement*/
10152 )
10153 /*: number*/
10154 {
10155 var width = node.clientWidth;
10156 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10157 width -= (0, _shims.int)(computedStyle.paddingLeft);
10158 width -= (0, _shims.int)(computedStyle.paddingRight);
10159 return width;
10160 }
10161 /*:: interface EventWithOffset {
10162 clientX: number, clientY: number
10163 }*/
10164
10165
10166 // Get from offsetParent
10167 function offsetXYFromParent(evt
10168 /*: EventWithOffset*/
10169 , offsetParent
10170 /*: HTMLElement*/
10171 , scale
10172 /*: number*/
10173 )
10174 /*: ControlPosition*/
10175 {
10176 var isBody = offsetParent === offsetParent.ownerDocument.body;
10177 var offsetParentRect = isBody ? {
10178 left: 0,
10179 top: 0
10180 } : offsetParent.getBoundingClientRect();
10181 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10182 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10183 return {
10184 x: x,
10185 y: y
10186 };
10187 }
10188
10189 function createCSSTransform(controlPos
10190 /*: ControlPosition*/
10191 , positionOffset
10192 /*: PositionOffsetControlPosition*/
10193 )
10194 /*: Object*/
10195 {
10196 var translation = getTranslation(controlPos, positionOffset, 'px');
10197 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10198 }
10199
10200 function createSVGTransform(controlPos
10201 /*: ControlPosition*/
10202 , positionOffset
10203 /*: PositionOffsetControlPosition*/
10204 )
10205 /*: string*/
10206 {
10207 var translation = getTranslation(controlPos, positionOffset, '');
10208 return translation;
10209 }
10210
10211 function getTranslation(_ref2, positionOffset
10212 /*: PositionOffsetControlPosition*/
10213 , unitSuffix
10214 /*: string*/
10215 )
10216 /*: string*/
10217 {
10218 var x = _ref2.x,
10219 y = _ref2.y;
10220 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10221
10222 if (positionOffset) {
10223 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10224 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10225 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10226 }
10227
10228 return translation;
10229 }
10230
10231 function getTouch(e
10232 /*: MouseTouchEvent*/
10233 , identifier
10234 /*: number*/
10235 )
10236 /*: ?{clientX: number, clientY: number}*/
10237 {
10238 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10239 return identifier === t.identifier;
10240 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10241 return identifier === t.identifier;
10242 });
10243 }
10244
10245 function getTouchIdentifier(e
10246 /*: MouseTouchEvent*/
10247 )
10248 /*: ?number*/
10249 {
10250 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10251 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10252 } // User-select Hacks:
10253 //
10254 // Useful for preventing blue highlights all over everything when dragging.
10255 // Note we're passing `document` b/c we could be iframed
10256
10257
10258 function addUserSelectStyles(doc
10259 /*: ?Document*/
10260 ) {
10261 if (!doc) return;
10262 var styleEl = doc.getElementById('react-draggable-style-el');
10263
10264 if (!styleEl) {
10265 styleEl = doc.createElement('style');
10266 styleEl.type = 'text/css';
10267 styleEl.id = 'react-draggable-style-el';
10268 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10269 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10270 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10271 }
10272
10273 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10274 }
10275
10276 function removeUserSelectStyles(doc
10277 /*: ?Document*/
10278 ) {
10279 if (!doc) return;
10280
10281 try {
10282 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10283
10284 if (doc.selection) {
10285 // $FlowIgnore: IE
10286 doc.selection.empty();
10287 } else {
10288 // Remove selection caused by scroll, unless it's a focused input
10289 // (we use doc.defaultView in case we're in an iframe)
10290 var selection = (doc.defaultView || window).getSelection();
10291
10292 if (selection && selection.type !== 'Caret') {
10293 selection.removeAllRanges();
10294 }
10295 }
10296 } catch (e) {// probably IE
10297 }
10298 }
10299
10300 function addClassName(el
10301 /*: HTMLElement*/
10302 , className
10303 /*: string*/
10304 ) {
10305 if (el.classList) {
10306 el.classList.add(className);
10307 } else {
10308 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10309 el.className += " ".concat(className);
10310 }
10311 }
10312 }
10313
10314 function removeClassName(el
10315 /*: HTMLElement*/
10316 , className
10317 /*: string*/
10318 ) {
10319 if (el.classList) {
10320 el.classList.remove(className);
10321 } else {
10322 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10323 }
10324 }
10325
10326 /***/ }),
10327
10328 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10329 /*!********************************************************************!*\
10330 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10331 \********************************************************************/
10332 /***/ ((__unused_webpack_module, exports) => {
10333
10334 "use strict";
10335
10336
10337 Object.defineProperty(exports, "__esModule", ({
10338 value: true
10339 }));
10340 exports.browserPrefixToKey = browserPrefixToKey;
10341 exports.browserPrefixToStyle = browserPrefixToStyle;
10342 exports["default"] = void 0;
10343 exports.getPrefix = getPrefix;
10344 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10345
10346 function getPrefix()
10347 /*: string*/
10348 {
10349 var _window$document, _window$document$docu;
10350
10351 var prop
10352 /*: string*/
10353 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10354 // Ensure we're running in an environment where there is actually a global
10355 // `window` obj
10356 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10357 // path may not exist, so bail out if it doesn't.
10358
10359 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;
10360 if (!style) return '';
10361 if (prop in style) return '';
10362
10363 for (var i = 0; i < prefixes.length; i++) {
10364 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10365 }
10366
10367 return '';
10368 }
10369
10370 function browserPrefixToKey(prop
10371 /*: string*/
10372 , prefix
10373 /*: string*/
10374 )
10375 /*: string*/
10376 {
10377 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10378 }
10379
10380 function browserPrefixToStyle(prop
10381 /*: string*/
10382 , prefix
10383 /*: string*/
10384 )
10385 /*: string*/
10386 {
10387 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10388 }
10389
10390 function kebabToTitleCase(str
10391 /*: string*/
10392 )
10393 /*: string*/
10394 {
10395 var out = '';
10396 var shouldCapitalize = true;
10397
10398 for (var i = 0; i < str.length; i++) {
10399 if (shouldCapitalize) {
10400 out += str[i].toUpperCase();
10401 shouldCapitalize = false;
10402 } else if (str[i] === '-') {
10403 shouldCapitalize = true;
10404 } else {
10405 out += str[i];
10406 }
10407 }
10408
10409 return out;
10410 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10411 // Note that you may have to re-test for certain things; for instance, Chrome 50
10412 // can handle unprefixed `transform`, but not unprefixed `user-select`
10413
10414
10415 var _default = (getPrefix()
10416 /*: string*/
10417 );
10418
10419 exports["default"] = _default;
10420
10421 /***/ }),
10422
10423 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10424 /*!**************************************************************!*\
10425 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10426 \**************************************************************/
10427 /***/ ((__unused_webpack_module, exports) => {
10428
10429 "use strict";
10430
10431
10432 Object.defineProperty(exports, "__esModule", ({
10433 value: true
10434 }));
10435 exports["default"] = log;
10436
10437 /*eslint no-console:0*/
10438 function log() {
10439 var _console;
10440
10441 if (false) {}
10442 }
10443
10444 /***/ }),
10445
10446 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10447 /*!**********************************************************************!*\
10448 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10449 \**********************************************************************/
10450 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10451
10452 "use strict";
10453
10454
10455 Object.defineProperty(exports, "__esModule", ({
10456 value: true
10457 }));
10458 exports.canDragX = canDragX;
10459 exports.canDragY = canDragY;
10460 exports.createCoreData = createCoreData;
10461 exports.createDraggableData = createDraggableData;
10462 exports.getBoundPosition = getBoundPosition;
10463 exports.getControlPosition = getControlPosition;
10464 exports.snapToGrid = snapToGrid;
10465
10466 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10467
10468 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10469
10470 function getBoundPosition(draggable
10471 /*: Draggable*/
10472 , x
10473 /*: number*/
10474 , y
10475 /*: number*/
10476 )
10477 /*: [number, number]*/
10478 {
10479 // If no bounds, short-circuit and move on
10480 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10481
10482 var bounds = draggable.props.bounds;
10483 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10484 var node = findDOMNode(draggable);
10485
10486 if (typeof bounds === 'string') {
10487 var ownerDocument = node.ownerDocument;
10488 var ownerWindow = ownerDocument.defaultView;
10489 var boundNode;
10490
10491 if (bounds === 'parent') {
10492 boundNode = node.parentNode;
10493 } else {
10494 boundNode = ownerDocument.querySelector(bounds);
10495 }
10496
10497 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10498 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10499 }
10500
10501 var boundNodeEl
10502 /*: HTMLElement*/
10503 = boundNode; // for Flow, can't seem to refine correctly
10504
10505 var nodeStyle = ownerWindow.getComputedStyle(node);
10506 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10507
10508 bounds = {
10509 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10510 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10511 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10512 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10513 };
10514 } // Keep x and y below right and bottom limits...
10515
10516
10517 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10518 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10519
10520 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10521 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10522 return [x, y];
10523 }
10524
10525 function snapToGrid(grid
10526 /*: [number, number]*/
10527 , pendingX
10528 /*: number*/
10529 , pendingY
10530 /*: number*/
10531 )
10532 /*: [number, number]*/
10533 {
10534 var x = Math.round(pendingX / grid[0]) * grid[0];
10535 var y = Math.round(pendingY / grid[1]) * grid[1];
10536 return [x, y];
10537 }
10538
10539 function canDragX(draggable
10540 /*: Draggable*/
10541 )
10542 /*: boolean*/
10543 {
10544 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10545 }
10546
10547 function canDragY(draggable
10548 /*: Draggable*/
10549 )
10550 /*: boolean*/
10551 {
10552 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10553 } // Get {x, y} positions from event.
10554
10555
10556 function getControlPosition(e
10557 /*: MouseTouchEvent*/
10558 , touchIdentifier
10559 /*: ?number*/
10560 , draggableCore
10561 /*: DraggableCore*/
10562 )
10563 /*: ?ControlPosition*/
10564 {
10565 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10566 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10567
10568 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10569
10570 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10571 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10572 } // Create an data object exposed by <DraggableCore>'s events
10573
10574
10575 function createCoreData(draggable
10576 /*: DraggableCore*/
10577 , x
10578 /*: number*/
10579 , y
10580 /*: number*/
10581 )
10582 /*: DraggableData*/
10583 {
10584 var state = draggable.state;
10585 var isStart = !(0, _shims.isNum)(state.lastX);
10586 var node = findDOMNode(draggable);
10587
10588 if (isStart) {
10589 // If this is our first move, use the x and y as last coords.
10590 return {
10591 node: node,
10592 deltaX: 0,
10593 deltaY: 0,
10594 lastX: x,
10595 lastY: y,
10596 x: x,
10597 y: y
10598 };
10599 } else {
10600 // Otherwise calculate proper values.
10601 return {
10602 node: node,
10603 deltaX: x - state.lastX,
10604 deltaY: y - state.lastY,
10605 lastX: state.lastX,
10606 lastY: state.lastY,
10607 x: x,
10608 y: y
10609 };
10610 }
10611 } // Create an data exposed by <Draggable>'s events
10612
10613
10614 function createDraggableData(draggable
10615 /*: Draggable*/
10616 , coreData
10617 /*: DraggableData*/
10618 )
10619 /*: DraggableData*/
10620 {
10621 var scale = draggable.props.scale;
10622 return {
10623 node: coreData.node,
10624 x: draggable.state.x + coreData.deltaX / scale,
10625 y: draggable.state.y + coreData.deltaY / scale,
10626 deltaX: coreData.deltaX / scale,
10627 deltaY: coreData.deltaY / scale,
10628 lastX: draggable.state.x,
10629 lastY: draggable.state.y
10630 };
10631 } // A lot faster than stringify/parse
10632
10633
10634 function cloneBounds(bounds
10635 /*: Bounds*/
10636 )
10637 /*: Bounds*/
10638 {
10639 return {
10640 left: bounds.left,
10641 top: bounds.top,
10642 right: bounds.right,
10643 bottom: bounds.bottom
10644 };
10645 }
10646
10647 function findDOMNode(draggable
10648 /*: Draggable | DraggableCore*/
10649 )
10650 /*: HTMLElement*/
10651 {
10652 var node = draggable.findDOMNode();
10653
10654 if (!node) {
10655 throw new Error('<DraggableCore>: Unmounted during event!');
10656 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10657
10658
10659 return node;
10660 }
10661
10662 /***/ }),
10663
10664 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10665 /*!****************************************************************!*\
10666 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10667 \****************************************************************/
10668 /***/ ((__unused_webpack_module, exports) => {
10669
10670 "use strict";
10671
10672
10673 Object.defineProperty(exports, "__esModule", ({
10674 value: true
10675 }));
10676 exports.dontSetMe = dontSetMe;
10677 exports.findInArray = findInArray;
10678 exports.int = int;
10679 exports.isFunction = isFunction;
10680 exports.isNum = isNum;
10681
10682 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
10683 function findInArray(array
10684 /*: Array<any> | TouchList*/
10685 , callback
10686 /*: Function*/
10687 )
10688 /*: any*/
10689 {
10690 for (var i = 0, length = array.length; i < length; i++) {
10691 if (callback.apply(callback, [array[i], i, array])) return array[i];
10692 }
10693 }
10694
10695 function isFunction(func
10696 /*: any*/
10697 )
10698 /*: boolean %checks*/
10699 {
10700 // $FlowIgnore[method-unbinding]
10701 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
10702 }
10703
10704 function isNum(num
10705 /*: any*/
10706 )
10707 /*: boolean %checks*/
10708 {
10709 return typeof num === 'number' && !isNaN(num);
10710 }
10711
10712 function int(a
10713 /*: string*/
10714 )
10715 /*: number*/
10716 {
10717 return parseInt(a, 10);
10718 }
10719
10720 function dontSetMe(props
10721 /*: Object*/
10722 , propName
10723 /*: string*/
10724 , componentName
10725 /*: string*/
10726 )
10727 /*: ?Error*/
10728 {
10729 if (props[propName]) {
10730 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
10731 }
10732 }
10733
10734 /***/ }),
10735
10736 /***/ "../node_modules/react-is/cjs/react-is.development.js":
10737 /*!************************************************************!*\
10738 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
10739 \************************************************************/
10740 /***/ ((__unused_webpack_module, exports) => {
10741
10742 "use strict";
10743 /**
10744 * @license React
10745 * react-is.development.js
10746 *
10747 * Copyright (c) Facebook, Inc. and its affiliates.
10748 *
10749 * This source code is licensed under the MIT license found in the
10750 * LICENSE file in the root directory of this source tree.
10751 */
10752
10753
10754
10755 if (true) {
10756 (function() {
10757 'use strict';
10758
10759 // ATTENTION
10760 // When adding new symbols to this file,
10761 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
10762 // The Symbol used to tag the ReactElement-like types.
10763 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
10764 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
10765 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
10766 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
10767 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
10768 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
10769 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
10770 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
10771 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
10772 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
10773 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
10774 var REACT_MEMO_TYPE = Symbol.for('react.memo');
10775 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
10776 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
10777
10778 // -----------------------------------------------------------------------------
10779
10780 var enableScopeAPI = false; // Experimental Create Event Handle API.
10781 var enableCacheElement = false;
10782 var enableTransitionTracing = false; // No known bugs, but needs performance testing
10783
10784 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
10785 // stuff. Intended to enable React core members to more easily debug scheduling
10786 // issues in DEV builds.
10787
10788 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
10789
10790 var REACT_MODULE_REFERENCE;
10791
10792 {
10793 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
10794 }
10795
10796 function isValidElementType(type) {
10797 if (typeof type === 'string' || typeof type === 'function') {
10798 return true;
10799 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
10800
10801
10802 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 ) {
10803 return true;
10804 }
10805
10806 if (typeof type === 'object' && type !== null) {
10807 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
10808 // types supported by any Flight configuration anywhere since
10809 // we don't know which Flight build this will end up being used
10810 // with.
10811 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
10812 return true;
10813 }
10814 }
10815
10816 return false;
10817 }
10818
10819 function typeOf(object) {
10820 if (typeof object === 'object' && object !== null) {
10821 var $$typeof = object.$$typeof;
10822
10823 switch ($$typeof) {
10824 case REACT_ELEMENT_TYPE:
10825 var type = object.type;
10826
10827 switch (type) {
10828 case REACT_FRAGMENT_TYPE:
10829 case REACT_PROFILER_TYPE:
10830 case REACT_STRICT_MODE_TYPE:
10831 case REACT_SUSPENSE_TYPE:
10832 case REACT_SUSPENSE_LIST_TYPE:
10833 return type;
10834
10835 default:
10836 var $$typeofType = type && type.$$typeof;
10837
10838 switch ($$typeofType) {
10839 case REACT_SERVER_CONTEXT_TYPE:
10840 case REACT_CONTEXT_TYPE:
10841 case REACT_FORWARD_REF_TYPE:
10842 case REACT_LAZY_TYPE:
10843 case REACT_MEMO_TYPE:
10844 case REACT_PROVIDER_TYPE:
10845 return $$typeofType;
10846
10847 default:
10848 return $$typeof;
10849 }
10850
10851 }
10852
10853 case REACT_PORTAL_TYPE:
10854 return $$typeof;
10855 }
10856 }
10857
10858 return undefined;
10859 }
10860 var ContextConsumer = REACT_CONTEXT_TYPE;
10861 var ContextProvider = REACT_PROVIDER_TYPE;
10862 var Element = REACT_ELEMENT_TYPE;
10863 var ForwardRef = REACT_FORWARD_REF_TYPE;
10864 var Fragment = REACT_FRAGMENT_TYPE;
10865 var Lazy = REACT_LAZY_TYPE;
10866 var Memo = REACT_MEMO_TYPE;
10867 var Portal = REACT_PORTAL_TYPE;
10868 var Profiler = REACT_PROFILER_TYPE;
10869 var StrictMode = REACT_STRICT_MODE_TYPE;
10870 var Suspense = REACT_SUSPENSE_TYPE;
10871 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
10872 var hasWarnedAboutDeprecatedIsAsyncMode = false;
10873 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
10874
10875 function isAsyncMode(object) {
10876 {
10877 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
10878 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
10879
10880 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
10881 }
10882 }
10883
10884 return false;
10885 }
10886 function isConcurrentMode(object) {
10887 {
10888 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
10889 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
10890
10891 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
10892 }
10893 }
10894
10895 return false;
10896 }
10897 function isContextConsumer(object) {
10898 return typeOf(object) === REACT_CONTEXT_TYPE;
10899 }
10900 function isContextProvider(object) {
10901 return typeOf(object) === REACT_PROVIDER_TYPE;
10902 }
10903 function isElement(object) {
10904 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
10905 }
10906 function isForwardRef(object) {
10907 return typeOf(object) === REACT_FORWARD_REF_TYPE;
10908 }
10909 function isFragment(object) {
10910 return typeOf(object) === REACT_FRAGMENT_TYPE;
10911 }
10912 function isLazy(object) {
10913 return typeOf(object) === REACT_LAZY_TYPE;
10914 }
10915 function isMemo(object) {
10916 return typeOf(object) === REACT_MEMO_TYPE;
10917 }
10918 function isPortal(object) {
10919 return typeOf(object) === REACT_PORTAL_TYPE;
10920 }
10921 function isProfiler(object) {
10922 return typeOf(object) === REACT_PROFILER_TYPE;
10923 }
10924 function isStrictMode(object) {
10925 return typeOf(object) === REACT_STRICT_MODE_TYPE;
10926 }
10927 function isSuspense(object) {
10928 return typeOf(object) === REACT_SUSPENSE_TYPE;
10929 }
10930 function isSuspenseList(object) {
10931 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
10932 }
10933
10934 exports.ContextConsumer = ContextConsumer;
10935 exports.ContextProvider = ContextProvider;
10936 exports.Element = Element;
10937 exports.ForwardRef = ForwardRef;
10938 exports.Fragment = Fragment;
10939 exports.Lazy = Lazy;
10940 exports.Memo = Memo;
10941 exports.Portal = Portal;
10942 exports.Profiler = Profiler;
10943 exports.StrictMode = StrictMode;
10944 exports.Suspense = Suspense;
10945 exports.SuspenseList = SuspenseList;
10946 exports.isAsyncMode = isAsyncMode;
10947 exports.isConcurrentMode = isConcurrentMode;
10948 exports.isContextConsumer = isContextConsumer;
10949 exports.isContextProvider = isContextProvider;
10950 exports.isElement = isElement;
10951 exports.isForwardRef = isForwardRef;
10952 exports.isFragment = isFragment;
10953 exports.isLazy = isLazy;
10954 exports.isMemo = isMemo;
10955 exports.isPortal = isPortal;
10956 exports.isProfiler = isProfiler;
10957 exports.isStrictMode = isStrictMode;
10958 exports.isSuspense = isSuspense;
10959 exports.isSuspenseList = isSuspenseList;
10960 exports.isValidElementType = isValidElementType;
10961 exports.typeOf = typeOf;
10962 })();
10963 }
10964
10965
10966 /***/ }),
10967
10968 /***/ "../node_modules/react-is/index.js":
10969 /*!*****************************************!*\
10970 !*** ../node_modules/react-is/index.js ***!
10971 \*****************************************/
10972 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10973
10974 "use strict";
10975
10976
10977 if (false) {} else {
10978 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
10979 }
10980
10981
10982 /***/ }),
10983
10984 /***/ "../node_modules/shallowequal/index.js":
10985 /*!*********************************************!*\
10986 !*** ../node_modules/shallowequal/index.js ***!
10987 \*********************************************/
10988 /***/ ((module) => {
10989
10990 //
10991
10992 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
10993 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
10994
10995 if (ret !== void 0) {
10996 return !!ret;
10997 }
10998
10999 if (objA === objB) {
11000 return true;
11001 }
11002
11003 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11004 return false;
11005 }
11006
11007 var keysA = Object.keys(objA);
11008 var keysB = Object.keys(objB);
11009
11010 if (keysA.length !== keysB.length) {
11011 return false;
11012 }
11013
11014 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11015
11016 // Test for A's keys different from B.
11017 for (var idx = 0; idx < keysA.length; idx++) {
11018 var key = keysA[idx];
11019
11020 if (!bHasOwnProperty(key)) {
11021 return false;
11022 }
11023
11024 var valueA = objA[key];
11025 var valueB = objB[key];
11026
11027 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11028
11029 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11030 return false;
11031 }
11032 }
11033
11034 return true;
11035 };
11036
11037
11038 /***/ }),
11039
11040 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11041 /*!*******************************************************************************!*\
11042 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11043 \*******************************************************************************/
11044 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11045
11046 "use strict";
11047 __webpack_require__.r(__webpack_exports__);
11048 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11049 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11050 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11051 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11052 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11053 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11054 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11055 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11056 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11057 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11058 /* harmony export */ css: () => (/* binding */ Ae),
11059 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11060 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11061 /* harmony export */ keyframes: () => (/* binding */ We),
11062 /* harmony export */ useTheme: () => (/* binding */ Xe),
11063 /* harmony export */ version: () => (/* binding */ A),
11064 /* harmony export */ withTheme: () => (/* binding */ Je)
11065 /* harmony export */ });
11066 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11067 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11068 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11069 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11070 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11071 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11072 /* 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");
11073 /* 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");
11074 /* 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");
11075 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11076 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);
11077 //# sourceMappingURL=styled-components.browser.esm.js.map
11078
11079
11080 /***/ }),
11081
11082 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11083 /*!*****************************************************************************************************!*\
11084 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11085 \*****************************************************************************************************/
11086 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11087
11088 "use strict";
11089 __webpack_require__.r(__webpack_exports__);
11090 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11091 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11092 /* harmony export */ });
11093 var unitlessKeys = {
11094 animationIterationCount: 1,
11095 borderImageOutset: 1,
11096 borderImageSlice: 1,
11097 borderImageWidth: 1,
11098 boxFlex: 1,
11099 boxFlexGroup: 1,
11100 boxOrdinalGroup: 1,
11101 columnCount: 1,
11102 columns: 1,
11103 flex: 1,
11104 flexGrow: 1,
11105 flexPositive: 1,
11106 flexShrink: 1,
11107 flexNegative: 1,
11108 flexOrder: 1,
11109 gridRow: 1,
11110 gridRowEnd: 1,
11111 gridRowSpan: 1,
11112 gridRowStart: 1,
11113 gridColumn: 1,
11114 gridColumnEnd: 1,
11115 gridColumnSpan: 1,
11116 gridColumnStart: 1,
11117 msGridRow: 1,
11118 msGridRowSpan: 1,
11119 msGridColumn: 1,
11120 msGridColumnSpan: 1,
11121 fontWeight: 1,
11122 lineHeight: 1,
11123 opacity: 1,
11124 order: 1,
11125 orphans: 1,
11126 tabSize: 1,
11127 widows: 1,
11128 zIndex: 1,
11129 zoom: 1,
11130 WebkitLineClamp: 1,
11131 // SVG-related properties
11132 fillOpacity: 1,
11133 floodOpacity: 1,
11134 stopOpacity: 1,
11135 strokeDasharray: 1,
11136 strokeDashoffset: 1,
11137 strokeMiterlimit: 1,
11138 strokeOpacity: 1,
11139 strokeWidth: 1
11140 };
11141
11142 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11143
11144
11145 /***/ }),
11146
11147 /***/ "../node_modules/validator/lib/isFQDN.js":
11148 /*!***********************************************!*\
11149 !*** ../node_modules/validator/lib/isFQDN.js ***!
11150 \***********************************************/
11151 /***/ ((module, exports, __webpack_require__) => {
11152
11153 "use strict";
11154
11155
11156 Object.defineProperty(exports, "__esModule", ({
11157 value: true
11158 }));
11159 exports["default"] = isFQDN;
11160
11161 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11162
11163 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11164
11165 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11166
11167 var default_fqdn_options = {
11168 require_tld: true,
11169 allow_underscores: false,
11170 allow_trailing_dot: false,
11171 allow_numeric_tld: false,
11172 allow_wildcard: false,
11173 ignore_max_length: false
11174 };
11175
11176 function isFQDN(str, options) {
11177 (0, _assertString.default)(str);
11178 options = (0, _merge.default)(options, default_fqdn_options);
11179 /* Remove the optional trailing dot before checking validity */
11180
11181 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11182 str = str.substring(0, str.length - 1);
11183 }
11184 /* Remove the optional wildcard before checking validity */
11185
11186
11187 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11188 str = str.substring(2);
11189 }
11190
11191 var parts = str.split('.');
11192 var tld = parts[parts.length - 1];
11193
11194 if (options.require_tld) {
11195 // disallow fqdns without tld
11196 if (parts.length < 2) {
11197 return false;
11198 }
11199
11200 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11201 return false;
11202 } // disallow spaces
11203
11204
11205 if (/\s/.test(tld)) {
11206 return false;
11207 }
11208 } // reject numeric TLDs
11209
11210
11211 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11212 return false;
11213 }
11214
11215 return parts.every(function (part) {
11216 if (part.length > 63 && !options.ignore_max_length) {
11217 return false;
11218 }
11219
11220 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11221 return false;
11222 } // disallow full-width chars
11223
11224
11225 if (/[\uff01-\uff5e]/.test(part)) {
11226 return false;
11227 } // disallow parts starting or ending with hyphen
11228
11229
11230 if (/^-|-$/.test(part)) {
11231 return false;
11232 }
11233
11234 if (!options.allow_underscores && /_/.test(part)) {
11235 return false;
11236 }
11237
11238 return true;
11239 });
11240 }
11241
11242 module.exports = exports.default;
11243 module.exports["default"] = exports.default;
11244
11245 /***/ }),
11246
11247 /***/ "../node_modules/validator/lib/isIP.js":
11248 /*!*********************************************!*\
11249 !*** ../node_modules/validator/lib/isIP.js ***!
11250 \*********************************************/
11251 /***/ ((module, exports, __webpack_require__) => {
11252
11253 "use strict";
11254
11255
11256 Object.defineProperty(exports, "__esModule", ({
11257 value: true
11258 }));
11259 exports["default"] = isIP;
11260
11261 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11262
11263 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11264
11265 /**
11266 11.3. Examples
11267
11268 The following addresses
11269
11270 fe80::1234 (on the 1st link of the node)
11271 ff02::5678 (on the 5th link of the node)
11272 ff08::9abc (on the 10th organization of the node)
11273
11274 would be represented as follows:
11275
11276 fe80::1234%1
11277 ff02::5678%5
11278 ff08::9abc%10
11279
11280 (Here we assume a natural translation from a zone index to the
11281 <zone_id> part, where the Nth zone of any scope is translated into
11282 "N".)
11283
11284 If we use interface names as <zone_id>, those addresses could also be
11285 represented as follows:
11286
11287 fe80::1234%ne0
11288 ff02::5678%pvc1.3
11289 ff08::9abc%interface10
11290
11291 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11292 to the 5th link, and "interface10" belongs to the 10th organization.
11293 * * */
11294 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11295 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11296 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11297 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11298 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,})?$');
11299
11300 function isIP(str) {
11301 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11302 (0, _assertString.default)(str);
11303 version = String(version);
11304
11305 if (!version) {
11306 return isIP(str, 4) || isIP(str, 6);
11307 }
11308
11309 if (version === '4') {
11310 return IPv4AddressRegExp.test(str);
11311 }
11312
11313 if (version === '6') {
11314 return IPv6AddressRegExp.test(str);
11315 }
11316
11317 return false;
11318 }
11319
11320 module.exports = exports.default;
11321 module.exports["default"] = exports.default;
11322
11323 /***/ }),
11324
11325 /***/ "../node_modules/validator/lib/isURL.js":
11326 /*!**********************************************!*\
11327 !*** ../node_modules/validator/lib/isURL.js ***!
11328 \**********************************************/
11329 /***/ ((module, exports, __webpack_require__) => {
11330
11331 "use strict";
11332
11333
11334 Object.defineProperty(exports, "__esModule", ({
11335 value: true
11336 }));
11337 exports["default"] = isURL;
11338
11339 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11340
11341 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11342
11343 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11344
11345 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11346
11347 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11348
11349 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11350
11351 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."); }
11352
11353 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); }
11354
11355 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; }
11356
11357 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; }
11358
11359 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11360
11361 /*
11362 options for isURL method
11363
11364 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11365 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11366 protocols - valid protocols can be modified with this option
11367 require_host - if set as false isURL will not check if host is present in the URL
11368 require_port - if set as true isURL will check if port is present in the URL
11369 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11370 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11371
11372 */
11373 var default_url_options = {
11374 protocols: ['http', 'https', 'ftp'],
11375 require_tld: true,
11376 require_protocol: false,
11377 require_host: true,
11378 require_port: false,
11379 require_valid_protocol: true,
11380 allow_underscores: false,
11381 allow_trailing_dot: false,
11382 allow_protocol_relative_urls: false,
11383 allow_fragments: true,
11384 allow_query_components: true,
11385 validate_length: true
11386 };
11387 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11388
11389 function isRegExp(obj) {
11390 return Object.prototype.toString.call(obj) === '[object RegExp]';
11391 }
11392
11393 function checkHost(host, matches) {
11394 for (var i = 0; i < matches.length; i++) {
11395 var match = matches[i];
11396
11397 if (host === match || isRegExp(match) && match.test(host)) {
11398 return true;
11399 }
11400 }
11401
11402 return false;
11403 }
11404
11405 function isURL(url, options) {
11406 (0, _assertString.default)(url);
11407
11408 if (!url || /[\s<>]/.test(url)) {
11409 return false;
11410 }
11411
11412 if (url.indexOf('mailto:') === 0) {
11413 return false;
11414 }
11415
11416 options = (0, _merge.default)(options, default_url_options);
11417
11418 if (options.validate_length && url.length >= 2083) {
11419 return false;
11420 }
11421
11422 if (!options.allow_fragments && url.includes('#')) {
11423 return false;
11424 }
11425
11426 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11427 return false;
11428 }
11429
11430 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11431 split = url.split('#');
11432 url = split.shift();
11433 split = url.split('?');
11434 url = split.shift();
11435 split = url.split('://');
11436
11437 if (split.length > 1) {
11438 protocol = split.shift().toLowerCase();
11439
11440 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11441 return false;
11442 }
11443 } else if (options.require_protocol) {
11444 return false;
11445 } else if (url.slice(0, 2) === '//') {
11446 if (!options.allow_protocol_relative_urls) {
11447 return false;
11448 }
11449
11450 split[0] = url.slice(2);
11451 }
11452
11453 url = split.join('://');
11454
11455 if (url === '') {
11456 return false;
11457 }
11458
11459 split = url.split('/');
11460 url = split.shift();
11461
11462 if (url === '' && !options.require_host) {
11463 return true;
11464 }
11465
11466 split = url.split('@');
11467
11468 if (split.length > 1) {
11469 if (options.disallow_auth) {
11470 return false;
11471 }
11472
11473 if (split[0] === '') {
11474 return false;
11475 }
11476
11477 auth = split.shift();
11478
11479 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11480 return false;
11481 }
11482
11483 var _auth$split = auth.split(':'),
11484 _auth$split2 = _slicedToArray(_auth$split, 2),
11485 user = _auth$split2[0],
11486 password = _auth$split2[1];
11487
11488 if (user === '' && password === '') {
11489 return false;
11490 }
11491 }
11492
11493 hostname = split.join('@');
11494 port_str = null;
11495 ipv6 = null;
11496 var ipv6_match = hostname.match(wrapped_ipv6);
11497
11498 if (ipv6_match) {
11499 host = '';
11500 ipv6 = ipv6_match[1];
11501 port_str = ipv6_match[2] || null;
11502 } else {
11503 split = hostname.split(':');
11504 host = split.shift();
11505
11506 if (split.length) {
11507 port_str = split.join(':');
11508 }
11509 }
11510
11511 if (port_str !== null && port_str.length > 0) {
11512 port = parseInt(port_str, 10);
11513
11514 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11515 return false;
11516 }
11517 } else if (options.require_port) {
11518 return false;
11519 }
11520
11521 if (options.host_whitelist) {
11522 return checkHost(host, options.host_whitelist);
11523 }
11524
11525 if (host === '' && !options.require_host) {
11526 return true;
11527 }
11528
11529 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11530 return false;
11531 }
11532
11533 host = host || ipv6;
11534
11535 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11536 return false;
11537 }
11538
11539 return true;
11540 }
11541
11542 module.exports = exports.default;
11543 module.exports["default"] = exports.default;
11544
11545 /***/ }),
11546
11547 /***/ "../node_modules/validator/lib/util/assertString.js":
11548 /*!**********************************************************!*\
11549 !*** ../node_modules/validator/lib/util/assertString.js ***!
11550 \**********************************************************/
11551 /***/ ((module, exports) => {
11552
11553 "use strict";
11554
11555
11556 Object.defineProperty(exports, "__esModule", ({
11557 value: true
11558 }));
11559 exports["default"] = assertString;
11560
11561 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); }
11562
11563 function assertString(input) {
11564 var isString = typeof input === 'string' || input instanceof String;
11565
11566 if (!isString) {
11567 var invalidType = _typeof(input);
11568
11569 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11570 throw new TypeError("Expected a string but received a ".concat(invalidType));
11571 }
11572 }
11573
11574 module.exports = exports.default;
11575 module.exports["default"] = exports.default;
11576
11577 /***/ }),
11578
11579 /***/ "../node_modules/validator/lib/util/merge.js":
11580 /*!***************************************************!*\
11581 !*** ../node_modules/validator/lib/util/merge.js ***!
11582 \***************************************************/
11583 /***/ ((module, exports) => {
11584
11585 "use strict";
11586
11587
11588 Object.defineProperty(exports, "__esModule", ({
11589 value: true
11590 }));
11591 exports["default"] = merge;
11592
11593 function merge() {
11594 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11595 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11596
11597 for (var key in defaults) {
11598 if (typeof obj[key] === 'undefined') {
11599 obj[key] = defaults[key];
11600 }
11601 }
11602
11603 return obj;
11604 }
11605
11606 module.exports = exports.default;
11607 module.exports["default"] = exports.default;
11608
11609 /***/ }),
11610
11611 /***/ "react":
11612 /*!************************!*\
11613 !*** external "React" ***!
11614 \************************/
11615 /***/ ((module) => {
11616
11617 "use strict";
11618 module.exports = React;
11619
11620 /***/ }),
11621
11622 /***/ "react-dom":
11623 /*!***************************!*\
11624 !*** external "ReactDOM" ***!
11625 \***************************/
11626 /***/ ((module) => {
11627
11628 "use strict";
11629 module.exports = ReactDOM;
11630
11631 /***/ }),
11632
11633 /***/ "@elementor/icons":
11634 /*!************************************!*\
11635 !*** external "elementorV2.icons" ***!
11636 \************************************/
11637 /***/ ((module) => {
11638
11639 "use strict";
11640 module.exports = elementorV2.icons;
11641
11642 /***/ }),
11643
11644 /***/ "@elementor/ui":
11645 /*!*********************************!*\
11646 !*** external "elementorV2.ui" ***!
11647 \*********************************/
11648 /***/ ((module) => {
11649
11650 "use strict";
11651 module.exports = elementorV2.ui;
11652
11653 /***/ }),
11654
11655 /***/ "@wordpress/i18n":
11656 /*!**************************!*\
11657 !*** external "wp.i18n" ***!
11658 \**************************/
11659 /***/ ((module) => {
11660
11661 "use strict";
11662 module.exports = wp.i18n;
11663
11664 /***/ }),
11665
11666 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11667 /*!******************************************************************!*\
11668 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
11669 \******************************************************************/
11670 /***/ ((module) => {
11671
11672 function _arrayLikeToArray(arr, len) {
11673 if (len == null || len > arr.length) len = arr.length;
11674 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11675 return arr2;
11676 }
11677 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11678
11679 /***/ }),
11680
11681 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
11682 /*!****************************************************************!*\
11683 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
11684 \****************************************************************/
11685 /***/ ((module) => {
11686
11687 function _arrayWithHoles(arr) {
11688 if (Array.isArray(arr)) return arr;
11689 }
11690 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11691
11692 /***/ }),
11693
11694 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
11695 /*!*******************************************************************!*\
11696 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
11697 \*******************************************************************/
11698 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11699
11700 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
11701 function _arrayWithoutHoles(arr) {
11702 if (Array.isArray(arr)) return arrayLikeToArray(arr);
11703 }
11704 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11705
11706 /***/ }),
11707
11708 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
11709 /*!***********************************************************************!*\
11710 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
11711 \***********************************************************************/
11712 /***/ ((module) => {
11713
11714 function _assertThisInitialized(self) {
11715 if (self === void 0) {
11716 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
11717 }
11718 return self;
11719 }
11720 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
11721
11722 /***/ }),
11723
11724 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
11725 /*!******************************************************************!*\
11726 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
11727 \******************************************************************/
11728 /***/ ((module) => {
11729
11730 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11731 try {
11732 var info = gen[key](arg);
11733 var value = info.value;
11734 } catch (error) {
11735 reject(error);
11736 return;
11737 }
11738 if (info.done) {
11739 resolve(value);
11740 } else {
11741 Promise.resolve(value).then(_next, _throw);
11742 }
11743 }
11744 function _asyncToGenerator(fn) {
11745 return function () {
11746 var self = this,
11747 args = arguments;
11748 return new Promise(function (resolve, reject) {
11749 var gen = fn.apply(self, args);
11750 function _next(value) {
11751 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
11752 }
11753 function _throw(err) {
11754 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
11755 }
11756 _next(undefined);
11757 });
11758 };
11759 }
11760 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
11761
11762 /***/ }),
11763
11764 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
11765 /*!****************************************************************!*\
11766 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
11767 \****************************************************************/
11768 /***/ ((module) => {
11769
11770 function _classCallCheck(instance, Constructor) {
11771 if (!(instance instanceof Constructor)) {
11772 throw new TypeError("Cannot call a class as a function");
11773 }
11774 }
11775 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
11776
11777 /***/ }),
11778
11779 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
11780 /*!*************************************************************!*\
11781 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
11782 \*************************************************************/
11783 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11784
11785 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11786 function _defineProperties(target, props) {
11787 for (var i = 0; i < props.length; i++) {
11788 var descriptor = props[i];
11789 descriptor.enumerable = descriptor.enumerable || false;
11790 descriptor.configurable = true;
11791 if ("value" in descriptor) descriptor.writable = true;
11792 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
11793 }
11794 }
11795 function _createClass(Constructor, protoProps, staticProps) {
11796 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
11797 if (staticProps) _defineProperties(Constructor, staticProps);
11798 Object.defineProperty(Constructor, "prototype", {
11799 writable: false
11800 });
11801 return Constructor;
11802 }
11803 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
11804
11805 /***/ }),
11806
11807 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
11808 /*!****************************************************************!*\
11809 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
11810 \****************************************************************/
11811 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11812
11813 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11814 function _defineProperty(obj, key, value) {
11815 key = toPropertyKey(key);
11816 if (key in obj) {
11817 Object.defineProperty(obj, key, {
11818 value: value,
11819 enumerable: true,
11820 configurable: true,
11821 writable: true
11822 });
11823 } else {
11824 obj[key] = value;
11825 }
11826 return obj;
11827 }
11828 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
11829
11830 /***/ }),
11831
11832 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
11833 /*!*********************************************************!*\
11834 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
11835 \*********************************************************/
11836 /***/ ((module) => {
11837
11838 function _extends() {
11839 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
11840 for (var i = 1; i < arguments.length; i++) {
11841 var source = arguments[i];
11842 for (var key in source) {
11843 if (Object.prototype.hasOwnProperty.call(source, key)) {
11844 target[key] = source[key];
11845 }
11846 }
11847 }
11848 return target;
11849 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
11850 return _extends.apply(this, arguments);
11851 }
11852 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
11853
11854 /***/ }),
11855
11856 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
11857 /*!****************************************************************!*\
11858 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
11859 \****************************************************************/
11860 /***/ ((module) => {
11861
11862 function _getPrototypeOf(o) {
11863 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
11864 return o.__proto__ || Object.getPrototypeOf(o);
11865 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
11866 return _getPrototypeOf(o);
11867 }
11868 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
11869
11870 /***/ }),
11871
11872 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
11873 /*!**********************************************************!*\
11874 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
11875 \**********************************************************/
11876 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11877
11878 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
11879 function _inherits(subClass, superClass) {
11880 if (typeof superClass !== "function" && superClass !== null) {
11881 throw new TypeError("Super expression must either be null or a function");
11882 }
11883 subClass.prototype = Object.create(superClass && superClass.prototype, {
11884 constructor: {
11885 value: subClass,
11886 writable: true,
11887 configurable: true
11888 }
11889 });
11890 Object.defineProperty(subClass, "prototype", {
11891 writable: false
11892 });
11893 if (superClass) setPrototypeOf(subClass, superClass);
11894 }
11895 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
11896
11897 /***/ }),
11898
11899 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
11900 /*!***********************************************************************!*\
11901 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
11902 \***********************************************************************/
11903 /***/ ((module) => {
11904
11905 function _interopRequireDefault(obj) {
11906 return obj && obj.__esModule ? obj : {
11907 "default": obj
11908 };
11909 }
11910 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
11911
11912 /***/ }),
11913
11914 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
11915 /*!*****************************************************************!*\
11916 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
11917 \*****************************************************************/
11918 /***/ ((module) => {
11919
11920 function _iterableToArray(iter) {
11921 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11922 }
11923 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11924
11925 /***/ }),
11926
11927 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
11928 /*!**********************************************************************!*\
11929 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
11930 \**********************************************************************/
11931 /***/ ((module) => {
11932
11933 function _iterableToArrayLimit(r, l) {
11934 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
11935 if (null != t) {
11936 var e,
11937 n,
11938 i,
11939 u,
11940 a = [],
11941 f = !0,
11942 o = !1;
11943 try {
11944 if (i = (t = t.call(r)).next, 0 === l) {
11945 if (Object(t) !== t) return;
11946 f = !1;
11947 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
11948 } catch (r) {
11949 o = !0, n = r;
11950 } finally {
11951 try {
11952 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
11953 } finally {
11954 if (o) throw n;
11955 }
11956 }
11957 return a;
11958 }
11959 }
11960 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
11961
11962 /***/ }),
11963
11964 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
11965 /*!*****************************************************************!*\
11966 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
11967 \*****************************************************************/
11968 /***/ ((module) => {
11969
11970 function _nonIterableRest() {
11971 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11972 }
11973 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
11974
11975 /***/ }),
11976
11977 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
11978 /*!*******************************************************************!*\
11979 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
11980 \*******************************************************************/
11981 /***/ ((module) => {
11982
11983 function _nonIterableSpread() {
11984 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11985 }
11986 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
11987
11988 /***/ }),
11989
11990 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
11991 /*!*************************************************************************!*\
11992 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
11993 \*************************************************************************/
11994 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11995
11996 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
11997 function _objectWithoutProperties(source, excluded) {
11998 if (source == null) return {};
11999 var target = objectWithoutPropertiesLoose(source, excluded);
12000 var key, i;
12001 if (Object.getOwnPropertySymbols) {
12002 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12003 for (i = 0; i < sourceSymbolKeys.length; i++) {
12004 key = sourceSymbolKeys[i];
12005 if (excluded.indexOf(key) >= 0) continue;
12006 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12007 target[key] = source[key];
12008 }
12009 }
12010 return target;
12011 }
12012 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12013
12014 /***/ }),
12015
12016 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12017 /*!******************************************************************************!*\
12018 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12019 \******************************************************************************/
12020 /***/ ((module) => {
12021
12022 function _objectWithoutPropertiesLoose(source, excluded) {
12023 if (source == null) return {};
12024 var target = {};
12025 var sourceKeys = Object.keys(source);
12026 var key, i;
12027 for (i = 0; i < sourceKeys.length; i++) {
12028 key = sourceKeys[i];
12029 if (excluded.indexOf(key) >= 0) continue;
12030 target[key] = source[key];
12031 }
12032 return target;
12033 }
12034 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12035
12036 /***/ }),
12037
12038 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12039 /*!***************************************************************************!*\
12040 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12041 \***************************************************************************/
12042 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12043
12044 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12045 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12046 function _possibleConstructorReturn(self, call) {
12047 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12048 return call;
12049 } else if (call !== void 0) {
12050 throw new TypeError("Derived constructors may only return object or undefined");
12051 }
12052 return assertThisInitialized(self);
12053 }
12054 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12055
12056 /***/ }),
12057
12058 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12059 /*!********************************************************************!*\
12060 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12061 \********************************************************************/
12062 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12063
12064 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12065 function _regeneratorRuntime() {
12066 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12067 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12068 return e;
12069 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12070 var t,
12071 e = {},
12072 r = Object.prototype,
12073 n = r.hasOwnProperty,
12074 o = Object.defineProperty || function (t, e, r) {
12075 t[e] = r.value;
12076 },
12077 i = "function" == typeof Symbol ? Symbol : {},
12078 a = i.iterator || "@@iterator",
12079 c = i.asyncIterator || "@@asyncIterator",
12080 u = i.toStringTag || "@@toStringTag";
12081 function define(t, e, r) {
12082 return Object.defineProperty(t, e, {
12083 value: r,
12084 enumerable: !0,
12085 configurable: !0,
12086 writable: !0
12087 }), t[e];
12088 }
12089 try {
12090 define({}, "");
12091 } catch (t) {
12092 define = function define(t, e, r) {
12093 return t[e] = r;
12094 };
12095 }
12096 function wrap(t, e, r, n) {
12097 var i = e && e.prototype instanceof Generator ? e : Generator,
12098 a = Object.create(i.prototype),
12099 c = new Context(n || []);
12100 return o(a, "_invoke", {
12101 value: makeInvokeMethod(t, r, c)
12102 }), a;
12103 }
12104 function tryCatch(t, e, r) {
12105 try {
12106 return {
12107 type: "normal",
12108 arg: t.call(e, r)
12109 };
12110 } catch (t) {
12111 return {
12112 type: "throw",
12113 arg: t
12114 };
12115 }
12116 }
12117 e.wrap = wrap;
12118 var h = "suspendedStart",
12119 l = "suspendedYield",
12120 f = "executing",
12121 s = "completed",
12122 y = {};
12123 function Generator() {}
12124 function GeneratorFunction() {}
12125 function GeneratorFunctionPrototype() {}
12126 var p = {};
12127 define(p, a, function () {
12128 return this;
12129 });
12130 var d = Object.getPrototypeOf,
12131 v = d && d(d(values([])));
12132 v && v !== r && n.call(v, a) && (p = v);
12133 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12134 function defineIteratorMethods(t) {
12135 ["next", "throw", "return"].forEach(function (e) {
12136 define(t, e, function (t) {
12137 return this._invoke(e, t);
12138 });
12139 });
12140 }
12141 function AsyncIterator(t, e) {
12142 function invoke(r, o, i, a) {
12143 var c = tryCatch(t[r], t, o);
12144 if ("throw" !== c.type) {
12145 var u = c.arg,
12146 h = u.value;
12147 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12148 invoke("next", t, i, a);
12149 }, function (t) {
12150 invoke("throw", t, i, a);
12151 }) : e.resolve(h).then(function (t) {
12152 u.value = t, i(u);
12153 }, function (t) {
12154 return invoke("throw", t, i, a);
12155 });
12156 }
12157 a(c.arg);
12158 }
12159 var r;
12160 o(this, "_invoke", {
12161 value: function value(t, n) {
12162 function callInvokeWithMethodAndArg() {
12163 return new e(function (e, r) {
12164 invoke(t, n, e, r);
12165 });
12166 }
12167 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12168 }
12169 });
12170 }
12171 function makeInvokeMethod(e, r, n) {
12172 var o = h;
12173 return function (i, a) {
12174 if (o === f) throw new Error("Generator is already running");
12175 if (o === s) {
12176 if ("throw" === i) throw a;
12177 return {
12178 value: t,
12179 done: !0
12180 };
12181 }
12182 for (n.method = i, n.arg = a;;) {
12183 var c = n.delegate;
12184 if (c) {
12185 var u = maybeInvokeDelegate(c, n);
12186 if (u) {
12187 if (u === y) continue;
12188 return u;
12189 }
12190 }
12191 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12192 if (o === h) throw o = s, n.arg;
12193 n.dispatchException(n.arg);
12194 } else "return" === n.method && n.abrupt("return", n.arg);
12195 o = f;
12196 var p = tryCatch(e, r, n);
12197 if ("normal" === p.type) {
12198 if (o = n.done ? s : l, p.arg === y) continue;
12199 return {
12200 value: p.arg,
12201 done: n.done
12202 };
12203 }
12204 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12205 }
12206 };
12207 }
12208 function maybeInvokeDelegate(e, r) {
12209 var n = r.method,
12210 o = e.iterator[n];
12211 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;
12212 var i = tryCatch(o, e.iterator, r.arg);
12213 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12214 var a = i.arg;
12215 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);
12216 }
12217 function pushTryEntry(t) {
12218 var e = {
12219 tryLoc: t[0]
12220 };
12221 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12222 }
12223 function resetTryEntry(t) {
12224 var e = t.completion || {};
12225 e.type = "normal", delete e.arg, t.completion = e;
12226 }
12227 function Context(t) {
12228 this.tryEntries = [{
12229 tryLoc: "root"
12230 }], t.forEach(pushTryEntry, this), this.reset(!0);
12231 }
12232 function values(e) {
12233 if (e || "" === e) {
12234 var r = e[a];
12235 if (r) return r.call(e);
12236 if ("function" == typeof e.next) return e;
12237 if (!isNaN(e.length)) {
12238 var o = -1,
12239 i = function next() {
12240 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12241 return next.value = t, next.done = !0, next;
12242 };
12243 return i.next = i;
12244 }
12245 }
12246 throw new TypeError(_typeof(e) + " is not iterable");
12247 }
12248 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12249 value: GeneratorFunctionPrototype,
12250 configurable: !0
12251 }), o(GeneratorFunctionPrototype, "constructor", {
12252 value: GeneratorFunction,
12253 configurable: !0
12254 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12255 var e = "function" == typeof t && t.constructor;
12256 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12257 }, e.mark = function (t) {
12258 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12259 }, e.awrap = function (t) {
12260 return {
12261 __await: t
12262 };
12263 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12264 return this;
12265 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12266 void 0 === i && (i = Promise);
12267 var a = new AsyncIterator(wrap(t, r, n, o), i);
12268 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12269 return t.done ? t.value : a.next();
12270 });
12271 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12272 return this;
12273 }), define(g, "toString", function () {
12274 return "[object Generator]";
12275 }), e.keys = function (t) {
12276 var e = Object(t),
12277 r = [];
12278 for (var n in e) r.push(n);
12279 return r.reverse(), function next() {
12280 for (; r.length;) {
12281 var t = r.pop();
12282 if (t in e) return next.value = t, next.done = !1, next;
12283 }
12284 return next.done = !0, next;
12285 };
12286 }, e.values = values, Context.prototype = {
12287 constructor: Context,
12288 reset: function reset(e) {
12289 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);
12290 },
12291 stop: function stop() {
12292 this.done = !0;
12293 var t = this.tryEntries[0].completion;
12294 if ("throw" === t.type) throw t.arg;
12295 return this.rval;
12296 },
12297 dispatchException: function dispatchException(e) {
12298 if (this.done) throw e;
12299 var r = this;
12300 function handle(n, o) {
12301 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12302 }
12303 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12304 var i = this.tryEntries[o],
12305 a = i.completion;
12306 if ("root" === i.tryLoc) return handle("end");
12307 if (i.tryLoc <= this.prev) {
12308 var c = n.call(i, "catchLoc"),
12309 u = n.call(i, "finallyLoc");
12310 if (c && u) {
12311 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12312 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12313 } else if (c) {
12314 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12315 } else {
12316 if (!u) throw new Error("try statement without catch or finally");
12317 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12318 }
12319 }
12320 }
12321 },
12322 abrupt: function abrupt(t, e) {
12323 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12324 var o = this.tryEntries[r];
12325 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12326 var i = o;
12327 break;
12328 }
12329 }
12330 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12331 var a = i ? i.completion : {};
12332 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12333 },
12334 complete: function complete(t, e) {
12335 if ("throw" === t.type) throw t.arg;
12336 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;
12337 },
12338 finish: function finish(t) {
12339 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12340 var r = this.tryEntries[e];
12341 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12342 }
12343 },
12344 "catch": function _catch(t) {
12345 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12346 var r = this.tryEntries[e];
12347 if (r.tryLoc === t) {
12348 var n = r.completion;
12349 if ("throw" === n.type) {
12350 var o = n.arg;
12351 resetTryEntry(r);
12352 }
12353 return o;
12354 }
12355 }
12356 throw new Error("illegal catch attempt");
12357 },
12358 delegateYield: function delegateYield(e, r, n) {
12359 return this.delegate = {
12360 iterator: values(e),
12361 resultName: r,
12362 nextLoc: n
12363 }, "next" === this.method && (this.arg = t), y;
12364 }
12365 }, e;
12366 }
12367 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12368
12369 /***/ }),
12370
12371 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12372 /*!****************************************************************!*\
12373 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12374 \****************************************************************/
12375 /***/ ((module) => {
12376
12377 function _setPrototypeOf(o, p) {
12378 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12379 o.__proto__ = p;
12380 return o;
12381 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12382 return _setPrototypeOf(o, p);
12383 }
12384 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12385
12386 /***/ }),
12387
12388 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12389 /*!***************************************************************!*\
12390 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12391 \***************************************************************/
12392 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12393
12394 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12395 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12396 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12397 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12398 function _slicedToArray(arr, i) {
12399 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12400 }
12401 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12402
12403 /***/ }),
12404
12405 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12406 /*!***********************************************************************!*\
12407 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12408 \***********************************************************************/
12409 /***/ ((module) => {
12410
12411 function _taggedTemplateLiteral(strings, raw) {
12412 if (!raw) {
12413 raw = strings.slice(0);
12414 }
12415 return Object.freeze(Object.defineProperties(strings, {
12416 raw: {
12417 value: Object.freeze(raw)
12418 }
12419 }));
12420 }
12421 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12422
12423 /***/ }),
12424
12425 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12426 /*!*******************************************************************!*\
12427 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12428 \*******************************************************************/
12429 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12430
12431 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12432 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12433 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12434 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12435 function _toConsumableArray(arr) {
12436 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12437 }
12438 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12439
12440 /***/ }),
12441
12442 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12443 /*!*************************************************************!*\
12444 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12445 \*************************************************************/
12446 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12447
12448 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12449 function _toPrimitive(input, hint) {
12450 if (_typeof(input) !== "object" || input === null) return input;
12451 var prim = input[Symbol.toPrimitive];
12452 if (prim !== undefined) {
12453 var res = prim.call(input, hint || "default");
12454 if (_typeof(res) !== "object") return res;
12455 throw new TypeError("@@toPrimitive must return a primitive value.");
12456 }
12457 return (hint === "string" ? String : Number)(input);
12458 }
12459 module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12460
12461 /***/ }),
12462
12463 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12464 /*!***************************************************************!*\
12465 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12466 \***************************************************************/
12467 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12468
12469 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12470 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12471 function _toPropertyKey(arg) {
12472 var key = toPrimitive(arg, "string");
12473 return _typeof(key) === "symbol" ? key : String(key);
12474 }
12475 module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12476
12477 /***/ }),
12478
12479 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12480 /*!********************************************************!*\
12481 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12482 \********************************************************/
12483 /***/ ((module) => {
12484
12485 function _typeof(o) {
12486 "@babel/helpers - typeof";
12487
12488 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12489 return typeof o;
12490 } : function (o) {
12491 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12492 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12493 }
12494 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12495
12496 /***/ }),
12497
12498 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12499 /*!****************************************************************************!*\
12500 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12501 \****************************************************************************/
12502 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12503
12504 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12505 function _unsupportedIterableToArray(o, minLen) {
12506 if (!o) return;
12507 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12508 var n = Object.prototype.toString.call(o).slice(8, -1);
12509 if (n === "Object" && o.constructor) n = o.constructor.name;
12510 if (n === "Map" || n === "Set") return Array.from(o);
12511 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12512 }
12513 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12514
12515 /***/ }),
12516
12517 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12518 /*!***********************************************************!*\
12519 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12520 \***********************************************************/
12521 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12522
12523 // TODO(Babel 8): Remove this file.
12524
12525 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12526 module.exports = runtime;
12527
12528 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12529 try {
12530 regeneratorRuntime = runtime;
12531 } catch (accidentalStrictMode) {
12532 if (typeof globalThis === "object") {
12533 globalThis.regeneratorRuntime = runtime;
12534 } else {
12535 Function("r", "regeneratorRuntime = r")(runtime);
12536 }
12537 }
12538
12539
12540 /***/ })
12541
12542 /******/ });
12543 /************************************************************************/
12544 /******/ // The module cache
12545 /******/ var __webpack_module_cache__ = {};
12546 /******/
12547 /******/ // The require function
12548 /******/ function __webpack_require__(moduleId) {
12549 /******/ // Check if module is in cache
12550 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12551 /******/ if (cachedModule !== undefined) {
12552 /******/ return cachedModule.exports;
12553 /******/ }
12554 /******/ // Create a new module (and put it into the cache)
12555 /******/ var module = __webpack_module_cache__[moduleId] = {
12556 /******/ // no module.id needed
12557 /******/ // no module.loaded needed
12558 /******/ exports: {}
12559 /******/ };
12560 /******/
12561 /******/ // Execute the module function
12562 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12563 /******/
12564 /******/ // Return the exports of the module
12565 /******/ return module.exports;
12566 /******/ }
12567 /******/
12568 /************************************************************************/
12569 /******/ /* webpack/runtime/compat get default export */
12570 /******/ (() => {
12571 /******/ // getDefaultExport function for compatibility with non-harmony modules
12572 /******/ __webpack_require__.n = (module) => {
12573 /******/ var getter = module && module.__esModule ?
12574 /******/ () => (module['default']) :
12575 /******/ () => (module);
12576 /******/ __webpack_require__.d(getter, { a: getter });
12577 /******/ return getter;
12578 /******/ };
12579 /******/ })();
12580 /******/
12581 /******/ /* webpack/runtime/define property getters */
12582 /******/ (() => {
12583 /******/ // define getter functions for harmony exports
12584 /******/ __webpack_require__.d = (exports, definition) => {
12585 /******/ for(var key in definition) {
12586 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12587 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12588 /******/ }
12589 /******/ }
12590 /******/ };
12591 /******/ })();
12592 /******/
12593 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12594 /******/ (() => {
12595 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12596 /******/ })();
12597 /******/
12598 /******/ /* webpack/runtime/make namespace object */
12599 /******/ (() => {
12600 /******/ // define __esModule on exports
12601 /******/ __webpack_require__.r = (exports) => {
12602 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12603 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12604 /******/ }
12605 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12606 /******/ };
12607 /******/ })();
12608 /******/
12609 /******/ /* webpack/runtime/nonce */
12610 /******/ (() => {
12611 /******/ __webpack_require__.nc = undefined;
12612 /******/ })();
12613 /******/
12614 /************************************************************************/
12615 var __webpack_exports__ = {};
12616 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12617 (() => {
12618 "use strict";
12619 var exports = __webpack_exports__;
12620 /*!*******************************************************!*\
12621 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12622 \*******************************************************/
12623
12624
12625 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12626 Object.defineProperty(exports, "__esModule", ({
12627 value: true
12628 }));
12629 exports["default"] = exports.AI_ATTACHMENT = void 0;
12630 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12631 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12632 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12633 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12634 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12635 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12636 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12637 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12638 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12639 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12640 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12641 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12642 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12643 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"));
12644 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12645 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); }; }
12646 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; } }
12647 var AI_ATTACHMENT = 'ai-attachment';
12648 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12649 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12650 (0, _inherits2.default)(Module, _elementorModules$edi);
12651 var _super = _createSuper(Module);
12652 function Module() {
12653 var _this;
12654 (0, _classCallCheck2.default)(this, Module);
12655 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12656 args[_key] = arguments[_key];
12657 }
12658 _this = _super.call.apply(_super, [this].concat(args));
12659 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12660 var _ElementorAiConfig, _ElementorAiConfig$us;
12661 var saveGroup = groups.find(function (group) {
12662 return 'save' === group.name;
12663 });
12664 if (!saveGroup) {
12665 return groups;
12666 }
12667 var contextMenu = {
12668 name: 'ai',
12669 icon: 'eicon-ai',
12670 isEnabled: function isEnabled() {
12671 return 0 !== currentElement.getContainer().children.length;
12672 },
12673 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
12674 callback: function () {
12675 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
12676 var container, json, attachments;
12677 return _regenerator.default.wrap(function _callee$(_context) {
12678 while (1) switch (_context.prev = _context.next) {
12679 case 0:
12680 container = currentElement.getContainer();
12681 json = container.model.toJSON({
12682 remove: ['default']
12683 });
12684 attachments = [{
12685 type: 'json',
12686 previewHTML: '',
12687 content: json,
12688 label: container.model.get('title'),
12689 source: _attachments.USER_VARIATION_SOURCE
12690 }];
12691 (0, _editorIntegration.renderLayoutApp)({
12692 parentContainer: container.parent,
12693 mode: _config.MODE_VARIATION,
12694 at: container.view._index,
12695 attachments: attachments,
12696 onSelect: function onSelect() {
12697 container.view.$el.hide();
12698 },
12699 onClose: function onClose() {
12700 container.view.$el.show();
12701 },
12702 onInsert: function onInsert(template) {
12703 (0, _editorIntegration.importToEditor)({
12704 parentContainer: container.parent,
12705 at: container.view._index,
12706 template: template,
12707 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
12708 replace: true
12709 });
12710 }
12711 });
12712 case 4:
12713 case "end":
12714 return _context.stop();
12715 }
12716 }, _callee);
12717 }));
12718 function callback() {
12719 return _callback.apply(this, arguments);
12720 }
12721 return callback;
12722 }()
12723 };
12724 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
12725 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>";
12726 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
12727 }
12728
12729 // Add on top of save group actions
12730 saveGroup.actions.unshift(contextMenu);
12731 return groups;
12732 });
12733 return _this;
12734 }
12735 (0, _createClass2.default)(Module, [{
12736 key: "onElementorInit",
12737 value: function onElementorInit() {
12738 var _this2 = this;
12739 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
12740 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
12741 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
12742 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
12743 $e.commands.register('library', 'generate-ai-variation', function (args) {
12744 return _this2.applyTemplate(args);
12745 });
12746 }
12747 }, {
12748 key: "applyTemplate",
12749 value: function applyTemplate(args) {
12750 window.postMessage({
12751 type: 'library/attach:start'
12752 });
12753 $e.components.get('library').downloadTemplate(args, function (data) {
12754 var model = args.model;
12755 window.postMessage({
12756 type: 'library/attach',
12757 json: data.content[0],
12758 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
12759 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
12760 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
12761 }, window.location.origin);
12762 });
12763 }
12764 }, {
12765 key: "registerLibraryActionButtonBehavior",
12766 value: function registerLibraryActionButtonBehavior(behaviors) {
12767 behaviors.applyAiTemplate = {
12768 behaviorClass: _applyTemplateForAiBehavior.default
12769 };
12770 return behaviors;
12771 }
12772 }, {
12773 key: "registerAiLayoutBehavior",
12774 value: function registerAiLayoutBehavior(behaviors) {
12775 behaviors.ai = {
12776 behaviorClass: _aiLayoutBehavior.default
12777 };
12778 return behaviors;
12779 }
12780 }, {
12781 key: "filterLibraryActionButtonTemplate",
12782 value: function filterLibraryActionButtonTemplate(viewId) {
12783 var modalConfig = $e.components.get('library').manager.modalConfig;
12784 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
12785 if (originalCoreViewId !== viewId) {
12786 return viewId;
12787 }
12788 if ($e.routes.current.library !== 'library/templates/blocks') {
12789 return viewId;
12790 }
12791 if (AI_ATTACHMENT === modalConfig.mode) {
12792 viewId = '#tmpl-elementor-template-library-apply-ai-button';
12793 } else {
12794 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
12795 }
12796 return viewId;
12797 }
12798 }]);
12799 return Module;
12800 }(elementorModules.editor.utils.Module);
12801 exports["default"] = Module;
12802 new Module();
12803 })();
12804
12805 /******/ })()
12806 ;
12807 //# sourceMappingURL=ai-layout.js.map