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

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

13,167 lines 586.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.24.0 - 18-09-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!********************************************************************************!*\
7 !*** ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \********************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 "use strict";
12 __webpack_require__.r(__webpack_exports__);
13 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14 /* harmony export */ "default": () => (/* binding */ isPropValid)
15 /* harmony export */ });
16 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
17
18
19 // eslint-disable-next-line no-undef
20 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
21
22 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
23 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
24 /* o */
25 && prop.charCodeAt(1) === 110
26 /* n */
27 && prop.charCodeAt(2) < 91;
28 }
29 /* Z+1 */
30 );
31
32
33
34
35 /***/ }),
36
37 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
38 /*!********************************************************************!*\
39 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
40 \********************************************************************/
41 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
42
43 "use strict";
44 __webpack_require__.r(__webpack_exports__);
45 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
46 /* harmony export */ "default": () => (/* binding */ memoize)
47 /* harmony export */ });
48 function memoize(fn) {
49 var cache = Object.create(null);
50 return function (arg) {
51 if (cache[arg] === undefined) cache[arg] = fn(arg);
52 return cache[arg];
53 };
54 }
55
56
57
58
59 /***/ }),
60
61 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
62 /*!******************************************************************!*\
63 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
64 \******************************************************************/
65 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
66
67 "use strict";
68 __webpack_require__.r(__webpack_exports__);
69 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
70 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
71 /* harmony export */ });
72 function stylis_min (W) {
73 function M(d, c, e, h, a) {
74 for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
75 g = e.charCodeAt(l);
76 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
77
78 if (0 === b + n + v + m) {
79 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
80 switch (g) {
81 case 32:
82 case 9:
83 case 59:
84 case 13:
85 case 10:
86 break;
87
88 default:
89 f += e.charAt(l);
90 }
91
92 g = 59;
93 }
94
95 switch (g) {
96 case 123:
97 f = f.trim();
98 q = f.charCodeAt(0);
99 k = 1;
100
101 for (t = ++l; l < B;) {
102 switch (g = e.charCodeAt(l)) {
103 case 123:
104 k++;
105 break;
106
107 case 125:
108 k--;
109 break;
110
111 case 47:
112 switch (g = e.charCodeAt(l + 1)) {
113 case 42:
114 case 47:
115 a: {
116 for (u = l + 1; u < J; ++u) {
117 switch (e.charCodeAt(u)) {
118 case 47:
119 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
120 l = u + 1;
121 break a;
122 }
123
124 break;
125
126 case 10:
127 if (47 === g) {
128 l = u + 1;
129 break a;
130 }
131
132 }
133 }
134
135 l = u;
136 }
137
138 }
139
140 break;
141
142 case 91:
143 g++;
144
145 case 40:
146 g++;
147
148 case 34:
149 case 39:
150 for (; l++ < J && e.charCodeAt(l) !== g;) {
151 }
152
153 }
154
155 if (0 === k) break;
156 l++;
157 }
158
159 k = e.substring(t, l);
160 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
161
162 switch (q) {
163 case 64:
164 0 < r && (f = f.replace(N, ''));
165 g = f.charCodeAt(1);
166
167 switch (g) {
168 case 100:
169 case 109:
170 case 115:
171 case 45:
172 r = c;
173 break;
174
175 default:
176 r = O;
177 }
178
179 k = M(c, r, k, g, a + 1);
180 t = k.length;
181 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
182 if (0 < t) switch (g) {
183 case 115:
184 f = f.replace(da, ea);
185
186 case 100:
187 case 109:
188 case 45:
189 k = f + '{' + k + '}';
190 break;
191
192 case 107:
193 f = f.replace(fa, '$1 $2');
194 k = f + '{' + k + '}';
195 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
196 break;
197
198 default:
199 k = f + k, 112 === h && (k = (p += k, ''));
200 } else k = '';
201 break;
202
203 default:
204 k = M(c, X(c, f, I), k, h, a + 1);
205 }
206
207 F += k;
208 k = I = r = u = q = 0;
209 f = '';
210 g = e.charCodeAt(++l);
211 break;
212
213 case 125:
214 case 59:
215 f = (0 < r ? f.replace(N, '') : f).trim();
216 if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
217 case 0:
218 break;
219
220 case 64:
221 if (105 === g || 99 === g) {
222 G += f + e.charAt(l);
223 break;
224 }
225
226 default:
227 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
228 }
229 I = r = u = q = 0;
230 f = '';
231 g = e.charCodeAt(++l);
232 }
233 }
234
235 switch (g) {
236 case 13:
237 case 10:
238 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
239 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
240 z = 1;
241 D++;
242 break;
243
244 case 59:
245 case 125:
246 if (0 === b + n + v + m) {
247 z++;
248 break;
249 }
250
251 default:
252 z++;
253 y = e.charAt(l);
254
255 switch (g) {
256 case 9:
257 case 32:
258 if (0 === n + m + b) switch (x) {
259 case 44:
260 case 58:
261 case 9:
262 case 32:
263 y = '';
264 break;
265
266 default:
267 32 !== g && (y = ' ');
268 }
269 break;
270
271 case 0:
272 y = '\\0';
273 break;
274
275 case 12:
276 y = '\\f';
277 break;
278
279 case 11:
280 y = '\\v';
281 break;
282
283 case 38:
284 0 === n + b + m && (r = I = 1, y = '\f' + y);
285 break;
286
287 case 108:
288 if (0 === n + b + m + E && 0 < u) switch (l - u) {
289 case 2:
290 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
291
292 case 8:
293 111 === K && (E = K);
294 }
295 break;
296
297 case 58:
298 0 === n + b + m && (u = l);
299 break;
300
301 case 44:
302 0 === b + v + n + m && (r = 1, y += '\r');
303 break;
304
305 case 34:
306 case 39:
307 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
308 break;
309
310 case 91:
311 0 === n + b + v && m++;
312 break;
313
314 case 93:
315 0 === n + b + v && m--;
316 break;
317
318 case 41:
319 0 === n + b + m && v--;
320 break;
321
322 case 40:
323 if (0 === n + b + m) {
324 if (0 === q) switch (2 * x + 3 * K) {
325 case 533:
326 break;
327
328 default:
329 q = 1;
330 }
331 v++;
332 }
333
334 break;
335
336 case 64:
337 0 === b + v + n + m + u + k && (k = 1);
338 break;
339
340 case 42:
341 case 47:
342 if (!(0 < n + m + v)) switch (b) {
343 case 0:
344 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
345 case 235:
346 b = 47;
347 break;
348
349 case 220:
350 t = l, b = 42;
351 }
352
353 break;
354
355 case 42:
356 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
357 }
358 }
359
360 0 === b && (f += y);
361 }
362
363 K = x;
364 x = g;
365 l++;
366 }
367
368 t = p.length;
369
370 if (0 < t) {
371 r = c;
372 if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
373 p = r.join(',') + '{' + p + '}';
374
375 if (0 !== w * E) {
376 2 !== w || L(p, 2) || (E = 0);
377
378 switch (E) {
379 case 111:
380 p = p.replace(ha, ':-moz-$1') + p;
381 break;
382
383 case 112:
384 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
385 }
386
387 E = 0;
388 }
389 }
390
391 return G + p + F;
392 }
393
394 function X(d, c, e) {
395 var h = c.trim().split(ia);
396 c = h;
397 var a = h.length,
398 m = d.length;
399
400 switch (m) {
401 case 0:
402 case 1:
403 var b = 0;
404
405 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
406 c[b] = Z(d, c[b], e).trim();
407 }
408
409 break;
410
411 default:
412 var v = b = 0;
413
414 for (c = []; b < a; ++b) {
415 for (var n = 0; n < m; ++n) {
416 c[v++] = Z(d[n] + ' ', h[b], e).trim();
417 }
418 }
419
420 }
421
422 return c;
423 }
424
425 function Z(d, c, e) {
426 var h = c.charCodeAt(0);
427 33 > h && (h = (c = c.trim()).charCodeAt(0));
428
429 switch (h) {
430 case 38:
431 return c.replace(F, '$1' + d.trim());
432
433 case 58:
434 return d.trim() + c.replace(F, '$1' + d.trim());
435
436 default:
437 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
438 }
439
440 return d + c;
441 }
442
443 function P(d, c, e, h) {
444 var a = d + ';',
445 m = 2 * c + 3 * e + 4 * h;
446
447 if (944 === m) {
448 d = a.indexOf(':', 9) + 1;
449 var b = a.substring(d, a.length - 1).trim();
450 b = a.substring(0, d).trim() + b + ';';
451 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
452 }
453
454 if (0 === w || 2 === w && !L(a, 1)) return a;
455
456 switch (m) {
457 case 1015:
458 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
459
460 case 951:
461 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
462
463 case 963:
464 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
465
466 case 1009:
467 if (100 !== a.charCodeAt(4)) break;
468
469 case 969:
470 case 942:
471 return '-webkit-' + a + a;
472
473 case 978:
474 return '-webkit-' + a + '-moz-' + a + a;
475
476 case 1019:
477 case 983:
478 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
479
480 case 883:
481 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
482 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
483 break;
484
485 case 932:
486 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
487 case 103:
488 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
489
490 case 115:
491 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
492
493 case 98:
494 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
495 }
496 return '-webkit-' + a + '-ms-' + a + a;
497
498 case 964:
499 return '-webkit-' + a + '-ms-flex-' + a + a;
500
501 case 1023:
502 if (99 !== a.charCodeAt(8)) break;
503 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
504 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
505
506 case 1005:
507 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
508
509 case 1e3:
510 b = a.substring(13).trim();
511 c = b.indexOf('-') + 1;
512
513 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
514 case 226:
515 b = a.replace(G, 'tb');
516 break;
517
518 case 232:
519 b = a.replace(G, 'tb-rl');
520 break;
521
522 case 220:
523 b = a.replace(G, 'lr');
524 break;
525
526 default:
527 return a;
528 }
529
530 return '-webkit-' + a + '-ms-' + b + a;
531
532 case 1017:
533 if (-1 === a.indexOf('sticky', 9)) break;
534
535 case 975:
536 c = (a = d).length - 10;
537 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
538
539 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
540 case 203:
541 if (111 > b.charCodeAt(8)) break;
542
543 case 115:
544 a = a.replace(b, '-webkit-' + b) + ';' + a;
545 break;
546
547 case 207:
548 case 102:
549 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
550 }
551
552 return a + ';';
553
554 case 938:
555 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
556 case 105:
557 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
558
559 case 115:
560 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
561
562 default:
563 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
564 }
565 break;
566
567 case 973:
568 case 989:
569 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
570
571 case 931:
572 case 953:
573 if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
574 break;
575
576 case 962:
577 if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
578 }
579
580 return a;
581 }
582
583 function L(d, c) {
584 var e = d.indexOf(1 === c ? ':' : '{'),
585 h = d.substring(0, 3 !== c ? e : 10);
586 e = d.substring(e + 1, d.length - 1);
587 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
588 }
589
590 function ea(d, c) {
591 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
592 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
593 }
594
595 function H(d, c, e, h, a, m, b, v, n, q) {
596 for (var g = 0, x = c, w; g < A; ++g) {
597 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
598 case void 0:
599 case !1:
600 case !0:
601 case null:
602 break;
603
604 default:
605 x = w;
606 }
607 }
608
609 if (x !== c) return x;
610 }
611
612 function T(d) {
613 switch (d) {
614 case void 0:
615 case null:
616 A = S.length = 0;
617 break;
618
619 default:
620 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
621 T(d[c]);
622 } else Y = !!d | 0;
623 }
624
625 return T;
626 }
627
628 function U(d) {
629 d = d.prefix;
630 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
631 return U;
632 }
633
634 function B(d, c) {
635 var e = d;
636 33 > e.charCodeAt(0) && (e = e.trim());
637 V = e;
638 e = [V];
639
640 if (0 < A) {
641 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
642 void 0 !== h && 'string' === typeof h && (c = h);
643 }
644
645 var a = M(O, e, c, 0, 0);
646 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
647 V = '';
648 E = 0;
649 z = D = 1;
650 return a;
651 }
652
653 var ca = /^\0+/g,
654 N = /[\0\r\f]/g,
655 aa = /: */g,
656 ka = /zoo|gra/,
657 ma = /([,: ])(transform)/g,
658 ia = /,\r+?/g,
659 F = /([\t\r\n ])*\f?&/g,
660 fa = /@(k\w+)\s*(\S*)\s*/,
661 Q = /::(place)/g,
662 ha = /:(read-only)/g,
663 G = /[svh]\w+-[tblr]{2}/,
664 da = /\(\s*(.*)\s*\)/g,
665 oa = /([\s\S]*?);/g,
666 ba = /-self|flex-/g,
667 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
668 la = /stretch|:\s*\w+\-(?:conte|avail)/,
669 ja = /([^-])(image-set\()/,
670 z = 1,
671 D = 1,
672 E = 0,
673 w = 1,
674 O = [],
675 S = [],
676 A = 0,
677 R = null,
678 Y = 0,
679 V = '';
680 B.use = T;
681 B.set = U;
682 void 0 !== W && U(W);
683 return B;
684 }
685
686 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
687
688
689 /***/ }),
690
691 /***/ "../assets/dev/js/utils/react.js":
692 /*!***************************************!*\
693 !*** ../assets/dev/js/utils/react.js ***!
694 \***************************************/
695 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
696
697 "use strict";
698
699
700 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
701 Object.defineProperty(exports, "__esModule", ({
702 value: true
703 }));
704 exports["default"] = void 0;
705 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
706 var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom"));
707 var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
708 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
709 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
710 /**
711 * Support conditional rendering of a React App to the DOM, based on the React version.
712 * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
713 *
714 * @param { React.ReactElement } app The app to render.
715 * @param { HTMLElement } domElement The DOM element to render the app into.
716 *
717 * @return {{ unmount: () => void }} The unmount function.
718 */
719 function render(app, domElement) {
720 var unmountFunction;
721 try {
722 var root = (0, _client.createRoot)(domElement);
723 root.render(app);
724 unmountFunction = function unmountFunction() {
725 root.unmount();
726 };
727 } catch (e) {
728 // eslint-disable-next-line react/no-deprecated
729 ReactDOM.render(app, domElement);
730 unmountFunction = function unmountFunction() {
731 // eslint-disable-next-line react/no-deprecated
732 ReactDOM.unmountComponentAtNode(domElement);
733 };
734 }
735 return {
736 unmount: unmountFunction
737 };
738 }
739 var _default = {
740 render: render
741 };
742 exports["default"] = _default;
743
744 /***/ }),
745
746 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
747 /*!************************************************************!*\
748 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
749 \************************************************************/
750 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
751
752 "use strict";
753
754
755 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
756 Object.defineProperty(exports, "__esModule", ({
757 value: true
758 }));
759 exports["default"] = void 0;
760 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
761 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
762 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
763 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
764 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
765 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
766 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
767 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
768 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
769 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
770 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
771 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
772 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
773 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
774 var _super = _createSuper(AiLayoutBehavior);
775 function AiLayoutBehavior() {
776 var _this;
777 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
778 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
779 args[_key] = arguments[_key];
780 }
781 _this = _super.call.apply(_super, [this].concat(args));
782 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
783 return _this;
784 }
785 (0, _createClass2.default)(AiLayoutBehavior, [{
786 key: "ui",
787 value: function ui() {
788 return {
789 aiButton: '.e-ai-layout-button',
790 addTemplateButton: '.elementor-add-template-button'
791 };
792 }
793 }, {
794 key: "events",
795 value: function events() {
796 return {
797 'click @ui.aiButton': 'onAiButtonClick'
798 };
799 }
800 }, {
801 key: "onAiButtonClick",
802 value: function onAiButtonClick(e) {
803 e.stopPropagation();
804 window.elementorAiCurrentContext = this.getOption('context');
805 (0, _editorIntegration.renderLayoutApp)({
806 parentContainer: elementor.getPreviewContainer(),
807 mode: _config.MODE_LAYOUT,
808 at: this.view.getOption('at'),
809 onInsert: this.onInsert.bind(this),
810 onRenderApp: function onRenderApp(args) {
811 args.previewContainer.init();
812 },
813 onGenerate: function onGenerate(args) {
814 args.previewContainer.reset();
815 }
816 });
817 }
818 }, {
819 key: "hideDropArea",
820 value: function hideDropArea() {
821 this.view.onCloseButtonClick();
822 }
823 }, {
824 key: "onInsert",
825 value: function onInsert(template) {
826 this.hideDropArea();
827 (0, _editorIntegration.importToEditor)({
828 parentContainer: elementor.getPreviewContainer(),
829 at: this.view.getOption('at'),
830 template: template,
831 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
832 });
833 }
834 }, {
835 key: "onRender",
836 value: function onRender() {
837 var $button = jQuery('<div>', {
838 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
839 title: (0, _i18n.__)('Build with AI', 'elementor'),
840 role: 'button'
841 });
842 $button.html("\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<i class=\"eicon-ai\"></i>\n\t\t");
843 this.ui.addTemplateButton.after($button);
844 }
845 }]);
846 return AiLayoutBehavior;
847 }(Marionette.Behavior);
848 exports["default"] = AiLayoutBehavior;
849
850 /***/ }),
851
852 /***/ "../modules/ai/assets/js/editor/api/index.js":
853 /*!***************************************************!*\
854 !*** ../modules/ai/assets/js/editor/api/index.js ***!
855 \***************************************************/
856 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
857
858 "use strict";
859
860
861 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
862 Object.defineProperty(exports, "__esModule", ({
863 value: true
864 }));
865 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteFrontendConfig = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageMaskCleanup = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getFeaturedImage = exports.getExcerpt = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
866 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
867 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
868 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
869 var request = function request(endpoint) {
870 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
871 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
872 var signal = arguments.length > 3 ? arguments[3] : undefined;
873 if (Object.keys(data).length) {
874 if (window.elementorAiCurrentContext) {
875 data.context = window.elementorAiCurrentContext;
876 } else {
877 data.context = window.elementorWpAiCurrentContext;
878 }
879 }
880 return new Promise(function (resolve, reject) {
881 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
882 success: resolve,
883 error: reject,
884 data: data
885 }, immediately);
886 if (signal && ajaxData.jqXhr) {
887 signal.addEventListener('abort', ajaxData.jqXhr.abort);
888 }
889 });
890 };
891 var getUserInformation = function getUserInformation(immediately) {
892 return request('ai_get_user_information', undefined, immediately);
893 };
894 exports.getUserInformation = getUserInformation;
895 var getRemoteConfig = function getRemoteConfig() {
896 return request('ai_get_remote_config');
897 };
898 exports.getRemoteConfig = getRemoteConfig;
899 var getRemoteFrontendConfig = function getRemoteFrontendConfig(payload, immediately) {
900 return request('ai_get_remote_frontend_config', {
901 payload: payload
902 }, immediately);
903 };
904 exports.getRemoteFrontendConfig = getRemoteFrontendConfig;
905 var getCompletionText = function getCompletionText(payload) {
906 return request('ai_get_completion_text', {
907 payload: payload
908 });
909 };
910 exports.getCompletionText = getCompletionText;
911 var getExcerpt = function getExcerpt(payload) {
912 return request('ai_get_excerpt', {
913 payload: payload
914 });
915 };
916 exports.getExcerpt = getExcerpt;
917 var getFeaturedImage = function getFeaturedImage(payload) {
918 return request('ai_get_featured_image', {
919 payload: payload
920 });
921 };
922 exports.getFeaturedImage = getFeaturedImage;
923 var getEditText = function getEditText(payload) {
924 return request('ai_get_edit_text', {
925 payload: payload
926 });
927 };
928 exports.getEditText = getEditText;
929 var getCustomCode = function getCustomCode(payload) {
930 return request('ai_get_custom_code', {
931 payload: payload
932 });
933 };
934 exports.getCustomCode = getCustomCode;
935 var getCustomCSS = function getCustomCSS(payload) {
936 return request('ai_get_custom_css', {
937 payload: payload
938 });
939 };
940 exports.getCustomCSS = getCustomCSS;
941 var setGetStarted = function setGetStarted() {
942 return request('ai_set_get_started');
943 };
944 exports.setGetStarted = setGetStarted;
945 var setStatusFeedback = function setStatusFeedback(responseId) {
946 return request('ai_set_status_feedback', {
947 response_id: responseId
948 });
949 };
950 exports.setStatusFeedback = setStatusFeedback;
951 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
952 return request('ai_get_text_to_image', {
953 payload: payload
954 });
955 };
956 exports.getTextToImageGeneration = getTextToImageGeneration;
957 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
958 return request('ai_get_image_to_image', {
959 payload: payload
960 });
961 };
962 exports.getImageToImageGeneration = getImageToImageGeneration;
963 var getImageToImageMaskCleanup = function getImageToImageMaskCleanup(payload) {
964 return request('ai_get_image_to_image_mask_cleanup', {
965 payload: payload
966 });
967 };
968 exports.getImageToImageMaskCleanup = getImageToImageMaskCleanup;
969 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
970 return request('ai_get_image_to_image_mask', {
971 payload: payload
972 });
973 };
974 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
975 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
976 return request('ai_get_image_to_image_outpainting', {
977 payload: payload
978 });
979 };
980 exports.getImageToImageOutPainting = getImageToImageOutPainting;
981 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
982 return request('ai_get_image_to_image_upscale', {
983 payload: payload
984 });
985 };
986 exports.getImageToImageUpscale = getImageToImageUpscale;
987 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
988 return request('ai_get_image_to_image_remove_background', {
989 payload: payload
990 });
991 };
992 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
993 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
994 return request('ai_get_image_to_image_replace_background', {
995 payload: payload
996 });
997 };
998 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
999 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
1000 return request('ai_get_image_to_image_remove_text', {
1001 image: image
1002 });
1003 };
1004 exports.getImageToImageRemoveText = getImageToImageRemoveText;
1005 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
1006 return request('ai_get_image_prompt_enhancer', {
1007 prompt: prompt
1008 });
1009 };
1010 exports.getImagePromptEnhanced = getImagePromptEnhanced;
1011 var uploadImage = function uploadImage(image) {
1012 return request('ai_upload_image', _objectSpread({}, image));
1013 };
1014
1015 /**
1016 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
1017 * @typedef {Object} requestBody
1018 * @property {string} prompt - Prompt to generate the layout from.
1019 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
1020 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
1021 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
1022 */
1023
1024 /**
1025 * @param {requestBody} requestBody
1026 * @param {AbortSignal} [signal]
1027 */
1028 exports.uploadImage = uploadImage;
1029 var generateLayout = function generateLayout(requestBody, signal) {
1030 return request('ai_generate_layout', requestBody, true, signal);
1031 };
1032 exports.generateLayout = generateLayout;
1033 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
1034 return request('ai_get_layout_prompt_enhancer', {
1035 prompt: prompt,
1036 enhance_type: enhanceType
1037 });
1038 };
1039 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
1040 var getHistory = function getHistory(type, page, limit) {
1041 return request('ai_get_history', {
1042 type: type,
1043 page: page,
1044 limit: limit
1045 });
1046 };
1047 exports.getHistory = getHistory;
1048 var deleteHistoryItem = function deleteHistoryItem(id) {
1049 return request('ai_delete_history_item', {
1050 id: id
1051 });
1052 };
1053 exports.deleteHistoryItem = deleteHistoryItem;
1054 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
1055 return request('ai_toggle_favorite_history_item', {
1056 id: id
1057 });
1058 };
1059 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
1060
1061 /***/ }),
1062
1063 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
1064 /*!*****************************************************************!*\
1065 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
1066 \*****************************************************************/
1067 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1068
1069 "use strict";
1070
1071
1072 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1073 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1074 Object.defineProperty(exports, "__esModule", ({
1075 value: true
1076 }));
1077 exports.AlertDialog = void 0;
1078 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1079 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1080 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1081 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1082 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1083 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1084 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1085 var AlertDialog = function AlertDialog(props) {
1086 var _useState = (0, _react.useState)(true),
1087 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1088 isShown = _useState2[0],
1089 setIsShown = _useState2[1];
1090 if (!isShown) {
1091 return null;
1092 }
1093 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1094 open: true,
1095 maxWidth: "lg"
1096 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1097 sx: {
1098 padding: 0
1099 }
1100 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1101 sx: {
1102 textAlign: 'center',
1103 padding: 3
1104 }
1105 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1106 alignItems: "center",
1107 spacing: 2,
1108 marginBottom: 2
1109 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1110 variant: "contained",
1111 type: "button",
1112 color: "primary",
1113 onClick: function onClick() {
1114 var _props$onClose;
1115 setIsShown(false);
1116 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1117 }
1118 }, (0, _i18n.__)('Close', 'elementor')))));
1119 };
1120 exports.AlertDialog = AlertDialog;
1121 AlertDialog.propTypes = {
1122 message: _propTypes.default.string.isRequired,
1123 onClose: _propTypes.default.func
1124 };
1125
1126 /***/ }),
1127
1128 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1129 /*!******************************************************************!*\
1130 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1131 \******************************************************************/
1132 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1133
1134 "use strict";
1135
1136
1137 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1138 Object.defineProperty(exports, "__esModule", ({
1139 value: true
1140 }));
1141 exports["default"] = void 0;
1142 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1143 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1144 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1145 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1146 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1147 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1148 var ElementorLogo = function ElementorLogo(props) {
1149 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1150 viewBox: "0 0 32 32"
1151 }, props), /*#__PURE__*/_react.default.createElement("path", {
1152 fillRule: "evenodd",
1153 clipRule: "evenodd",
1154 d: "M2.69648 24.8891C0.938383 22.2579 0 19.1645 0 16C0 11.7566 1.68571 7.68687 4.68629 4.68629C7.68687 1.68571 11.7566 0 16 0C19.1645 0 22.2579 0.938383 24.8891 2.69648C27.5203 4.45459 29.5711 6.95344 30.7821 9.87706C31.9931 12.8007 32.3099 16.0177 31.6926 19.1214C31.0752 22.2251 29.5514 25.0761 27.3137 27.3137C25.0761 29.5514 22.2251 31.0752 19.1214 31.6926C16.0177 32.3099 12.8007 31.9931 9.87706 30.7821C6.95344 29.5711 4.45459 27.5203 2.69648 24.8891ZM12.0006 9.33281H9.33437V22.6665H12.0006V9.33281ZM22.6657 9.33281H14.6669V11.9991H22.6657V9.33281ZM22.6657 14.6654H14.6669V17.3316H22.6657V14.6654ZM22.6657 20.0003H14.6669V22.6665H22.6657V20.0003Z"
1155 }));
1156 };
1157 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1158 var theme = _ref.theme;
1159 return {
1160 width: theme.spacing(3),
1161 height: theme.spacing(3),
1162 '& path': {
1163 fill: theme.palette.text.primary
1164 }
1165 };
1166 });
1167 var DialogHeader = function DialogHeader(props) {
1168 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1169 sx: {
1170 fontWeight: 'normal'
1171 },
1172 color: "transparent",
1173 position: "relative"
1174 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1175 variant: "dense"
1176 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1177 sx: {
1178 mr: 1
1179 }
1180 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1181 component: "span",
1182 variant: "subtitle2",
1183 sx: {
1184 fontWeight: 'bold',
1185 textTransform: 'uppercase'
1186 }
1187 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1188 label: (0, _i18n.__)('Beta', 'elementor'),
1189 color: "default",
1190 size: "small",
1191 sx: {
1192 ml: 1
1193 }
1194 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1195 direction: "row",
1196 spacing: 1,
1197 alignItems: "center",
1198 sx: {
1199 ml: 'auto'
1200 }
1201 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1202 size: "small",
1203 "aria-label": "close",
1204 onClick: props.onClose,
1205 sx: {
1206 '&.MuiButtonBase-root': {
1207 mr: -1
1208 }
1209 }
1210 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1211 };
1212 DialogHeader.propTypes = {
1213 onClose: _propTypes.default.func.isRequired,
1214 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1215 };
1216 var _default = DialogHeader;
1217 exports["default"] = _default;
1218
1219 /***/ }),
1220
1221 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1222 /*!***********************************************************!*\
1223 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1224 \***********************************************************/
1225 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1226
1227 "use strict";
1228
1229
1230 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1231 Object.defineProperty(exports, "__esModule", ({
1232 value: true
1233 }));
1234 exports["default"] = void 0;
1235 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1236 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1237 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1238 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1239 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1240 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1241 var _excluded = ["sx", "BoxProps"];
1242 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1243 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1244 var Loader = function Loader(_ref) {
1245 var _ref$sx = _ref.sx,
1246 sx = _ref$sx === void 0 ? {} : _ref$sx,
1247 _ref$BoxProps = _ref.BoxProps,
1248 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1249 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1250 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1251 width: "100%",
1252 display: "flex",
1253 alignItems: "center"
1254 }, BoxProps, {
1255 sx: _objectSpread({
1256 px: 1.5,
1257 minHeight: function minHeight(theme) {
1258 return theme.spacing(5);
1259 }
1260 }, BoxProps.sx || {})
1261 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1262 color: "secondary"
1263 }, props, {
1264 sx: _objectSpread({
1265 width: '100%'
1266 }, sx)
1267 })));
1268 };
1269 Loader.propTypes = {
1270 sx: _propTypes.default.object,
1271 BoxProps: _propTypes.default.object
1272 };
1273 var _default = Loader;
1274 exports["default"] = _default;
1275
1276 /***/ }),
1277
1278 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1279 /*!******************************************************************!*\
1280 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1281 \******************************************************************/
1282 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1283
1284 "use strict";
1285
1286
1287 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1288 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1289 Object.defineProperty(exports, "__esModule", ({
1290 value: true
1291 }));
1292 exports["default"] = void 0;
1293 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1294 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1295 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1296 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1297 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1298 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1299 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1300 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1301 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1302 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1303 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1304 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1305 var DraggablePaper = function DraggablePaper(props) {
1306 var _useState = (0, _react.useState)({
1307 x: 0,
1308 y: 0
1309 }),
1310 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1311 position = _useState2[0],
1312 setPosition = _useState2[1];
1313 var paperRef = (0, _react.useRef)(null);
1314 var timeout = (0, _react.useRef)(null);
1315 var onDrag = function onDrag(_e, _ref) {
1316 var x = _ref.x,
1317 y = _ref.y;
1318 return setPosition({
1319 x: x,
1320 y: y
1321 });
1322 };
1323 var handlePositionBoundaries = function handlePositionBoundaries() {
1324 clearTimeout(timeout.current);
1325
1326 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1327 timeout.current = setTimeout(function () {
1328 var _paperRef$current;
1329 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1330 if (dialogTop < 0) {
1331 setPosition(function (prev) {
1332 return _objectSpread(_objectSpread({}, prev), {}, {
1333 y: prev.y - dialogTop
1334 });
1335 });
1336 }
1337 }, 50);
1338 };
1339 (0, _react.useEffect)(function () {
1340 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1341 resizeObserver.observe(paperRef.current);
1342 return function () {
1343 resizeObserver.disconnect();
1344 };
1345 }, []);
1346 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1347 position: position,
1348 onDrag: onDrag,
1349 handle: ".MuiAppBar-root",
1350 cancel: '[class*="MuiDialogContent-root"]',
1351 bounds: "parent"
1352 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1353 ref: paperRef
1354 })));
1355 };
1356 var PromptDialog = function PromptDialog(props) {
1357 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1358 scroll: "paper",
1359 open: true,
1360 fullWidth: true,
1361 hideBackdrop: true,
1362 PaperComponent: DraggablePaper,
1363 disableScrollLock: true,
1364 sx: {
1365 '& .MuiDialog-container': {
1366 alignItems: 'flex-start',
1367 mt: '18vh'
1368 }
1369 },
1370 PaperProps: {
1371 sx: {
1372 m: 0,
1373 maxHeight: '76vh'
1374 }
1375 }
1376 }, props), props.children);
1377 };
1378 PromptDialog.propTypes = {
1379 onClose: _propTypes.default.func.isRequired,
1380 children: _propTypes.default.node,
1381 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1382 };
1383 PromptDialog.Header = _dialogHeader.default;
1384 PromptDialog.Content = _ui.DialogContent;
1385 var _default = PromptDialog;
1386 exports["default"] = _default;
1387
1388 /***/ }),
1389
1390 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1391 /*!*************************************************************************!*\
1392 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1393 \*************************************************************************/
1394 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1395
1396 "use strict";
1397 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1398
1399
1400 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1401 Object.defineProperty(exports, "__esModule", ({
1402 value: true
1403 }));
1404 exports["default"] = void 0;
1405 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1406 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1407 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1408 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1409 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1410 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1411 var _excluded = ["error", "onRetry", "actionPosition"];
1412 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1413 var error = _ref.error,
1414 _ref$onRetry = _ref.onRetry,
1415 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1416 _ref$actionPosition = _ref.actionPosition,
1417 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1418 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1419 function getQuotaReachedTrailMessage(featureName) {
1420 if (!featureName) {
1421 return {
1422 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1423 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1424 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1425 buttonAction: function buttonAction() {
1426 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1427 }
1428 };
1429 }
1430 return {
1431 // Translators: %s is the feature name.
1432 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1433 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1434 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1435 buttonAction: function buttonAction() {
1436 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1437 }
1438 };
1439 }
1440 function getErrorMessage() {
1441 var _error$extra_data;
1442 var errMsg = error.message || error;
1443 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1444 var messages = {
1445 default: {
1446 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1447 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1448 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1449 buttonAction: onRetry
1450 },
1451 service_outage_internal: {
1452 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1453 description: (0, _i18n.__)('Wait a moment and give it another go.', 'elementor'),
1454 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1455 buttonAction: onRetry
1456 },
1457 invalid_connect_data: {
1458 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1459 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1460 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1461 target: "_blank",
1462 rel: "noreferrer"
1463 }, (0, _i18n.__)('Show me how', 'elementor'))),
1464 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1465 buttonAction: function buttonAction() {
1466 return window.open(window.ElementorAiConfig.connect_url);
1467 }
1468 },
1469 not_connected: {
1470 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1471 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1472 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1473 buttonAction: function buttonAction() {
1474 return window.open(window.ElementorAiConfig.connect_url);
1475 }
1476 },
1477 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1478 quota_reached_subscription: {
1479 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Looks like you\'re out of credits.', 'elementor')),
1480 description: (0, _i18n.__)('Ready to take it to the next level?', 'elementor'),
1481 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1482 buttonAction: function buttonAction() {
1483 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1484 }
1485 },
1486 rate_limit_network: {
1487 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1488 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1489 },
1490 invalid_prompts: {
1491 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1492 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1493 },
1494 service_unavailable: {
1495 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1496 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1497 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1498 buttonAction: onRetry
1499 },
1500 request_timeout_error: {
1501 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1502 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1503 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1504 buttonAction: onRetry
1505 },
1506 invalid_token: {
1507 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Try again', 'elementor')),
1508 description: (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'),
1509 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1510 buttonAction: onRetry
1511 },
1512 file_too_large: {
1513 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('The file is too large.', 'elementor')),
1514 description: (0, _i18n.__)('Please upload a file that is less than 4MB.', 'elementor')
1515 }
1516 };
1517 return messages[errMsg] || messages.default;
1518 }
1519 var message = getErrorMessage();
1520 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1521 color: "inherit",
1522 size: "small",
1523 variant: "outlined",
1524 onClick: message.buttonAction
1525 }, message.buttonText);
1526 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1527 severity: message.severity || 'error',
1528 action: 'default' === actionPosition && action
1529 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1530 sx: {
1531 mt: 1
1532 }
1533 }, action));
1534 };
1535 PromptErrorMessage.propTypes = {
1536 error: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
1537 onRetry: _propTypes.default.func,
1538 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1539 };
1540 var _default = PromptErrorMessage;
1541 exports["default"] = _default;
1542
1543 /***/ }),
1544
1545 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1546 /*!************************************************************************!*\
1547 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1548 \************************************************************************/
1549 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1550
1551 "use strict";
1552
1553
1554 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1555 Object.defineProperty(exports, "__esModule", ({
1556 value: true
1557 }));
1558 exports["default"] = void 0;
1559 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1560 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1561 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1562 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1563 var PromptLibraryLink = function PromptLibraryLink(props) {
1564 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1565 variant: "body2",
1566 color: "text.secondary"
1567 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1568 href: props.libraryLink,
1569 className: "elementor-clickable",
1570 target: "_blank"
1571 }, (0, _i18n.__)('prompt library')));
1572 };
1573 PromptLibraryLink.propTypes = {
1574 libraryLink: _propTypes.default.string
1575 };
1576 var _default = PromptLibraryLink;
1577 exports["default"] = _default;
1578
1579 /***/ }),
1580
1581 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1582 /*!*****************************************************************!*\
1583 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1584 \*****************************************************************/
1585 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1586
1587 "use strict";
1588
1589
1590 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1591 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1592 Object.defineProperty(exports, "__esModule", ({
1593 value: true
1594 }));
1595 exports["default"] = void 0;
1596 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1597 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1598 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1599 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1600 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1601 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1602 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1603 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1604 var popoverId = 'e-ai-upgrade-popover';
1605 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1606 var theme = _ref.theme;
1607 return {
1608 position: 'relative',
1609 '[data-popper-placement="top"] &': {
1610 marginBottom: theme.spacing(2.5)
1611 },
1612 '[data-popper-placement="bottom"] &': {
1613 marginTop: theme.spacing(2.5)
1614 },
1615 padding: theme.spacing(3),
1616 boxShadow: theme.shadows[4],
1617 zIndex: '9999'
1618 };
1619 });
1620 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1621 var theme = _ref2.theme;
1622 return {
1623 width: theme.spacing(5),
1624 height: theme.spacing(2.5),
1625 position: 'absolute',
1626 overflow: 'hidden',
1627 // Override Popper inline styles.
1628 left: '50% !important',
1629 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1630 '[data-popper-placement="top"] &': {
1631 top: '100%'
1632 },
1633 '[data-popper-placement="bottom"] &': {
1634 '--rotate': '180deg',
1635 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1636 },
1637 '&::after': {
1638 backgroundColor: theme.palette.background.paper,
1639 content: '""',
1640 display: 'block',
1641 position: 'absolute',
1642 width: theme.spacing(2.5),
1643 height: theme.spacing(2.5),
1644 top: 0,
1645 left: '50%',
1646 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1647 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1648 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1649 }
1650 };
1651 });
1652 var upgradeBullets = [(0, _i18n.__)('Get spot-on suggestions from AI Copilot and AI Context with appropriate designs, layouts, and content for your business.', 'elementor'), (0, _i18n.__)('Generate professional texts about any topic, in any tone.', 'elementor'), (0, _i18n.__)('Effortlessly create or enhance stunning images and bring your ideas to life.', 'elementor'), (0, _i18n.__)('Unleash infinite possibilities with the custom code generator.', 'elementor'), (0, _i18n.__)('Access 30-days of AI History with the AI Starter plan and 90-days with the Power plan.', 'elementor')];
1653 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1654 return {
1655 '& .MuiChip-label': {
1656 lineHeight: 1.5
1657 },
1658 '& .MuiSvgIcon-root.MuiChip-icon': {
1659 fontSize: '1.25rem'
1660 }
1661 };
1662 });
1663 var UpgradeChip = function UpgradeChip(_ref3) {
1664 var _ref3$hasSubscription = _ref3.hasSubscription,
1665 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1666 _ref3$usagePercentage = _ref3.usagePercentage,
1667 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1668 var _useState = (0, _react.useState)(false),
1669 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1670 isPopoverOpen = _useState2[0],
1671 setIsPopoverOpen = _useState2[1];
1672 var anchorEl = (0, _react.useRef)(null);
1673 var arrowEl = (0, _react.useRef)(null);
1674 var showPopover = function showPopover() {
1675 return setIsPopoverOpen(true);
1676 };
1677 var hidePopover = function hidePopover() {
1678 return setIsPopoverOpen(false);
1679 };
1680 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1681 if (hasSubscription) {
1682 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1683 }
1684 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1685 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1686 component: "span",
1687 "aria-owns": isPopoverOpen ? popoverId : undefined,
1688 "aria-haspopup": "true",
1689 onMouseEnter: showPopover,
1690 onMouseLeave: hidePopover,
1691 ref: anchorEl,
1692 display: "flex",
1693 alignItems: "center"
1694 }, /*#__PURE__*/_react.default.createElement(Chip, {
1695 color: "promotion",
1696 label: (0, _i18n.__)('Upgrade', 'elementor'),
1697 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1698 size: "small"
1699 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1700 open: isPopoverOpen,
1701 anchorEl: anchorEl.current,
1702 sx: {
1703 zIndex: '170001',
1704 maxWidth: 300
1705 },
1706 modifiers: [{
1707 name: 'arrow',
1708 enabled: true,
1709 options: {
1710 element: arrowEl.current
1711 }
1712 }]
1713 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1714 ref: arrowEl
1715 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1716 variant: "h5",
1717 color: "text.primary"
1718 }, (0, _i18n.__)('Unlimited access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1719 sx: {
1720 mb: 1
1721 }
1722 }, upgradeBullets.map(function (bullet, index) {
1723 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1724 key: index,
1725 disableGutters: true,
1726 sx: {
1727 alignItems: 'flex-start'
1728 }
1729 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1730 sx: {
1731 m: 0
1732 }
1733 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1734 variant: "body2"
1735 }, bullet)));
1736 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1737 variant: "contained",
1738 color: "promotion",
1739 size: "small",
1740 href: actionUrl,
1741 target: "_blank",
1742 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1743 sx: {
1744 '&:hover': {
1745 color: 'promotion.contrastText'
1746 }
1747 }
1748 }, actionLabel))));
1749 };
1750 var _default = UpgradeChip;
1751 exports["default"] = _default;
1752 UpgradeChip.propTypes = {
1753 hasSubscription: _propTypes.default.bool,
1754 usagePercentage: _propTypes.default.number
1755 };
1756
1757 /***/ }),
1758
1759 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
1760 /*!**************************************************************************!*\
1761 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
1762 \**************************************************************************/
1763 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1764
1765 "use strict";
1766
1767
1768 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1769 Object.defineProperty(exports, "__esModule", ({
1770 value: true
1771 }));
1772 exports["default"] = exports.VoicePromotionAlert = void 0;
1773 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1774 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1775 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1776 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
1777 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
1778 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1779 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1780 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1781 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1782 var VoicePromotionAlert = function VoicePromotionAlert(props) {
1783 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
1784 isViewed = _useIntroduction.isViewed,
1785 markAsViewed = _useIntroduction.markAsViewed;
1786 if (isViewed) {
1787 return null;
1788 }
1789 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1790 sx: _objectSpread({
1791 mt: 2
1792 }, props.sx),
1793 alignItems: "top"
1794 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
1795 severity: "info",
1796 variant: "standard",
1797 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
1798 sx: {
1799 alignSelf: 'flex-start'
1800 }
1801 }),
1802 onClose: markAsViewed
1803 }, (0, _i18n.__)('Get improved results from AI by adding personal context.', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
1804 onClick: function onClick() {
1805 return $e.route('panel/global/menu');
1806 },
1807 className: "elementor-clickable",
1808 style: {
1809 textDecoration: 'none'
1810 },
1811 color: "info.main",
1812 href: "#"
1813 }, (0, _i18n.__)('Let’s do it', 'elementor'))));
1814 };
1815 exports.VoicePromotionAlert = VoicePromotionAlert;
1816 VoicePromotionAlert.propTypes = {
1817 sx: _propTypes.default.object,
1818 introductionKey: _propTypes.default.string
1819 };
1820 var _default = VoicePromotionAlert;
1821 exports["default"] = _default;
1822
1823 /***/ }),
1824
1825 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1826 /*!******************************************************************!*\
1827 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1828 \******************************************************************/
1829 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1830
1831 "use strict";
1832
1833
1834 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1835 Object.defineProperty(exports, "__esModule", ({
1836 value: true
1837 }));
1838 exports["default"] = void 0;
1839 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1840 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1841 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1842 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1843 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1844 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1845 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1846 var _excluded = ["sx"];
1847 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1848 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1849 var WizardDialog = function WizardDialog(props) {
1850 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1851 open: true,
1852 onClose: props.onClose,
1853 fullWidth: true,
1854 hideBackdrop: true,
1855 maxWidth: "lg",
1856 PaperProps: {
1857 sx: {
1858 height: '88vh'
1859 }
1860 },
1861 sx: {
1862 zIndex: 9999
1863 }
1864 }, props.children);
1865 };
1866 WizardDialog.propTypes = {
1867 onClose: _propTypes.default.func.isRequired,
1868 children: _propTypes.default.node.isRequired
1869 };
1870 var WizardDialogContent = function WizardDialogContent(_ref) {
1871 var _ref$sx = _ref.sx,
1872 sx = _ref$sx === void 0 ? {} : _ref$sx,
1873 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1874 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1875 sx: _objectSpread({
1876 display: 'flex',
1877 flexDirection: 'column',
1878 justifyContent: 'center'
1879 }, sx)
1880 }));
1881 };
1882 WizardDialogContent.propTypes = {
1883 sx: _propTypes.default.object
1884 };
1885 WizardDialog.Header = _dialogHeader.default;
1886 WizardDialog.Content = WizardDialogContent;
1887 var _default = WizardDialog;
1888 exports["default"] = _default;
1889
1890 /***/ }),
1891
1892 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1893 /*!**************************************************************!*\
1894 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1895 \**************************************************************/
1896 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1897
1898 "use strict";
1899
1900
1901 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1902 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1903 Object.defineProperty(exports, "__esModule", ({
1904 value: true
1905 }));
1906 exports["default"] = exports.RequestIdsProvider = void 0;
1907 exports.generateIds = generateIds;
1908 exports.useRequestIds = exports.getUniqueId = void 0;
1909 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1910 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1911 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1912 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1913 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1914 var Context = (0, _react.createContext)({});
1915 var useRequestIds = function useRequestIds() {
1916 var context = (0, _react.useContext)(Context);
1917 if (!context) {
1918 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1919 }
1920 return context;
1921 };
1922 exports.useRequestIds = useRequestIds;
1923 var getUniqueId = function getUniqueId(prefix) {
1924 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1925 };
1926 exports.getUniqueId = getUniqueId;
1927 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || getUniqueId('editor-session');
1928 function generateIds(template) {
1929 var _template$elements;
1930 template.id = getUniqueId().toString();
1931 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1932 template.elements.map(function (child) {
1933 return generateIds(child);
1934 });
1935 }
1936 return template;
1937 }
1938 var RequestIdsProvider = function RequestIdsProvider(props) {
1939 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1940 var sessionId = (0, _react.useRef)('');
1941 var generateId = (0, _react.useRef)('');
1942 var batchId = (0, _react.useRef)('');
1943 var requestId = (0, _react.useRef)('');
1944 sessionId.current = getUniqueId('session');
1945 var setGenerate = function setGenerate() {
1946 generateId.current = getUniqueId('generate');
1947 return generateId;
1948 };
1949 var setBatch = function setBatch() {
1950 batchId.current = getUniqueId('batch');
1951 return batchId;
1952 };
1953 var setRequest = function setRequest() {
1954 requestId.current = getUniqueId('request');
1955 return requestId;
1956 };
1957 var _useState = (0, _react.useState)(0),
1958 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1959 usagePercentage = _useState2[0],
1960 setUsagePercentage = _useState2[1];
1961 var updateUsagePercentage = function updateUsagePercentage(newPercentage) {
1962 setUsagePercentage(newPercentage);
1963 };
1964 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1965 value: {
1966 editorSessionId: editorSessionId,
1967 sessionId: sessionId,
1968 generateId: generateId,
1969 batchId: batchId,
1970 requestId: requestId,
1971 setGenerate: setGenerate,
1972 setBatch: setBatch,
1973 setRequest: setRequest,
1974 usagePercentage: usagePercentage,
1975 updateUsagePercentage: updateUsagePercentage
1976 }
1977 }, props.children);
1978 };
1979 exports.RequestIdsProvider = RequestIdsProvider;
1980 RequestIdsProvider.propTypes = {
1981 children: _propTypes.default.node.isRequired
1982 };
1983 var _default = Context;
1984 exports["default"] = _default;
1985
1986 /***/ }),
1987
1988 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1989 /*!****************************************************************!*\
1990 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1991 \****************************************************************/
1992 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1993
1994 "use strict";
1995
1996
1997 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1998 Object.defineProperty(exports, "__esModule", ({
1999 value: true
2000 }));
2001 exports["default"] = useIntroduction;
2002 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2003 var _react = __webpack_require__(/*! react */ "react");
2004 function useIntroduction(key) {
2005 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
2006 var globalConfig = window.elementor ? (_window$elementor$con = window.elementor.config) === null || _window$elementor$con === void 0 ? void 0 : _window$elementor$con.user : (_window$elementorAdmi = window.elementorAdmin) === null || _window$elementorAdmi === void 0 ? void 0 : (_window$elementorAdmi2 = _window$elementorAdmi.config) === null || _window$elementorAdmi2 === void 0 ? void 0 : _window$elementorAdmi2.user;
2007 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
2008 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2009 isViewed = _useState2[0],
2010 setIsViewed = _useState2[1];
2011 function markAsViewed() {
2012 if (!key) {
2013 return Promise.reject();
2014 }
2015 return new Promise(function (resolve, reject) {
2016 if (isViewed) {
2017 reject();
2018 }
2019 setIsViewed(true);
2020 elementorCommon.ajax.addRequest('introduction_viewed', {
2021 data: {
2022 introductionKey: key
2023 },
2024 error: function error() {
2025 setIsViewed(false);
2026 reject();
2027 },
2028 success: function success() {
2029 setIsViewed(true);
2030 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
2031 globalConfig.introduction[key] = true;
2032 }
2033 resolve();
2034 }
2035 });
2036 });
2037 }
2038 return {
2039 isViewed: isViewed,
2040 markAsViewed: markAsViewed
2041 };
2042 }
2043
2044 /***/ }),
2045
2046 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
2047 /*!*******************************************************************!*\
2048 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
2049 \*******************************************************************/
2050 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2051
2052 "use strict";
2053
2054
2055 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2056 Object.defineProperty(exports, "__esModule", ({
2057 value: true
2058 }));
2059 exports["default"] = void 0;
2060 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2061 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
2062 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2063 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
2064 var getResult = function getResult(prompt, type, enhanceType) {
2065 if (!enhancePromptMap.has(type)) {
2066 throw new Error("Invalid prompt type: ".concat(type));
2067 }
2068 return enhancePromptMap.get(type)(prompt, enhanceType);
2069 };
2070
2071 /**
2072 * Hook to enhance a prompt.
2073 *
2074 * @param {string} prompt
2075 * @param {'media' | 'layout'} type
2076 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
2077 */
2078 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
2079 var _useConfig = (0, _config.useConfig)(),
2080 mode = _useConfig.mode;
2081 var _usePrompt = (0, _usePrompt2.default)(function () {
2082 return getResult(prompt, type, mode);
2083 }, prompt),
2084 enhancedData = _usePrompt.data,
2085 isEnhancing = _usePrompt.isLoading,
2086 enhance = _usePrompt.send;
2087 return {
2088 enhance: enhance,
2089 isEnhancing: isEnhancing,
2090 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
2091 };
2092 };
2093 var _default = usePromptEnhancer;
2094 exports["default"] = _default;
2095
2096 /***/ }),
2097
2098 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
2099 /*!**********************************************************!*\
2100 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
2101 \**********************************************************/
2102 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2103
2104 "use strict";
2105
2106
2107 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2108 Object.defineProperty(exports, "__esModule", ({
2109 value: true
2110 }));
2111 exports["default"] = void 0;
2112 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2113 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2114 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2115 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2116 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2117 var _react = __webpack_require__(/*! react */ "react");
2118 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2119 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2120 var _excluded = ["text", "response_id", "usage", "images"];
2121 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2122 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2123 var normalizeResponse = function normalizeResponse(_ref) {
2124 var text = _ref.text,
2125 responseId = _ref.response_id,
2126 usage = _ref.usage,
2127 images = _ref.images,
2128 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2129 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
2130 var credits = Math.max(creditsData, 0);
2131 var result = text || images;
2132 var normalized = {
2133 result: result,
2134 responseId: responseId,
2135 credits: credits,
2136 usagePercentage: usage === null || usage === void 0 ? void 0 : usage.usagePercentage
2137 };
2138 if (optional.base_template_id) {
2139 normalized.baseTemplateId = optional.base_template_id;
2140 }
2141 normalized.type = optional.template_type;
2142 return normalized;
2143 };
2144 var usePrompt = function usePrompt(fetchData, initialState) {
2145 var _useState = (0, _react.useState)(false),
2146 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2147 isLoading = _useState2[0],
2148 setIsLoading = _useState2[1];
2149 var _useState3 = (0, _react.useState)(''),
2150 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2151 error = _useState4[0],
2152 setError = _useState4[1];
2153 var _useState5 = (0, _react.useState)(initialState),
2154 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2155 data = _useState6[0],
2156 setData = _useState6[1];
2157 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
2158 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
2159 usagePercentage = _useRequestIds.usagePercentage;
2160 (0, _react.useEffect)(function () {
2161 var newUsageValue = data === null || data === void 0 ? void 0 : data.usagePercentage;
2162 if (newUsageValue && newUsageValue !== usagePercentage) {
2163 updateUsagePercentage(newUsageValue);
2164 }
2165 }, [data, usagePercentage, updateUsagePercentage]);
2166 var _useRequestIds2 = (0, _requestsIds.useRequestIds)(),
2167 setRequest = _useRequestIds2.setRequest,
2168 editorSessionId = _useRequestIds2.editorSessionId,
2169 sessionId = _useRequestIds2.sessionId,
2170 generateId = _useRequestIds2.generateId,
2171 batchId = _useRequestIds2.batchId;
2172 var send = /*#__PURE__*/function () {
2173 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
2174 return _regenerator.default.wrap(function _callee$(_context) {
2175 while (1) switch (_context.prev = _context.next) {
2176 case 0:
2177 return _context.abrupt("return", new Promise(function (resolve, reject) {
2178 setError('');
2179 setIsLoading(true);
2180 var requestId = setRequest();
2181 var requestIds = {
2182 editorSessionId: editorSessionId.current,
2183 sessionId: sessionId.current,
2184 generateId: generateId.current,
2185 batchId: batchId.current,
2186 requestId: requestId.current
2187 };
2188 payload = _objectSpread(_objectSpread({}, payload), {}, {
2189 requestIds: requestIds
2190 });
2191 fetchData(payload).then(function (result) {
2192 var normalizedData = normalizeResponse(result);
2193 setData(normalizedData);
2194 resolve(normalizedData);
2195 }).catch(function (err) {
2196 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
2197 setError(finalError);
2198 reject(finalError);
2199 }).finally(function () {
2200 return setIsLoading(false);
2201 });
2202 }));
2203 case 1:
2204 case "end":
2205 return _context.stop();
2206 }
2207 }, _callee);
2208 }));
2209 return function send(_x) {
2210 return _ref2.apply(this, arguments);
2211 };
2212 }();
2213 var sendUsageData = function sendUsageData() {
2214 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2215 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2216 };
2217 var reset = function reset() {
2218 setData(function (_ref3) {
2219 var credits = _ref3.credits;
2220 return {
2221 credits: credits,
2222 result: '',
2223 responseId: ''
2224 };
2225 });
2226 setError('');
2227 setIsLoading(false);
2228 };
2229 var setResult = function setResult(result) {
2230 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2231 var updatedResult = _objectSpread({}, data);
2232 updatedResult.result = result;
2233 if (responseId) {
2234 updatedResult.responseId = responseId;
2235 }
2236 setData(updatedResult);
2237 };
2238 return {
2239 isLoading: isLoading,
2240 error: error,
2241 data: data,
2242 setResult: setResult,
2243 reset: reset,
2244 send: send,
2245 sendUsageData: sendUsageData
2246 };
2247 };
2248 var _default = usePrompt;
2249 exports["default"] = _default;
2250
2251 /***/ }),
2252
2253 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2254 /*!***********************************************************!*\
2255 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2256 \***********************************************************/
2257 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2258
2259 "use strict";
2260
2261
2262 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2263 Object.defineProperty(exports, "__esModule", ({
2264 value: true
2265 }));
2266 exports.useTimeout = void 0;
2267 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2268 var _react = __webpack_require__(/*! react */ "react");
2269 var useTimeout = function useTimeout(delay) {
2270 var _useState = (0, _react.useState)(false),
2271 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2272 isTimeout = _useState2[0],
2273 setIsTimeout = _useState2[1];
2274 var timeoutIdRef = (0, _react.useRef)(null);
2275 var turnOffTimeout = function turnOffTimeout() {
2276 clearTimeout(timeoutIdRef.current);
2277 setIsTimeout(false);
2278 };
2279 (0, _react.useEffect)(function () {
2280 timeoutIdRef.current = setTimeout(function () {
2281 setIsTimeout(true);
2282 }, delay);
2283 return function () {
2284 clearTimeout(timeoutIdRef.current);
2285 };
2286 }, [delay]);
2287 return [isTimeout, turnOffTimeout];
2288 };
2289 exports.useTimeout = useTimeout;
2290
2291 /***/ }),
2292
2293 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2294 /*!*************************************************************!*\
2295 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2296 \*************************************************************/
2297 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2298
2299 "use strict";
2300
2301
2302 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2303 Object.defineProperty(exports, "__esModule", ({
2304 value: true
2305 }));
2306 exports["default"] = void 0;
2307 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2308 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2309 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2310 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2311 var _react = __webpack_require__(/*! react */ "react");
2312 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2313 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2314 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2315 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2316 var useUserInfo = function useUserInfo() {
2317 var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2318 var _useState = (0, _react.useState)(false),
2319 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2320 isLoaded = _useState2[0],
2321 setIsLoaded = _useState2[1];
2322 var _useState3 = (0, _react.useState)(false),
2323 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2324 isLoading = _useState4[0],
2325 setIsLoading = _useState4[1];
2326 var _useState5 = (0, _react.useState)({
2327 is_connected: false,
2328 is_get_started: false,
2329 connect_url: '',
2330 usage: {
2331 hasAiSubscription: false,
2332 quota: 0,
2333 usedQuota: 0
2334 }
2335 }),
2336 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2337 userInfo = _useState6[0],
2338 setUserInfo = _useState6[1];
2339 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2340 var usagePercentage = userInfo.usage.quota ? userInfo.usage.usedQuota / userInfo.usage.quota * 100 : 0;
2341 var fetchData = /*#__PURE__*/function () {
2342 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2343 var userInfoResult;
2344 return _regenerator.default.wrap(function _callee$(_context) {
2345 while (1) switch (_context.prev = _context.next) {
2346 case 0:
2347 setIsLoading(true);
2348 _context.next = 3;
2349 return (0, _api.getUserInformation)(immediately);
2350 case 3:
2351 userInfoResult = _context.sent;
2352 setUserInfo(function (prevState) {
2353 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2354 });
2355 setIsLoaded(true);
2356 setIsLoading(false);
2357 case 7:
2358 case "end":
2359 return _context.stop();
2360 }
2361 }, _callee);
2362 }));
2363 return function fetchData() {
2364 return _ref.apply(this, arguments);
2365 };
2366 }();
2367 if (!isLoaded && !isLoading) {
2368 fetchData();
2369 }
2370 return {
2371 isLoading: isLoading,
2372 isLoaded: isLoaded,
2373 isConnected: userInfo.is_connected,
2374 isGetStarted: userInfo.is_get_started,
2375 connectUrl: userInfo.connect_url,
2376 builderUrl: userInfo.usage.builderUrl,
2377 hasSubscription: userInfo.usage.hasAiSubscription,
2378 credits: credits < 0 ? 0 : credits,
2379 usagePercentage: Math.round(usagePercentage),
2380 fetchData: fetchData
2381 };
2382 };
2383 useUserInfo.propTypes = {
2384 immediately: _propTypes.default.bool
2385 };
2386 var _default = useUserInfo;
2387 exports["default"] = _default;
2388
2389 /***/ }),
2390
2391 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2392 /*!***************************************************************!*\
2393 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2394 \***************************************************************/
2395 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2396
2397 "use strict";
2398
2399
2400 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2401 Object.defineProperty(exports, "__esModule", ({
2402 value: true
2403 }));
2404 exports["default"] = void 0;
2405 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2406 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2407 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2408 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2409 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2410 viewBox: "0 0 24 24"
2411 }, props, {
2412 ref: ref
2413 }), /*#__PURE__*/_react.default.createElement("path", {
2414 fillRule: "evenodd",
2415 clipRule: "evenodd",
2416 d: "M9.53033 7.46967C9.82322 7.76256 9.82322 8.23744 9.53033 8.53033L6.81066 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H6.81066L9.53033 15.4697C9.82322 15.7626 9.82322 16.2374 9.53033 16.5303C9.23744 16.8232 8.76256 16.8232 8.46967 16.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L8.46967 7.46967C8.76256 7.17678 9.23744 7.17678 9.53033 7.46967Z"
2417 }));
2418 });
2419 var _default = ArrowLeftIcon;
2420 exports["default"] = _default;
2421
2422 /***/ }),
2423
2424 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
2425 /*!*********************************************************!*\
2426 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
2427 \*********************************************************/
2428 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2429
2430 "use strict";
2431
2432
2433 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2434 Object.defineProperty(exports, "__esModule", ({
2435 value: true
2436 }));
2437 exports["default"] = void 0;
2438 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2439 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2440 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2441 var BulbIcon = _react.default.forwardRef(function (props, ref) {
2442 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
2443 ref: ref
2444 }), /*#__PURE__*/_react.default.createElement("svg", {
2445 width: "22",
2446 height: "22",
2447 viewBox: "0 0 22 22",
2448 fill: "none",
2449 xmlns: "http://www.w3.org/2000/svg"
2450 }, /*#__PURE__*/_react.default.createElement("g", {
2451 clipPath: "url(#clip0_10743_8902)"
2452 }, /*#__PURE__*/_react.default.createElement("path", {
2453 d: "M2.75 10.0833H3.66667M11 2.75V3.66667M18.3333 10.0833H19.25M5.13333 5.13333L5.775 5.775M16.8667 5.13333L16.225 5.775",
2454 stroke: "#2563EB",
2455 strokeWidth: "1.5",
2456 strokeLinecap: "round",
2457 strokeLinejoin: "round"
2458 }), /*#__PURE__*/_react.default.createElement("path", {
2459 d: "M9.16675 16.041C8.70841 15.1243 6.91205 13.2842 6.62523 12.366C6.3384 11.4477 6.34775 10.4626 6.65195 9.54997C6.95615 8.63738 7.53978 7.84362 8.32016 7.28116C9.10054 6.71869 10.0381 6.41602 11.0001 6.41602C11.962 6.41602 12.8996 6.71869 13.68 7.28116C14.4604 7.84362 15.044 8.63738 15.3482 9.54997C15.6524 10.4626 15.6618 11.4477 15.3749 12.366C15.0881 13.2842 13.2917 15.1243 12.8334 16.041C12.8334 16.041 12.7597 17.3762 12.8334 17.8743C12.8334 18.3606 12.6403 18.8269 12.2964 19.1707C11.9526 19.5145 11.4863 19.7077 11.0001 19.7077C10.5139 19.7077 10.0475 19.5145 9.70372 19.1707C9.3599 18.8269 9.16675 18.3606 9.16675 17.8743C9.2405 17.3762 9.16675 16.041 9.16675 16.041Z",
2460 stroke: "#2563EB",
2461 strokeWidth: "1.5",
2462 strokeLinecap: "round",
2463 strokeLinejoin: "round"
2464 }), /*#__PURE__*/_react.default.createElement("path", {
2465 d: "M10.0833 16.5H11.9166",
2466 stroke: "#2563EB",
2467 strokeWidth: "1.5",
2468 strokeLinecap: "round",
2469 strokeLinejoin: "round"
2470 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
2471 id: "clip0_10743_8902"
2472 }, /*#__PURE__*/_react.default.createElement("rect", {
2473 width: "22",
2474 height: "22",
2475 fill: "white"
2476 })))));
2477 });
2478 var _default = BulbIcon;
2479 exports["default"] = _default;
2480
2481 /***/ }),
2482
2483 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2484 /*!**************************************************************!*\
2485 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2486 \**************************************************************/
2487 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2488
2489 "use strict";
2490
2491
2492 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2493 Object.defineProperty(exports, "__esModule", ({
2494 value: true
2495 }));
2496 exports["default"] = void 0;
2497 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2498 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2499 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2500 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2501 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2502 viewBox: "0 0 24 24"
2503 }, props, {
2504 ref: ref
2505 }), /*#__PURE__*/_react.default.createElement("path", {
2506 fillRule: "evenodd",
2507 clipRule: "evenodd",
2508 d: "M16.6667 0.208496C17.0534 0.208496 17.4244 0.362142 17.6979 0.635632C17.9714 0.909123 18.125 1.28006 18.125 1.66683V11.6668C18.125 12.0536 17.9714 12.4245 17.6979 12.698C17.4244 12.9715 17.0534 13.1252 16.6667 13.1252H14.7917V16.6668C14.7917 17.0536 14.638 17.4245 14.3645 17.698C14.091 17.9715 13.7201 18.1252 13.3333 18.1252H3.33333C2.94656 18.1252 2.57563 17.9715 2.30214 17.698C2.02865 17.4245 1.875 17.0536 1.875 16.6668V6.66683C1.875 6.28005 2.02865 5.90912 2.30214 5.63563C2.57563 5.36214 2.94656 5.2085 3.33333 5.2085H5.20833V1.66683C5.20833 1.28005 5.36198 0.909122 5.63547 0.635632C5.90896 0.362142 6.27989 0.208496 6.66667 0.208496H16.6667ZM6.66667 1.4585C6.61141 1.4585 6.55842 1.48045 6.51935 1.51952C6.48028 1.55859 6.45833 1.61158 6.45833 1.66683V3.54183H8.54167V1.4585H6.66667ZM3.125 9.79183V16.6668C3.125 16.7221 3.14695 16.7751 3.18602 16.8141C3.22509 16.8532 3.27808 16.8752 3.33333 16.8752H13.3333C13.3886 16.8752 13.4416 16.8532 13.4806 16.8141C13.5197 16.7751 13.5417 16.7221 13.5417 16.6668V13.1252H6.66667C6.27989 13.1252 5.90896 12.9715 5.63547 12.698C5.36198 12.4245 5.20833 12.0536 5.20833 11.6668V9.79183H3.125ZM5.20833 8.54183H3.125V6.66683C3.125 6.61158 3.14695 6.55859 3.18602 6.51952C3.22509 6.48045 3.27808 6.4585 3.33333 6.4585H5.20833V8.54183ZM6.45833 11.6668C6.45833 11.7221 6.48028 11.7751 6.51935 11.8141C6.55842 11.8532 6.61141 11.8752 6.66667 11.8752H16.6667C16.7219 11.8752 16.7749 11.8532 16.814 11.8141C16.853 11.7751 16.875 11.7221 16.875 11.6668V4.79183H6.45833V11.6668ZM9.79167 1.4585V3.54183H16.875V1.66683C16.875 1.61157 16.853 1.55858 16.814 1.51952C16.7749 1.48045 16.7219 1.4585 16.6667 1.4585H9.79167Z"
2509 }));
2510 });
2511 var _default = CopyPageIcon;
2512 exports["default"] = _default;
2513
2514 /***/ }),
2515
2516 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2517 /*!*********************************************************!*\
2518 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2519 \*********************************************************/
2520 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2521
2522 "use strict";
2523
2524
2525 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2526 Object.defineProperty(exports, "__esModule", ({
2527 value: true
2528 }));
2529 exports["default"] = void 0;
2530 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2531 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2532 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2533 var EditIcon = _react.default.forwardRef(function (props, ref) {
2534 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2535 viewBox: "0 0 24 24"
2536 }, props, {
2537 ref: ref
2538 }), /*#__PURE__*/_react.default.createElement("path", {
2539 fillRule: "evenodd",
2540 clipRule: "evenodd",
2541 d: "M13.9697 4.96967C14.6408 4.29858 15.5509 3.92157 16.5 3.92157C17.4491 3.92157 18.3592 4.29858 19.0303 4.96967C19.7014 5.64075 20.0784 6.55094 20.0784 7.5C20.0784 8.44905 19.7014 9.35924 19.0303 10.0303L8.53033 20.5303C8.38968 20.671 8.19891 20.75 8 20.75H4C3.58579 20.75 3.25 20.4142 3.25 20V16C3.25 15.8011 3.32902 15.6103 3.46967 15.4697L13.9697 4.96967ZM16.5 5.42157C15.9488 5.42157 15.4201 5.64055 15.0303 6.03033L4.75 16.3107V19.25H7.68934L17.9697 8.96967C18.3595 8.57989 18.5784 8.05123 18.5784 7.5C18.5784 6.94876 18.3595 6.42011 17.9697 6.03033C17.5799 5.64055 17.0512 5.42157 16.5 5.42157Z"
2542 }), /*#__PURE__*/_react.default.createElement("path", {
2543 fillRule: "evenodd",
2544 clipRule: "evenodd",
2545 d: "M12.9697 5.96967C13.2626 5.67677 13.7374 5.67677 14.0303 5.96967L18.0303 9.96967C18.3232 10.2626 18.3232 10.7374 18.0303 11.0303C17.7374 11.3232 17.2626 11.3232 16.9697 11.0303L12.9697 7.03033C12.6768 6.73743 12.6768 6.26256 12.9697 5.96967Z"
2546 }));
2547 });
2548 var _default = EditIcon;
2549 exports["default"] = _default;
2550
2551 /***/ }),
2552
2553 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2554 /*!********************************************************************!*\
2555 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2556 \********************************************************************/
2557 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2558
2559 "use strict";
2560
2561
2562 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2563 Object.defineProperty(exports, "__esModule", ({
2564 value: true
2565 }));
2566 exports["default"] = void 0;
2567 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2568 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2569 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2570 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2571 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2572 viewBox: "0 0 24 24"
2573 }, props, {
2574 ref: ref
2575 }), /*#__PURE__*/_react.default.createElement("path", {
2576 fillRule: "evenodd",
2577 clipRule: "evenodd",
2578 d: "M4 3.25H8C8.41421 3.25 8.75 3.58579 8.75 4C8.75 4.41421 8.41421 4.75 8 4.75H5.81066L10.5303 9.46967C10.8232 9.76256 10.8232 10.2374 10.5303 10.5303C10.2374 10.8232 9.76256 10.8232 9.46967 10.5303L4.75 5.81066V8C4.75 8.41421 4.41421 8.75 4 8.75C3.58579 8.75 3.25 8.41421 3.25 8V4C3.25 3.58579 3.58579 3.25 4 3.25ZM13.4697 13.4697C13.7626 13.1768 14.2374 13.1768 14.5303 13.4697L19.25 18.1893V16C19.25 15.5858 19.5858 15.25 20 15.25C20.4142 15.25 20.75 15.5858 20.75 16V20C20.75 20.4142 20.4142 20.75 20 20.75H16C15.5858 20.75 15.25 20.4142 15.25 20C15.25 19.5858 15.5858 19.25 16 19.25H18.1893L13.4697 14.5303C13.1768 14.2374 13.1768 13.7626 13.4697 13.4697Z"
2579 }));
2580 });
2581 var _default = ExpandDiagonalIcon;
2582 exports["default"] = _default;
2583
2584 /***/ }),
2585
2586 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2587 /*!*********************************************************!*\
2588 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2589 \*********************************************************/
2590 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2591
2592 "use strict";
2593
2594
2595 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2596 Object.defineProperty(exports, "__esModule", ({
2597 value: true
2598 }));
2599 exports["default"] = void 0;
2600 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2601 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2602 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2603 var LockIcon = _react.default.forwardRef(function (props, ref) {
2604 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2605 viewBox: "0 0 24 24"
2606 }, props, {
2607 ref: ref
2608 }), /*#__PURE__*/_react.default.createElement("path", {
2609 fillRule: "evenodd",
2610 clipRule: "evenodd",
2611 d: "M7.8125 11.9996C7.29473 11.9996 6.875 12.4473 6.875 12.9996V18.9996C6.875 19.5519 7.29473 19.9996 7.8125 19.9996H17.1875C17.7053 19.9996 18.125 19.5519 18.125 18.9996V12.9996C18.125 12.4473 17.7053 11.9996 17.1875 11.9996H7.8125ZM5 12.9996C5 11.3428 6.2592 9.99963 7.8125 9.99963H17.1875C18.7408 9.99963 20 11.3428 20 12.9996V18.9996C20 20.6565 18.7408 21.9996 17.1875 21.9996H7.8125C6.2592 21.9996 5 20.6565 5 18.9996V12.9996Z"
2612 }), /*#__PURE__*/_react.default.createElement("path", {
2613 fillRule: "evenodd",
2614 clipRule: "evenodd",
2615 d: "M12.5 3.90527C11.7044 3.90527 10.9413 4.22134 10.3787 4.78395C9.81607 5.34656 9.5 6.10962 9.5 6.90527V10.9053C9.5 11.4576 9.05228 11.9053 8.5 11.9053C7.94772 11.9053 7.5 11.4576 7.5 10.9053V6.90527C7.5 5.57919 8.02678 4.30742 8.96447 3.36974C9.90215 2.43206 11.1739 1.90527 12.5 1.90527C13.8261 1.90527 15.0979 2.43206 16.0355 3.36974C16.9732 4.30742 17.5 5.57919 17.5 6.90527V10.9053C17.5 11.4576 17.0523 11.9053 16.5 11.9053C15.9477 11.9053 15.5 11.4576 15.5 10.9053V6.90527C15.5 6.10962 15.1839 5.34656 14.6213 4.78395C14.0587 4.22134 13.2956 3.90527 12.5 3.90527Z"
2616 }), /*#__PURE__*/_react.default.createElement("path", {
2617 d: "M6 12H19V20H6V12Z"
2618 }));
2619 });
2620 var _default = LockIcon;
2621 exports["default"] = _default;
2622
2623 /***/ }),
2624
2625 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2626 /*!**********************************************************************!*\
2627 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2628 \**********************************************************************/
2629 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2630
2631 "use strict";
2632
2633
2634 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2635 Object.defineProperty(exports, "__esModule", ({
2636 value: true
2637 }));
2638 exports["default"] = void 0;
2639 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2640 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2641 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2642 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2643 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2644 viewBox: "0 0 24 24"
2645 }, props, {
2646 ref: ref
2647 }), /*#__PURE__*/_react.default.createElement("path", {
2648 fillRule: "evenodd",
2649 clipRule: "evenodd",
2650 d: "M3.46967 3.46967C3.76256 3.17678 4.23744 3.17678 4.53033 3.46967L9.25 8.18934V6C9.25 5.58579 9.58579 5.25 10 5.25C10.4142 5.25 10.75 5.58579 10.75 6V10C10.75 10.4142 10.4142 10.75 10 10.75H6C5.58579 10.75 5.25 10.4142 5.25 10C5.25 9.58579 5.58579 9.25 6 9.25H8.18934L3.46967 4.53033C3.17678 4.23744 3.17678 3.76256 3.46967 3.46967ZM14 13.25H18C18.4142 13.25 18.75 13.5858 18.75 14C18.75 14.4142 18.4142 14.75 18 14.75H15.8107L20.5303 19.4697C20.8232 19.7626 20.8232 20.2374 20.5303 20.5303C20.2374 20.8232 19.7626 20.8232 19.4697 20.5303L14.75 15.8107V18C14.75 18.4142 14.4142 18.75 14 18.75C13.5858 18.75 13.25 18.4142 13.25 18V14C13.25 13.5858 13.5858 13.25 14 13.25Z"
2651 }));
2652 });
2653 var _default = MinimizeDiagonalIcon;
2654 exports["default"] = _default;
2655
2656 /***/ }),
2657
2658 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2659 /*!****************************************************************!*\
2660 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2661 \****************************************************************/
2662 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2663
2664 "use strict";
2665
2666
2667 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2668 Object.defineProperty(exports, "__esModule", ({
2669 value: true
2670 }));
2671 exports["default"] = void 0;
2672 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2673 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2674 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2675 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2676 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2677 viewBox: "0 0 24 24"
2678 }, props, {
2679 ref: ref
2680 }), /*#__PURE__*/_react.default.createElement("path", {
2681 d: "M12 2.69231C6.8595 2.69231 2.69231 6.8595 2.69231 12C2.69231 17.1405 6.8595 21.3077 12 21.3077C17.1405 21.3077 21.3077 17.1405 21.3077 12C21.3077 6.8595 17.1405 2.69231 12 2.69231ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 7.76923C12.4673 7.76923 12.8462 8.14807 12.8462 8.61538V11.1538H15.3846C15.8519 11.1538 16.2308 11.5327 16.2308 12C16.2308 12.4673 15.8519 12.8462 15.3846 12.8462H12.8462V15.3846C12.8462 15.8519 12.4673 16.2308 12 16.2308C11.5327 16.2308 11.1538 15.8519 11.1538 15.3846V12.8462H8.61538C8.14807 12.8462 7.76923 12.4673 7.76923 12C7.76923 11.5327 8.14807 11.1538 8.61538 11.1538H11.1538V8.61538C11.1538 8.14807 11.5327 7.76923 12 7.76923Z"
2682 }));
2683 });
2684 var _default = PlusCircleIcon;
2685 exports["default"] = _default;
2686
2687 /***/ }),
2688
2689 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2690 /*!************************************************************!*\
2691 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2692 \************************************************************/
2693 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2694
2695 "use strict";
2696
2697
2698 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2699 Object.defineProperty(exports, "__esModule", ({
2700 value: true
2701 }));
2702 exports["default"] = void 0;
2703 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2704 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2705 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2706 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2707 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2708 viewBox: "0 0 24 24"
2709 }, props, {
2710 ref: ref
2711 }), /*#__PURE__*/_react.default.createElement("path", {
2712 fillRule: "evenodd",
2713 clipRule: "evenodd",
2714 d: "M7.55012 4.45178C9.23098 3.48072 11.1845 3.08925 13.1097 3.33767C15.035 3.58609 16.8251 4.46061 18.2045 5.82653C19.5838 7.19245 20.4757 8.97399 20.743 10.8967C20.8 11.307 20.5136 11.6858 20.1033 11.7428C19.6931 11.7998 19.3142 11.5135 19.2572 11.1032C19.0353 9.50635 18.2945 8.02677 17.149 6.89236C16.0035 5.75795 14.5167 5.03165 12.9178 4.82534C11.3189 4.61902 9.69644 4.94414 8.30047 5.75061C7.24361 6.36117 6.36093 7.22198 5.72541 8.24995H8.00009C8.41431 8.24995 8.75009 8.58574 8.75009 8.99995C8.75009 9.41417 8.41431 9.74995 8.00009 9.74995H4.51686C4.5055 9.75021 4.49412 9.75021 4.48272 9.74995H4.00009C3.58588 9.74995 3.25009 9.41417 3.25009 8.99995V4.99995C3.25009 4.58574 3.58588 4.24995 4.00009 4.24995C4.41431 4.24995 4.75009 4.58574 4.75009 4.99995V7.00691C5.48358 5.96916 6.43655 5.0951 7.55012 4.45178Z"
2715 }), /*#__PURE__*/_react.default.createElement("path", {
2716 fillRule: "evenodd",
2717 clipRule: "evenodd",
2718 d: "M3.89686 12.2571C4.30713 12.2001 4.68594 12.4864 4.74295 12.8967C4.96487 14.4936 5.70565 15.9731 6.85119 17.1075C7.99673 18.242 9.48347 18.9683 11.0824 19.1746C12.6813 19.3809 14.3037 19.0558 15.6997 18.2493C16.7566 17.6387 17.6393 16.7779 18.2748 15.75H16.0001C15.5859 15.75 15.2501 15.4142 15.2501 15C15.2501 14.5857 15.5859 14.25 16.0001 14.25H19.4833C19.4947 14.2497 19.5061 14.2497 19.5175 14.25H20.0001C20.4143 14.25 20.7501 14.5857 20.7501 15V19C20.7501 19.4142 20.4143 19.75 20.0001 19.75C19.5859 19.75 19.2501 19.4142 19.2501 19V16.993C18.5166 18.0307 17.5636 18.9048 16.4501 19.5481C14.7692 20.5192 12.8157 20.9107 10.8904 20.6622C8.9652 20.4138 7.17504 19.5393 5.79572 18.1734C4.4164 16.8074 3.52443 15.0259 3.25723 13.1032C3.20022 12.6929 3.48658 12.3141 3.89686 12.2571Z"
2719 }));
2720 });
2721 var _default = RefreshIcon;
2722 exports["default"] = _default;
2723
2724 /***/ }),
2725
2726 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2727 /*!*********************************************************!*\
2728 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2729 \*********************************************************/
2730 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2731
2732 "use strict";
2733
2734
2735 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2736 Object.defineProperty(exports, "__esModule", ({
2737 value: true
2738 }));
2739 exports["default"] = void 0;
2740 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2741 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2742 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2743 var WandIcon = _react.default.forwardRef(function (props, ref) {
2744 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2745 viewBox: "0 0 24 24"
2746 }, props, {
2747 ref: ref
2748 }), /*#__PURE__*/_react.default.createElement("path", {
2749 fillRule: "evenodd",
2750 clipRule: "evenodd",
2751 d: "M9 2.25C9.41421 2.25 9.75 2.58579 9.75 3C9.75 3.33152 9.8817 3.64946 10.1161 3.88388C10.3505 4.1183 10.6685 4.25 11 4.25C11.4142 4.25 11.75 4.58579 11.75 5C11.75 5.41421 11.4142 5.75 11 5.75C10.6685 5.75 10.3505 5.8817 10.1161 6.11612C9.8817 6.35054 9.75 6.66848 9.75 7C9.75 7.41421 9.41421 7.75 9 7.75C8.58579 7.75 8.25 7.41421 8.25 7C8.25 6.66848 8.1183 6.35054 7.88388 6.11612C7.64946 5.8817 7.33152 5.75 7 5.75C6.58579 5.75 6.25 5.41421 6.25 5C6.25 4.58579 6.58579 4.25 7 4.25C7.33152 4.25 7.64946 4.1183 7.88388 3.88388C8.1183 3.64946 8.25 3.33152 8.25 3C8.25 2.58579 8.58579 2.25 9 2.25ZM9 4.88746C8.98182 4.90673 8.96333 4.92576 8.94454 4.94454C8.92576 4.96333 8.90673 4.98182 8.88746 5C8.90673 5.01818 8.92576 5.03667 8.94454 5.05546C8.96333 5.07424 8.98182 5.09327 9 5.11254C9.01818 5.09327 9.03667 5.07424 9.05546 5.05546C9.07424 5.03667 9.09327 5.01818 9.11254 5C9.09327 4.98182 9.07424 4.96333 9.05546 4.94454C9.03667 4.92576 9.01818 4.90673 9 4.88746Z"
2752 }), /*#__PURE__*/_react.default.createElement("path", {
2753 fillRule: "evenodd",
2754 clipRule: "evenodd",
2755 d: "M18.5303 2.46967C18.2374 2.17678 17.7626 2.17678 17.4697 2.46967L2.46967 17.4697C2.17678 17.7626 2.17678 18.2374 2.46967 18.5303L5.46967 21.5303C5.76256 21.8232 6.23744 21.8232 6.53033 21.5303L21.5303 6.53033C21.8232 6.23744 21.8232 5.76256 21.5303 5.46967L18.5303 2.46967ZM18 7.93934L19.9393 6L18 4.06066L16.0607 6L18 7.93934ZM15 7.06066L16.9393 9L6 19.9393L4.06066 18L15 7.06066Z"
2756 }), /*#__PURE__*/_react.default.createElement("path", {
2757 fillRule: "evenodd",
2758 clipRule: "evenodd",
2759 d: "M19.75 13C19.75 12.5858 19.4142 12.25 19 12.25C18.5858 12.25 18.25 12.5858 18.25 13C18.25 13.3315 18.1183 13.6495 17.8839 13.8839C17.6495 14.1183 17.3315 14.25 17 14.25C16.5858 14.25 16.25 14.5858 16.25 15C16.25 15.4142 16.5858 15.75 17 15.75C17.3315 15.75 17.6495 15.8817 17.8839 16.1161C18.1183 16.3505 18.25 16.6685 18.25 17C18.25 17.4142 18.5858 17.75 19 17.75C19.4142 17.75 19.75 17.4142 19.75 17C19.75 16.6685 19.8817 16.3505 20.1161 16.1161C20.3505 15.8817 20.6685 15.75 21 15.75C21.4142 15.75 21.75 15.4142 21.75 15C21.75 14.5858 21.4142 14.25 21 14.25C20.6685 14.25 20.3505 14.1183 20.1161 13.8839C19.8817 13.6495 19.75 13.3315 19.75 13ZM18.9445 14.9445C18.9633 14.9258 18.9818 14.9067 19 14.8875C19.0182 14.9067 19.0367 14.9258 19.0555 14.9445C19.0742 14.9633 19.0933 14.9818 19.1125 15C19.0933 15.0182 19.0742 15.0367 19.0555 15.0555C19.0367 15.0742 19.0182 15.0933 19 15.1125C18.9818 15.0933 18.9633 15.0742 18.9445 15.0555C18.9258 15.0367 18.9067 15.0182 18.8875 15C18.9067 14.9818 18.9258 14.9633 18.9445 14.9445Z"
2760 }));
2761 });
2762 var _default = WandIcon;
2763 exports["default"] = _default;
2764
2765 /***/ }),
2766
2767 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2768 /*!************************************************************!*\
2769 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2770 \************************************************************/
2771 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2772
2773 "use strict";
2774
2775
2776 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2777 Object.defineProperty(exports, "__esModule", ({
2778 value: true
2779 }));
2780 exports["default"] = void 0;
2781 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2782 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2783 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2784 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2785 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2786 viewBox: "0 0 24 24"
2787 }, props, {
2788 ref: ref
2789 }), /*#__PURE__*/_react.default.createElement("path", {
2790 fillRule: "evenodd",
2791 clipRule: "evenodd",
2792 d: "M4.16707 3.95837C4.11182 3.95837 4.05883 3.98032 4.01976 4.01939C3.98069 4.05846 3.95874 4.11145 3.95874 4.16671V6.04171H6.04207V3.95837H4.16707ZM4.16707 2.70837C3.7803 2.70837 3.40937 2.86202 3.13588 3.13551C2.86239 3.409 2.70874 3.77993 2.70874 4.16671V15.8334C2.70874 16.2201 2.86239 16.5911 3.13588 16.8646C3.40937 17.1381 3.7803 17.2917 4.16707 17.2917H15.8337C16.2205 17.2917 16.5914 17.1381 16.8649 16.8646C17.1384 16.5911 17.2921 16.2201 17.2921 15.8334V4.16671C17.2921 3.77993 17.1384 3.409 16.8649 3.13551C16.5914 2.86202 16.2205 2.70837 15.8337 2.70837H4.16707ZM7.29207 3.95837V6.04171H16.0421V4.16671C16.0421 4.11145 16.0201 4.05846 15.9811 4.01939C15.942 3.98032 15.889 3.95837 15.8337 3.95837H7.29207ZM16.0421 7.29171H3.95874V15.8334C3.95874 15.8886 3.98069 15.9416 4.01976 15.9807C4.05883 16.0198 4.11182 16.0417 4.16707 16.0417H15.8337C15.889 16.0417 15.942 16.0198 15.9811 15.9807C16.0201 15.9416 16.0421 15.8886 16.0421 15.8334V7.29171Z"
2793 }));
2794 });
2795 var _default = WebsiteIcon;
2796 exports["default"] = _default;
2797
2798 /***/ }),
2799
2800 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2801 /*!*************************************************************!*\
2802 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2803 \*************************************************************/
2804 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2805
2806 "use strict";
2807
2808
2809 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2810 Object.defineProperty(exports, "__esModule", ({
2811 value: true
2812 }));
2813 exports["default"] = void 0;
2814 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2815 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2816 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2817 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2818 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2819 viewBox: "0 0 24 24"
2820 }, props, {
2821 ref: ref
2822 }), /*#__PURE__*/_react.default.createElement("path", {
2823 d: "M12 2.69231C6.8595 2.69231 2.69231 6.8595 2.69231 12C2.69231 17.1405 6.8595 21.3077 12 21.3077C17.1405 21.3077 21.3077 17.1405 21.3077 12C21.3077 6.8595 17.1405 2.69231 12 2.69231ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM9.14527 9.14527C9.47571 8.81483 10.0115 8.81483 10.3419 9.14527L12 10.8034L13.6581 9.14527C13.9885 8.81483 14.5243 8.81483 14.8547 9.14527C15.1852 9.47571 15.1852 10.0115 14.8547 10.3419L13.1966 12L14.8547 13.6581C15.1852 13.9885 15.1852 14.5243 14.8547 14.8547C14.5243 15.1852 13.9885 15.1852 13.6581 14.8547L12 13.1966L10.3419 14.8547C10.0115 15.1852 9.47571 15.1852 9.14527 14.8547C8.81483 14.5243 8.81483 13.9885 9.14527 13.6581L10.8034 12L9.14527 10.3419C8.81483 10.0115 8.81483 9.47571 9.14527 9.14527Z"
2824 }));
2825 });
2826 var _default = XCircleIcon;
2827 exports["default"] = _default;
2828
2829 /***/ }),
2830
2831 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2832 /*!********************************************************************************************!*\
2833 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2834 \********************************************************************************************/
2835 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2836
2837 "use strict";
2838
2839
2840 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2841 renderLayoutApp = _require.renderLayoutApp,
2842 importToEditor = _require.importToEditor;
2843 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2844 MODE_VARIATION = _require2.MODE_VARIATION;
2845 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2846 __ = _require3.__;
2847 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2848 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2849 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2850 var ApplyTemplateForAiBehavior;
2851 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2852 ui: {
2853 applyButton: '.elementor-template-library-template-apply-ai',
2854 generateVariation: '.elementor-template-library-template-generate-variation'
2855 },
2856 events: {
2857 'click @ui.applyButton': 'onApplyButtonClick',
2858 'click @ui.generateVariation': 'onGenerateVariationClick'
2859 },
2860 onGenerateVariationClick: function onGenerateVariationClick() {
2861 var _libraryComponent$man, _libraryComponent$man2;
2862 var args = {
2863 model: this.view.model
2864 };
2865 var libraryComponent = $e.components.get('library');
2866 var at = (_libraryComponent$man = libraryComponent.manager.modalConfig) === null || _libraryComponent$man === void 0 ? void 0 : (_libraryComponent$man2 = _libraryComponent$man.importOptions) === null || _libraryComponent$man2 === void 0 ? void 0 : _libraryComponent$man2.at;
2867 libraryComponent.downloadTemplate(args, function (data) {
2868 var model = args.model;
2869 var attachment = {
2870 type: ATTACHMENT_TYPE_JSON,
2871 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2872 content: data.content[0],
2873 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2874 source: ELEMENTOR_LIBRARY_SOURCE
2875 };
2876 renderLayoutApp({
2877 parentContainer: elementor.getPreviewContainer(),
2878 mode: MODE_VARIATION,
2879 at: at,
2880 attachments: [attachment],
2881 onInsert: function onInsert(template) {
2882 importToEditor({
2883 parentContainer: elementor.getPreviewContainer(),
2884 at: at,
2885 template: template,
2886 historyTitle: __('AI Variation from library', 'elementor')
2887 });
2888 }
2889 });
2890 $e.run('library/close');
2891 });
2892 },
2893 onApplyButtonClick: function onApplyButtonClick() {
2894 var args = {
2895 model: this.view.model
2896 };
2897 this.ui.applyButton.addClass('elementor-disabled');
2898 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2899 $e.route('library/connect', args);
2900 return;
2901 }
2902 $e.run('library/generate-ai-variation', args);
2903 }
2904 });
2905 module.exports = ApplyTemplateForAiBehavior;
2906
2907 /***/ }),
2908
2909 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2910 /*!************************************************************!*\
2911 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2912 \************************************************************/
2913 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2914
2915 "use strict";
2916
2917
2918 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2919 Object.defineProperty(exports, "__esModule", ({
2920 value: true
2921 }));
2922 exports["default"] = void 0;
2923 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2924 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2925 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2926 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2927 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2928 rtl: props.isRTL
2929 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2930 colorScheme: props.colorScheme
2931 }, props.children));
2932 };
2933 LayoutAppWrapper.propTypes = {
2934 children: _propTypes.default.node,
2935 isRTL: _propTypes.default.bool,
2936 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2937 };
2938 var _default = LayoutAppWrapper;
2939 exports["default"] = _default;
2940
2941 /***/ }),
2942
2943 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2944 /*!****************************************************!*\
2945 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2946 \****************************************************/
2947 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2948
2949 "use strict";
2950
2951
2952 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2953 Object.defineProperty(exports, "__esModule", ({
2954 value: true
2955 }));
2956 exports["default"] = void 0;
2957 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2958 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2959 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2960 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2961 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2962 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2963 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2964 var LayoutApp = function LayoutApp(props) {
2965 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2966 onError: props.onClose
2967 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2968 mode: props.mode,
2969 attachmentsTypes: props.attachmentsTypes,
2970 onClose: props.onClose,
2971 onConnect: props.onConnect,
2972 onData: props.onData,
2973 onInsert: props.onInsert,
2974 onSelect: props.onSelect,
2975 onGenerate: props.onGenerate,
2976 currentContext: props.currentContext,
2977 hasPro: props.hasPro
2978 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2979 attachments: props.attachments
2980 }))));
2981 };
2982 LayoutApp.propTypes = {
2983 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2984 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2985 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2986 onClose: _propTypes.default.func.isRequired,
2987 onConnect: _propTypes.default.func.isRequired,
2988 onData: _propTypes.default.func.isRequired,
2989 onInsert: _propTypes.default.func.isRequired,
2990 onSelect: _propTypes.default.func.isRequired,
2991 onGenerate: _propTypes.default.func.isRequired,
2992 currentContext: _propTypes.default.object,
2993 hasPro: _propTypes.default.bool
2994 };
2995 var _default = LayoutApp;
2996 exports["default"] = _default;
2997
2998 /***/ }),
2999
3000 /***/ "../modules/ai/assets/js/editor/layout-content.js":
3001 /*!********************************************************!*\
3002 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
3003 \********************************************************/
3004 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3005
3006 "use strict";
3007
3008
3009 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3010 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3011 Object.defineProperty(exports, "__esModule", ({
3012 value: true
3013 }));
3014 exports["default"] = void 0;
3015 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3016 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3017 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
3018 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
3019 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
3020 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
3021 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
3022 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3023 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
3024 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
3025 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3026 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3027 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3028 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
3029 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3030 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3031 var LayoutContent = function LayoutContent(props) {
3032 var _useUserInfo = (0, _useUserInfo2.default)(),
3033 isLoading = _useUserInfo.isLoading,
3034 isConnected = _useUserInfo.isConnected,
3035 isGetStarted = _useUserInfo.isGetStarted,
3036 connectUrl = _useUserInfo.connectUrl,
3037 fetchData = _useUserInfo.fetchData,
3038 hasSubscription = _useUserInfo.hasSubscription,
3039 initialUsagePercentage = _useUserInfo.usagePercentage;
3040 var _useConfig = (0, _config.useConfig)(),
3041 onClose = _useConfig.onClose,
3042 onConnect = _useConfig.onConnect;
3043 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
3044 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
3045 usagePercentage = _useRequestIds.usagePercentage;
3046 var _useState = (0, _react.useState)(false),
3047 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3048 isInitUsageDone = _useState2[0],
3049 setIsInitUsageDone = _useState2[1];
3050 (0, _react.useEffect)(function () {
3051 if (!isInitUsageDone && !isLoading && (initialUsagePercentage || 0 === initialUsagePercentage)) {
3052 updateUsagePercentage(initialUsagePercentage);
3053 setIsInitUsageDone(true);
3054 }
3055 }, [isLoading, initialUsagePercentage, isInitUsageDone, updateUsagePercentage]);
3056 if (isLoading || !isInitUsageDone) {
3057 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3058 onClose: onClose
3059 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
3060 onClose: onClose
3061 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
3062 dividers: true
3063 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
3064 BoxProps: {
3065 sx: {
3066 px: 3
3067 }
3068 }
3069 })));
3070 }
3071 if (!isConnected) {
3072 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3073 onClose: onClose
3074 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3075 onClose: onClose
3076 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3077 dividers: true
3078 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
3079 connectUrl: connectUrl,
3080 onSuccess: function onSuccess(data) {
3081 onConnect(data);
3082 fetchData();
3083 }
3084 })));
3085 }
3086 if (!isGetStarted) {
3087 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3088 onClose: onClose
3089 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3090 onClose: onClose
3091 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3092 dividers: true
3093 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
3094 onSuccess: fetchData
3095 })));
3096 }
3097 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
3098 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
3099 attachments: props.attachments,
3100 DialogHeaderProps: {
3101 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
3102 hasSubscription: hasSubscription,
3103 usagePercentage: usagePercentage
3104 })
3105 }
3106 });
3107 };
3108 LayoutContent.propTypes = {
3109 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
3110 };
3111 var _default = LayoutContent;
3112 exports["default"] = _default;
3113
3114 /***/ }),
3115
3116 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
3117 /*!*************************************************************!*\
3118 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
3119 \*************************************************************/
3120 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3121
3122 "use strict";
3123
3124
3125 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3126 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3127 Object.defineProperty(exports, "__esModule", ({
3128 value: true
3129 }));
3130 exports["default"] = void 0;
3131 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3132 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3133 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3134 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3135 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3136 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3137 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3138 var Connect = function Connect(_ref) {
3139 var connectUrl = _ref.connectUrl,
3140 onSuccess = _ref.onSuccess;
3141 var approveButtonRef = (0, _react.useRef)();
3142 (0, _react.useEffect)(function () {
3143 // On local dev (as a standalone app), the connect lib is not loaded.
3144 if (!jQuery.fn.elementorConnect) {
3145 return;
3146 }
3147 jQuery(approveButtonRef.current).elementorConnect({
3148 success: function success(_, data) {
3149 return onSuccess(data);
3150 },
3151 error: function error() {
3152 throw new Error('Elementor AI: Failed to connect.');
3153 }
3154 });
3155 }, []);
3156 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3157 alignItems: "center",
3158 gap: 2
3159 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3160 sx: {
3161 color: 'text.primary',
3162 fontSize: '60px',
3163 mb: 1
3164 }
3165 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3166 variant: "h4",
3167 sx: {
3168 color: 'text.primary'
3169 }
3170 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3171 variant: "body2"
3172 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3173 variant: "caption",
3174 sx: {
3175 maxWidth: 520,
3176 textAlign: 'center'
3177 }
3178 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
3179 href: "https://go.elementor.com/ai-terms/",
3180 target: "_blank",
3181 color: "info.main"
3182 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
3183 href: "https://go.elementor.com/ai-privacy-policy/",
3184 target: "_blank",
3185 color: "info.main"
3186 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3187 ref: approveButtonRef,
3188 href: connectUrl,
3189 variant: "contained",
3190 sx: {
3191 mt: 1,
3192 '&:hover': {
3193 color: 'primary.contrastText'
3194 }
3195 }
3196 }, (0, _i18n.__)('Connect', 'elementor')));
3197 };
3198 Connect.propTypes = {
3199 connectUrl: _propTypes.default.string.isRequired,
3200 onSuccess: _propTypes.default.func.isRequired
3201 };
3202 var _default = Connect;
3203 exports["default"] = _default;
3204
3205 /***/ }),
3206
3207 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
3208 /*!**********************************************************************************!*\
3209 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
3210 \**********************************************************************************/
3211 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3212
3213 "use strict";
3214
3215
3216 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3217 Object.defineProperty(exports, "__esModule", ({
3218 value: true
3219 }));
3220 exports["default"] = exports.USER_VARIATION_SOURCE = exports.USER_URL_SOURCE = exports.MENU_TYPE_LIBRARY = exports.ELEMENTOR_LIBRARY_SOURCE = exports.ATTACHMENT_TYPE_URL = exports.ATTACHMENT_TYPE_JSON = void 0;
3221 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3222 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3223 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
3224 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
3225 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
3226 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
3227 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
3228 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3229 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3230 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3231 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3232 var ATTACHMENT_TYPE_JSON = 'json';
3233 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
3234 var ATTACHMENT_TYPE_URL = 'url';
3235 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
3236 var MENU_TYPE_LIBRARY = 'library';
3237 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
3238 var USER_VARIATION_SOURCE = 'user-variation';
3239 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
3240 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
3241 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
3242 var USER_URL_SOURCE = 'user-url';
3243 exports.USER_URL_SOURCE = USER_URL_SOURCE;
3244 var Attachments = function Attachments(props) {
3245 if (!props.attachments.length) {
3246 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
3247 disabled: props.disabled,
3248 onAttach: props.onAttach,
3249 items: [{
3250 title: (0, _i18n.__)('Reference a website', 'elementor'),
3251 icon: _websiteIcon.default,
3252 type: ATTACHMENT_TYPE_URL
3253 }, {
3254 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
3255 icon: _copyPageIcon.default,
3256 type: MENU_TYPE_LIBRARY
3257 }]
3258 });
3259 }
3260 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3261 direction: "row",
3262 spacing: 1
3263 }, props.attachments.map(function (attachment, index) {
3264 switch (attachment.type) {
3265 case ATTACHMENT_TYPE_JSON:
3266 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
3267 key: index
3268 }, props));
3269 case ATTACHMENT_TYPE_URL:
3270 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
3271 key: index
3272 }, props));
3273 default:
3274 return null;
3275 }
3276 }));
3277 };
3278 Attachments.propTypes = {
3279 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3280 onAttach: _propTypes.default.func.isRequired,
3281 onDetach: _propTypes.default.func,
3282 disabled: _propTypes.default.bool
3283 };
3284 var _default = Attachments;
3285 exports["default"] = _default;
3286
3287 /***/ }),
3288
3289 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
3290 /*!************************************************************************************************!*\
3291 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
3292 \************************************************************************************************/
3293 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3294
3295 "use strict";
3296
3297
3298 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3299 Object.defineProperty(exports, "__esModule", ({
3300 value: true
3301 }));
3302 exports["default"] = exports.AttachDialog = void 0;
3303 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3304 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3305 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3306 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3307 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3308 var AttachDialog = function AttachDialog(props) {
3309 var type = props.type;
3310 var url = props.url;
3311 switch (type) {
3312 case _attachments.ATTACHMENT_TYPE_URL:
3313 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3314 url: url,
3315 onAttach: props.onAttach,
3316 onClose: props.onClose
3317 });
3318 case _attachments.MENU_TYPE_LIBRARY:
3319 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3320 onAttach: props.onAttach,
3321 onClose: props.onClose
3322 });
3323 }
3324 return null;
3325 };
3326 exports.AttachDialog = AttachDialog;
3327 AttachDialog.propTypes = {
3328 type: _propTypes.default.string,
3329 onAttach: _propTypes.default.func,
3330 onClose: _propTypes.default.func,
3331 url: _propTypes.default.string
3332 };
3333 var _default = AttachDialog;
3334 exports["default"] = _default;
3335
3336 /***/ }),
3337
3338 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3339 /*!*************************************************************************************************!*\
3340 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3341 \*************************************************************************************************/
3342 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3343
3344 "use strict";
3345
3346
3347 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3348 Object.defineProperty(exports, "__esModule", ({
3349 value: true
3350 }));
3351 exports.LibraryDialog = void 0;
3352 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3353 var _react = __webpack_require__(/*! react */ "react");
3354 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3355 var LibraryDialog = function LibraryDialog(props) {
3356 var isApplyingTemplate = (0, _react.useRef)(false);
3357 (0, _react.useEffect)(function () {
3358 var onLibraryHide = function onLibraryHide() {
3359 if (isApplyingTemplate.current) {
3360 return;
3361 }
3362 props.onClose();
3363 };
3364 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3365 return function () {
3366 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3367 };
3368 }, [props]);
3369 (0, _react.useEffect)(function () {
3370 var onMessage = function onMessage(event) {
3371 var _event$data = event.data,
3372 type = _event$data.type,
3373 json = _event$data.json,
3374 html = _event$data.html,
3375 label = _event$data.label,
3376 source = _event$data.source;
3377 switch (type) {
3378 case 'library/attach:start':
3379 isApplyingTemplate.current = true;
3380 break;
3381 case 'library/attach':
3382 props.onAttach([{
3383 type: _attachments.ATTACHMENT_TYPE_JSON,
3384 previewHTML: html,
3385 content: json,
3386 label: label,
3387 source: source
3388 }]);
3389 isApplyingTemplate.current = false;
3390 props.onClose();
3391 break;
3392 }
3393 };
3394 window.addEventListener('message', onMessage);
3395 return function () {
3396 window.removeEventListener('message', onMessage);
3397 };
3398 });
3399 $e.run('library/open', {
3400 toDefault: true,
3401 mode: 'ai-attachment'
3402 });
3403 isApplyingTemplate.current = false;
3404 return null;
3405 };
3406 exports.LibraryDialog = LibraryDialog;
3407 LibraryDialog.propTypes = {
3408 onAttach: _propTypes.default.func.isRequired,
3409 onClose: _propTypes.default.func.isRequired
3410 };
3411
3412 /***/ }),
3413
3414 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3415 /*!***************************************************************************************!*\
3416 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3417 \***************************************************************************************/
3418 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3419
3420 "use strict";
3421
3422
3423 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3424 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3425 Object.defineProperty(exports, "__esModule", ({
3426 value: true
3427 }));
3428 exports.Menu = void 0;
3429 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3430 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3431 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3432 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3433 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3434 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3435 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3436 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3437 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
3438 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
3439 var Menu = function Menu(props) {
3440 var _useState = (0, _react.useState)(false),
3441 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3442 isOpen = _useState2[0],
3443 setIsOpen = _useState2[1];
3444 var _useState3 = (0, _react.useState)(null),
3445 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3446 selectedType = _useState4[0],
3447 setSelectedType = _useState4[1];
3448 var _useTheme = (0, _ui.useTheme)(),
3449 direction = _useTheme.direction;
3450 var anchorRef = (0, _react.useRef)(null);
3451 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3452 isViewed = _useIntroduction.isViewed,
3453 markAsViewed = _useIntroduction.markAsViewed;
3454 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3455 size: "small",
3456 ref: anchorRef,
3457 disabled: props.disabled,
3458 onClick: function onClick() {
3459 setIsOpen(true);
3460 if (!isViewed) {
3461 markAsViewed();
3462 }
3463 },
3464 color: "secondary"
3465 }, function () {
3466 if (isOpen) {
3467 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3468 fontSize: "small"
3469 });
3470 } else if (isViewed) {
3471 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3472 fontSize: "small"
3473 });
3474 }
3475 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3476 color: "primary",
3477 badgeContent: " ",
3478 variant: "dot"
3479 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3480 fontSize: "small"
3481 }));
3482 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3483 open: isOpen,
3484 anchorEl: anchorRef.current,
3485 onClose: function onClose() {
3486 return setIsOpen(false);
3487 },
3488 anchorOrigin: {
3489 vertical: 'bottom',
3490 horizontal: 'rtl' === direction ? 'right' : 'left'
3491 },
3492 transformOrigin: {
3493 vertical: 'top',
3494 horizontal: 'rtl' === direction ? 'right' : 'left'
3495 }
3496 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3497 sx: {
3498 width: 440
3499 }
3500 }, props.items.map(function (item) {
3501 var IconComponent = item.icon;
3502 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3503 key: item.type,
3504 onClick: function onClick() {
3505 setSelectedType(item.type);
3506 setIsOpen(false);
3507 }
3508 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3509 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3510 type: selectedType,
3511 onAttach: props.onAttach,
3512 onClose: function onClose() {
3513 setIsOpen(false);
3514 setSelectedType(null);
3515 }
3516 }));
3517 };
3518 exports.Menu = Menu;
3519 Menu.propTypes = {
3520 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3521 title: _propTypes.default.string.isRequired,
3522 type: _propTypes.default.string.isRequired,
3523 icon: _propTypes.default.elementType
3524 })).isRequired,
3525 onAttach: _propTypes.default.func.isRequired,
3526 disabled: _propTypes.default.bool
3527 };
3528
3529 /***/ }),
3530
3531 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3532 /*!******************************************************************************************************!*\
3533 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3534 \******************************************************************************************************/
3535 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3536
3537 "use strict";
3538
3539
3540 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3541 Object.defineProperty(exports, "__esModule", ({
3542 value: true
3543 }));
3544 exports.PromptPowerNotice = void 0;
3545 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3546 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3547 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3548 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3549 var PromptPowerNotice = function PromptPowerNotice() {
3550 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3551 isViewed = _useIntroduction.isViewed,
3552 markAsViewed = _useIntroduction.markAsViewed;
3553 if (isViewed) {
3554 return null;
3555 }
3556 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3557 sx: {
3558 pt: 2,
3559 px: 2,
3560 pb: 0
3561 }
3562 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3563 severity: "info",
3564 onClose: function onClose() {
3565 return markAsViewed();
3566 }
3567 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3568 variant: "body2",
3569 display: "inline-block",
3570 sx: {
3571 paddingInlineEnd: 1
3572 }
3573 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3574 variant: "body2",
3575 display: "inline-block"
3576 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3577 };
3578 exports.PromptPowerNotice = PromptPowerNotice;
3579
3580 /***/ }),
3581
3582 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3583 /*!*************************************************************************************************!*\
3584 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3585 \*************************************************************************************************/
3586 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3587
3588 "use strict";
3589
3590
3591 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3592 Object.defineProperty(exports, "__esModule", ({
3593 value: true
3594 }));
3595 exports["default"] = exports.ThumbnailJson = void 0;
3596 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3597 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3598 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3599 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3600 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3601 var ThumbnailJson = function ThumbnailJson(props) {
3602 var _props$attachments;
3603 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3604 return 'json' === item.type;
3605 });
3606 if (!attachment) {
3607 return null;
3608 }
3609 if (!attachment.previewHTML) {
3610 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3611 animation: "wave",
3612 variant: "rounded",
3613 width: 60,
3614 height: 60
3615 });
3616 }
3617 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3618 html: attachment.previewHTML,
3619 disabled: props.disabled
3620 });
3621 };
3622 exports.ThumbnailJson = ThumbnailJson;
3623 ThumbnailJson.propTypes = {
3624 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3625 disabled: _propTypes.default.bool
3626 };
3627 var _default = ThumbnailJson;
3628 exports["default"] = _default;
3629
3630 /***/ }),
3631
3632 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3633 /*!************************************************************************************************!*\
3634 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3635 \************************************************************************************************/
3636 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3637
3638 "use strict";
3639
3640
3641 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3642 Object.defineProperty(exports, "__esModule", ({
3643 value: true
3644 }));
3645 exports["default"] = exports.ThumbnailUrl = void 0;
3646 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3647 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3648 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3649 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3650 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3651 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3652 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3653 var ThumbnailUrl = function ThumbnailUrl(props) {
3654 var _props$attachments;
3655 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3656 return 'url' === item.type;
3657 });
3658 if (!attachment) {
3659 return null;
3660 }
3661 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3662 sx: {
3663 position: 'relative',
3664 '&:hover::before': {
3665 content: '""',
3666 position: 'absolute',
3667 userSelect: 'none',
3668 inset: 0,
3669 backgroundColor: 'rgba(0,0,0,0.6)',
3670 borderRadius: 1,
3671 zIndex: 1
3672 },
3673 '&:hover .remove-attachment': {
3674 display: 'flex'
3675 }
3676 }
3677 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3678 className: "remove-attachment",
3679 size: "small",
3680 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3681 disabled: props.disabled,
3682 onClick: function onClick(event) {
3683 event.stopPropagation();
3684 props.onDetach();
3685 },
3686 sx: {
3687 display: 'none',
3688 position: 'absolute',
3689 insetInlineEnd: 4,
3690 insetBlockStart: 4,
3691 backgroundColor: 'secondary.main',
3692 zIndex: 1,
3693 borderRadius: 1,
3694 p: '3px',
3695 '&:hover': {
3696 backgroundColor: 'secondary.dark'
3697 }
3698 }
3699 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3700 sx: {
3701 fontSize: '1.125rem',
3702 color: 'common.white'
3703 }
3704 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3705 disabled: props.disabled,
3706 html: attachment.previewHTML
3707 }));
3708 };
3709 exports.ThumbnailUrl = ThumbnailUrl;
3710 ThumbnailUrl.propTypes = {
3711 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3712 disabled: _propTypes.default.bool,
3713 onDetach: _propTypes.default.func
3714 };
3715 var _default = ThumbnailUrl;
3716 exports["default"] = _default;
3717
3718 /***/ }),
3719
3720 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3721 /*!********************************************************************************************!*\
3722 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3723 \********************************************************************************************/
3724 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3725
3726 "use strict";
3727
3728
3729 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3730 Object.defineProperty(exports, "__esModule", ({
3731 value: true
3732 }));
3733 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3734 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3735 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3736 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3737 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3738 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3739 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3740 var _templateObject;
3741 var THUMBNAIL_SIZE = 64;
3742 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3743 var StyledBody = _styledComponents.default.body(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\thtml, body {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\toverflow: hidden;\n\t}\n\n\tbody > * {\n\t\twidth: 100% !important;\n\t}\n\n\tbody > img {\n\t\theight: 100%;\n\t\tobject-fit: cover;\n\t}\n\n\tbody:has(> img) {\n\t\theight: ", "px\n\t}\n"])), THUMBNAIL_SIZE);
3744 var Thumbnail = function Thumbnail(props) {
3745 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3746 var dataWidth = (_props$html$match = props.html.match('data-width="(?<width>\\d+)"')) === null || _props$html$match === void 0 ? void 0 : (_props$html$match$gro = _props$html$match.groups) === null || _props$html$match$gro === void 0 ? void 0 : _props$html$match$gro.width;
3747 var dataHeight = (_props$html$match2 = props.html.match('data-height="(?<height>\\d+)"')) === null || _props$html$match2 === void 0 ? void 0 : (_props$html$match2$gr = _props$html$match2.groups) === null || _props$html$match2$gr === void 0 ? void 0 : _props$html$match2$gr.height;
3748 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3749 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3750 var scaleFactor = Math.min(height, width);
3751 var scale = THUMBNAIL_SIZE / scaleFactor;
3752
3753 // Center the preview
3754 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3755 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3756 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3757 dir: "ltr",
3758 sx: {
3759 position: 'relative',
3760 cursor: 'default',
3761 overflow: 'hidden',
3762 border: '1px solid',
3763 borderColor: 'grey.300',
3764 borderRadius: 1,
3765 boxSizing: 'border-box',
3766 width: THUMBNAIL_SIZE,
3767 height: THUMBNAIL_SIZE,
3768 opacity: props.disabled ? 0.5 : 1
3769 }
3770 }, /*#__PURE__*/_react.default.createElement("iframe", {
3771 title: (0, _i18n.__)('Preview', 'elementor'),
3772 sandbox: "",
3773 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3774 style: {
3775 border: 'none',
3776 overflow: 'hidden',
3777 width: width,
3778 height: height,
3779 transform: "scale(".concat(scale, ")"),
3780 transformOrigin: "".concat(left, "px ").concat(top, "px")
3781 }
3782 }));
3783 };
3784 exports.Thumbnail = Thumbnail;
3785 Thumbnail.propTypes = {
3786 html: _propTypes.default.string.isRequired,
3787 disabled: _propTypes.default.bool
3788 };
3789
3790 /***/ }),
3791
3792 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3793 /*!*********************************************************************************************!*\
3794 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3795 \*********************************************************************************************/
3796 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3797
3798 "use strict";
3799
3800
3801 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3802 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3803 Object.defineProperty(exports, "__esModule", ({
3804 value: true
3805 }));
3806 exports.UrlDialog = void 0;
3807 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3808 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3809 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3810 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3811 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3812 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3813 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3814 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3815 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3816 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3817 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3818 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
3819 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); }
3820 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; }
3821 var UrlDialog = function UrlDialog(props) {
3822 var iframeRef = (0, _react.useRef)(null);
3823 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3824 targetUrl: props.url
3825 }),
3826 iframeSource = _useAttachUrlService.iframeSource;
3827 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3828 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3829 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3830 isTimeout = _useTimeout2[0],
3831 turnOffTimeout = _useTimeout2[1];
3832 var _useUserInfo = (0, _useUserInfo2.default)(),
3833 isConnected = _useUserInfo.isConnected,
3834 hasSubscription = _useUserInfo.hasSubscription,
3835 credits = _useUserInfo.credits,
3836 isLoading = _useUserInfo.isLoading,
3837 initialUsagePercentage = _useUserInfo.usagePercentage;
3838 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3839 isLoaded = _useRemoteConfig.isLoaded,
3840 isError = _useRemoteConfig.isError,
3841 remoteConfig = _useRemoteConfig.remoteConfig;
3842 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
3843 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
3844 usagePercentage = _useRequestIds.usagePercentage;
3845 var _useState = (0, _react.useState)(false),
3846 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3847 isInitUsageDone = _useState2[0],
3848 setIsInitUsageDone = _useState2[1];
3849 (0, _react.useEffect)(function () {
3850 if (!isInitUsageDone && !isLoading && (initialUsagePercentage || 0 === initialUsagePercentage)) {
3851 updateUsagePercentage(initialUsagePercentage);
3852 setIsInitUsageDone(true);
3853 }
3854 }, [isLoading, initialUsagePercentage, isInitUsageDone, updateUsagePercentage]);
3855 (0, _react.useEffect)(function () {
3856 var onMessage = function onMessage(event) {
3857 if (event.origin !== iframeOrigin) {
3858 return;
3859 }
3860 var _event$data = event.data,
3861 type = _event$data.type,
3862 html = _event$data.html,
3863 url = _event$data.url;
3864 switch (type) {
3865 case 'element-selector/close':
3866 props.onClose();
3867 break;
3868 case 'element-selector/loaded':
3869 turnOffTimeout();
3870 break;
3871 case 'element-selector/attach':
3872 props.onAttach([{
3873 type: 'url',
3874 previewHTML: html,
3875 content: html,
3876 label: url ? new URL(url).href : '',
3877 source: _attachments.USER_URL_SOURCE
3878 }]);
3879 break;
3880 }
3881 };
3882 window.addEventListener('message', onMessage);
3883 return function () {
3884 window.removeEventListener('message', onMessage);
3885 };
3886 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3887 if (!iframeSource) {
3888 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3889 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3890 onClose: props.onClose
3891 });
3892 }
3893 if (!isLoaded || isError) {
3894 return null;
3895 }
3896 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3897 open: true,
3898 fullScreen: true,
3899 hideBackdrop: true,
3900 maxWidth: "md",
3901 sx: {
3902 '& .MuiPaper-root': {
3903 backgroundColor: 'transparent'
3904 }
3905 }
3906 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3907 sx: {
3908 padding: 0
3909 }
3910 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3911 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3912 onClose: props.onClose
3913 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3914 ref: iframeRef,
3915 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3916 src: iframeSource,
3917 onLoad: function onLoad() {
3918 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3919 accessLevel = _window$elementorAppC.access_level,
3920 accessTier = _window$elementorAppC.access_tier,
3921 isPro = _window$elementorAppC.is_pro;
3922 iframeRef.current.contentWindow.postMessage({
3923 type: 'referrer/info',
3924 info: {
3925 page: {
3926 url: window.location.href
3927 },
3928 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3929 products: {
3930 core: {
3931 version: window.elementor.config.version
3932 },
3933 pro: {
3934 isPro: isPro,
3935 accessLevel: accessLevel,
3936 accessTier: accessTier
3937 },
3938 ai: {
3939 isConnected: isConnected,
3940 hasSubscription: hasSubscription,
3941 credits: credits,
3942 usagePercentage: usagePercentage
3943 }
3944 },
3945 user: {
3946 isAdmin: window.elementor.config.user.is_administrator
3947 }
3948 }
3949 }, iframeOrigin);
3950 },
3951 style: {
3952 border: 'none',
3953 overflow: 'scroll',
3954 width: '100%',
3955 height: '100%',
3956 backgroundColor: 'rgba(255,255,255,0.6)'
3957 }
3958 })));
3959 };
3960 exports.UrlDialog = UrlDialog;
3961 UrlDialog.propTypes = {
3962 onAttach: _propTypes.default.func.isRequired,
3963 onClose: _propTypes.default.func.isRequired,
3964 url: _propTypes.default.string
3965 };
3966
3967 /***/ }),
3968
3969 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3970 /*!************************************************************************************!*\
3971 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3972 \************************************************************************************/
3973 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3974
3975 "use strict";
3976
3977
3978 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3979 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3980 Object.defineProperty(exports, "__esModule", ({
3981 value: true
3982 }));
3983 exports["default"] = void 0;
3984 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3985 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3986 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3987 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3988 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3989 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3990 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3991 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3992 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3993 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3994 var _excluded = ["sx", "PaperProps"];
3995 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); }
3996 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; }
3997 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; }
3998 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; }
3999 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
4000 return {
4001 '& .MuiDialog-container': {
4002 marginTop: 0,
4003 alignItems: 'flex-end',
4004 paddingBottom: '16vh'
4005 },
4006 '& .MuiPaper-root': {
4007 margin: 0,
4008 maxHeight: '80vh'
4009 }
4010 };
4011 });
4012 var DialogHeader = function DialogHeader(_ref) {
4013 var onClose = _ref.onClose,
4014 children = _ref.children;
4015 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
4016 sx: {
4017 fontWeight: 'normal'
4018 },
4019 color: "transparent",
4020 position: "relative"
4021 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
4022 variant: "dense"
4023 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
4024 sx: {
4025 mr: 1
4026 }
4027 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4028 component: "span",
4029 variant: "subtitle2",
4030 sx: {
4031 fontWeight: 'bold',
4032 textTransform: 'uppercase'
4033 }
4034 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4035 label: (0, _i18n.__)('Beta', 'elementor'),
4036 color: "default",
4037 size: "small",
4038 sx: {
4039 ml: 1
4040 }
4041 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4042 direction: "row",
4043 spacing: 1,
4044 alignItems: "center",
4045 sx: {
4046 ml: 'auto'
4047 }
4048 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4049 size: "small",
4050 "aria-label": "close",
4051 onClick: onClose,
4052 sx: {
4053 '&.MuiButtonBase-root': {
4054 mr: -1
4055 }
4056 }
4057 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
4058 };
4059 DialogHeader.propTypes = {
4060 children: _propTypes.default.node,
4061 onClose: _propTypes.default.func.isRequired
4062 };
4063 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
4064 return {
4065 '&.MuiDialogContent-root': {
4066 padding: 0
4067 }
4068 };
4069 });
4070 var LayoutDialog = function LayoutDialog(_ref2) {
4071 var _ref2$sx = _ref2.sx,
4072 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
4073 _ref2$PaperProps = _ref2.PaperProps,
4074 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
4075 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
4076 var _useState = (0, _react.useState)({
4077 pointerEvents: 'none'
4078 }),
4079 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4080 sxStyle = _useState2[0],
4081 setSxStyle = _useState2[1];
4082 var timeoutRef = (0, _react.useRef)(null);
4083
4084 /**
4085 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
4086 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
4087 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
4088 */
4089 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
4090 maxWidth: "md",
4091 PaperProps: _objectSpread({
4092 sx: {
4093 pointerEvents: 'auto'
4094 },
4095 onMouseEnter: function onMouseEnter() {
4096 clearTimeout(timeoutRef.current);
4097 setSxStyle({
4098 pointerEvents: 'all'
4099 });
4100 },
4101 onMouseLeave: function onMouseLeave() {
4102 clearTimeout(timeoutRef.current);
4103 timeoutRef.current = setTimeout(function () {
4104 setSxStyle({
4105 pointerEvents: 'none'
4106 });
4107 }, 200);
4108 }
4109 }, PaperProps)
4110 }, props, {
4111 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
4112 }));
4113 };
4114 LayoutDialog.propTypes = {
4115 sx: _propTypes.default.object,
4116 PaperProps: _propTypes.default.object
4117 };
4118 LayoutDialog.Header = DialogHeader;
4119 LayoutDialog.Content = StyledDialogContent;
4120 var _default = LayoutDialog;
4121 exports["default"] = _default;
4122
4123 /***/ }),
4124
4125 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
4126 /*!*********************************************************************************************!*\
4127 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
4128 \*********************************************************************************************/
4129 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4130
4131 "use strict";
4132
4133
4134 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4135 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4136 Object.defineProperty(exports, "__esModule", ({
4137 value: true
4138 }));
4139 exports.ProTemplateIndicator = void 0;
4140 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4141 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4142 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4143 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4144 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4145 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); }
4146 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; }
4147 var popoverId = 'e-pro-upgrade-popover';
4148 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
4149 var theme = _ref.theme;
4150 return {
4151 position: 'relative',
4152 padding: theme.spacing(3),
4153 boxShadow: theme.shadows[4],
4154 zIndex: '9999'
4155 };
4156 });
4157 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
4158 var theme = _ref2.theme;
4159 return {
4160 position: 'absolute',
4161 width: theme.spacing(5),
4162 height: theme.spacing(5),
4163 overflow: 'hidden',
4164 // Override Popper inline styles.
4165 left: '100% !important',
4166 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
4167 '&::after': {
4168 backgroundColor: theme.palette.background.paper,
4169 content: '""',
4170 display: 'block',
4171 position: 'absolute',
4172 width: theme.spacing(2.5),
4173 height: theme.spacing(2.5),
4174 top: '50%',
4175 left: '50%',
4176 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
4177 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
4178 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
4179 }
4180 };
4181 });
4182 var ProTemplateIndicator = function ProTemplateIndicator() {
4183 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
4184 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
4185 var _useState = (0, _react.useState)(false),
4186 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4187 isPopoverOpen = _useState2[0],
4188 setIsPopoverOpen = _useState2[1];
4189 var anchorEl = (0, _react.useRef)(null);
4190 var arrowEl = (0, _react.useRef)(null);
4191 var showPopover = function showPopover() {
4192 return setIsPopoverOpen(true);
4193 };
4194 var hidePopover = function hidePopover() {
4195 return setIsPopoverOpen(false);
4196 };
4197 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4198 flexDirection: "row-reverse",
4199 component: "span",
4200 display: "flex",
4201 onMouseLeave: hidePopover,
4202 alignItems: "center"
4203 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4204 ref: anchorEl,
4205 onMouseEnter: showPopover,
4206 onClick: function onClick(e) {
4207 return e.stopPropagation();
4208 } /* Do nothing */,
4209 "aria-owns": isPopoverOpen ? popoverId : undefined,
4210 "aria-haspopup": "true",
4211 sx: {
4212 m: 1,
4213 '&:hover': {
4214 backgroundColor: 'action.selected'
4215 }
4216 }
4217 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
4218 sx: {
4219 color: 'text.primary'
4220 }
4221 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
4222 open: isPopoverOpen,
4223 popperOptions: {
4224 placement: 'left-start',
4225 modifiers: [{
4226 name: 'arrow',
4227 enabled: true,
4228 options: {
4229 element: arrowEl.current,
4230 padding: 5
4231 }
4232 }, {
4233 name: 'offset',
4234 options: {
4235 offset: [0, 10]
4236 }
4237 }]
4238 },
4239 anchorEl: anchorEl.current,
4240 sx: {
4241 zIndex: '9999',
4242 maxWidth: 300
4243 }
4244 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
4245 ref: arrowEl
4246 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4247 alignItems: "start",
4248 spacing: 2
4249 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4250 color: "promotion",
4251 variant: "outlined",
4252 size: "small",
4253 label: (0, _i18n.__)('Pro', 'elementor'),
4254 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
4255 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4256 variant: "body2"
4257 }, (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, {
4258 variant: "contained",
4259 color: "promotion",
4260 size: "small",
4261 href: actionUrl,
4262 target: "_blank",
4263 sx: {
4264 alignSelf: 'flex-end'
4265 }
4266 }, actionLabel)))));
4267 };
4268 exports.ProTemplateIndicator = ProTemplateIndicator;
4269
4270 /***/ }),
4271
4272 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4273 /*!******************************************************************************************!*\
4274 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4275 \******************************************************************************************/
4276 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4277
4278 "use strict";
4279
4280
4281 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4282 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4283 Object.defineProperty(exports, "__esModule", ({
4284 value: true
4285 }));
4286 exports["default"] = void 0;
4287 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4288 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4289 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4290 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4291 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4292 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4293 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4294 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4295 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4296 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4297 var _excluded = ["onSubmit"];
4298 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); }
4299 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; }
4300 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; }
4301 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; }
4302 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4303 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4304 // eslint-disable-next-line jsx-a11y/no-autofocus
4305 , (0, _extends2.default)({
4306 autoFocus: true,
4307 multiline: true,
4308 size: "small",
4309 maxRows: 3,
4310 color: "secondary",
4311 variant: "standard"
4312 }, props, {
4313 inputRef: ref,
4314 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4315 type: 'search',
4316 sx: {
4317 pt: 0
4318 }
4319 })
4320 }));
4321 });
4322 TextInput.propTypes = {
4323 InputProps: _propTypes.default.object
4324 };
4325 var PaperComponent = function PaperComponent(props) {
4326 var _useConfig = (0, _config.useConfig)(),
4327 mode = _useConfig.mode;
4328 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4329 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4330 elevation: 8,
4331 sx: {
4332 borderRadius: 2
4333 }
4334 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4335 component: _ui.Box,
4336 color: function color(theme) {
4337 return theme.palette.text.tertiary;
4338 },
4339 variant: "caption",
4340 paddingX: 2,
4341 paddingY: 1
4342 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4343 sx: {
4344 m: 2
4345 }
4346 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4347 libraryLink: libraryLink
4348 })));
4349 };
4350 PaperComponent.propTypes = {
4351 children: _propTypes.default.node
4352 };
4353 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4354 var onSubmit = _ref.onSubmit,
4355 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4356 var _useState = (0, _react.useState)(false),
4357 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4358 showSuggestions = _useState2[0],
4359 setShowSuggestions = _useState2[1];
4360 var theme = (0, _ui.useTheme)();
4361 var itemHeight = parseInt(theme.spacing(4));
4362 var maxItems = 5;
4363 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4364 PaperComponent: PaperComponent,
4365 ListboxProps: {
4366 sx: {
4367 maxHeight: maxItems * itemHeight
4368 }
4369 },
4370 renderOption: function renderOption(optionProps, option) {
4371 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4372 title: option.text,
4373 noWrap: true,
4374 variant: "body2",
4375 component: _ui.Box,
4376 sx: {
4377 '&.MuiAutocomplete-option': {
4378 display: 'block',
4379 minHeight: itemHeight
4380 }
4381 }
4382 }), option.text);
4383 },
4384 freeSolo: true,
4385 fullWidth: true,
4386 disableClearable: true,
4387 open: showSuggestions,
4388 onClose: function onClose(e) {
4389 var _e$relatedTarget;
4390 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4391 },
4392 onKeyDown: function onKeyDown(e) {
4393 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4394 onSubmit(e);
4395 } else if ('/' === e.key && '' === e.target.value) {
4396 e.preventDefault();
4397 setShowSuggestions(true);
4398 }
4399 }
4400 }, props));
4401 };
4402 PromptAutocomplete.propTypes = {
4403 onSubmit: _propTypes.default.func.isRequired
4404 };
4405 PromptAutocomplete.TextInput = TextInput;
4406 var _default = PromptAutocomplete;
4407 exports["default"] = _default;
4408
4409 /***/ }),
4410
4411 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4412 /*!**********************************************************************************!*\
4413 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4414 \**********************************************************************************/
4415 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4416
4417 "use strict";
4418
4419
4420 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4421 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4422 Object.defineProperty(exports, "__esModule", ({
4423 value: true
4424 }));
4425 exports["default"] = void 0;
4426 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4427 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4428 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4429 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4430 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4431 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4432 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4433 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4434 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4435 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4436 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4437 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4438 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4439 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4440 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4441 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4442 var _excluded = ["tooltip"];
4443 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); }
4444 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; }
4445 var PROMPT_SUGGESTIONS = Object.freeze([{
4446 text: (0, _i18n.__)('Hero section on [topic] with heading, text, buttons on the right, and an image on the left', 'elementor.com')
4447 }, {
4448 text: (0, _i18n.__)('About Us section on [topic] with heading, text, and big image below', 'elementor.com')
4449 }, {
4450 text: (0, _i18n.__)('Team section with four image boxes showcasing team members', 'elementor.com')
4451 }, {
4452 text: (0, _i18n.__)('FAQ section with a toggle widget showcasing FAQs about [topic]', 'elementor.com')
4453 }, {
4454 text: (0, _i18n.__)('Gallery section with a carousel displaying three images at once', 'elementor.com')
4455 }, {
4456 text: (0, _i18n.__)('Contact section with a form for [topic]', 'elementor.com')
4457 }, {
4458 text: (0, _i18n.__)('Client section featuring companies\' logos', 'elementor.com')
4459 }, {
4460 text: (0, _i18n.__)('Testimonial section with testimonials, each featuring a star rating and an image', 'elementor.com')
4461 }, {
4462 text: (0, _i18n.__)('Service section about [topic], showcasing four services with buttons', 'elementor.com')
4463 }, {
4464 text: (0, _i18n.__)('Stats section with counters displaying data about [topic]', 'elementor.com')
4465 }, {
4466 text: (0, _i18n.__)('Quote section with colored background, featuring a centered quote', 'elementor.com')
4467 }, {
4468 text: (0, _i18n.__)('Pricing section for [topic] with a pricing list', 'elementor.com')
4469 }, {
4470 text: (0, _i18n.__)('Subscribe section featuring a simple email form, inviting users to stay informed on [topic]', 'elementor.com')
4471 }]);
4472 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4473 var tooltip = _ref.tooltip,
4474 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4475 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4476 title: tooltip
4477 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4478 component: "span",
4479 sx: {
4480 cursor: props.disabled ? 'default' : 'pointer'
4481 }
4482 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4483 };
4484 IconButtonWithTooltip.propTypes = {
4485 tooltip: _propTypes.default.string,
4486 disabled: _propTypes.default.bool
4487 };
4488 var BackButton = function BackButton(props) {
4489 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4490 size: "small",
4491 color: "secondary",
4492 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4493 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4494 };
4495 var EditButton = function EditButton(props) {
4496 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4497 size: "small",
4498 color: "primary",
4499 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4500 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4501 };
4502 var GenerateButton = function GenerateButton(props) {
4503 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4504 size: "small",
4505 fullWidth: false
4506 }, props), (0, _i18n.__)('Generate', 'elementor'));
4507 };
4508 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4509 var _attachments$;
4510 var attachments = _ref2.attachments,
4511 isActive = _ref2.isActive,
4512 isLoading = _ref2.isLoading,
4513 _ref2$showActions = _ref2.showActions,
4514 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4515 onAttach = _ref2.onAttach,
4516 onDetach = _ref2.onDetach,
4517 _onSubmit = _ref2.onSubmit,
4518 onBack = _ref2.onBack,
4519 onEdit = _ref2.onEdit,
4520 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4521 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4522 var _useState = (0, _react.useState)(''),
4523 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4524 prompt = _useState2[0],
4525 setPrompt = _useState2[1];
4526 (0, _react.useEffect)(function () {
4527 if (shouldResetPrompt) {
4528 setPrompt('');
4529 }
4530 }, [shouldResetPrompt]);
4531 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4532 isEnhancing = _usePromptEnhancer.isEnhancing,
4533 enhance = _usePromptEnhancer.enhance;
4534 var previousPrompt = (0, _react.useRef)('');
4535 var _useConfig = (0, _config.useConfig)(),
4536 attachmentsTypes = _useConfig.attachmentsTypes;
4537 var isInputDisabled = isLoading || isEnhancing || !isActive;
4538 var isInputEmpty = '' === prompt && !attachments.length;
4539 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4540 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4541 var attachmentsConfig = attachmentsTypes[attachmentsType];
4542 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4543 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');
4544 var handleBack = function handleBack() {
4545 setPrompt(previousPrompt.current);
4546 onBack();
4547 };
4548 var handleEdit = function handleEdit() {
4549 previousPrompt.current = prompt;
4550 onEdit();
4551 };
4552 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4553 component: "form",
4554 onSubmit: function onSubmit(e) {
4555 return _onSubmit(e, prompt);
4556 },
4557 direction: "row",
4558 sx: {
4559 p: 3
4560 },
4561 alignItems: "start",
4562 gap: 1
4563 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4564 direction: "row",
4565 alignItems: "start",
4566 flexGrow: 1,
4567 spacing: 2
4568 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4569 disabled: isLoading || isEnhancing,
4570 onClick: handleBack
4571 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4572 disabled: isLoading,
4573 onClick: handleEdit
4574 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4575 attachments: attachments,
4576 onAttach: onAttach,
4577 onDetach: onDetach,
4578 disabled: isInputDisabled
4579 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4580 value: prompt,
4581 disabled: isInputDisabled,
4582 onSubmit: function onSubmit(e) {
4583 return _onSubmit(e, prompt);
4584 },
4585 options: promptSuggestions,
4586 onChange: function onChange(_, selectedValue) {
4587 return setPrompt(selectedValue.text + ' ');
4588 },
4589 renderInput: function renderInput(params) {
4590 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4591 ref: ref,
4592 onChange: function onChange(e) {
4593 return setPrompt(e.target.value);
4594 },
4595 placeholder: promptPlaceholder
4596 }));
4597 }
4598 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4599 size: "small",
4600 disabled: isGenerateDisabled || '' === prompt,
4601 isLoading: isEnhancing,
4602 onClick: function onClick() {
4603 return enhance().then(function (_ref3) {
4604 var result = _ref3.result;
4605 return setPrompt(result);
4606 });
4607 }
4608 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4609 disabled: isGenerateDisabled
4610 }));
4611 });
4612 PromptForm.propTypes = {
4613 isActive: _propTypes.default.bool,
4614 onAttach: _propTypes.default.func,
4615 onDetach: _propTypes.default.func,
4616 isLoading: _propTypes.default.bool,
4617 showActions: _propTypes.default.bool,
4618 onSubmit: _propTypes.default.func.isRequired,
4619 onBack: _propTypes.default.func.isRequired,
4620 onEdit: _propTypes.default.func.isRequired,
4621 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4622 shouldResetPrompt: _propTypes.default.bool
4623 };
4624 var _default = PromptForm;
4625 exports["default"] = _default;
4626
4627 /***/ }),
4628
4629 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4630 /*!*******************************************************************************************!*\
4631 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4632 \*******************************************************************************************/
4633 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4634
4635 "use strict";
4636
4637
4638 Object.defineProperty(exports, "__esModule", ({
4639 value: true
4640 }));
4641 exports["default"] = void 0;
4642 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4643 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4644 shouldForwardProp: function shouldForwardProp(prop) {
4645 return prop !== 'outlineOffset';
4646 }
4647 })(function (_ref) {
4648 var theme = _ref.theme,
4649 selected = _ref.selected,
4650 height = _ref.height,
4651 disabled = _ref.disabled,
4652 _ref$outlineOffset = _ref.outlineOffset,
4653 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4654 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4655 var outline = "2px solid ".concat(outlineColor);
4656 return {
4657 height: height,
4658 cursor: disabled ? 'default' : 'pointer',
4659 overflow: 'hidden',
4660 boxSizing: 'border-box',
4661 backgroundPosition: 'top center',
4662 backgroundSize: '100% auto',
4663 backgroundRepeat: 'no-repeat',
4664 backgroundColor: theme.palette.common.white,
4665 borderRadius: theme.shape.borderRadius * 0.5,
4666 outlineOffset: outlineOffset,
4667 outline: outline,
4668 opacity: disabled ? '0.4' : '1',
4669 transition: "all 50ms linear",
4670 '&:hover': disabled ? {} : {
4671 outlineColor: theme.palette.text.primary
4672 }
4673 };
4674 });
4675 var _default = ScreenshotContainer;
4676 exports["default"] = _default;
4677
4678 /***/ }),
4679
4680 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4681 /*!*********************************************************************************************!*\
4682 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4683 \*********************************************************************************************/
4684 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4685
4686 "use strict";
4687
4688
4689 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4690 Object.defineProperty(exports, "__esModule", ({
4691 value: true
4692 }));
4693 exports["default"] = ScreenshotUnavailable;
4694 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4695 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4696 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4697 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4698 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4699 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4700 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; }
4701 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; }
4702 function ScreenshotUnavailable(props) {
4703 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4704 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4705 display: 'flex',
4706 alignItems: 'center',
4707 justifyContent: 'center',
4708 backgroundColor: 'background.paper',
4709 color: 'text.tertiary',
4710 fontStyle: 'italic',
4711 fontSize: '12px',
4712 paddingInline: 12,
4713 textAlign: 'center',
4714 lineHeight: 1.5
4715 })
4716 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4717 }
4718 ScreenshotUnavailable.propTypes = {
4719 sx: _propTypes.default.object
4720 };
4721
4722 /***/ }),
4723
4724 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4725 /*!*********************************************************************************!*\
4726 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4727 \*********************************************************************************/
4728 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4729
4730 "use strict";
4731
4732
4733 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4734 Object.defineProperty(exports, "__esModule", ({
4735 value: true
4736 }));
4737 exports["default"] = void 0;
4738 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4739 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4740 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4741 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4742 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4743 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4744 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4745 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; }
4746 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; }
4747 var SCREENSHOT_HEIGHT = '138px';
4748 var Screenshot = function Screenshot(_ref) {
4749 var url = _ref.url,
4750 type = _ref.type,
4751 _ref$isLoading = _ref.isLoading,
4752 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4753 _ref$isSelected = _ref.isSelected,
4754 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4755 isPlaceholder = _ref.isPlaceholder,
4756 disabled = _ref.disabled,
4757 onClick = _ref.onClick,
4758 _ref$sx = _ref.sx,
4759 sx = _ref$sx === void 0 ? {} : _ref$sx,
4760 outlineOffset = _ref.outlineOffset;
4761 if (isPlaceholder) {
4762 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4763 sx: _objectSpread({
4764 height: SCREENSHOT_HEIGHT
4765 }, sx)
4766 });
4767 }
4768 if (isLoading) {
4769 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4770 width: "100%",
4771 animation: "wave",
4772 variant: "rounded",
4773 height: SCREENSHOT_HEIGHT,
4774 sx: sx
4775 });
4776 }
4777 if (!url) {
4778 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4779 selected: isSelected,
4780 disabled: disabled,
4781 sx: sx,
4782 onClick: onClick,
4783 height: SCREENSHOT_HEIGHT,
4784 outlineOffset: outlineOffset
4785 });
4786 }
4787 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4788 selected: isSelected,
4789 disabled: disabled,
4790 sx: _objectSpread({
4791 backgroundImage: "url('".concat(url, "')")
4792 }, sx),
4793 onClick: onClick,
4794 height: SCREENSHOT_HEIGHT,
4795 outlineOffset: outlineOffset
4796 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4797 type: type
4798 }));
4799 };
4800 Screenshot.propTypes = {
4801 isSelected: _propTypes.default.bool,
4802 isLoading: _propTypes.default.bool,
4803 isPlaceholder: _propTypes.default.bool,
4804 disabled: _propTypes.default.bool,
4805 onClick: _propTypes.default.func.isRequired,
4806 url: _propTypes.default.string,
4807 type: _propTypes.default.string,
4808 sx: _propTypes.default.object,
4809 outlineOffset: _propTypes.default.string
4810 };
4811 var _default = Screenshot;
4812 exports["default"] = _default;
4813
4814 /***/ }),
4815
4816 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4817 /*!*************************************************************************************!*\
4818 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4819 \*************************************************************************************/
4820 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4821
4822 "use strict";
4823
4824
4825 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4826 Object.defineProperty(exports, "__esModule", ({
4827 value: true
4828 }));
4829 exports["default"] = void 0;
4830 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4831 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4832 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4833 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4834 var TemplateBadge = function TemplateBadge(props) {
4835 var _useConfig = (0, _config.useConfig)(),
4836 hasPro = _useConfig.hasPro;
4837 if ('Pro' === props.type && !hasPro) {
4838 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4839 }
4840 return null;
4841 };
4842 var _default = TemplateBadge;
4843 exports["default"] = _default;
4844 TemplateBadge.propTypes = {
4845 type: _propTypes.default.string
4846 };
4847
4848 /***/ }),
4849
4850 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4851 /*!********************************************************************************************!*\
4852 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4853 \********************************************************************************************/
4854 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4855
4856 "use strict";
4857
4858
4859 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4860 Object.defineProperty(exports, "__esModule", ({
4861 value: true
4862 }));
4863 exports["default"] = void 0;
4864 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4865 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4866 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4867 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4868 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4869 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4870 var _excluded = ["onClose", "onCancel", "title", "text"];
4871 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4872 var onClose = _ref.onClose,
4873 onCancel = _ref.onCancel,
4874 title = _ref.title,
4875 text = _ref.text,
4876 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4877 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4878 "aria-labelledby": "unsaved-changes-alert-title",
4879 "aria-describedby": "unsaved-changes-alert-description"
4880 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4881 id: "unsaved-changes-alert-title"
4882 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4883 id: "unsaved-changes-alert-description"
4884 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4885 onClick: onCancel,
4886 color: "secondary"
4887 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4888 onClick: onClose,
4889 color: "error",
4890 variant: "contained"
4891 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4892 };
4893 UnsavedChangesAlert.propTypes = {
4894 title: _propTypes.default.string,
4895 text: _propTypes.default.string,
4896 onCancel: _propTypes.default.func,
4897 onClose: _propTypes.default.func
4898 };
4899 var _default = UnsavedChangesAlert;
4900 exports["default"] = _default;
4901
4902 /***/ }),
4903
4904 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4905 /*!**************************************************************************!*\
4906 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4907 \**************************************************************************/
4908 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4909
4910 "use strict";
4911
4912
4913 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4914 Object.defineProperty(exports, "__esModule", ({
4915 value: true
4916 }));
4917 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4918 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4919 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4920 var MODE_LAYOUT = 'layout';
4921 exports.MODE_LAYOUT = MODE_LAYOUT;
4922 var MODE_VARIATION = 'variation';
4923 exports.MODE_VARIATION = MODE_VARIATION;
4924 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4925 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4926 var ConfigContext = _react.default.createContext({});
4927 var useConfig = function useConfig() {
4928 return _react.default.useContext(ConfigContext);
4929 };
4930 exports.useConfig = useConfig;
4931 var ConfigProvider = function ConfigProvider(props) {
4932 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4933 value: {
4934 mode: props.mode,
4935 attachmentsTypes: props.attachmentsTypes,
4936 onClose: props.onClose,
4937 onConnect: props.onConnect,
4938 onData: props.onData,
4939 onInsert: props.onInsert,
4940 onSelect: props.onSelect,
4941 onGenerate: props.onGenerate,
4942 currentContext: props.currentContext,
4943 hasPro: props.hasPro
4944 }
4945 }, props.children);
4946 };
4947 exports.ConfigProvider = ConfigProvider;
4948 ConfigProvider.propTypes = {
4949 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4950 children: _propTypes.default.node.isRequired,
4951 attachmentsTypes: _propTypes.default.object.isRequired,
4952 onClose: _propTypes.default.func.isRequired,
4953 onConnect: _propTypes.default.func.isRequired,
4954 onData: _propTypes.default.func.isRequired,
4955 onInsert: _propTypes.default.func.isRequired,
4956 onSelect: _propTypes.default.func.isRequired,
4957 onGenerate: _propTypes.default.func.isRequired,
4958 currentContext: _propTypes.default.object,
4959 hasPro: _propTypes.default.bool
4960 };
4961 var _default = ConfigContext;
4962 exports["default"] = _default;
4963
4964 /***/ }),
4965
4966 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4967 /*!*********************************************************************************!*\
4968 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4969 \*********************************************************************************/
4970 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4971
4972 "use strict";
4973
4974
4975 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4976 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4977 Object.defineProperty(exports, "__esModule", ({
4978 value: true
4979 }));
4980 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4981 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4982 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4983 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4984 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4985 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4986 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4987 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); }
4988 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; }
4989 var RemoteConfigContext = _react.default.createContext({});
4990 var useRemoteConfig = function useRemoteConfig() {
4991 return _react.default.useContext(RemoteConfigContext);
4992 };
4993 exports.useRemoteConfig = useRemoteConfig;
4994 var CONFIG_KEYS = {
4995 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4996 AUTH_TOKEN: 'jwt'
4997 };
4998 exports.CONFIG_KEYS = CONFIG_KEYS;
4999 var RemoteConfigProvider = function RemoteConfigProvider(props) {
5000 var _useState = (0, _react.useState)(false),
5001 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5002 isLoading = _useState2[0],
5003 setIsLoading = _useState2[1];
5004 var _useState3 = (0, _react.useState)(false),
5005 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5006 isLoaded = _useState4[0],
5007 setIsLoaded = _useState4[1];
5008 var _useState5 = (0, _react.useState)(false),
5009 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5010 isError = _useState6[0],
5011 setIsError = _useState6[1];
5012 var _useState7 = (0, _react.useState)({}),
5013 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5014 remoteConfig = _useState8[0],
5015 setRemoteConfig = _useState8[1];
5016 var fetchData = /*#__PURE__*/function () {
5017 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5018 var result;
5019 return _regenerator.default.wrap(function _callee$(_context) {
5020 while (1) switch (_context.prev = _context.next) {
5021 case 0:
5022 setIsLoading(true);
5023 setIsError(false);
5024 _context.prev = 2;
5025 _context.next = 5;
5026 return (0, _api.getRemoteConfig)().finally(function () {
5027 setIsLoaded(true);
5028 setIsLoading(false);
5029 });
5030 case 5:
5031 result = _context.sent;
5032 if (result.config) {
5033 _context.next = 8;
5034 break;
5035 }
5036 throw new Error('Invalid remote config');
5037 case 8:
5038 setRemoteConfig(result.config);
5039 _context.next = 16;
5040 break;
5041 case 11:
5042 _context.prev = 11;
5043 _context.t0 = _context["catch"](2);
5044 setIsError(true);
5045 setIsLoaded(true);
5046 setIsLoading(false);
5047 case 16:
5048 case "end":
5049 return _context.stop();
5050 }
5051 }, _callee, null, [[2, 11]]);
5052 }));
5053 return function fetchData() {
5054 return _ref.apply(this, arguments);
5055 };
5056 }();
5057 (0, _react.useEffect)(function () {
5058 window.addEventListener('elementor/connect/success', fetchData);
5059 return function () {
5060 window.removeEventListener('elementor/connect/success', fetchData);
5061 };
5062 }, []);
5063 if (!isLoaded && !isLoading) {
5064 fetchData();
5065 }
5066 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
5067 value: {
5068 isLoading: isLoading,
5069 isLoaded: isLoaded,
5070 isError: isError,
5071 remoteConfig: remoteConfig
5072 }
5073 }, props.children);
5074 };
5075 exports.RemoteConfigProvider = RemoteConfigProvider;
5076 RemoteConfigProvider.propTypes = {
5077 children: _propTypes.default.node.isRequired,
5078 onError: _propTypes.default.func.isRequired
5079 };
5080
5081 /***/ }),
5082
5083 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
5084 /*!****************************************************************************************!*\
5085 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
5086 \****************************************************************************************/
5087 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5088
5089 "use strict";
5090
5091
5092 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5093 Object.defineProperty(exports, "__esModule", ({
5094 value: true
5095 }));
5096 exports.useAttachUrlService = void 0;
5097 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5098 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5099 var _react = __webpack_require__(/*! react */ "react");
5100 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
5101 var useAttachUrlService = function useAttachUrlService(args) {
5102 var _window$elementorComm, _window$elementorComm2;
5103 var _useState = (0, _react.useState)(args.targetUrl),
5104 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5105 currentUrl = _useState2[0],
5106 setCurrentUrl = _useState2[1];
5107 var theme = (0, _ui.useTheme)();
5108 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
5109 isLoaded = _useRemoteConfig.isLoaded,
5110 isError = _useRemoteConfig.isError,
5111 remoteConfig = _useRemoteConfig.remoteConfig;
5112 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
5113 return {
5114 iframeSource: '',
5115 currentUrl: currentUrl,
5116 setCurrentUrl: setCurrentUrl
5117 };
5118 }
5119 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
5120 urlObject.searchParams.append('colorScheme', theme.palette.mode);
5121 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
5122 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);
5123 if (currentUrl) {
5124 urlObject.searchParams.append('url', currentUrl);
5125 }
5126 return {
5127 iframeSource: urlObject.toString(),
5128 currentUrl: currentUrl,
5129 setCurrentUrl: setCurrentUrl
5130 };
5131 };
5132 exports.useAttachUrlService = useAttachUrlService;
5133
5134 /***/ }),
5135
5136 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
5137 /*!***********************************************************************************!*\
5138 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
5139 \***********************************************************************************/
5140 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5141
5142 "use strict";
5143
5144
5145 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5146 Object.defineProperty(exports, "__esModule", ({
5147 value: true
5148 }));
5149 exports["default"] = void 0;
5150 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
5151 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
5152 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
5153 return (0, _usePrompt.default)(function (requestBody, signal) {
5154 requestBody.variationType = type;
5155 return (0, _api.generateLayout)(requestBody, signal);
5156 }, initialValue);
5157 };
5158 var _default = useLayoutPrompt;
5159 exports["default"] = _default;
5160
5161 /***/ }),
5162
5163 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
5164 /*!********************************************************************************!*\
5165 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
5166 \********************************************************************************/
5167 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5168
5169 "use strict";
5170
5171
5172 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5173 Object.defineProperty(exports, "__esModule", ({
5174 value: true
5175 }));
5176 exports["default"] = void 0;
5177 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5178 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5179 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5180 var _react = __webpack_require__(/*! react */ "react");
5181 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
5182 var ERROR_INITIAL_VALUE = '';
5183 var useScreenshot = function useScreenshot(type, onData) {
5184 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
5185 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5186 error = _useState2[0],
5187 setError = _useState2[1];
5188 var _useState3 = (0, _react.useState)(false),
5189 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5190 isLoading = _useState4[0],
5191 setIsLoading = _useState4[1];
5192 var layoutData = (0, _useLayoutPrompt.default)(type, null);
5193 var generate = function generate(requestBody, signal) {
5194 setIsLoading(true);
5195 setError(ERROR_INITIAL_VALUE);
5196 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
5197 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
5198 var createdScreenshot;
5199 return _regenerator.default.wrap(function _callee$(_context) {
5200 while (1) switch (_context.prev = _context.next) {
5201 case 0:
5202 _context.next = 2;
5203 return onData(data.result);
5204 case 2:
5205 createdScreenshot = _context.sent;
5206 createdScreenshot.sendUsageData = function () {
5207 return layoutData.sendUsageData(data);
5208 };
5209 createdScreenshot.baseTemplateId = data.baseTemplateId;
5210 createdScreenshot.type = data.type;
5211 return _context.abrupt("return", createdScreenshot);
5212 case 7:
5213 case "end":
5214 return _context.stop();
5215 }
5216 }, _callee);
5217 }));
5218 return function (_x) {
5219 return _ref.apply(this, arguments);
5220 };
5221 }()).catch(function (err) {
5222 setError(err.extra_data ? err : err.message || err);
5223 throw err;
5224 }).finally(function () {
5225 return setIsLoading(false);
5226 });
5227 };
5228 return {
5229 generate: generate,
5230 error: error,
5231 isLoading: isLoading
5232 };
5233 };
5234 var _default = useScreenshot;
5235 exports["default"] = _default;
5236
5237 /***/ }),
5238
5239 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
5240 /*!*********************************************************************************!*\
5241 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
5242 \*********************************************************************************/
5243 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5244
5245 "use strict";
5246
5247
5248 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5249 Object.defineProperty(exports, "__esModule", ({
5250 value: true
5251 }));
5252 exports["default"] = void 0;
5253 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5254 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5255 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5256 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5257 var _react = __webpack_require__(/*! react */ "react");
5258 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5259 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5260 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5261 var PENDING_VALUE = {
5262 isPending: true
5263 };
5264 var useScreenshots = function useScreenshots(_ref) {
5265 var onData = _ref.onData;
5266 var _useState = (0, _react.useState)([]),
5267 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5268 screenshots = _useState2[0],
5269 setScreenshots = _useState2[1];
5270
5271 /**
5272 * The ids for each request are:
5273 * - editorSessionId: a unique id for each editor opening
5274 * - sessionId: a unique id for each session. (open the AI builder)
5275 * - generateId: a unique id for each generate request. (prompt change)
5276 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5277 * - requestId: a unique id for each generate request.
5278 */
5279
5280 var _useConfig = (0, _config.useConfig)(),
5281 currentContext = _useConfig.currentContext;
5282 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5283 editorSessionId = _useRequestIds.editorSessionId,
5284 sessionId = _useRequestIds.sessionId,
5285 setRequest = _useRequestIds.setRequest,
5286 setBatch = _useRequestIds.setBatch,
5287 setGenerate = _useRequestIds.setGenerate;
5288 var generateIdRef = (0, _react.useRef)('');
5289 var batchId = setBatch();
5290 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5291 var screenshotsGroupCount = screenshotsData.length;
5292 var error = screenshotsData.every(function (s) {
5293 return s === null || s === void 0 ? void 0 : s.error;
5294 }) ? screenshotsData[0].error : '';
5295 var isLoading = screenshotsData.some(function (s) {
5296 return s === null || s === void 0 ? void 0 : s.isLoading;
5297 });
5298 var abortController = (0, _react.useRef)(null);
5299 var abort = function abort() {
5300 var _abortController$curr;
5301 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5302 };
5303 var createScreenshots = /*#__PURE__*/function () {
5304 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5305 var onGenerate, onError, promises, results, isAllFailed;
5306 return _regenerator.default.wrap(function _callee$(_context) {
5307 while (1) switch (_context.prev = _context.next) {
5308 case 0:
5309 abortController.current = new AbortController();
5310 onGenerate = function onGenerate(screenshot) {
5311 setScreenshots(function (prev) {
5312 var updatedData = (0, _toConsumableArray2.default)(prev);
5313 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5314 updatedData[pendingIndex] = screenshot;
5315 return updatedData;
5316 });
5317 return true;
5318 };
5319 onError = function onError() {
5320 setScreenshots(function (prev) {
5321 var updatedData = (0, _toConsumableArray2.default)(prev);
5322 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5323 updatedData[pendingIndex] = {
5324 isError: true
5325 };
5326 return updatedData;
5327 });
5328 return false;
5329 };
5330 promises = screenshotsData.map(function (_ref3) {
5331 var generate = _ref3.generate;
5332 var prevGeneratedIds = screenshots.map(function (screenshot) {
5333 return screenshot.baseTemplateId || '';
5334 });
5335 var requestBody = {
5336 prompt: prompt,
5337 prevGeneratedIds: prevGeneratedIds,
5338 currentContext: currentContext,
5339 ids: {
5340 editorSessionId: editorSessionId.current,
5341 sessionId: sessionId.current,
5342 generateId: generateIdRef.current,
5343 batchId: batchId.current,
5344 requestId: setRequest().current
5345 },
5346 attachments: attachments.map(function (_ref4) {
5347 var type = _ref4.type,
5348 content = _ref4.content,
5349 label = _ref4.label,
5350 source = _ref4.source;
5351 // Send only the data that is needed for the generation.
5352 return {
5353 type: type,
5354 content: content,
5355 label: label,
5356 source: source
5357 };
5358 })
5359 };
5360 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5361 });
5362 _context.next = 6;
5363 return Promise.all(promises);
5364 case 6:
5365 results = _context.sent;
5366 isAllFailed = results.every(function (value) {
5367 return false === value;
5368 });
5369 if (isAllFailed) {
5370 setScreenshots(function (prev) {
5371 var updatedData = (0, _toConsumableArray2.default)(prev);
5372 updatedData.splice(screenshotsGroupCount * -1);
5373 return updatedData;
5374 });
5375 }
5376 case 9:
5377 case "end":
5378 return _context.stop();
5379 }
5380 }, _callee);
5381 }));
5382 return function createScreenshots(_x, _x2) {
5383 return _ref2.apply(this, arguments);
5384 };
5385 }();
5386 var generate = function generate(prompt, attachments) {
5387 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5388 generateIdRef.current = setGenerate().current;
5389 setScreenshots(placeholders);
5390 createScreenshots(prompt, attachments);
5391 };
5392 var regenerate = function regenerate(prompt, attachments) {
5393 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5394 setScreenshots(function (prev) {
5395 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5396 });
5397 createScreenshots(prompt, attachments);
5398 };
5399 return {
5400 generate: generate,
5401 regenerate: regenerate,
5402 screenshots: screenshots,
5403 isLoading: isLoading,
5404 error: error,
5405 abort: abort
5406 };
5407 };
5408 var _default = useScreenshots;
5409 exports["default"] = _default;
5410
5411 /***/ }),
5412
5413 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5414 /*!****************************************************************************!*\
5415 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5416 \****************************************************************************/
5417 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5418
5419 "use strict";
5420
5421
5422 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5423 Object.defineProperty(exports, "__esModule", ({
5424 value: true
5425 }));
5426 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5427 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5428 var _react = __webpack_require__(/*! react */ "react");
5429 var SCREENSHOTS_PER_PAGE = 3;
5430 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5431 var MAX_PAGES = 5;
5432 exports.MAX_PAGES = MAX_PAGES;
5433 var useSlider = function useSlider() {
5434 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5435 _ref$slidesCount = _ref.slidesCount,
5436 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5437 _ref$slidesPerPage = _ref.slidesPerPage,
5438 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5439 _ref$gapPercentage = _ref.gapPercentage,
5440 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5441 var _useState = (0, _react.useState)(1),
5442 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5443 currentPage = _useState2[0],
5444 setCurrentPage = _useState2[1];
5445 var gapsCount = slidesPerPage - 1;
5446 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5447 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5448 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5449 (0, _react.useEffect)(function () {
5450 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5451 if (currentPage > 1 && currentPage > pagesCount) {
5452 setCurrentPage(pagesCount);
5453 }
5454 }, [pagesCount]);
5455 return {
5456 currentPage: currentPage,
5457 setCurrentPage: setCurrentPage,
5458 pagesCount: pagesCount,
5459 slidesPerPage: slidesPerPage,
5460 gapPercentage: gapPercentage,
5461 offsetXPercentage: offsetXPercentage,
5462 slideWidthPercentage: slideWidthPercentage
5463 };
5464 };
5465 var _default = useSlider;
5466 exports["default"] = _default;
5467
5468 /***/ }),
5469
5470 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5471 /*!*****************************************************************!*\
5472 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5473 \*****************************************************************/
5474 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5475
5476 "use strict";
5477
5478
5479 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5480 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5481 Object.defineProperty(exports, "__esModule", ({
5482 value: true
5483 }));
5484 exports["default"] = void 0;
5485 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5486 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5487 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5488 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5489 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5490 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5491 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5492 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5493 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5494 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5495 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5496 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5497 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5498 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5499 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5500 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5501 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5502 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5503 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5504 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5505 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5506 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5507 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5508 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5509 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5510 var _excluded = ["children"];
5511 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); }
5512 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; }
5513 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5514 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5515
5516 /**
5517 * @typedef {Object} Attachment
5518 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5519 * @property {string} previewHTML - HTML content as a string, representing a preview.
5520 * @property {string} content - Actual content of the attachment as a string.
5521 * @property {string} label - Label for the attachment.
5522 */
5523
5524 var RegenerateButton = function RegenerateButton(props) {
5525 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5526 size: "small",
5527 color: "secondary",
5528 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5529 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5530 };
5531 var UseLayoutButton = function UseLayoutButton(props) {
5532 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5533 size: "small",
5534 variant: "contained"
5535 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5536 };
5537 UseLayoutButton.propTypes = {
5538 sx: _propTypes.default.object
5539 };
5540 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5541 if (isLoading || isPromptFormActive) {
5542 return true;
5543 }
5544 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5545 };
5546 var FormLayout = function FormLayout(_ref) {
5547 var _screenshots$selected, _screenshots$2;
5548 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5549 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5550 _ref$DialogContentPro = _ref.DialogContentProps,
5551 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5552 initialAttachments = _ref.attachments;
5553 var _useConfig = (0, _config.useConfig)(),
5554 attachmentsTypes = _useConfig.attachmentsTypes,
5555 onData = _useConfig.onData,
5556 onInsert = _useConfig.onInsert,
5557 onSelect = _useConfig.onSelect,
5558 onClose = _useConfig.onClose,
5559 onGenerate = _useConfig.onGenerate;
5560 var _useScreenshots = (0, _useScreenshots2.default)({
5561 onData: onData
5562 }),
5563 screenshots = _useScreenshots.screenshots,
5564 generate = _useScreenshots.generate,
5565 regenerate = _useScreenshots.regenerate,
5566 isLoading = _useScreenshots.isLoading,
5567 error = _useScreenshots.error,
5568 abort = _useScreenshots.abort;
5569 var screenshotOutlineOffset = '2px';
5570 var _useSlider = (0, _useSlider2.default)({
5571 slidesCount: screenshots.length
5572 }),
5573 currentPage = _useSlider.currentPage,
5574 setCurrentPage = _useSlider.setCurrentPage,
5575 pagesCount = _useSlider.pagesCount,
5576 gapPercentage = _useSlider.gapPercentage,
5577 slidesPerPage = _useSlider.slidesPerPage,
5578 offsetXPercentage = _useSlider.offsetXPercentage,
5579 slideWidthPercentage = _useSlider.slideWidthPercentage;
5580 var _useState = (0, _react.useState)(-1),
5581 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5582 selectedScreenshotIndex = _useState2[0],
5583 setSelectedScreenshotIndex = _useState2[1];
5584 var _useState3 = (0, _react.useState)(false),
5585 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5586 showUnsavedChangesAlert = _useState4[0],
5587 setShowUnsavedChangesAlert = _useState4[1];
5588 var _useState5 = (0, _react.useState)(true),
5589 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5590 isPromptEditable = _useState6[0],
5591 setIsPromptEditable = _useState6[1];
5592 var _useState7 = (0, _react.useState)([]),
5593 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5594 attachments = _useState8[0],
5595 setAttachments = _useState8[1];
5596 var _useState9 = (0, _react.useState)(false),
5597 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5598 shouldRenderWebApp = _useState10[0],
5599 setShouldRenderWebApp = _useState10[1];
5600 var _useState11 = (0, _react.useState)(false),
5601 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5602 isMinimized = _useState12[0],
5603 setIsMinimized = _useState12[1];
5604 var lastRun = (0, _react.useRef)(function () {});
5605 var promptInputRef = (0, _react.useRef)(null);
5606 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5607 var dialogContentChildren = DialogContentProps.children,
5608 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5609
5610 // When there are no screenshots the prompt field should be editable.
5611 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5612 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5613 var abortAndClose = function abortAndClose() {
5614 abort();
5615 onClose();
5616 };
5617 var onCloseIntent = function onCloseIntent() {
5618 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5619 if (hasUnsavedChanges) {
5620 return setShowUnsavedChangesAlert(true);
5621 }
5622 abortAndClose();
5623 };
5624 var handleGenerate = function handleGenerate(event, prompt) {
5625 event.preventDefault();
5626 if ('' === prompt.trim() && 0 === attachments.length) {
5627 return;
5628 }
5629 if ((0, _isURL.default)(prompt)) {
5630 setShouldRenderWebApp(true);
5631 return;
5632 }
5633 onGenerate();
5634 lastRun.current = function () {
5635 setSelectedScreenshotIndex(-1);
5636 generate(prompt, attachments);
5637 };
5638 lastRun.current();
5639 setIsPromptEditable(false);
5640 setCurrentPage(1);
5641 };
5642 var handleRegenerate = function handleRegenerate() {
5643 lastRun.current = function () {
5644 regenerate(promptInputRef.current.value, attachments);
5645 // Changing the current page to the next page number.
5646 setCurrentPage(pagesCount + 1);
5647 };
5648 lastRun.current();
5649 };
5650 var applyTemplate = function applyTemplate() {
5651 onInsert(selectedTemplate);
5652 screenshots[selectedScreenshotIndex].sendUsageData();
5653 abortAndClose();
5654 };
5655 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5656 return function () {
5657 if (isPromptFormActive) {
5658 return;
5659 }
5660 setSelectedScreenshotIndex(index);
5661 onSelect(template);
5662 };
5663 };
5664
5665 /**
5666 * @param {Attachment[]} items
5667 */
5668 var onAttach = function onAttach(items) {
5669 items.forEach(function (item) {
5670 if (!attachmentsTypes[item.type]) {
5671 throw new Error("Invalid attachment type: ".concat(item.type));
5672 }
5673 var typeConfig = attachmentsTypes[item.type];
5674 if (!item.previewHTML && typeConfig.previewGenerator) {
5675 typeConfig.previewGenerator(item.content).then(function (html) {
5676 item.previewHTML = html;
5677 setAttachments(function (prev) {
5678 // Replace the attachment with the updated one.
5679 return prev.map(function (attachment) {
5680 if (attachment.content === item.content) {
5681 return item;
5682 }
5683 return attachment;
5684 });
5685 });
5686 });
5687 }
5688 });
5689 setAttachments(items);
5690 setShouldRenderWebApp(false);
5691 setIsPromptEditable(true);
5692 };
5693 (0, _react.useEffect)(function () {
5694 var _screenshots$;
5695 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5696 if (isFirstTemplateExist) {
5697 onSelect(screenshots[0].template);
5698 setSelectedScreenshotIndex(0);
5699 }
5700 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5701 (0, _react.useEffect)(function () {
5702 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5703 onAttach(initialAttachments);
5704 }
5705 }, []);
5706 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5707 onClose: onCloseIntent
5708 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5709 onClose: onCloseIntent
5710 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5711 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5712 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5713 size: "small",
5714 "aria-label": "minimize",
5715 onClick: function onClick() {
5716 return setIsMinimized(function (prev) {
5717 return !prev;
5718 });
5719 }
5720 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5721 dividers: true
5722 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5723 in: !isMinimized
5724 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5725 sx: {
5726 pt: 2,
5727 px: 2,
5728 pb: 0
5729 }
5730 }, dialogContentChildren), attachments.length > 0 && /*#__PURE__*/_react.default.createElement(_promptPowerNotice.PromptPowerNotice, null), error && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5731 sx: {
5732 pt: 2,
5733 px: 2,
5734 pb: 0
5735 }
5736 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5737 error: error,
5738 onRetry: lastRun.current
5739 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5740 open: showUnsavedChangesAlert,
5741 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5742 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5743 onClose: abortAndClose,
5744 onCancel: function onCancel() {
5745 return setShowUnsavedChangesAlert(false);
5746 }
5747 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5748 type: _attachments.ATTACHMENT_TYPE_URL,
5749 url: promptInputRef.current.value,
5750 onAttach: onAttach,
5751 onClose: function onClose() {
5752 setShouldRenderWebApp(false);
5753 }
5754 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5755 shouldResetPrompt: shouldRenderWebApp,
5756 ref: promptInputRef,
5757 isActive: isPromptFormActive,
5758 isLoading: isLoading,
5759 showActions: screenshots.length > 0 || isLoading,
5760 attachmentsTypes: attachmentsTypes,
5761 attachments: attachments,
5762 onAttach: onAttach,
5763 onDetach: function onDetach(index) {
5764 setAttachments(function (prev) {
5765 var newAttachments = (0, _toConsumableArray2.default)(prev);
5766 newAttachments.splice(index, 1);
5767 return newAttachments;
5768 });
5769 setIsPromptEditable(true);
5770 },
5771 onSubmit: handleGenerate,
5772 onBack: function onBack() {
5773 return setIsPromptEditable(false);
5774 },
5775 onEdit: function onEdit() {
5776 return setIsPromptEditable(true);
5777 }
5778 }), (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, {
5779 sx: {
5780 p: 1.5
5781 }
5782 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5783 sx: {
5784 overflow: 'hidden',
5785 p: 0.5
5786 }
5787 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5788 sx: {
5789 display: 'flex',
5790 transition: 'all 0.4s ease',
5791 gap: "".concat(gapPercentage, "%"),
5792 transform: "translateX(".concat(offsetXPercentage, "%)")
5793 }
5794 }, screenshots.map(function (_ref2, index) {
5795 var screenshot = _ref2.screenshot,
5796 type = _ref2.type,
5797 template = _ref2.template,
5798 isError = _ref2.isError,
5799 isPending = _ref2.isPending;
5800 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5801 key: index,
5802 url: screenshot,
5803 type: type,
5804 disabled: isPromptFormActive,
5805 isPlaceholder: isError,
5806 isLoading: isPending,
5807 isSelected: selectedScreenshotIndex === index,
5808 onClick: handleScreenshotClick(index, template),
5809 outlineOffset: screenshotOutlineOffset,
5810 sx: {
5811 flex: "0 0 ".concat(slideWidthPercentage, "%")
5812 }
5813 });
5814 }))), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5815 introductionKey: "ai-context-layout-promotion"
5816 })), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5817 sx: {
5818 pt: 0,
5819 px: 2,
5820 pb: 2
5821 },
5822 display: "grid",
5823 gridTemplateColumns: "repeat(3, 1fr)",
5824 justifyItems: "center"
5825 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5826 onClick: handleRegenerate,
5827 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5828 sx: {
5829 justifySelf: 'start'
5830 }
5831 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5832 page: currentPage,
5833 count: pagesCount,
5834 disabled: isPromptFormActive,
5835 onChange: function onChange(_, page) {
5836 return setCurrentPage(page);
5837 }
5838 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5839 onClick: applyTemplate,
5840 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5841 sx: {
5842 justifySelf: 'end',
5843 gridColumn: 3
5844 }
5845 }))))));
5846 };
5847 FormLayout.propTypes = {
5848 DialogHeaderProps: _propTypes.default.object,
5849 DialogContentProps: _propTypes.default.object,
5850 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5851 };
5852 var _default = FormLayout;
5853 exports["default"] = _default;
5854
5855 /***/ }),
5856
5857 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5858 /*!************************************************************************************!*\
5859 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5860 \************************************************************************************/
5861 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5862
5863 "use strict";
5864
5865
5866 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5867 Object.defineProperty(exports, "__esModule", ({
5868 value: true
5869 }));
5870 exports["default"] = void 0;
5871 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5872 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5873 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5874 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5875 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5876 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5877 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5878 var _excluded = ["isLoading"];
5879 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5880 var EnhanceButton = function EnhanceButton(_ref) {
5881 var isLoading = _ref.isLoading,
5882 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5883 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5884 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5885 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5886 component: "span",
5887 sx: {
5888 cursor: props.disabled ? 'default' : 'pointer'
5889 }
5890 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5891 size: "small",
5892 color: "secondary"
5893 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5894 color: "secondary",
5895 size: 20
5896 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5897 fontSize: "small"
5898 }))));
5899 };
5900 EnhanceButton.propTypes = {
5901 disabled: _propTypes.default.bool,
5902 isLoading: _propTypes.default.bool
5903 };
5904 var _default = EnhanceButton;
5905 exports["default"] = _default;
5906
5907 /***/ }),
5908
5909 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5910 /*!*************************************************************************************!*\
5911 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5912 \*************************************************************************************/
5913 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5914
5915 "use strict";
5916
5917
5918 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5919 Object.defineProperty(exports, "__esModule", ({
5920 value: true
5921 }));
5922 exports["default"] = void 0;
5923 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5924 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5925 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5926 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5927 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5928 var GenerateSubmit = function GenerateSubmit(props) {
5929 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5930 fullWidth: true,
5931 size: "medium",
5932 type: "submit",
5933 variant: "contained"
5934 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5935 };
5936 GenerateSubmit.propTypes = {
5937 children: _propTypes.default.node
5938 };
5939 var _default = GenerateSubmit;
5940 exports["default"] = _default;
5941
5942 /***/ }),
5943
5944 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5945 /*!*****************************************************************!*\
5946 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5947 \*****************************************************************/
5948 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5949
5950 "use strict";
5951
5952
5953 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5954 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5955 Object.defineProperty(exports, "__esModule", ({
5956 value: true
5957 }));
5958 exports["default"] = void 0;
5959 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5960 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5961 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5962 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5963 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5964 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5965 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5966 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5967 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5968 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); }
5969 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; }
5970 var GetStarted = function GetStarted(_ref) {
5971 var onSuccess = _ref.onSuccess;
5972 var _useState = (0, _react.useState)(false),
5973 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5974 isTermsChecked = _useState2[0],
5975 setIsTermsChecked = _useState2[1];
5976 var onGetStartedClick = /*#__PURE__*/function () {
5977 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5978 return _regenerator.default.wrap(function _callee$(_context) {
5979 while (1) switch (_context.prev = _context.next) {
5980 case 0:
5981 _context.next = 2;
5982 return (0, _api.setGetStarted)();
5983 case 2:
5984 onSuccess();
5985 case 3:
5986 case "end":
5987 return _context.stop();
5988 }
5989 }, _callee);
5990 }));
5991 return function onGetStartedClick() {
5992 return _ref2.apply(this, arguments);
5993 };
5994 }();
5995 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5996 alignItems: "center",
5997 gap: 1.5
5998 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5999 sx: {
6000 color: 'text.primary',
6001 fontSize: '60px',
6002 mb: 1
6003 }
6004 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6005 variant: "h4",
6006 sx: {
6007 color: 'text.primary'
6008 }
6009 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6010 variant: "body2"
6011 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
6012 direction: "row",
6013 gap: 1.5,
6014 alignItems: "flex-start"
6015 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
6016 id: "e-ai-terms-approval",
6017 color: "secondary",
6018 checked: isTermsChecked,
6019 onClick: function onClick() {
6020 return setIsTermsChecked(function (prevState) {
6021 return !prevState;
6022 });
6023 }
6024 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6025 variant: "caption",
6026 sx: {
6027 maxWidth: 520
6028 },
6029 component: "label",
6030 htmlFor: "e-ai-terms-approval"
6031 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
6032 href: "https://go.elementor.com/ai-terms/",
6033 target: "_blank",
6034 color: "info.main"
6035 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
6036 href: "https://go.elementor.com/ai-privacy-policy/",
6037 target: "_blank",
6038 color: "info.main"
6039 }, (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, {
6040 disabled: !isTermsChecked,
6041 variant: "contained",
6042 onClick: onGetStartedClick,
6043 sx: {
6044 mt: 1,
6045 '&:hover': {
6046 color: 'primary.contrastText'
6047 }
6048 }
6049 }, (0, _i18n.__)('Get Started', 'elementor')));
6050 };
6051 GetStarted.propTypes = {
6052 onSuccess: _propTypes.default.func.isRequired
6053 };
6054 var _default = GetStarted;
6055 exports["default"] = _default;
6056
6057 /***/ }),
6058
6059 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
6060 /*!**********************************************************!*\
6061 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
6062 \**********************************************************/
6063 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6064
6065 "use strict";
6066
6067
6068 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6069 Object.defineProperty(exports, "__esModule", ({
6070 value: true
6071 }));
6072 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
6073 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6074 var AttachmentPropType = _propTypes.default.shape({
6075 type: _propTypes.default.string,
6076 previewHTML: _propTypes.default.string,
6077 content: _propTypes.default.string,
6078 label: _propTypes.default.string,
6079 source: _propTypes.default.string
6080 });
6081 exports.AttachmentPropType = AttachmentPropType;
6082 var AttachmentsTypesPropType = _propTypes.default.shape({
6083 type: _propTypes.default.shape({
6084 promptPlaceholder: _propTypes.default.string,
6085 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
6086 text: _propTypes.default.string.isRequired
6087 })),
6088 previewGenerator: _propTypes.default.func
6089 })
6090 });
6091 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
6092
6093 /***/ }),
6094
6095 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
6096 /*!******************************************************************!*\
6097 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
6098 \******************************************************************/
6099 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6100
6101 "use strict";
6102
6103
6104 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6105 Object.defineProperty(exports, "__esModule", ({
6106 value: true
6107 }));
6108 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = exports.WEB_BASED_PROMPTS = exports.VARIATIONS_PROMPTS = void 0;
6109 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6110 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6111 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6112 var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js"));
6113 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
6114 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
6115 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
6116 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6117 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6118 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
6119 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6120 var closePanel = function closePanel() {
6121 $e.run('panel/close');
6122 $e.components.get('panel').blockUserInteractions();
6123 };
6124 exports.closePanel = closePanel;
6125 var openPanel = function openPanel() {
6126 $e.run('panel/open');
6127 $e.components.get('panel').unblockUserInteractions();
6128 };
6129 exports.openPanel = openPanel;
6130 var onConnect = function onConnect(data) {
6131 elementorCommon.config.library_connect.is_connected = true;
6132 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
6133 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
6134 };
6135 exports.onConnect = onConnect;
6136 var getUiConfig = function getUiConfig() {
6137 var _elementor, _elementor$getPrefere;
6138 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';
6139 var isRTL = elementorCommon.config.isRTL;
6140 return {
6141 colorScheme: colorScheme,
6142 isRTL: isRTL
6143 };
6144 };
6145 exports.getUiConfig = getUiConfig;
6146 var VARIATIONS_PROMPTS = [{
6147 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
6148 }, {
6149 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
6150 }, {
6151 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
6152 }, {
6153 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
6154 }, {
6155 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
6156 }, {
6157 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
6158 }, {
6159 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
6160 }, {
6161 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
6162 }, {
6163 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
6164 }];
6165 exports.VARIATIONS_PROMPTS = VARIATIONS_PROMPTS;
6166 var WEB_BASED_PROMPTS = [{
6167 text: (0, _i18n.__)('Change the content to be about [topic]', 'elementor')
6168 }, {
6169 text: (0, _i18n.__)('Generate lorem ipsum placeholder text for all paragraphs', 'elementor')
6170 }, {
6171 text: (0, _i18n.__)('Revise the content to focus on [topic] and then translate it into Spanish', 'elementor')
6172 }, {
6173 text: (0, _i18n.__)('Shift the focus of the content to [topic] in order to showcase our company\'s mission and values', 'elementor')
6174 }, {
6175 text: (0, _i18n.__)('Alter the content to provide helpful tips related to [topic]', 'elementor')
6176 }, {
6177 text: (0, _i18n.__)('Adjust the content to include FAQs and answers for common inquiries about [topic]', 'elementor')
6178 }];
6179 exports.WEB_BASED_PROMPTS = WEB_BASED_PROMPTS;
6180 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
6181 var renderLayoutApp = function renderLayoutApp() {
6182 var _options$onRenderApp;
6183 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6184 parentContainer: null,
6185 mode: '',
6186 at: null,
6187 onClose: null,
6188 onGenerate: null,
6189 onInsert: null,
6190 onRenderApp: null,
6191 onSelect: null,
6192 attachments: []
6193 };
6194 closePanel();
6195 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
6196 // Create the container at the "drag widget here" area position.
6197 at: options.at
6198 });
6199 var _getUiConfig = getUiConfig(),
6200 colorScheme = _getUiConfig.colorScheme,
6201 isRTL = _getUiConfig.isRTL;
6202 var rootElement = document.createElement('div');
6203 document.body.append(rootElement);
6204 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
6205 var _ReactUtils$render = _react2.default.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
6206 isRTL: isRTL,
6207 colorScheme: colorScheme
6208 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
6209 mode: options.mode,
6210 currentContext: {
6211 body: {
6212 backgroundColor: bodyStyle.backgroundColor,
6213 backgroundImage: bodyStyle.backgroundImage
6214 }
6215 },
6216 attachmentsTypes: {
6217 json: {
6218 promptSuggestions: VARIATIONS_PROMPTS,
6219 promptPlaceholder: PROMPT_PLACEHOLDER,
6220 previewGenerator: function () {
6221 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
6222 var screenshot;
6223 return _regenerator.default.wrap(function _callee$(_context) {
6224 while (1) switch (_context.prev = _context.next) {
6225 case 0:
6226 _context.next = 2;
6227 return (0, _screenshot.takeScreenshot)(json);
6228 case 2:
6229 screenshot = _context.sent;
6230 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
6231 case 4:
6232 case "end":
6233 return _context.stop();
6234 }
6235 }, _callee);
6236 }));
6237 function previewGenerator(_x) {
6238 return _previewGenerator.apply(this, arguments);
6239 }
6240 return previewGenerator;
6241 }()
6242 },
6243 url: {
6244 promptPlaceholder: PROMPT_PLACEHOLDER,
6245 promptSuggestions: WEB_BASED_PROMPTS
6246 }
6247 },
6248 attachments: options.attachments || [],
6249 onClose: function onClose() {
6250 var _options$onClose;
6251 previewContainer.destroy();
6252 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
6253 unmount();
6254 rootElement.remove();
6255 openPanel();
6256 },
6257 onConnect: onConnect,
6258 onGenerate: function onGenerate() {
6259 var _options$onGenerate;
6260 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6261 previewContainer: previewContainer
6262 });
6263 },
6264 onData: /*#__PURE__*/function () {
6265 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6266 var screenshot;
6267 return _regenerator.default.wrap(function _callee2$(_context2) {
6268 while (1) switch (_context2.prev = _context2.next) {
6269 case 0:
6270 _context2.next = 2;
6271 return (0, _screenshot.takeScreenshot)(template);
6272 case 2:
6273 screenshot = _context2.sent;
6274 return _context2.abrupt("return", {
6275 screenshot: screenshot,
6276 template: template
6277 });
6278 case 4:
6279 case "end":
6280 return _context2.stop();
6281 }
6282 }, _callee2);
6283 }));
6284 return function (_x2) {
6285 return _ref.apply(this, arguments);
6286 };
6287 }(),
6288 onSelect: function onSelect(template) {
6289 var _options$onSelect;
6290 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6291 previewContainer.setContent(template);
6292 },
6293 onInsert: options.onInsert,
6294 hasPro: elementor.helpers.hasPro()
6295 })), rootElement),
6296 unmount = _ReactUtils$render.unmount;
6297 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6298 previewContainer: previewContainer
6299 });
6300 };
6301 exports.renderLayoutApp = renderLayoutApp;
6302 var importToEditor = function importToEditor(_ref2) {
6303 var parentContainer = _ref2.parentContainer,
6304 at = _ref2.at,
6305 template = _ref2.template,
6306 historyTitle = _ref2.historyTitle,
6307 _ref2$replace = _ref2.replace,
6308 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6309 var endHistoryLog = (0, _history.startHistoryLog)({
6310 type: 'import',
6311 title: historyTitle
6312 });
6313 if (replace) {
6314 $e.run('document/elements/delete', {
6315 container: parentContainer.children.at(at)
6316 });
6317 }
6318 $e.run('document/elements/create', {
6319 container: parentContainer,
6320 model: (0, _requestsIds.generateIds)(template),
6321 options: {
6322 at: at,
6323 edit: true
6324 }
6325 });
6326 endHistoryLog();
6327 };
6328 exports.importToEditor = importToEditor;
6329
6330 /***/ }),
6331
6332 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6333 /*!*******************************************************!*\
6334 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6335 \*******************************************************/
6336 /***/ ((__unused_webpack_module, exports) => {
6337
6338 "use strict";
6339
6340
6341 Object.defineProperty(exports, "__esModule", ({
6342 value: true
6343 }));
6344 exports.startHistoryLog = startHistoryLog;
6345 exports.toggleHistory = toggleHistory;
6346 function toggleHistory(isActive) {
6347 elementor.documents.getCurrent().history.setActive(isActive);
6348 }
6349
6350 /**
6351 * @param {Object} options
6352 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6353 * @param { string } options.title
6354 *
6355 * @return {*}
6356 */
6357 function startHistoryLog(_ref) {
6358 var type = _ref.type,
6359 title = _ref.title;
6360 var id = $e.internal('document/history/start-log', {
6361 type: type,
6362 title: title
6363 });
6364 return function () {
6365 return $e.internal('document/history/end-log', {
6366 id: id
6367 });
6368 };
6369 }
6370
6371 /***/ }),
6372
6373 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6374 /*!*****************************************************************!*\
6375 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6376 \*****************************************************************/
6377 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6378
6379 "use strict";
6380
6381
6382 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6383 Object.defineProperty(exports, "__esModule", ({
6384 value: true
6385 }));
6386 exports.createPreviewContainer = createPreviewContainer;
6387 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6388 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6389 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6390 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; }
6391 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; }
6392 /**
6393 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6394 */
6395
6396 var PREFIX = 'e-ai-preview-container';
6397 var CLASS_HIDDEN = PREFIX + '--hidden';
6398 var CLASS_IDLE = PREFIX + '--idle';
6399
6400 /**
6401 * @param {Container} parentContainer
6402 * @param {{}} containerOptions
6403 * @return {{init, setContent, reset, destroy}}
6404 */
6405
6406 function createPreviewContainer(parentContainer) {
6407 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6408 var createdContainers = new Map();
6409 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6410 function init() {
6411 showContainer(idleContainer);
6412 }
6413 function getAllContainers() {
6414 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6415 }
6416 function reset() {
6417 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6418 createdContainers.clear();
6419 showContainer(idleContainer);
6420 }
6421 function setContent(template) {
6422 if (!template) {
6423 return;
6424 }
6425 hideContainers(getAllContainers());
6426 if (!createdContainers.has(template)) {
6427 var newContainer = createContainer(parentContainer, template, containerOptions);
6428 createdContainers.set(template, newContainer);
6429 }
6430 showContainer(createdContainers.get(template));
6431 }
6432 function destroy() {
6433 deleteContainers(getAllContainers());
6434 createdContainers.clear();
6435 }
6436 return {
6437 init: init,
6438 reset: reset,
6439 setContent: setContent,
6440 destroy: destroy
6441 };
6442 }
6443
6444 /**
6445 * @param {Container} parentContainer
6446 * @param {{}} model
6447 * @param {{}} options
6448 * @return {*}
6449 */
6450 function createContainer(parentContainer, model) {
6451 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6452 (0, _history.toggleHistory)(false);
6453 var container = $e.run('document/elements/create', {
6454 container: parentContainer,
6455 model: _objectSpread(_objectSpread({}, model), {}, {
6456 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6457 }),
6458 options: _objectSpread(_objectSpread({}, options), {}, {
6459 edit: false
6460 })
6461 });
6462 (0, _history.toggleHistory)(true);
6463 container.view.$el.addClass(CLASS_HIDDEN);
6464 return container;
6465 }
6466
6467 /**
6468 * @param {Container} parentContainer
6469 * @param {{}} containerOptions
6470 * @return {*}
6471 */
6472 function createIdleContainer(parentContainer) {
6473 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6474 // Create an empty container that'll be used of UI purposes.
6475 var container = createContainer(parentContainer, {
6476 elType: 'container'
6477 }, containerOptions);
6478 container.view.$el.addClass(CLASS_IDLE);
6479 return container;
6480 }
6481 function hideContainers(containers) {
6482 containers.forEach(function (container) {
6483 container.view.$el.addClass(CLASS_HIDDEN);
6484 });
6485 }
6486 function showContainer(container) {
6487 container.view.$el.removeClass(CLASS_HIDDEN);
6488
6489 // Delay the scroll to avoid UI jumps when toggling between containers.
6490 setTimeout(function () {
6491 container.view.$el[0].scrollIntoView({
6492 behavior: 'smooth',
6493 block: 'start'
6494 });
6495 });
6496 }
6497 function deleteContainers(containers) {
6498 (0, _history.toggleHistory)(false);
6499 $e.run('document/elements/delete', {
6500 containers: containers
6501 });
6502 (0, _history.toggleHistory)(true);
6503 }
6504
6505 /***/ }),
6506
6507 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6508 /*!**********************************************************!*\
6509 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6510 \**********************************************************/
6511 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6512
6513 "use strict";
6514
6515
6516 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6517 Object.defineProperty(exports, "__esModule", ({
6518 value: true
6519 }));
6520 exports.takeScreenshot = void 0;
6521 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6522 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6523 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6524 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6525 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6526 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6527 var takeScreenshot = /*#__PURE__*/function () {
6528 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6529 var hiddenWrapper, container, screenshot;
6530 return _regenerator.default.wrap(function _callee$(_context) {
6531 while (1) switch (_context.prev = _context.next) {
6532 case 0:
6533 if (template) {
6534 _context.next = 2;
6535 break;
6536 }
6537 return _context.abrupt("return", '');
6538 case 2:
6539 // Disable history so the Editor won't show our hidden container as a user action.
6540 (0, _history.toggleHistory)(false);
6541 hiddenWrapper = createHiddenWrapper();
6542 container = createContainer(template);
6543 wrapContainer(container, hiddenWrapper);
6544 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6545
6546 // Wait for the container to render.
6547 _context.next = 9;
6548 return waitForContainer(container.id);
6549 case 9:
6550 if (!template.elements.length) {
6551 _context.next = 12;
6552 break;
6553 }
6554 _context.next = 12;
6555 return Promise.all(template.elements.map(function (child) {
6556 return waitForContainer(child.id);
6557 }));
6558 case 12:
6559 _context.prev = 12;
6560 _context.next = 15;
6561 return screenshotNode(container.view.$el[0]);
6562 case 15:
6563 screenshot = _context.sent;
6564 _context.next = 21;
6565 break;
6566 case 18:
6567 _context.prev = 18;
6568 _context.t0 = _context["catch"](12);
6569 // Return an empty image url if the screenshot failed.
6570 screenshot = '';
6571 case 21:
6572 deleteContainer(container);
6573 hiddenWrapper.remove();
6574 (0, _history.toggleHistory)(true);
6575 return _context.abrupt("return", screenshot);
6576 case 25:
6577 case "end":
6578 return _context.stop();
6579 }
6580 }, _callee, null, [[12, 18]]);
6581 }));
6582 return function takeScreenshot(_x) {
6583 return _ref.apply(this, arguments);
6584 };
6585 }();
6586 exports.takeScreenshot = takeScreenshot;
6587 function screenshotNode(node) {
6588 return toWebp(node, {
6589 quality: 0.01,
6590 // Transparent 1x1 pixel.
6591 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6592 });
6593 }
6594 function toWebp(_x2) {
6595 return _toWebp.apply(this, arguments);
6596 }
6597 function _toWebp() {
6598 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6599 var _options$quality;
6600 var options,
6601 canvas,
6602 _args3 = arguments;
6603 return _regenerator.default.wrap(function _callee3$(_context3) {
6604 while (1) switch (_context3.prev = _context3.next) {
6605 case 0:
6606 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6607 _context3.next = 3;
6608 return (0, _htmlToImage.toCanvas)(node, options);
6609 case 3:
6610 canvas = _context3.sent;
6611 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6612 case 5:
6613 case "end":
6614 return _context3.stop();
6615 }
6616 }, _callee3);
6617 }));
6618 return _toWebp.apply(this, arguments);
6619 }
6620 function createHiddenWrapper() {
6621 var wrapper = document.createElement('div');
6622 wrapper.style.position = 'fixed';
6623 wrapper.style.opacity = '0';
6624 wrapper.style.inset = '0';
6625 return wrapper;
6626 }
6627 function createContainer(template) {
6628 var model = (0, _requestsIds.generateIds)(template);
6629
6630 // Set a custom ID, so it can be used later on in the backend.
6631 model.id = "e-ai-screenshot-container-".concat(model.id);
6632 return $e.run('document/elements/create', {
6633 container: elementor.getPreviewContainer(),
6634 model: model,
6635 options: {
6636 edit: false
6637 }
6638 });
6639 }
6640 function deleteContainer(container) {
6641 return $e.run('document/elements/delete', {
6642 container: container
6643 });
6644 }
6645 function waitForContainer(id) {
6646 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6647 var timeoutPromise = sleep(timeout);
6648 var waitPromise = new Promise(function (resolve) {
6649 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6650 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6651 var images;
6652 return _regenerator.default.wrap(function _callee2$(_context2) {
6653 while (1) switch (_context2.prev = _context2.next) {
6654 case 0:
6655 if (!($element.data('id') === id)) {
6656 _context2.next = 5;
6657 break;
6658 }
6659 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6660 _context2.next = 4;
6661 return Promise.all(images.map(waitForImage));
6662 case 4:
6663 resolve();
6664 case 5:
6665 case "end":
6666 return _context2.stop();
6667 }
6668 }, _callee2);
6669 }));
6670 return function (_x3) {
6671 return _ref2.apply(this, arguments);
6672 };
6673 }());
6674 });
6675 return Promise.any([timeoutPromise, waitPromise]);
6676 }
6677 function waitForImage(image) {
6678 if (image.complete) {
6679 return Promise.resolve();
6680 }
6681 return new Promise(function (resolve) {
6682 image.addEventListener('load', resolve);
6683 image.addEventListener('error', function () {
6684 // Remove the image to make sure it won't break the screenshot.
6685 image.remove();
6686 resolve();
6687 });
6688 });
6689 }
6690 function sleep(ms) {
6691 return new Promise(function (resolve) {
6692 return setTimeout(resolve, ms);
6693 });
6694 }
6695 function wrapContainer(container, wrapper) {
6696 var el = container.view.$el[0];
6697 el.parentNode.insertBefore(wrapper, el);
6698 wrapper.appendChild(el);
6699 }
6700
6701 /***/ }),
6702
6703 /***/ "../node_modules/clsx/dist/clsx.m.js":
6704 /*!*******************************************!*\
6705 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6706 \*******************************************/
6707 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6708
6709 "use strict";
6710 __webpack_require__.r(__webpack_exports__);
6711 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6712 /* harmony export */ clsx: () => (/* binding */ clsx),
6713 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6714 /* harmony export */ });
6715 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);
6716
6717 /***/ }),
6718
6719 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6720 /*!***********************************************************************************!*\
6721 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6722 \***********************************************************************************/
6723 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6724
6725 "use strict";
6726
6727
6728 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6729
6730 /**
6731 * Copyright 2015, Yahoo! Inc.
6732 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6733 */
6734 var REACT_STATICS = {
6735 childContextTypes: true,
6736 contextType: true,
6737 contextTypes: true,
6738 defaultProps: true,
6739 displayName: true,
6740 getDefaultProps: true,
6741 getDerivedStateFromError: true,
6742 getDerivedStateFromProps: true,
6743 mixins: true,
6744 propTypes: true,
6745 type: true
6746 };
6747 var KNOWN_STATICS = {
6748 name: true,
6749 length: true,
6750 prototype: true,
6751 caller: true,
6752 callee: true,
6753 arguments: true,
6754 arity: true
6755 };
6756 var FORWARD_REF_STATICS = {
6757 '$$typeof': true,
6758 render: true,
6759 defaultProps: true,
6760 displayName: true,
6761 propTypes: true
6762 };
6763 var MEMO_STATICS = {
6764 '$$typeof': true,
6765 compare: true,
6766 defaultProps: true,
6767 displayName: true,
6768 propTypes: true,
6769 type: true
6770 };
6771 var TYPE_STATICS = {};
6772 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6773 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6774
6775 function getStatics(component) {
6776 // React v16.11 and below
6777 if (reactIs.isMemo(component)) {
6778 return MEMO_STATICS;
6779 } // React v16.12 and above
6780
6781
6782 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6783 }
6784
6785 var defineProperty = Object.defineProperty;
6786 var getOwnPropertyNames = Object.getOwnPropertyNames;
6787 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6788 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6789 var getPrototypeOf = Object.getPrototypeOf;
6790 var objectPrototype = Object.prototype;
6791 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6792 if (typeof sourceComponent !== 'string') {
6793 // don't hoist over string (html) components
6794 if (objectPrototype) {
6795 var inheritedComponent = getPrototypeOf(sourceComponent);
6796
6797 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6798 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6799 }
6800 }
6801
6802 var keys = getOwnPropertyNames(sourceComponent);
6803
6804 if (getOwnPropertySymbols) {
6805 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6806 }
6807
6808 var targetStatics = getStatics(targetComponent);
6809 var sourceStatics = getStatics(sourceComponent);
6810
6811 for (var i = 0; i < keys.length; ++i) {
6812 var key = keys[i];
6813
6814 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6815 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6816
6817 try {
6818 // Avoid failures from read-only properties
6819 defineProperty(targetComponent, key, descriptor);
6820 } catch (e) {}
6821 }
6822 }
6823 }
6824
6825 return targetComponent;
6826 }
6827
6828 module.exports = hoistNonReactStatics;
6829
6830
6831 /***/ }),
6832
6833 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6834 /*!*************************************************************************************************!*\
6835 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6836 \*************************************************************************************************/
6837 /***/ ((__unused_webpack_module, exports) => {
6838
6839 "use strict";
6840 /** @license React v16.13.1
6841 * react-is.development.js
6842 *
6843 * Copyright (c) Facebook, Inc. and its affiliates.
6844 *
6845 * This source code is licensed under the MIT license found in the
6846 * LICENSE file in the root directory of this source tree.
6847 */
6848
6849
6850
6851
6852
6853 if (true) {
6854 (function() {
6855 'use strict';
6856
6857 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6858 // nor polyfill, then a plain number is used for performance.
6859 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6860 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6861 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6862 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6863 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6864 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6865 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6866 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6867 // (unstable) APIs that have been removed. Can we remove the symbols?
6868
6869 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6870 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6871 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6872 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6873 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6874 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6875 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6876 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6877 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6878 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6879 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6880
6881 function isValidElementType(type) {
6882 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6883 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);
6884 }
6885
6886 function typeOf(object) {
6887 if (typeof object === 'object' && object !== null) {
6888 var $$typeof = object.$$typeof;
6889
6890 switch ($$typeof) {
6891 case REACT_ELEMENT_TYPE:
6892 var type = object.type;
6893
6894 switch (type) {
6895 case REACT_ASYNC_MODE_TYPE:
6896 case REACT_CONCURRENT_MODE_TYPE:
6897 case REACT_FRAGMENT_TYPE:
6898 case REACT_PROFILER_TYPE:
6899 case REACT_STRICT_MODE_TYPE:
6900 case REACT_SUSPENSE_TYPE:
6901 return type;
6902
6903 default:
6904 var $$typeofType = type && type.$$typeof;
6905
6906 switch ($$typeofType) {
6907 case REACT_CONTEXT_TYPE:
6908 case REACT_FORWARD_REF_TYPE:
6909 case REACT_LAZY_TYPE:
6910 case REACT_MEMO_TYPE:
6911 case REACT_PROVIDER_TYPE:
6912 return $$typeofType;
6913
6914 default:
6915 return $$typeof;
6916 }
6917
6918 }
6919
6920 case REACT_PORTAL_TYPE:
6921 return $$typeof;
6922 }
6923 }
6924
6925 return undefined;
6926 } // AsyncMode is deprecated along with isAsyncMode
6927
6928 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6929 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6930 var ContextConsumer = REACT_CONTEXT_TYPE;
6931 var ContextProvider = REACT_PROVIDER_TYPE;
6932 var Element = REACT_ELEMENT_TYPE;
6933 var ForwardRef = REACT_FORWARD_REF_TYPE;
6934 var Fragment = REACT_FRAGMENT_TYPE;
6935 var Lazy = REACT_LAZY_TYPE;
6936 var Memo = REACT_MEMO_TYPE;
6937 var Portal = REACT_PORTAL_TYPE;
6938 var Profiler = REACT_PROFILER_TYPE;
6939 var StrictMode = REACT_STRICT_MODE_TYPE;
6940 var Suspense = REACT_SUSPENSE_TYPE;
6941 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6942
6943 function isAsyncMode(object) {
6944 {
6945 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6946 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6947
6948 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.');
6949 }
6950 }
6951
6952 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6953 }
6954 function isConcurrentMode(object) {
6955 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6956 }
6957 function isContextConsumer(object) {
6958 return typeOf(object) === REACT_CONTEXT_TYPE;
6959 }
6960 function isContextProvider(object) {
6961 return typeOf(object) === REACT_PROVIDER_TYPE;
6962 }
6963 function isElement(object) {
6964 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6965 }
6966 function isForwardRef(object) {
6967 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6968 }
6969 function isFragment(object) {
6970 return typeOf(object) === REACT_FRAGMENT_TYPE;
6971 }
6972 function isLazy(object) {
6973 return typeOf(object) === REACT_LAZY_TYPE;
6974 }
6975 function isMemo(object) {
6976 return typeOf(object) === REACT_MEMO_TYPE;
6977 }
6978 function isPortal(object) {
6979 return typeOf(object) === REACT_PORTAL_TYPE;
6980 }
6981 function isProfiler(object) {
6982 return typeOf(object) === REACT_PROFILER_TYPE;
6983 }
6984 function isStrictMode(object) {
6985 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6986 }
6987 function isSuspense(object) {
6988 return typeOf(object) === REACT_SUSPENSE_TYPE;
6989 }
6990
6991 exports.AsyncMode = AsyncMode;
6992 exports.ConcurrentMode = ConcurrentMode;
6993 exports.ContextConsumer = ContextConsumer;
6994 exports.ContextProvider = ContextProvider;
6995 exports.Element = Element;
6996 exports.ForwardRef = ForwardRef;
6997 exports.Fragment = Fragment;
6998 exports.Lazy = Lazy;
6999 exports.Memo = Memo;
7000 exports.Portal = Portal;
7001 exports.Profiler = Profiler;
7002 exports.StrictMode = StrictMode;
7003 exports.Suspense = Suspense;
7004 exports.isAsyncMode = isAsyncMode;
7005 exports.isConcurrentMode = isConcurrentMode;
7006 exports.isContextConsumer = isContextConsumer;
7007 exports.isContextProvider = isContextProvider;
7008 exports.isElement = isElement;
7009 exports.isForwardRef = isForwardRef;
7010 exports.isFragment = isFragment;
7011 exports.isLazy = isLazy;
7012 exports.isMemo = isMemo;
7013 exports.isPortal = isPortal;
7014 exports.isProfiler = isProfiler;
7015 exports.isStrictMode = isStrictMode;
7016 exports.isSuspense = isSuspense;
7017 exports.isValidElementType = isValidElementType;
7018 exports.typeOf = typeOf;
7019 })();
7020 }
7021
7022
7023 /***/ }),
7024
7025 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
7026 /*!******************************************************************************!*\
7027 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
7028 \******************************************************************************/
7029 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7030
7031 "use strict";
7032
7033
7034 if (false) {} else {
7035 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
7036 }
7037
7038
7039 /***/ }),
7040
7041 /***/ "../node_modules/html-to-image/es/apply-style.js":
7042 /*!*******************************************************!*\
7043 !*** ../node_modules/html-to-image/es/apply-style.js ***!
7044 \*******************************************************/
7045 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7046
7047 "use strict";
7048 __webpack_require__.r(__webpack_exports__);
7049 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7050 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
7051 /* harmony export */ });
7052 function applyStyle(node, options) {
7053 const { style } = node;
7054 if (options.backgroundColor) {
7055 style.backgroundColor = options.backgroundColor;
7056 }
7057 if (options.width) {
7058 style.width = `${options.width}px`;
7059 }
7060 if (options.height) {
7061 style.height = `${options.height}px`;
7062 }
7063 const manual = options.style;
7064 if (manual != null) {
7065 Object.keys(manual).forEach((key) => {
7066 style[key] = manual[key];
7067 });
7068 }
7069 return node;
7070 }
7071 //# sourceMappingURL=apply-style.js.map
7072
7073 /***/ }),
7074
7075 /***/ "../node_modules/html-to-image/es/clone-node.js":
7076 /*!******************************************************!*\
7077 !*** ../node_modules/html-to-image/es/clone-node.js ***!
7078 \******************************************************/
7079 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7080
7081 "use strict";
7082 __webpack_require__.r(__webpack_exports__);
7083 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7084 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
7085 /* harmony export */ });
7086 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
7087 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7088 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7089 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7090
7091
7092
7093
7094 async function cloneCanvasElement(canvas) {
7095 const dataURL = canvas.toDataURL();
7096 if (dataURL === 'data:,') {
7097 return canvas.cloneNode(false);
7098 }
7099 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7100 }
7101 async function cloneVideoElement(video, options) {
7102 if (video.currentSrc) {
7103 const canvas = document.createElement('canvas');
7104 const ctx = canvas.getContext('2d');
7105 canvas.width = video.clientWidth;
7106 canvas.height = video.clientHeight;
7107 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
7108 const dataURL = canvas.toDataURL();
7109 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7110 }
7111 const poster = video.poster;
7112 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
7113 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
7114 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7115 }
7116 async function cloneIFrameElement(iframe) {
7117 var _a;
7118 try {
7119 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
7120 return (await cloneNode(iframe.contentDocument.body, {}, true));
7121 }
7122 }
7123 catch (_b) {
7124 // Failed to clone iframe
7125 }
7126 return iframe.cloneNode(false);
7127 }
7128 async function cloneSingleNode(node, options) {
7129 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
7130 return cloneCanvasElement(node);
7131 }
7132 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
7133 return cloneVideoElement(node, options);
7134 }
7135 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
7136 return cloneIFrameElement(node);
7137 }
7138 return node.cloneNode(false);
7139 }
7140 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
7141 async function cloneChildren(nativeNode, clonedNode, options) {
7142 var _a, _b;
7143 let children = [];
7144 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
7145 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
7146 }
7147 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7148 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
7149 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
7150 }
7151 else {
7152 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
7153 }
7154 if (children.length === 0 ||
7155 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
7156 return clonedNode;
7157 }
7158 await children.reduce((deferred, child) => deferred
7159 .then(() => cloneNode(child, options))
7160 .then((clonedChild) => {
7161 if (clonedChild) {
7162 clonedNode.appendChild(clonedChild);
7163 }
7164 }), Promise.resolve());
7165 return clonedNode;
7166 }
7167 function cloneCSSStyle(nativeNode, clonedNode) {
7168 const targetStyle = clonedNode.style;
7169 if (!targetStyle) {
7170 return;
7171 }
7172 const sourceStyle = window.getComputedStyle(nativeNode);
7173 if (sourceStyle.cssText) {
7174 targetStyle.cssText = sourceStyle.cssText;
7175 targetStyle.transformOrigin = sourceStyle.transformOrigin;
7176 }
7177 else {
7178 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
7179 let value = sourceStyle.getPropertyValue(name);
7180 if (name === 'font-size' && value.endsWith('px')) {
7181 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
7182 value = `${reducedFont}px`;
7183 }
7184 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7185 name === 'display' &&
7186 value === 'inline') {
7187 value = 'block';
7188 }
7189 if (name === 'd' && clonedNode.getAttribute('d')) {
7190 value = `path(${clonedNode.getAttribute('d')})`;
7191 }
7192 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
7193 });
7194 }
7195 }
7196 function cloneInputValue(nativeNode, clonedNode) {
7197 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
7198 clonedNode.innerHTML = nativeNode.value;
7199 }
7200 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
7201 clonedNode.setAttribute('value', nativeNode.value);
7202 }
7203 }
7204 function cloneSelectValue(nativeNode, clonedNode) {
7205 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
7206 const clonedSelect = clonedNode;
7207 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
7208 if (selectedOption) {
7209 selectedOption.setAttribute('selected', '');
7210 }
7211 }
7212 }
7213 function decorate(nativeNode, clonedNode) {
7214 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7215 cloneCSSStyle(nativeNode, clonedNode);
7216 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
7217 cloneInputValue(nativeNode, clonedNode);
7218 cloneSelectValue(nativeNode, clonedNode);
7219 }
7220 return clonedNode;
7221 }
7222 async function ensureSVGSymbols(clone, options) {
7223 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
7224 if (uses.length === 0) {
7225 return clone;
7226 }
7227 const processedDefs = {};
7228 for (let i = 0; i < uses.length; i++) {
7229 const use = uses[i];
7230 const id = use.getAttribute('xlink:href');
7231 if (id) {
7232 const exist = clone.querySelector(id);
7233 const definition = document.querySelector(id);
7234 if (!exist && definition && !processedDefs[id]) {
7235 // eslint-disable-next-line no-await-in-loop
7236 processedDefs[id] = (await cloneNode(definition, options, true));
7237 }
7238 }
7239 }
7240 const nodes = Object.values(processedDefs);
7241 if (nodes.length) {
7242 const ns = 'http://www.w3.org/1999/xhtml';
7243 const svg = document.createElementNS(ns, 'svg');
7244 svg.setAttribute('xmlns', ns);
7245 svg.style.position = 'absolute';
7246 svg.style.width = '0';
7247 svg.style.height = '0';
7248 svg.style.overflow = 'hidden';
7249 svg.style.display = 'none';
7250 const defs = document.createElementNS(ns, 'defs');
7251 svg.appendChild(defs);
7252 for (let i = 0; i < nodes.length; i++) {
7253 defs.appendChild(nodes[i]);
7254 }
7255 clone.appendChild(svg);
7256 }
7257 return clone;
7258 }
7259 async function cloneNode(node, options, isRoot) {
7260 if (!isRoot && options.filter && !options.filter(node)) {
7261 return null;
7262 }
7263 return Promise.resolve(node)
7264 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7265 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7266 .then((clonedNode) => decorate(node, clonedNode))
7267 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7268 }
7269 //# sourceMappingURL=clone-node.js.map
7270
7271 /***/ }),
7272
7273 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7274 /*!*********************************************************!*\
7275 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7276 \*********************************************************/
7277 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7278
7279 "use strict";
7280 __webpack_require__.r(__webpack_exports__);
7281 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7282 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7283 /* harmony export */ });
7284 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7285
7286 function formatCSSText(style) {
7287 const content = style.getPropertyValue('content');
7288 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7289 }
7290 function formatCSSProperties(style) {
7291 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7292 .map((name) => {
7293 const value = style.getPropertyValue(name);
7294 const priority = style.getPropertyPriority(name);
7295 return `${name}: ${value}${priority ? ' !important' : ''};`;
7296 })
7297 .join(' ');
7298 }
7299 function getPseudoElementStyle(className, pseudo, style) {
7300 const selector = `.${className}:${pseudo}`;
7301 const cssText = style.cssText
7302 ? formatCSSText(style)
7303 : formatCSSProperties(style);
7304 return document.createTextNode(`${selector}{${cssText}}`);
7305 }
7306 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7307 const style = window.getComputedStyle(nativeNode, pseudo);
7308 const content = style.getPropertyValue('content');
7309 if (content === '' || content === 'none') {
7310 return;
7311 }
7312 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7313 try {
7314 clonedNode.className = `${clonedNode.className} ${className}`;
7315 }
7316 catch (err) {
7317 return;
7318 }
7319 const styleElement = document.createElement('style');
7320 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7321 clonedNode.appendChild(styleElement);
7322 }
7323 function clonePseudoElements(nativeNode, clonedNode) {
7324 clonePseudoElement(nativeNode, clonedNode, ':before');
7325 clonePseudoElement(nativeNode, clonedNode, ':after');
7326 }
7327 //# sourceMappingURL=clone-pseudos.js.map
7328
7329 /***/ }),
7330
7331 /***/ "../node_modules/html-to-image/es/dataurl.js":
7332 /*!***************************************************!*\
7333 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7334 \***************************************************/
7335 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7336
7337 "use strict";
7338 __webpack_require__.r(__webpack_exports__);
7339 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7340 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7341 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7342 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7343 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7344 /* harmony export */ });
7345 function getContentFromDataUrl(dataURL) {
7346 return dataURL.split(/,/)[1];
7347 }
7348 function isDataUrl(url) {
7349 return url.search(/^(data:)/) !== -1;
7350 }
7351 function makeDataUrl(content, mimeType) {
7352 return `data:${mimeType};base64,${content}`;
7353 }
7354 async function fetchAsDataURL(url, init, process) {
7355 const res = await fetch(url, init);
7356 if (res.status === 404) {
7357 throw new Error(`Resource "${res.url}" not found`);
7358 }
7359 const blob = await res.blob();
7360 return new Promise((resolve, reject) => {
7361 const reader = new FileReader();
7362 reader.onerror = reject;
7363 reader.onloadend = () => {
7364 try {
7365 resolve(process({ res, result: reader.result }));
7366 }
7367 catch (error) {
7368 reject(error);
7369 }
7370 };
7371 reader.readAsDataURL(blob);
7372 });
7373 }
7374 const cache = {};
7375 function getCacheKey(url, contentType, includeQueryParams) {
7376 let key = url.replace(/\?.*/, '');
7377 if (includeQueryParams) {
7378 key = url;
7379 }
7380 // font resource
7381 if (/ttf|otf|eot|woff2?/i.test(key)) {
7382 key = key.replace(/.*\//, '');
7383 }
7384 return contentType ? `[${contentType}]${key}` : key;
7385 }
7386 async function resourceToDataURL(resourceUrl, contentType, options) {
7387 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7388 if (cache[cacheKey] != null) {
7389 return cache[cacheKey];
7390 }
7391 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7392 if (options.cacheBust) {
7393 // eslint-disable-next-line no-param-reassign
7394 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7395 }
7396 let dataURL;
7397 try {
7398 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7399 if (!contentType) {
7400 // eslint-disable-next-line no-param-reassign
7401 contentType = res.headers.get('Content-Type') || '';
7402 }
7403 return getContentFromDataUrl(result);
7404 });
7405 dataURL = makeDataUrl(content, contentType);
7406 }
7407 catch (error) {
7408 dataURL = options.imagePlaceholder || '';
7409 let msg = `Failed to fetch resource: ${resourceUrl}`;
7410 if (error) {
7411 msg = typeof error === 'string' ? error : error.message;
7412 }
7413 if (msg) {
7414 console.warn(msg);
7415 }
7416 }
7417 cache[cacheKey] = dataURL;
7418 return dataURL;
7419 }
7420 //# sourceMappingURL=dataurl.js.map
7421
7422 /***/ }),
7423
7424 /***/ "../node_modules/html-to-image/es/embed-images.js":
7425 /*!********************************************************!*\
7426 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7427 \********************************************************/
7428 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7429
7430 "use strict";
7431 __webpack_require__.r(__webpack_exports__);
7432 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7433 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7434 /* harmony export */ });
7435 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7436 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7437 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7438 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7439
7440
7441
7442
7443 async function embedProp(propName, node, options) {
7444 var _a;
7445 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7446 if (propValue) {
7447 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7448 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7449 return true;
7450 }
7451 return false;
7452 }
7453 async function embedBackground(clonedNode, options) {
7454 if (!(await embedProp('background', clonedNode, options))) {
7455 await embedProp('background-image', clonedNode, options);
7456 }
7457 if (!(await embedProp('mask', clonedNode, options))) {
7458 await embedProp('mask-image', clonedNode, options);
7459 }
7460 }
7461 async function embedImageNode(clonedNode, options) {
7462 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7463 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7464 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7465 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7466 return;
7467 }
7468 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7469 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7470 await new Promise((resolve, reject) => {
7471 clonedNode.onload = resolve;
7472 clonedNode.onerror = reject;
7473 const image = clonedNode;
7474 if (image.decode) {
7475 image.decode = resolve;
7476 }
7477 if (image.loading === 'lazy') {
7478 image.loading = 'eager';
7479 }
7480 if (isImageElement) {
7481 clonedNode.srcset = '';
7482 clonedNode.src = dataURL;
7483 }
7484 else {
7485 clonedNode.href.baseVal = dataURL;
7486 }
7487 });
7488 }
7489 async function embedChildren(clonedNode, options) {
7490 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7491 const deferreds = children.map((child) => embedImages(child, options));
7492 await Promise.all(deferreds).then(() => clonedNode);
7493 }
7494 async function embedImages(clonedNode, options) {
7495 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7496 await embedBackground(clonedNode, options);
7497 await embedImageNode(clonedNode, options);
7498 await embedChildren(clonedNode, options);
7499 }
7500 }
7501 //# sourceMappingURL=embed-images.js.map
7502
7503 /***/ }),
7504
7505 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7506 /*!***********************************************************!*\
7507 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7508 \***********************************************************/
7509 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7510
7511 "use strict";
7512 __webpack_require__.r(__webpack_exports__);
7513 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7514 /* harmony export */ embed: () => (/* binding */ embed),
7515 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7516 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7517 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7518 /* harmony export */ });
7519 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7520 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7521 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7522
7523
7524
7525 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7526 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7527 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7528 function toRegex(url) {
7529 // eslint-disable-next-line no-useless-escape
7530 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7531 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7532 }
7533 function parseURLs(cssText) {
7534 const urls = [];
7535 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7536 urls.push(url);
7537 return raw;
7538 });
7539 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7540 }
7541 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7542 try {
7543 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7544 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7545 let dataURL;
7546 if (getContentFromUrl) {
7547 const content = await getContentFromUrl(resolvedURL);
7548 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7549 }
7550 else {
7551 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7552 }
7553 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7554 }
7555 catch (error) {
7556 // pass
7557 }
7558 return cssText;
7559 }
7560 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7561 return !preferredFontFormat
7562 ? str
7563 : str.replace(FONT_SRC_REGEX, (match) => {
7564 // eslint-disable-next-line no-constant-condition
7565 while (true) {
7566 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7567 if (!format) {
7568 return '';
7569 }
7570 if (format === preferredFontFormat) {
7571 return `src: ${src};`;
7572 }
7573 }
7574 });
7575 }
7576 function shouldEmbed(url) {
7577 return url.search(URL_REGEX) !== -1;
7578 }
7579 async function embedResources(cssText, baseUrl, options) {
7580 if (!shouldEmbed(cssText)) {
7581 return cssText;
7582 }
7583 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7584 const urls = parseURLs(filteredCSSText);
7585 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7586 }
7587 //# sourceMappingURL=embed-resources.js.map
7588
7589 /***/ }),
7590
7591 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7592 /*!**********************************************************!*\
7593 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7594 \**********************************************************/
7595 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7596
7597 "use strict";
7598 __webpack_require__.r(__webpack_exports__);
7599 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7600 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7601 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7602 /* harmony export */ });
7603 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7604 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7605 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7606
7607
7608
7609 const cssFetchCache = {};
7610 async function fetchCSS(url) {
7611 let cache = cssFetchCache[url];
7612 if (cache != null) {
7613 return cache;
7614 }
7615 const res = await fetch(url);
7616 const cssText = await res.text();
7617 cache = { url, cssText };
7618 cssFetchCache[url] = cache;
7619 return cache;
7620 }
7621 async function embedFonts(data, options) {
7622 let cssText = data.cssText;
7623 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7624 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7625 const loadFonts = fontLocs.map(async (loc) => {
7626 let url = loc.replace(regexUrl, '$1');
7627 if (!url.startsWith('https://')) {
7628 url = new URL(url, data.url).href;
7629 }
7630 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7631 cssText = cssText.replace(loc, `url(${result})`);
7632 return [loc, result];
7633 });
7634 });
7635 return Promise.all(loadFonts).then(() => cssText);
7636 }
7637 function parseCSS(source) {
7638 if (source == null) {
7639 return [];
7640 }
7641 const result = [];
7642 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7643 // strip out comments
7644 let cssText = source.replace(commentsRegex, '');
7645 // eslint-disable-next-line prefer-regex-literals
7646 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7647 // eslint-disable-next-line no-constant-condition
7648 while (true) {
7649 const matches = keyframesRegex.exec(cssText);
7650 if (matches === null) {
7651 break;
7652 }
7653 result.push(matches[0]);
7654 }
7655 cssText = cssText.replace(keyframesRegex, '');
7656 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7657 // to match css & media queries together
7658 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7659 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7660 // unified regex
7661 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7662 // eslint-disable-next-line no-constant-condition
7663 while (true) {
7664 let matches = importRegex.exec(cssText);
7665 if (matches === null) {
7666 matches = unifiedRegex.exec(cssText);
7667 if (matches === null) {
7668 break;
7669 }
7670 else {
7671 importRegex.lastIndex = unifiedRegex.lastIndex;
7672 }
7673 }
7674 else {
7675 unifiedRegex.lastIndex = importRegex.lastIndex;
7676 }
7677 result.push(matches[0]);
7678 }
7679 return result;
7680 }
7681 async function getCSSRules(styleSheets, options) {
7682 const ret = [];
7683 const deferreds = [];
7684 // First loop inlines imports
7685 styleSheets.forEach((sheet) => {
7686 if ('cssRules' in sheet) {
7687 try {
7688 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7689 if (item.type === CSSRule.IMPORT_RULE) {
7690 let importIndex = index + 1;
7691 const url = item.href;
7692 const deferred = fetchCSS(url)
7693 .then((metadata) => embedFonts(metadata, options))
7694 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7695 try {
7696 sheet.insertRule(rule, rule.startsWith('@import')
7697 ? (importIndex += 1)
7698 : sheet.cssRules.length);
7699 }
7700 catch (error) {
7701 console.error('Error inserting rule from remote css', {
7702 rule,
7703 error,
7704 });
7705 }
7706 }))
7707 .catch((e) => {
7708 console.error('Error loading remote css', e.toString());
7709 });
7710 deferreds.push(deferred);
7711 }
7712 });
7713 }
7714 catch (e) {
7715 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7716 if (sheet.href != null) {
7717 deferreds.push(fetchCSS(sheet.href)
7718 .then((metadata) => embedFonts(metadata, options))
7719 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7720 inline.insertRule(rule, sheet.cssRules.length);
7721 }))
7722 .catch((err) => {
7723 console.error('Error loading remote stylesheet', err);
7724 }));
7725 }
7726 console.error('Error inlining remote css file', e);
7727 }
7728 }
7729 });
7730 return Promise.all(deferreds).then(() => {
7731 // Second loop parses rules
7732 styleSheets.forEach((sheet) => {
7733 if ('cssRules' in sheet) {
7734 try {
7735 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7736 ret.push(item);
7737 });
7738 }
7739 catch (e) {
7740 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7741 }
7742 }
7743 });
7744 return ret;
7745 });
7746 }
7747 function getWebFontRules(cssRules) {
7748 return cssRules
7749 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7750 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7751 }
7752 async function parseWebFontRules(node, options) {
7753 if (node.ownerDocument == null) {
7754 throw new Error('Provided element is not within a Document');
7755 }
7756 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7757 const cssRules = await getCSSRules(styleSheets, options);
7758 return getWebFontRules(cssRules);
7759 }
7760 async function getWebFontCSS(node, options) {
7761 const rules = await parseWebFontRules(node, options);
7762 const cssTexts = await Promise.all(rules.map((rule) => {
7763 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7764 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7765 }));
7766 return cssTexts.join('\n');
7767 }
7768 async function embedWebFonts(clonedNode, options) {
7769 const cssText = options.fontEmbedCSS != null
7770 ? options.fontEmbedCSS
7771 : options.skipFonts
7772 ? null
7773 : await getWebFontCSS(clonedNode, options);
7774 if (cssText) {
7775 const styleNode = document.createElement('style');
7776 const sytleContent = document.createTextNode(cssText);
7777 styleNode.appendChild(sytleContent);
7778 if (clonedNode.firstChild) {
7779 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7780 }
7781 else {
7782 clonedNode.appendChild(styleNode);
7783 }
7784 }
7785 }
7786 //# sourceMappingURL=embed-webfonts.js.map
7787
7788 /***/ }),
7789
7790 /***/ "../node_modules/html-to-image/es/index.js":
7791 /*!*************************************************!*\
7792 !*** ../node_modules/html-to-image/es/index.js ***!
7793 \*************************************************/
7794 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7795
7796 "use strict";
7797 __webpack_require__.r(__webpack_exports__);
7798 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7799 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7800 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7801 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7802 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7803 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7804 /* harmony export */ toPng: () => (/* binding */ toPng),
7805 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7806 /* harmony export */ });
7807 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7808 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7809 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7810 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7811 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7812
7813
7814
7815
7816
7817 async function toSvg(node, options = {}) {
7818 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7819 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7820 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7821 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7822 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7823 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7824 return datauri;
7825 }
7826 async function toCanvas(node, options = {}) {
7827 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7828 const svg = await toSvg(node, options);
7829 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7830 const canvas = document.createElement('canvas');
7831 const context = canvas.getContext('2d');
7832 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7833 const canvasWidth = options.canvasWidth || width;
7834 const canvasHeight = options.canvasHeight || height;
7835 canvas.width = canvasWidth * ratio;
7836 canvas.height = canvasHeight * ratio;
7837 if (!options.skipAutoScale) {
7838 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7839 }
7840 canvas.style.width = `${canvasWidth}`;
7841 canvas.style.height = `${canvasHeight}`;
7842 if (options.backgroundColor) {
7843 context.fillStyle = options.backgroundColor;
7844 context.fillRect(0, 0, canvas.width, canvas.height);
7845 }
7846 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7847 return canvas;
7848 }
7849 async function toPixelData(node, options = {}) {
7850 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7851 const canvas = await toCanvas(node, options);
7852 const ctx = canvas.getContext('2d');
7853 return ctx.getImageData(0, 0, width, height).data;
7854 }
7855 async function toPng(node, options = {}) {
7856 const canvas = await toCanvas(node, options);
7857 return canvas.toDataURL();
7858 }
7859 async function toJpeg(node, options = {}) {
7860 const canvas = await toCanvas(node, options);
7861 return canvas.toDataURL('image/jpeg', options.quality || 1);
7862 }
7863 async function toBlob(node, options = {}) {
7864 const canvas = await toCanvas(node, options);
7865 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7866 return blob;
7867 }
7868 async function getFontEmbedCSS(node, options = {}) {
7869 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7870 }
7871 //# sourceMappingURL=index.js.map
7872
7873 /***/ }),
7874
7875 /***/ "../node_modules/html-to-image/es/mimes.js":
7876 /*!*************************************************!*\
7877 !*** ../node_modules/html-to-image/es/mimes.js ***!
7878 \*************************************************/
7879 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7880
7881 "use strict";
7882 __webpack_require__.r(__webpack_exports__);
7883 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7884 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7885 /* harmony export */ });
7886 const WOFF = 'application/font-woff';
7887 const JPEG = 'image/jpeg';
7888 const mimes = {
7889 woff: WOFF,
7890 woff2: WOFF,
7891 ttf: 'application/font-truetype',
7892 eot: 'application/vnd.ms-fontobject',
7893 png: 'image/png',
7894 jpg: JPEG,
7895 jpeg: JPEG,
7896 gif: 'image/gif',
7897 tiff: 'image/tiff',
7898 svg: 'image/svg+xml',
7899 webp: 'image/webp',
7900 };
7901 function getExtension(url) {
7902 const match = /\.([^./]*?)$/g.exec(url);
7903 return match ? match[1] : '';
7904 }
7905 function getMimeType(url) {
7906 const extension = getExtension(url).toLowerCase();
7907 return mimes[extension] || '';
7908 }
7909 //# sourceMappingURL=mimes.js.map
7910
7911 /***/ }),
7912
7913 /***/ "../node_modules/html-to-image/es/util.js":
7914 /*!************************************************!*\
7915 !*** ../node_modules/html-to-image/es/util.js ***!
7916 \************************************************/
7917 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7918
7919 "use strict";
7920 __webpack_require__.r(__webpack_exports__);
7921 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7922 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7923 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7924 /* harmony export */ createImage: () => (/* binding */ createImage),
7925 /* harmony export */ delay: () => (/* binding */ delay),
7926 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7927 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7928 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7929 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7930 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7931 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7932 /* harmony export */ toArray: () => (/* binding */ toArray),
7933 /* harmony export */ uuid: () => (/* binding */ uuid)
7934 /* harmony export */ });
7935 function resolveUrl(url, baseUrl) {
7936 // url is absolute already
7937 if (url.match(/^[a-z]+:\/\//i)) {
7938 return url;
7939 }
7940 // url is absolute already, without protocol
7941 if (url.match(/^\/\//)) {
7942 return window.location.protocol + url;
7943 }
7944 // dataURI, mailto:, tel:, etc.
7945 if (url.match(/^[a-z]+:/i)) {
7946 return url;
7947 }
7948 const doc = document.implementation.createHTMLDocument();
7949 const base = doc.createElement('base');
7950 const a = doc.createElement('a');
7951 doc.head.appendChild(base);
7952 doc.body.appendChild(a);
7953 if (baseUrl) {
7954 base.href = baseUrl;
7955 }
7956 a.href = url;
7957 return a.href;
7958 }
7959 const uuid = (() => {
7960 // generate uuid for className of pseudo elements.
7961 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7962 let counter = 0;
7963 // ref: http://stackoverflow.com/a/6248722/2519373
7964 const random = () =>
7965 // eslint-disable-next-line no-bitwise
7966 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7967 return () => {
7968 counter += 1;
7969 return `u${random()}${counter}`;
7970 };
7971 })();
7972 function delay(ms) {
7973 return (args) => new Promise((resolve) => {
7974 setTimeout(() => resolve(args), ms);
7975 });
7976 }
7977 function toArray(arrayLike) {
7978 const arr = [];
7979 for (let i = 0, l = arrayLike.length; i < l; i++) {
7980 arr.push(arrayLike[i]);
7981 }
7982 return arr;
7983 }
7984 function px(node, styleProperty) {
7985 const win = node.ownerDocument.defaultView || window;
7986 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7987 return val ? parseFloat(val.replace('px', '')) : 0;
7988 }
7989 function getNodeWidth(node) {
7990 const leftBorder = px(node, 'border-left-width');
7991 const rightBorder = px(node, 'border-right-width');
7992 return node.clientWidth + leftBorder + rightBorder;
7993 }
7994 function getNodeHeight(node) {
7995 const topBorder = px(node, 'border-top-width');
7996 const bottomBorder = px(node, 'border-bottom-width');
7997 return node.clientHeight + topBorder + bottomBorder;
7998 }
7999 function getImageSize(targetNode, options = {}) {
8000 const width = options.width || getNodeWidth(targetNode);
8001 const height = options.height || getNodeHeight(targetNode);
8002 return { width, height };
8003 }
8004 function getPixelRatio() {
8005 let ratio;
8006 let FINAL_PROCESS;
8007 try {
8008 FINAL_PROCESS = process;
8009 }
8010 catch (e) {
8011 // pass
8012 }
8013 const val = FINAL_PROCESS && FINAL_PROCESS.env
8014 ? FINAL_PROCESS.env.devicePixelRatio
8015 : null;
8016 if (val) {
8017 ratio = parseInt(val, 10);
8018 if (Number.isNaN(ratio)) {
8019 ratio = 1;
8020 }
8021 }
8022 return ratio || window.devicePixelRatio || 1;
8023 }
8024 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
8025 const canvasDimensionLimit = 16384;
8026 function checkCanvasDimensions(canvas) {
8027 if (canvas.width > canvasDimensionLimit ||
8028 canvas.height > canvasDimensionLimit) {
8029 if (canvas.width > canvasDimensionLimit &&
8030 canvas.height > canvasDimensionLimit) {
8031 if (canvas.width > canvas.height) {
8032 canvas.height *= canvasDimensionLimit / canvas.width;
8033 canvas.width = canvasDimensionLimit;
8034 }
8035 else {
8036 canvas.width *= canvasDimensionLimit / canvas.height;
8037 canvas.height = canvasDimensionLimit;
8038 }
8039 }
8040 else if (canvas.width > canvasDimensionLimit) {
8041 canvas.height *= canvasDimensionLimit / canvas.width;
8042 canvas.width = canvasDimensionLimit;
8043 }
8044 else {
8045 canvas.width *= canvasDimensionLimit / canvas.height;
8046 canvas.height = canvasDimensionLimit;
8047 }
8048 }
8049 }
8050 function canvasToBlob(canvas, options = {}) {
8051 if (canvas.toBlob) {
8052 return new Promise((resolve) => {
8053 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
8054 });
8055 }
8056 return new Promise((resolve) => {
8057 const binaryString = window.atob(canvas
8058 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
8059 .split(',')[1]);
8060 const len = binaryString.length;
8061 const binaryArray = new Uint8Array(len);
8062 for (let i = 0; i < len; i += 1) {
8063 binaryArray[i] = binaryString.charCodeAt(i);
8064 }
8065 resolve(new Blob([binaryArray], {
8066 type: options.type ? options.type : 'image/png',
8067 }));
8068 });
8069 }
8070 function createImage(url) {
8071 return new Promise((resolve, reject) => {
8072 const img = new Image();
8073 img.decode = () => resolve(img);
8074 img.onload = () => resolve(img);
8075 img.onerror = reject;
8076 img.crossOrigin = 'anonymous';
8077 img.decoding = 'async';
8078 img.src = url;
8079 });
8080 }
8081 async function svgToDataURL(svg) {
8082 return Promise.resolve()
8083 .then(() => new XMLSerializer().serializeToString(svg))
8084 .then(encodeURIComponent)
8085 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
8086 }
8087 async function nodeToDataURL(node, width, height) {
8088 const xmlns = 'http://www.w3.org/2000/svg';
8089 const svg = document.createElementNS(xmlns, 'svg');
8090 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
8091 svg.setAttribute('width', `${width}`);
8092 svg.setAttribute('height', `${height}`);
8093 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
8094 foreignObject.setAttribute('width', '100%');
8095 foreignObject.setAttribute('height', '100%');
8096 foreignObject.setAttribute('x', '0');
8097 foreignObject.setAttribute('y', '0');
8098 foreignObject.setAttribute('externalResourcesRequired', 'true');
8099 svg.appendChild(foreignObject);
8100 foreignObject.appendChild(node);
8101 return svgToDataURL(svg);
8102 }
8103 const isInstanceOfElement = (node, instance) => {
8104 if (node instanceof instance)
8105 return true;
8106 const nodePrototype = Object.getPrototypeOf(node);
8107 if (nodePrototype === null)
8108 return false;
8109 return (nodePrototype.constructor.name === instance.name ||
8110 isInstanceOfElement(nodePrototype, instance));
8111 };
8112 //# sourceMappingURL=util.js.map
8113
8114 /***/ }),
8115
8116 /***/ "../node_modules/object-assign/index.js":
8117 /*!**********************************************!*\
8118 !*** ../node_modules/object-assign/index.js ***!
8119 \**********************************************/
8120 /***/ ((module) => {
8121
8122 "use strict";
8123 /*
8124 object-assign
8125 (c) Sindre Sorhus
8126 @license MIT
8127 */
8128
8129
8130 /* eslint-disable no-unused-vars */
8131 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
8132 var hasOwnProperty = Object.prototype.hasOwnProperty;
8133 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8134
8135 function toObject(val) {
8136 if (val === null || val === undefined) {
8137 throw new TypeError('Object.assign cannot be called with null or undefined');
8138 }
8139
8140 return Object(val);
8141 }
8142
8143 function shouldUseNative() {
8144 try {
8145 if (!Object.assign) {
8146 return false;
8147 }
8148
8149 // Detect buggy property enumeration order in older V8 versions.
8150
8151 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
8152 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
8153 test1[5] = 'de';
8154 if (Object.getOwnPropertyNames(test1)[0] === '5') {
8155 return false;
8156 }
8157
8158 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8159 var test2 = {};
8160 for (var i = 0; i < 10; i++) {
8161 test2['_' + String.fromCharCode(i)] = i;
8162 }
8163 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
8164 return test2[n];
8165 });
8166 if (order2.join('') !== '0123456789') {
8167 return false;
8168 }
8169
8170 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8171 var test3 = {};
8172 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
8173 test3[letter] = letter;
8174 });
8175 if (Object.keys(Object.assign({}, test3)).join('') !==
8176 'abcdefghijklmnopqrst') {
8177 return false;
8178 }
8179
8180 return true;
8181 } catch (err) {
8182 // We don't expect any of the above to throw, but better to be safe.
8183 return false;
8184 }
8185 }
8186
8187 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
8188 var from;
8189 var to = toObject(target);
8190 var symbols;
8191
8192 for (var s = 1; s < arguments.length; s++) {
8193 from = Object(arguments[s]);
8194
8195 for (var key in from) {
8196 if (hasOwnProperty.call(from, key)) {
8197 to[key] = from[key];
8198 }
8199 }
8200
8201 if (getOwnPropertySymbols) {
8202 symbols = getOwnPropertySymbols(from);
8203 for (var i = 0; i < symbols.length; i++) {
8204 if (propIsEnumerable.call(from, symbols[i])) {
8205 to[symbols[i]] = from[symbols[i]];
8206 }
8207 }
8208 }
8209 }
8210
8211 return to;
8212 };
8213
8214
8215 /***/ }),
8216
8217 /***/ "../node_modules/prop-types/checkPropTypes.js":
8218 /*!****************************************************!*\
8219 !*** ../node_modules/prop-types/checkPropTypes.js ***!
8220 \****************************************************/
8221 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8222
8223 "use strict";
8224 /**
8225 * Copyright (c) 2013-present, Facebook, Inc.
8226 *
8227 * This source code is licensed under the MIT license found in the
8228 * LICENSE file in the root directory of this source tree.
8229 */
8230
8231
8232
8233 var printWarning = function() {};
8234
8235 if (true) {
8236 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8237 var loggedTypeFailures = {};
8238 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8239
8240 printWarning = function(text) {
8241 var message = 'Warning: ' + text;
8242 if (typeof console !== 'undefined') {
8243 console.error(message);
8244 }
8245 try {
8246 // --- Welcome to debugging React ---
8247 // This error was thrown as a convenience so that you can use this stack
8248 // to find the callsite that caused this warning to fire.
8249 throw new Error(message);
8250 } catch (x) { /**/ }
8251 };
8252 }
8253
8254 /**
8255 * Assert that the values match with the type specs.
8256 * Error messages are memorized and will only be shown once.
8257 *
8258 * @param {object} typeSpecs Map of name to a ReactPropType
8259 * @param {object} values Runtime values that need to be type-checked
8260 * @param {string} location e.g. "prop", "context", "child context"
8261 * @param {string} componentName Name of the component for error messages.
8262 * @param {?Function} getStack Returns the component stack.
8263 * @private
8264 */
8265 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8266 if (true) {
8267 for (var typeSpecName in typeSpecs) {
8268 if (has(typeSpecs, typeSpecName)) {
8269 var error;
8270 // Prop type validation may throw. In case they do, we don't want to
8271 // fail the render phase where it didn't fail before. So we log it.
8272 // After these have been cleaned up, we'll let them throw.
8273 try {
8274 // This is intentionally an invariant that gets caught. It's the same
8275 // behavior as without this statement except with a better message.
8276 if (typeof typeSpecs[typeSpecName] !== 'function') {
8277 var err = Error(
8278 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8279 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8280 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8281 );
8282 err.name = 'Invariant Violation';
8283 throw err;
8284 }
8285 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8286 } catch (ex) {
8287 error = ex;
8288 }
8289 if (error && !(error instanceof Error)) {
8290 printWarning(
8291 (componentName || 'React class') + ': type specification of ' +
8292 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8293 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8294 'You may have forgotten to pass an argument to the type checker ' +
8295 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8296 'shape all require an argument).'
8297 );
8298 }
8299 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8300 // Only monitor this failure once because there tends to be a lot of the
8301 // same error.
8302 loggedTypeFailures[error.message] = true;
8303
8304 var stack = getStack ? getStack() : '';
8305
8306 printWarning(
8307 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8308 );
8309 }
8310 }
8311 }
8312 }
8313 }
8314
8315 /**
8316 * Resets warning cache when testing.
8317 *
8318 * @private
8319 */
8320 checkPropTypes.resetWarningCache = function() {
8321 if (true) {
8322 loggedTypeFailures = {};
8323 }
8324 }
8325
8326 module.exports = checkPropTypes;
8327
8328
8329 /***/ }),
8330
8331 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8332 /*!*************************************************************!*\
8333 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8334 \*************************************************************/
8335 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8336
8337 "use strict";
8338 /**
8339 * Copyright (c) 2013-present, Facebook, Inc.
8340 *
8341 * This source code is licensed under the MIT license found in the
8342 * LICENSE file in the root directory of this source tree.
8343 */
8344
8345
8346
8347 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8348 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8349
8350 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8351 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8352 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8353
8354 var printWarning = function() {};
8355
8356 if (true) {
8357 printWarning = function(text) {
8358 var message = 'Warning: ' + text;
8359 if (typeof console !== 'undefined') {
8360 console.error(message);
8361 }
8362 try {
8363 // --- Welcome to debugging React ---
8364 // This error was thrown as a convenience so that you can use this stack
8365 // to find the callsite that caused this warning to fire.
8366 throw new Error(message);
8367 } catch (x) {}
8368 };
8369 }
8370
8371 function emptyFunctionThatReturnsNull() {
8372 return null;
8373 }
8374
8375 module.exports = function(isValidElement, throwOnDirectAccess) {
8376 /* global Symbol */
8377 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8378 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8379
8380 /**
8381 * Returns the iterator method function contained on the iterable object.
8382 *
8383 * Be sure to invoke the function with the iterable as context:
8384 *
8385 * var iteratorFn = getIteratorFn(myIterable);
8386 * if (iteratorFn) {
8387 * var iterator = iteratorFn.call(myIterable);
8388 * ...
8389 * }
8390 *
8391 * @param {?object} maybeIterable
8392 * @return {?function}
8393 */
8394 function getIteratorFn(maybeIterable) {
8395 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8396 if (typeof iteratorFn === 'function') {
8397 return iteratorFn;
8398 }
8399 }
8400
8401 /**
8402 * Collection of methods that allow declaration and validation of props that are
8403 * supplied to React components. Example usage:
8404 *
8405 * var Props = require('ReactPropTypes');
8406 * var MyArticle = React.createClass({
8407 * propTypes: {
8408 * // An optional string prop named "description".
8409 * description: Props.string,
8410 *
8411 * // A required enum prop named "category".
8412 * category: Props.oneOf(['News','Photos']).isRequired,
8413 *
8414 * // A prop named "dialog" that requires an instance of Dialog.
8415 * dialog: Props.instanceOf(Dialog).isRequired
8416 * },
8417 * render: function() { ... }
8418 * });
8419 *
8420 * A more formal specification of how these methods are used:
8421 *
8422 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8423 * decl := ReactPropTypes.{type}(.isRequired)?
8424 *
8425 * Each and every declaration produces a function with the same signature. This
8426 * allows the creation of custom validation functions. For example:
8427 *
8428 * var MyLink = React.createClass({
8429 * propTypes: {
8430 * // An optional string or URI prop named "href".
8431 * href: function(props, propName, componentName) {
8432 * var propValue = props[propName];
8433 * if (propValue != null && typeof propValue !== 'string' &&
8434 * !(propValue instanceof URI)) {
8435 * return new Error(
8436 * 'Expected a string or an URI for ' + propName + ' in ' +
8437 * componentName
8438 * );
8439 * }
8440 * }
8441 * },
8442 * render: function() {...}
8443 * });
8444 *
8445 * @internal
8446 */
8447
8448 var ANONYMOUS = '<<anonymous>>';
8449
8450 // Important!
8451 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8452 var ReactPropTypes = {
8453 array: createPrimitiveTypeChecker('array'),
8454 bigint: createPrimitiveTypeChecker('bigint'),
8455 bool: createPrimitiveTypeChecker('boolean'),
8456 func: createPrimitiveTypeChecker('function'),
8457 number: createPrimitiveTypeChecker('number'),
8458 object: createPrimitiveTypeChecker('object'),
8459 string: createPrimitiveTypeChecker('string'),
8460 symbol: createPrimitiveTypeChecker('symbol'),
8461
8462 any: createAnyTypeChecker(),
8463 arrayOf: createArrayOfTypeChecker,
8464 element: createElementTypeChecker(),
8465 elementType: createElementTypeTypeChecker(),
8466 instanceOf: createInstanceTypeChecker,
8467 node: createNodeChecker(),
8468 objectOf: createObjectOfTypeChecker,
8469 oneOf: createEnumTypeChecker,
8470 oneOfType: createUnionTypeChecker,
8471 shape: createShapeTypeChecker,
8472 exact: createStrictShapeTypeChecker,
8473 };
8474
8475 /**
8476 * inlined Object.is polyfill to avoid requiring consumers ship their own
8477 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8478 */
8479 /*eslint-disable no-self-compare*/
8480 function is(x, y) {
8481 // SameValue algorithm
8482 if (x === y) {
8483 // Steps 1-5, 7-10
8484 // Steps 6.b-6.e: +0 != -0
8485 return x !== 0 || 1 / x === 1 / y;
8486 } else {
8487 // Step 6.a: NaN == NaN
8488 return x !== x && y !== y;
8489 }
8490 }
8491 /*eslint-enable no-self-compare*/
8492
8493 /**
8494 * We use an Error-like object for backward compatibility as people may call
8495 * PropTypes directly and inspect their output. However, we don't use real
8496 * Errors anymore. We don't inspect their stack anyway, and creating them
8497 * is prohibitively expensive if they are created too often, such as what
8498 * happens in oneOfType() for any type before the one that matched.
8499 */
8500 function PropTypeError(message, data) {
8501 this.message = message;
8502 this.data = data && typeof data === 'object' ? data: {};
8503 this.stack = '';
8504 }
8505 // Make `instanceof Error` still work for returned errors.
8506 PropTypeError.prototype = Error.prototype;
8507
8508 function createChainableTypeChecker(validate) {
8509 if (true) {
8510 var manualPropTypeCallCache = {};
8511 var manualPropTypeWarningCount = 0;
8512 }
8513 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8514 componentName = componentName || ANONYMOUS;
8515 propFullName = propFullName || propName;
8516
8517 if (secret !== ReactPropTypesSecret) {
8518 if (throwOnDirectAccess) {
8519 // New behavior only for users of `prop-types` package
8520 var err = new Error(
8521 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8522 'Use `PropTypes.checkPropTypes()` to call them. ' +
8523 'Read more at http://fb.me/use-check-prop-types'
8524 );
8525 err.name = 'Invariant Violation';
8526 throw err;
8527 } else if ( true && typeof console !== 'undefined') {
8528 // Old behavior for people using React.PropTypes
8529 var cacheKey = componentName + ':' + propName;
8530 if (
8531 !manualPropTypeCallCache[cacheKey] &&
8532 // Avoid spamming the console because they are often not actionable except for lib authors
8533 manualPropTypeWarningCount < 3
8534 ) {
8535 printWarning(
8536 'You are manually calling a React.PropTypes validation ' +
8537 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8538 'and will throw in the standalone `prop-types` package. ' +
8539 'You may be seeing this warning due to a third-party PropTypes ' +
8540 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8541 );
8542 manualPropTypeCallCache[cacheKey] = true;
8543 manualPropTypeWarningCount++;
8544 }
8545 }
8546 }
8547 if (props[propName] == null) {
8548 if (isRequired) {
8549 if (props[propName] === null) {
8550 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8551 }
8552 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8553 }
8554 return null;
8555 } else {
8556 return validate(props, propName, componentName, location, propFullName);
8557 }
8558 }
8559
8560 var chainedCheckType = checkType.bind(null, false);
8561 chainedCheckType.isRequired = checkType.bind(null, true);
8562
8563 return chainedCheckType;
8564 }
8565
8566 function createPrimitiveTypeChecker(expectedType) {
8567 function validate(props, propName, componentName, location, propFullName, secret) {
8568 var propValue = props[propName];
8569 var propType = getPropType(propValue);
8570 if (propType !== expectedType) {
8571 // `propValue` being instance of, say, date/regexp, pass the 'object'
8572 // check, but we can offer a more precise error message here rather than
8573 // 'of type `object`'.
8574 var preciseType = getPreciseType(propValue);
8575
8576 return new PropTypeError(
8577 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8578 {expectedType: expectedType}
8579 );
8580 }
8581 return null;
8582 }
8583 return createChainableTypeChecker(validate);
8584 }
8585
8586 function createAnyTypeChecker() {
8587 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8588 }
8589
8590 function createArrayOfTypeChecker(typeChecker) {
8591 function validate(props, propName, componentName, location, propFullName) {
8592 if (typeof typeChecker !== 'function') {
8593 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8594 }
8595 var propValue = props[propName];
8596 if (!Array.isArray(propValue)) {
8597 var propType = getPropType(propValue);
8598 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8599 }
8600 for (var i = 0; i < propValue.length; i++) {
8601 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8602 if (error instanceof Error) {
8603 return error;
8604 }
8605 }
8606 return null;
8607 }
8608 return createChainableTypeChecker(validate);
8609 }
8610
8611 function createElementTypeChecker() {
8612 function validate(props, propName, componentName, location, propFullName) {
8613 var propValue = props[propName];
8614 if (!isValidElement(propValue)) {
8615 var propType = getPropType(propValue);
8616 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8617 }
8618 return null;
8619 }
8620 return createChainableTypeChecker(validate);
8621 }
8622
8623 function createElementTypeTypeChecker() {
8624 function validate(props, propName, componentName, location, propFullName) {
8625 var propValue = props[propName];
8626 if (!ReactIs.isValidElementType(propValue)) {
8627 var propType = getPropType(propValue);
8628 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8629 }
8630 return null;
8631 }
8632 return createChainableTypeChecker(validate);
8633 }
8634
8635 function createInstanceTypeChecker(expectedClass) {
8636 function validate(props, propName, componentName, location, propFullName) {
8637 if (!(props[propName] instanceof expectedClass)) {
8638 var expectedClassName = expectedClass.name || ANONYMOUS;
8639 var actualClassName = getClassName(props[propName]);
8640 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8641 }
8642 return null;
8643 }
8644 return createChainableTypeChecker(validate);
8645 }
8646
8647 function createEnumTypeChecker(expectedValues) {
8648 if (!Array.isArray(expectedValues)) {
8649 if (true) {
8650 if (arguments.length > 1) {
8651 printWarning(
8652 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8653 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8654 );
8655 } else {
8656 printWarning('Invalid argument supplied to oneOf, expected an array.');
8657 }
8658 }
8659 return emptyFunctionThatReturnsNull;
8660 }
8661
8662 function validate(props, propName, componentName, location, propFullName) {
8663 var propValue = props[propName];
8664 for (var i = 0; i < expectedValues.length; i++) {
8665 if (is(propValue, expectedValues[i])) {
8666 return null;
8667 }
8668 }
8669
8670 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8671 var type = getPreciseType(value);
8672 if (type === 'symbol') {
8673 return String(value);
8674 }
8675 return value;
8676 });
8677 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8678 }
8679 return createChainableTypeChecker(validate);
8680 }
8681
8682 function createObjectOfTypeChecker(typeChecker) {
8683 function validate(props, propName, componentName, location, propFullName) {
8684 if (typeof typeChecker !== 'function') {
8685 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8686 }
8687 var propValue = props[propName];
8688 var propType = getPropType(propValue);
8689 if (propType !== 'object') {
8690 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8691 }
8692 for (var key in propValue) {
8693 if (has(propValue, key)) {
8694 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8695 if (error instanceof Error) {
8696 return error;
8697 }
8698 }
8699 }
8700 return null;
8701 }
8702 return createChainableTypeChecker(validate);
8703 }
8704
8705 function createUnionTypeChecker(arrayOfTypeCheckers) {
8706 if (!Array.isArray(arrayOfTypeCheckers)) {
8707 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8708 return emptyFunctionThatReturnsNull;
8709 }
8710
8711 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8712 var checker = arrayOfTypeCheckers[i];
8713 if (typeof checker !== 'function') {
8714 printWarning(
8715 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8716 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8717 );
8718 return emptyFunctionThatReturnsNull;
8719 }
8720 }
8721
8722 function validate(props, propName, componentName, location, propFullName) {
8723 var expectedTypes = [];
8724 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8725 var checker = arrayOfTypeCheckers[i];
8726 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8727 if (checkerResult == null) {
8728 return null;
8729 }
8730 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8731 expectedTypes.push(checkerResult.data.expectedType);
8732 }
8733 }
8734 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8735 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8736 }
8737 return createChainableTypeChecker(validate);
8738 }
8739
8740 function createNodeChecker() {
8741 function validate(props, propName, componentName, location, propFullName) {
8742 if (!isNode(props[propName])) {
8743 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8744 }
8745 return null;
8746 }
8747 return createChainableTypeChecker(validate);
8748 }
8749
8750 function invalidValidatorError(componentName, location, propFullName, key, type) {
8751 return new PropTypeError(
8752 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8753 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8754 );
8755 }
8756
8757 function createShapeTypeChecker(shapeTypes) {
8758 function validate(props, propName, componentName, location, propFullName) {
8759 var propValue = props[propName];
8760 var propType = getPropType(propValue);
8761 if (propType !== 'object') {
8762 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8763 }
8764 for (var key in shapeTypes) {
8765 var checker = shapeTypes[key];
8766 if (typeof checker !== 'function') {
8767 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8768 }
8769 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8770 if (error) {
8771 return error;
8772 }
8773 }
8774 return null;
8775 }
8776 return createChainableTypeChecker(validate);
8777 }
8778
8779 function createStrictShapeTypeChecker(shapeTypes) {
8780 function validate(props, propName, componentName, location, propFullName) {
8781 var propValue = props[propName];
8782 var propType = getPropType(propValue);
8783 if (propType !== 'object') {
8784 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8785 }
8786 // We need to check all keys in case some are required but missing from props.
8787 var allKeys = assign({}, props[propName], shapeTypes);
8788 for (var key in allKeys) {
8789 var checker = shapeTypes[key];
8790 if (has(shapeTypes, key) && typeof checker !== 'function') {
8791 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8792 }
8793 if (!checker) {
8794 return new PropTypeError(
8795 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8796 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8797 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8798 );
8799 }
8800 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8801 if (error) {
8802 return error;
8803 }
8804 }
8805 return null;
8806 }
8807
8808 return createChainableTypeChecker(validate);
8809 }
8810
8811 function isNode(propValue) {
8812 switch (typeof propValue) {
8813 case 'number':
8814 case 'string':
8815 case 'undefined':
8816 return true;
8817 case 'boolean':
8818 return !propValue;
8819 case 'object':
8820 if (Array.isArray(propValue)) {
8821 return propValue.every(isNode);
8822 }
8823 if (propValue === null || isValidElement(propValue)) {
8824 return true;
8825 }
8826
8827 var iteratorFn = getIteratorFn(propValue);
8828 if (iteratorFn) {
8829 var iterator = iteratorFn.call(propValue);
8830 var step;
8831 if (iteratorFn !== propValue.entries) {
8832 while (!(step = iterator.next()).done) {
8833 if (!isNode(step.value)) {
8834 return false;
8835 }
8836 }
8837 } else {
8838 // Iterator will provide entry [k,v] tuples rather than values.
8839 while (!(step = iterator.next()).done) {
8840 var entry = step.value;
8841 if (entry) {
8842 if (!isNode(entry[1])) {
8843 return false;
8844 }
8845 }
8846 }
8847 }
8848 } else {
8849 return false;
8850 }
8851
8852 return true;
8853 default:
8854 return false;
8855 }
8856 }
8857
8858 function isSymbol(propType, propValue) {
8859 // Native Symbol.
8860 if (propType === 'symbol') {
8861 return true;
8862 }
8863
8864 // falsy value can't be a Symbol
8865 if (!propValue) {
8866 return false;
8867 }
8868
8869 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8870 if (propValue['@@toStringTag'] === 'Symbol') {
8871 return true;
8872 }
8873
8874 // Fallback for non-spec compliant Symbols which are polyfilled.
8875 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8876 return true;
8877 }
8878
8879 return false;
8880 }
8881
8882 // Equivalent of `typeof` but with special handling for array and regexp.
8883 function getPropType(propValue) {
8884 var propType = typeof propValue;
8885 if (Array.isArray(propValue)) {
8886 return 'array';
8887 }
8888 if (propValue instanceof RegExp) {
8889 // Old webkits (at least until Android 4.0) return 'function' rather than
8890 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8891 // passes PropTypes.object.
8892 return 'object';
8893 }
8894 if (isSymbol(propType, propValue)) {
8895 return 'symbol';
8896 }
8897 return propType;
8898 }
8899
8900 // This handles more types than `getPropType`. Only used for error messages.
8901 // See `createPrimitiveTypeChecker`.
8902 function getPreciseType(propValue) {
8903 if (typeof propValue === 'undefined' || propValue === null) {
8904 return '' + propValue;
8905 }
8906 var propType = getPropType(propValue);
8907 if (propType === 'object') {
8908 if (propValue instanceof Date) {
8909 return 'date';
8910 } else if (propValue instanceof RegExp) {
8911 return 'regexp';
8912 }
8913 }
8914 return propType;
8915 }
8916
8917 // Returns a string that is postfixed to a warning about an invalid type.
8918 // For example, "undefined" or "of type array"
8919 function getPostfixForTypeWarning(value) {
8920 var type = getPreciseType(value);
8921 switch (type) {
8922 case 'array':
8923 case 'object':
8924 return 'an ' + type;
8925 case 'boolean':
8926 case 'date':
8927 case 'regexp':
8928 return 'a ' + type;
8929 default:
8930 return type;
8931 }
8932 }
8933
8934 // Returns class name of the object, if any.
8935 function getClassName(propValue) {
8936 if (!propValue.constructor || !propValue.constructor.name) {
8937 return ANONYMOUS;
8938 }
8939 return propValue.constructor.name;
8940 }
8941
8942 ReactPropTypes.checkPropTypes = checkPropTypes;
8943 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8944 ReactPropTypes.PropTypes = ReactPropTypes;
8945
8946 return ReactPropTypes;
8947 };
8948
8949
8950 /***/ }),
8951
8952 /***/ "../node_modules/prop-types/index.js":
8953 /*!*******************************************!*\
8954 !*** ../node_modules/prop-types/index.js ***!
8955 \*******************************************/
8956 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8957
8958 /**
8959 * Copyright (c) 2013-present, Facebook, Inc.
8960 *
8961 * This source code is licensed under the MIT license found in the
8962 * LICENSE file in the root directory of this source tree.
8963 */
8964
8965 if (true) {
8966 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8967
8968 // By explicitly using `prop-types` you are opting into new development behavior.
8969 // http://fb.me/prop-types-in-prod
8970 var throwOnDirectAccess = true;
8971 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8972 } else {}
8973
8974
8975 /***/ }),
8976
8977 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8978 /*!**************************************************************!*\
8979 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8980 \**************************************************************/
8981 /***/ ((module) => {
8982
8983 "use strict";
8984 /**
8985 * Copyright (c) 2013-present, Facebook, Inc.
8986 *
8987 * This source code is licensed under the MIT license found in the
8988 * LICENSE file in the root directory of this source tree.
8989 */
8990
8991
8992
8993 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8994
8995 module.exports = ReactPropTypesSecret;
8996
8997
8998 /***/ }),
8999
9000 /***/ "../node_modules/prop-types/lib/has.js":
9001 /*!*********************************************!*\
9002 !*** ../node_modules/prop-types/lib/has.js ***!
9003 \*********************************************/
9004 /***/ ((module) => {
9005
9006 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
9007
9008
9009 /***/ }),
9010
9011 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
9012 /*!************************************************************************************!*\
9013 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
9014 \************************************************************************************/
9015 /***/ ((__unused_webpack_module, exports) => {
9016
9017 "use strict";
9018 /** @license React v16.13.1
9019 * react-is.development.js
9020 *
9021 * Copyright (c) Facebook, Inc. and its affiliates.
9022 *
9023 * This source code is licensed under the MIT license found in the
9024 * LICENSE file in the root directory of this source tree.
9025 */
9026
9027
9028
9029
9030
9031 if (true) {
9032 (function() {
9033 'use strict';
9034
9035 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
9036 // nor polyfill, then a plain number is used for performance.
9037 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
9038 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
9039 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
9040 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
9041 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
9042 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
9043 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
9044 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
9045 // (unstable) APIs that have been removed. Can we remove the symbols?
9046
9047 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
9048 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
9049 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
9050 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
9051 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
9052 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
9053 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
9054 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
9055 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
9056 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
9057 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
9058
9059 function isValidElementType(type) {
9060 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
9061 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);
9062 }
9063
9064 function typeOf(object) {
9065 if (typeof object === 'object' && object !== null) {
9066 var $$typeof = object.$$typeof;
9067
9068 switch ($$typeof) {
9069 case REACT_ELEMENT_TYPE:
9070 var type = object.type;
9071
9072 switch (type) {
9073 case REACT_ASYNC_MODE_TYPE:
9074 case REACT_CONCURRENT_MODE_TYPE:
9075 case REACT_FRAGMENT_TYPE:
9076 case REACT_PROFILER_TYPE:
9077 case REACT_STRICT_MODE_TYPE:
9078 case REACT_SUSPENSE_TYPE:
9079 return type;
9080
9081 default:
9082 var $$typeofType = type && type.$$typeof;
9083
9084 switch ($$typeofType) {
9085 case REACT_CONTEXT_TYPE:
9086 case REACT_FORWARD_REF_TYPE:
9087 case REACT_LAZY_TYPE:
9088 case REACT_MEMO_TYPE:
9089 case REACT_PROVIDER_TYPE:
9090 return $$typeofType;
9091
9092 default:
9093 return $$typeof;
9094 }
9095
9096 }
9097
9098 case REACT_PORTAL_TYPE:
9099 return $$typeof;
9100 }
9101 }
9102
9103 return undefined;
9104 } // AsyncMode is deprecated along with isAsyncMode
9105
9106 var AsyncMode = REACT_ASYNC_MODE_TYPE;
9107 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9108 var ContextConsumer = REACT_CONTEXT_TYPE;
9109 var ContextProvider = REACT_PROVIDER_TYPE;
9110 var Element = REACT_ELEMENT_TYPE;
9111 var ForwardRef = REACT_FORWARD_REF_TYPE;
9112 var Fragment = REACT_FRAGMENT_TYPE;
9113 var Lazy = REACT_LAZY_TYPE;
9114 var Memo = REACT_MEMO_TYPE;
9115 var Portal = REACT_PORTAL_TYPE;
9116 var Profiler = REACT_PROFILER_TYPE;
9117 var StrictMode = REACT_STRICT_MODE_TYPE;
9118 var Suspense = REACT_SUSPENSE_TYPE;
9119 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
9120
9121 function isAsyncMode(object) {
9122 {
9123 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9124 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
9125
9126 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.');
9127 }
9128 }
9129
9130 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9131 }
9132 function isConcurrentMode(object) {
9133 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9134 }
9135 function isContextConsumer(object) {
9136 return typeOf(object) === REACT_CONTEXT_TYPE;
9137 }
9138 function isContextProvider(object) {
9139 return typeOf(object) === REACT_PROVIDER_TYPE;
9140 }
9141 function isElement(object) {
9142 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9143 }
9144 function isForwardRef(object) {
9145 return typeOf(object) === REACT_FORWARD_REF_TYPE;
9146 }
9147 function isFragment(object) {
9148 return typeOf(object) === REACT_FRAGMENT_TYPE;
9149 }
9150 function isLazy(object) {
9151 return typeOf(object) === REACT_LAZY_TYPE;
9152 }
9153 function isMemo(object) {
9154 return typeOf(object) === REACT_MEMO_TYPE;
9155 }
9156 function isPortal(object) {
9157 return typeOf(object) === REACT_PORTAL_TYPE;
9158 }
9159 function isProfiler(object) {
9160 return typeOf(object) === REACT_PROFILER_TYPE;
9161 }
9162 function isStrictMode(object) {
9163 return typeOf(object) === REACT_STRICT_MODE_TYPE;
9164 }
9165 function isSuspense(object) {
9166 return typeOf(object) === REACT_SUSPENSE_TYPE;
9167 }
9168
9169 exports.AsyncMode = AsyncMode;
9170 exports.ConcurrentMode = ConcurrentMode;
9171 exports.ContextConsumer = ContextConsumer;
9172 exports.ContextProvider = ContextProvider;
9173 exports.Element = Element;
9174 exports.ForwardRef = ForwardRef;
9175 exports.Fragment = Fragment;
9176 exports.Lazy = Lazy;
9177 exports.Memo = Memo;
9178 exports.Portal = Portal;
9179 exports.Profiler = Profiler;
9180 exports.StrictMode = StrictMode;
9181 exports.Suspense = Suspense;
9182 exports.isAsyncMode = isAsyncMode;
9183 exports.isConcurrentMode = isConcurrentMode;
9184 exports.isContextConsumer = isContextConsumer;
9185 exports.isContextProvider = isContextProvider;
9186 exports.isElement = isElement;
9187 exports.isForwardRef = isForwardRef;
9188 exports.isFragment = isFragment;
9189 exports.isLazy = isLazy;
9190 exports.isMemo = isMemo;
9191 exports.isPortal = isPortal;
9192 exports.isProfiler = isProfiler;
9193 exports.isStrictMode = isStrictMode;
9194 exports.isSuspense = isSuspense;
9195 exports.isValidElementType = isValidElementType;
9196 exports.typeOf = typeOf;
9197 })();
9198 }
9199
9200
9201 /***/ }),
9202
9203 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
9204 /*!*****************************************************************!*\
9205 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
9206 \*****************************************************************/
9207 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9208
9209 "use strict";
9210
9211
9212 if (false) {} else {
9213 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
9214 }
9215
9216
9217 /***/ }),
9218
9219 /***/ "../node_modules/react-dom/client.js":
9220 /*!*******************************************!*\
9221 !*** ../node_modules/react-dom/client.js ***!
9222 \*******************************************/
9223 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9224
9225 "use strict";
9226
9227
9228 var m = __webpack_require__(/*! react-dom */ "react-dom");
9229 if (false) {} else {
9230 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9231 exports.createRoot = function(c, o) {
9232 i.usingClientEntryPoint = true;
9233 try {
9234 return m.createRoot(c, o);
9235 } finally {
9236 i.usingClientEntryPoint = false;
9237 }
9238 };
9239 exports.hydrateRoot = function(c, h, o) {
9240 i.usingClientEntryPoint = true;
9241 try {
9242 return m.hydrateRoot(c, h, o);
9243 } finally {
9244 i.usingClientEntryPoint = false;
9245 }
9246 };
9247 }
9248
9249
9250 /***/ }),
9251
9252 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
9253 /*!**************************************************************!*\
9254 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
9255 \**************************************************************/
9256 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9257
9258 "use strict";
9259
9260
9261 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); }
9262
9263 Object.defineProperty(exports, "__esModule", ({
9264 value: true
9265 }));
9266 Object.defineProperty(exports, "DraggableCore", ({
9267 enumerable: true,
9268 get: function get() {
9269 return _DraggableCore.default;
9270 }
9271 }));
9272 exports["default"] = void 0;
9273
9274 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9275
9276 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9277
9278 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9279
9280 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
9281
9282 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9283
9284 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9285
9286 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9287
9288 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
9289
9290 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9291
9292 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
9293
9294 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9295
9296 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); }
9297
9298 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; }
9299
9300 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); }
9301
9302 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; }
9303
9304 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; }
9305
9306 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; }
9307
9308 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; }
9309
9310 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9311
9312 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."); }
9313
9314 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); }
9315
9316 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; }
9317
9318 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; }
9319
9320 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9321
9322 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9323
9324 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); } }
9325
9326 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9327
9328 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); }
9329
9330 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9331
9332 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); }; }
9333
9334 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); }
9335
9336 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9337
9338 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; } }
9339
9340 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9341
9342 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; }
9343
9344 //
9345 // Define <Draggable>
9346 //
9347 var Draggable = /*#__PURE__*/function (_React$Component) {
9348 _inherits(Draggable, _React$Component);
9349
9350 var _super = _createSuper(Draggable);
9351
9352 function Draggable(props
9353 /*: DraggableProps*/
9354 ) {
9355 var _this;
9356
9357 _classCallCheck(this, Draggable);
9358
9359 _this = _super.call(this, props);
9360
9361 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9362 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9363
9364 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.
9365
9366
9367 if (shouldStart === false) return false;
9368
9369 _this.setState({
9370 dragging: true,
9371 dragged: true
9372 });
9373 });
9374
9375 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9376 if (!_this.state.dragging) return false;
9377 (0, _log.default)('Draggable: onDrag: %j', coreData);
9378 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9379 var newState
9380 /*: $Shape<DraggableState>*/
9381 = {
9382 x: uiData.x,
9383 y: uiData.y
9384 }; // Keep within bounds.
9385
9386 if (_this.props.bounds) {
9387 // Save original x and y.
9388 var x = newState.x,
9389 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9390 // we start removing slack, the element won't react to it right away until it's been
9391 // completely removed.
9392
9393 newState.x += _this.state.slackX;
9394 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9395
9396 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9397 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9398 newStateX = _getBoundPosition2[0],
9399 newStateY = _getBoundPosition2[1];
9400
9401 newState.x = newStateX;
9402 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9403
9404 newState.slackX = _this.state.slackX + (x - newState.x);
9405 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9406
9407 uiData.x = newState.x;
9408 uiData.y = newState.y;
9409 uiData.deltaX = newState.x - _this.state.x;
9410 uiData.deltaY = newState.y - _this.state.y;
9411 } // Short-circuit if user's callback killed it.
9412
9413
9414 var shouldUpdate = _this.props.onDrag(e, uiData);
9415
9416 if (shouldUpdate === false) return false;
9417
9418 _this.setState(newState);
9419 });
9420
9421 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9422 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9423
9424 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9425
9426 if (shouldContinue === false) return false;
9427 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9428 var newState
9429 /*: $Shape<DraggableState>*/
9430 = {
9431 dragging: false,
9432 slackX: 0,
9433 slackY: 0
9434 }; // If this is a controlled component, the result of this operation will be to
9435 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9436
9437 var controlled = Boolean(_this.props.position);
9438
9439 if (controlled) {
9440 var _this$props$position = _this.props.position,
9441 x = _this$props$position.x,
9442 y = _this$props$position.y;
9443 newState.x = x;
9444 newState.y = y;
9445 }
9446
9447 _this.setState(newState);
9448 });
9449
9450 _this.state = {
9451 // Whether or not we are currently dragging.
9452 dragging: false,
9453 // Whether or not we have been dragged before.
9454 dragged: false,
9455 // Current transform x and y.
9456 x: props.position ? props.position.x : props.defaultPosition.x,
9457 y: props.position ? props.position.y : props.defaultPosition.y,
9458 prevPropsPosition: _objectSpread({}, props.position),
9459 // Used for compensating for out-of-bounds drags
9460 slackX: 0,
9461 slackY: 0,
9462 // Can only determine if SVG after mounting
9463 isElementSVG: false
9464 };
9465
9466 if (props.position && !(props.onDrag || props.onStop)) {
9467 // eslint-disable-next-line no-console
9468 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.');
9469 }
9470
9471 return _this;
9472 }
9473
9474 _createClass(Draggable, [{
9475 key: "componentDidMount",
9476 value: function componentDidMount() {
9477 // Check to see if the element passed is an instanceof SVGElement
9478 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9479 this.setState({
9480 isElementSVG: true
9481 });
9482 }
9483 }
9484 }, {
9485 key: "componentWillUnmount",
9486 value: function componentWillUnmount() {
9487 this.setState({
9488 dragging: false
9489 }); // prevents invariant if unmounted while dragging
9490 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9491 // the underlying DOM node ourselves. See the README for more information.
9492
9493 }, {
9494 key: "findDOMNode",
9495 value: function findDOMNode()
9496 /*: ?HTMLElement*/
9497 {
9498 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9499
9500 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);
9501 }
9502 }, {
9503 key: "render",
9504 value: function render()
9505 /*: ReactElement<any>*/
9506 {
9507 var _clsx;
9508
9509 var _this$props2 = this.props,
9510 axis = _this$props2.axis,
9511 bounds = _this$props2.bounds,
9512 children = _this$props2.children,
9513 defaultPosition = _this$props2.defaultPosition,
9514 defaultClassName = _this$props2.defaultClassName,
9515 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9516 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9517 position = _this$props2.position,
9518 positionOffset = _this$props2.positionOffset,
9519 scale = _this$props2.scale,
9520 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9521
9522 var style = {};
9523 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9524
9525 var controlled = Boolean(position);
9526 var draggable = !controlled || this.state.dragging;
9527 var validPosition = position || defaultPosition;
9528 var transformOpts = {
9529 // Set left if horizontal drag is enabled
9530 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9531 // Set top if vertical drag is enabled
9532 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9533 }; // If this element was SVG, we use the `transform` attribute.
9534
9535 if (this.state.isElementSVG) {
9536 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9537 } else {
9538 // Add a CSS transform to move the element around. This allows us to move the element around
9539 // without worrying about whether or not it is relatively or absolutely positioned.
9540 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9541 // has a clean slate.
9542 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9543 } // Mark with class while dragging
9544
9545
9546 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
9547 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9548
9549 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9550 onStart: this.onDragStart,
9551 onDrag: this.onDrag,
9552 onStop: this.onDragStop
9553 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9554 className: className,
9555 style: _objectSpread(_objectSpread({}, children.props.style), style),
9556 transform: svgTransform
9557 }));
9558 }
9559 }], [{
9560 key: "getDerivedStateFromProps",
9561 value: // React 16.3+
9562 // Arity (props, state)
9563 function getDerivedStateFromProps(_ref, _ref2)
9564 /*: ?$Shape<DraggableState>*/
9565 {
9566 var position = _ref.position;
9567 var prevPropsPosition = _ref2.prevPropsPosition;
9568
9569 // Set x/y if a new position is provided in props that is different than the previous.
9570 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9571 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9572 position: position,
9573 prevPropsPosition: prevPropsPosition
9574 });
9575 return {
9576 x: position.x,
9577 y: position.y,
9578 prevPropsPosition: _objectSpread({}, position)
9579 };
9580 }
9581
9582 return null;
9583 }
9584 }]);
9585
9586 return Draggable;
9587 }(React.Component);
9588
9589 exports["default"] = Draggable;
9590
9591 _defineProperty(Draggable, "displayName", 'Draggable');
9592
9593 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9594 /**
9595 * `axis` determines which axis the draggable can move.
9596 *
9597 * Note that all callbacks will still return data as normal. This only
9598 * controls flushing to the DOM.
9599 *
9600 * 'both' allows movement horizontally and vertically.
9601 * 'x' limits movement to horizontal axis.
9602 * 'y' limits movement to vertical axis.
9603 * 'none' limits all movement.
9604 *
9605 * Defaults to 'both'.
9606 */
9607 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9608
9609 /**
9610 * `bounds` determines the range of movement available to the element.
9611 * Available values are:
9612 *
9613 * 'parent' restricts movement within the Draggable's parent node.
9614 *
9615 * Alternatively, pass an object with the following properties, all of which are optional:
9616 *
9617 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9618 *
9619 * All values are in px.
9620 *
9621 * Example:
9622 *
9623 * ```jsx
9624 * let App = React.createClass({
9625 * render: function () {
9626 * return (
9627 * <Draggable bounds={{right: 300, bottom: 300}}>
9628 * <div>Content</div>
9629 * </Draggable>
9630 * );
9631 * }
9632 * });
9633 * ```
9634 */
9635 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9636 left: _propTypes.default.number,
9637 right: _propTypes.default.number,
9638 top: _propTypes.default.number,
9639 bottom: _propTypes.default.number
9640 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9641 defaultClassName: _propTypes.default.string,
9642 defaultClassNameDragging: _propTypes.default.string,
9643 defaultClassNameDragged: _propTypes.default.string,
9644
9645 /**
9646 * `defaultPosition` specifies the x and y that the dragged item should start at
9647 *
9648 * Example:
9649 *
9650 * ```jsx
9651 * let App = React.createClass({
9652 * render: function () {
9653 * return (
9654 * <Draggable defaultPosition={{x: 25, y: 25}}>
9655 * <div>I start with transformX: 25px and transformY: 25px;</div>
9656 * </Draggable>
9657 * );
9658 * }
9659 * });
9660 * ```
9661 */
9662 defaultPosition: _propTypes.default.shape({
9663 x: _propTypes.default.number,
9664 y: _propTypes.default.number
9665 }),
9666 positionOffset: _propTypes.default.shape({
9667 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9668 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9669 }),
9670
9671 /**
9672 * `position`, if present, defines the current position of the element.
9673 *
9674 * This is similar to how form elements in React work - if no `position` is supplied, the component
9675 * is uncontrolled.
9676 *
9677 * Example:
9678 *
9679 * ```jsx
9680 * let App = React.createClass({
9681 * render: function () {
9682 * return (
9683 * <Draggable position={{x: 25, y: 25}}>
9684 * <div>I start with transformX: 25px and transformY: 25px;</div>
9685 * </Draggable>
9686 * );
9687 * }
9688 * });
9689 * ```
9690 */
9691 position: _propTypes.default.shape({
9692 x: _propTypes.default.number,
9693 y: _propTypes.default.number
9694 }),
9695
9696 /**
9697 * These properties should be defined on the child, not here.
9698 */
9699 className: _shims.dontSetMe,
9700 style: _shims.dontSetMe,
9701 transform: _shims.dontSetMe
9702 }));
9703
9704 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9705 axis: 'both',
9706 bounds: false,
9707 defaultClassName: 'react-draggable',
9708 defaultClassNameDragging: 'react-draggable-dragging',
9709 defaultClassNameDragged: 'react-draggable-dragged',
9710 defaultPosition: {
9711 x: 0,
9712 y: 0
9713 },
9714 scale: 1
9715 }));
9716
9717 /***/ }),
9718
9719 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9720 /*!******************************************************************!*\
9721 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9722 \******************************************************************/
9723 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9724
9725 "use strict";
9726
9727
9728 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); }
9729
9730 Object.defineProperty(exports, "__esModule", ({
9731 value: true
9732 }));
9733 exports["default"] = void 0;
9734
9735 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9736
9737 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9738
9739 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9740
9741 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9742
9743 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9744
9745 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9746
9747 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9748
9749 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9750
9751 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); }
9752
9753 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; }
9754
9755 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9756
9757 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."); }
9758
9759 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); }
9760
9761 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; }
9762
9763 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; }
9764
9765 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9766
9767 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9768
9769 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); } }
9770
9771 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9772
9773 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); }
9774
9775 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9776
9777 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); }; }
9778
9779 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); }
9780
9781 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9782
9783 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; } }
9784
9785 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9786
9787 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; }
9788
9789 // Simple abstraction for dragging events names.
9790 var eventsFor = {
9791 touch: {
9792 start: 'touchstart',
9793 move: 'touchmove',
9794 stop: 'touchend'
9795 },
9796 mouse: {
9797 start: 'mousedown',
9798 move: 'mousemove',
9799 stop: 'mouseup'
9800 }
9801 }; // Default to mouse events.
9802
9803 var dragEventFor = eventsFor.mouse;
9804 /*:: type DraggableCoreState = {
9805 dragging: boolean,
9806 lastX: number,
9807 lastY: number,
9808 touchIdentifier: ?number
9809 };*/
9810
9811 /*:: export type DraggableData = {
9812 node: HTMLElement,
9813 x: number, y: number,
9814 deltaX: number, deltaY: number,
9815 lastX: number, lastY: number,
9816 };*/
9817
9818 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9819
9820 /*:: export type ControlPosition = {x: number, y: number};*/
9821
9822 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9823
9824 /*:: export type DraggableCoreDefaultProps = {
9825 allowAnyClick: boolean,
9826 disabled: boolean,
9827 enableUserSelectHack: boolean,
9828 onStart: DraggableEventHandler,
9829 onDrag: DraggableEventHandler,
9830 onStop: DraggableEventHandler,
9831 onMouseDown: (e: MouseEvent) => void,
9832 scale: number,
9833 };*/
9834
9835 /*:: export type DraggableCoreProps = {
9836 ...DraggableCoreDefaultProps,
9837 cancel: string,
9838 children: ReactElement<any>,
9839 offsetParent: HTMLElement,
9840 grid: [number, number],
9841 handle: string,
9842 nodeRef?: ?React.ElementRef<any>,
9843 };*/
9844
9845 //
9846 // Define <DraggableCore>.
9847 //
9848 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9849 // work well with libraries that require more control over the element.
9850 //
9851 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9852 _inherits(DraggableCore, _React$Component);
9853
9854 var _super = _createSuper(DraggableCore);
9855
9856 function DraggableCore() {
9857 var _this;
9858
9859 _classCallCheck(this, DraggableCore);
9860
9861 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9862 args[_key] = arguments[_key];
9863 }
9864
9865 _this = _super.call.apply(_super, [this].concat(args));
9866
9867 _defineProperty(_assertThisInitialized(_this), "state", {
9868 dragging: false,
9869 // Used while dragging to determine deltas.
9870 lastX: NaN,
9871 lastY: NaN,
9872 touchIdentifier: null
9873 });
9874
9875 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9876
9877 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9878 // Make it possible to attach event handlers on top of this one.
9879 _this.props.onMouseDown(e); // Only accept left-clicks.
9880
9881
9882 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9883
9884 var thisNode = _this.findDOMNode();
9885
9886 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9887 throw new Error('<DraggableCore> not mounted on DragStart!');
9888 }
9889
9890 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9891
9892 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)) {
9893 return;
9894 } // Prevent scrolling on mobile devices, like ipad/iphone.
9895 // Important that this is after handle/cancel.
9896
9897
9898 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9899 // distinguish between individual touches on multitouch screens by identifying which
9900 // touchpoint was set to this element.
9901
9902 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9903
9904 _this.setState({
9905 touchIdentifier: touchIdentifier
9906 }); // Get the current drag point from the event. This is used as the offset.
9907
9908
9909 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9910 if (position == null) return; // not possible but satisfies flow
9911
9912 var x = position.x,
9913 y = position.y; // Create an event object with all the data parents need to make a decision here.
9914
9915 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9916 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9917
9918 (0, _log.default)('calling', _this.props.onStart);
9919
9920 var shouldUpdate = _this.props.onStart(e, coreEvent);
9921
9922 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9923 // being selected all over the page.
9924
9925 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9926 // so we know how much we've moved during the drag. This allows us
9927 // to drag elements around even if they have been moved, without issue.
9928
9929 _this.setState({
9930 dragging: true,
9931 lastX: x,
9932 lastY: y
9933 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9934 // this element. We use different events depending on whether or not we have detected that this
9935 // is a touch-capable device.
9936
9937
9938 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9939 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9940 });
9941
9942 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9943 // Get the current drag point from the event. This is used as the offset.
9944 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9945 if (position == null) return;
9946 var x = position.x,
9947 y = position.y; // Snap to grid if prop has been provided
9948
9949 if (Array.isArray(_this.props.grid)) {
9950 var deltaX = x - _this.state.lastX,
9951 deltaY = y - _this.state.lastY;
9952
9953 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9954
9955 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9956
9957 deltaX = _snapToGrid2[0];
9958 deltaY = _snapToGrid2[1];
9959 if (!deltaX && !deltaY) return; // skip useless drag
9960
9961 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9962 }
9963
9964 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9965 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9966
9967 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9968
9969 if (shouldUpdate === false || _this.mounted === false) {
9970 try {
9971 // $FlowIgnore
9972 _this.handleDragStop(new MouseEvent('mouseup'));
9973 } catch (err) {
9974 // Old browsers
9975 var event = ((document.createEvent('MouseEvents')
9976 /*: any*/
9977 )
9978 /*: MouseTouchEvent*/
9979 ); // I see why this insanity was deprecated
9980 // $FlowIgnore
9981
9982 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9983
9984 _this.handleDragStop(event);
9985 }
9986
9987 return;
9988 }
9989
9990 _this.setState({
9991 lastX: x,
9992 lastY: y
9993 });
9994 });
9995
9996 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9997 if (!_this.state.dragging) return;
9998 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9999 if (position == null) return;
10000 var x = position.x,
10001 y = position.y; // Snap to grid if prop has been provided
10002
10003 if (Array.isArray(_this.props.grid)) {
10004 var deltaX = x - _this.state.lastX || 0;
10005 var deltaY = y - _this.state.lastY || 0;
10006
10007 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
10008
10009 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
10010
10011 deltaX = _snapToGrid4[0];
10012 deltaY = _snapToGrid4[1];
10013 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
10014 }
10015
10016 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
10017
10018 var shouldContinue = _this.props.onStop(e, coreEvent);
10019
10020 if (shouldContinue === false || _this.mounted === false) return false;
10021
10022 var thisNode = _this.findDOMNode();
10023
10024 if (thisNode) {
10025 // Remove user-select hack
10026 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
10027 }
10028
10029 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
10030
10031 _this.setState({
10032 dragging: false,
10033 lastX: NaN,
10034 lastY: NaN
10035 });
10036
10037 if (thisNode) {
10038 // Remove event handlers
10039 (0, _log.default)('DraggableCore: Removing handlers');
10040 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
10041 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
10042 }
10043 });
10044
10045 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
10046 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
10047
10048 return _this.handleDragStart(e);
10049 });
10050
10051 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
10052 dragEventFor = eventsFor.mouse;
10053 return _this.handleDragStop(e);
10054 });
10055
10056 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
10057 // We're on a touch device now, so change the event handlers
10058 dragEventFor = eventsFor.touch;
10059 return _this.handleDragStart(e);
10060 });
10061
10062 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
10063 // We're on a touch device now, so change the event handlers
10064 dragEventFor = eventsFor.touch;
10065 return _this.handleDragStop(e);
10066 });
10067
10068 return _this;
10069 }
10070
10071 _createClass(DraggableCore, [{
10072 key: "componentDidMount",
10073 value: function componentDidMount() {
10074 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
10075 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10076
10077 var thisNode = this.findDOMNode();
10078
10079 if (thisNode) {
10080 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10081 passive: false
10082 });
10083 }
10084 }
10085 }, {
10086 key: "componentWillUnmount",
10087 value: function componentWillUnmount() {
10088 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
10089 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
10090
10091 var thisNode = this.findDOMNode();
10092
10093 if (thisNode) {
10094 var ownerDocument = thisNode.ownerDocument;
10095 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
10096 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
10097 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
10098 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
10099 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10100 passive: false
10101 });
10102 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
10103 }
10104 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
10105 // the underlying DOM node ourselves. See the README for more information.
10106
10107 }, {
10108 key: "findDOMNode",
10109 value: function findDOMNode()
10110 /*: ?HTMLElement*/
10111 {
10112 var _this$props, _this$props2, _this$props2$nodeRef;
10113
10114 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);
10115 }
10116 }, {
10117 key: "render",
10118 value: function render()
10119 /*: React.Element<any>*/
10120 {
10121 // Reuse the child provided
10122 // This makes it flexible to use whatever element is wanted (div, ul, etc)
10123 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
10124 // Note: mouseMove handler is attached to document so it will still function
10125 // when the user drags quickly and leaves the bounds of the element.
10126 onMouseDown: this.onMouseDown,
10127 onMouseUp: this.onMouseUp,
10128 // onTouchStart is added on `componentDidMount` so they can be added with
10129 // {passive: false}, which allows it to cancel. See
10130 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10131 onTouchEnd: this.onTouchEnd
10132 });
10133 }
10134 }]);
10135
10136 return DraggableCore;
10137 }(React.Component);
10138
10139 exports["default"] = DraggableCore;
10140
10141 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
10142
10143 _defineProperty(DraggableCore, "propTypes", {
10144 /**
10145 * `allowAnyClick` allows dragging using any mouse button.
10146 * By default, we only accept the left button.
10147 *
10148 * Defaults to `false`.
10149 */
10150 allowAnyClick: _propTypes.default.bool,
10151
10152 /**
10153 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
10154 * with the exception of `onMouseDown`, will not fire.
10155 */
10156 disabled: _propTypes.default.bool,
10157
10158 /**
10159 * By default, we add 'user-select:none' attributes to the document body
10160 * to prevent ugly text selection during drag. If this is causing problems
10161 * for your app, set this to `false`.
10162 */
10163 enableUserSelectHack: _propTypes.default.bool,
10164
10165 /**
10166 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
10167 * instead of using the parent node.
10168 */
10169 offsetParent: function offsetParent(props
10170 /*: DraggableCoreProps*/
10171 , propName
10172 /*: $Keys<DraggableCoreProps>*/
10173 ) {
10174 if (props[propName] && props[propName].nodeType !== 1) {
10175 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
10176 }
10177 },
10178
10179 /**
10180 * `grid` specifies the x and y that dragging should snap to.
10181 */
10182 grid: _propTypes.default.arrayOf(_propTypes.default.number),
10183
10184 /**
10185 * `handle` specifies a selector to be used as the handle that initiates drag.
10186 *
10187 * Example:
10188 *
10189 * ```jsx
10190 * let App = React.createClass({
10191 * render: function () {
10192 * return (
10193 * <Draggable handle=".handle">
10194 * <div>
10195 * <div className="handle">Click me to drag</div>
10196 * <div>This is some other content</div>
10197 * </div>
10198 * </Draggable>
10199 * );
10200 * }
10201 * });
10202 * ```
10203 */
10204 handle: _propTypes.default.string,
10205
10206 /**
10207 * `cancel` specifies a selector to be used to prevent drag initialization.
10208 *
10209 * Example:
10210 *
10211 * ```jsx
10212 * let App = React.createClass({
10213 * render: function () {
10214 * return(
10215 * <Draggable cancel=".cancel">
10216 * <div>
10217 * <div className="cancel">You can't drag from here</div>
10218 * <div>Dragging here works fine</div>
10219 * </div>
10220 * </Draggable>
10221 * );
10222 * }
10223 * });
10224 * ```
10225 */
10226 cancel: _propTypes.default.string,
10227
10228 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
10229 * Unfortunately, in order for <Draggable> to work properly, we need raw access
10230 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
10231 * as in this example:
10232 *
10233 * function MyComponent() {
10234 * const nodeRef = React.useRef(null);
10235 * return (
10236 * <Draggable nodeRef={nodeRef}>
10237 * <div ref={nodeRef}>Example Target</div>
10238 * </Draggable>
10239 * );
10240 * }
10241 *
10242 * This can be used for arbitrarily nested components, so long as the ref ends up
10243 * pointing to the actual child DOM node and not a custom component.
10244 */
10245 nodeRef: _propTypes.default.object,
10246
10247 /**
10248 * Called when dragging starts.
10249 * If this function returns the boolean false, dragging will be canceled.
10250 */
10251 onStart: _propTypes.default.func,
10252
10253 /**
10254 * Called while dragging.
10255 * If this function returns the boolean false, dragging will be canceled.
10256 */
10257 onDrag: _propTypes.default.func,
10258
10259 /**
10260 * Called when dragging stops.
10261 * If this function returns the boolean false, the drag will remain active.
10262 */
10263 onStop: _propTypes.default.func,
10264
10265 /**
10266 * A workaround option which can be passed if onMouseDown needs to be accessed,
10267 * since it'll always be blocked (as there is internal use of onMouseDown)
10268 */
10269 onMouseDown: _propTypes.default.func,
10270
10271 /**
10272 * `scale`, if set, applies scaling while dragging an element
10273 */
10274 scale: _propTypes.default.number,
10275
10276 /**
10277 * These properties should be defined on the child, not here.
10278 */
10279 className: _shims.dontSetMe,
10280 style: _shims.dontSetMe,
10281 transform: _shims.dontSetMe
10282 });
10283
10284 _defineProperty(DraggableCore, "defaultProps", {
10285 allowAnyClick: false,
10286 // by default only accept left click
10287 disabled: false,
10288 enableUserSelectHack: true,
10289 onStart: function onStart() {},
10290 onDrag: function onDrag() {},
10291 onStop: function onStop() {},
10292 onMouseDown: function onMouseDown() {},
10293 scale: 1
10294 });
10295
10296 /***/ }),
10297
10298 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10299 /*!********************************************************!*\
10300 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10301 \********************************************************/
10302 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10303
10304 "use strict";
10305
10306
10307 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10308 Draggable = _require.default,
10309 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'.
10310 // See https://github.com/mzabriskie/react-draggable/pull/254
10311 // and https://github.com/mzabriskie/react-draggable/issues/266
10312
10313
10314 module.exports = Draggable;
10315 module.exports["default"] = Draggable;
10316 module.exports.DraggableCore = DraggableCore;
10317
10318 /***/ }),
10319
10320 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10321 /*!*****************************************************************!*\
10322 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10323 \*****************************************************************/
10324 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10325
10326 "use strict";
10327
10328
10329 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); }
10330
10331 Object.defineProperty(exports, "__esModule", ({
10332 value: true
10333 }));
10334 exports.addClassName = addClassName;
10335 exports.addEvent = addEvent;
10336 exports.addUserSelectStyles = addUserSelectStyles;
10337 exports.createCSSTransform = createCSSTransform;
10338 exports.createSVGTransform = createSVGTransform;
10339 exports.getTouch = getTouch;
10340 exports.getTouchIdentifier = getTouchIdentifier;
10341 exports.getTranslation = getTranslation;
10342 exports.innerHeight = innerHeight;
10343 exports.innerWidth = innerWidth;
10344 exports.matchesSelector = matchesSelector;
10345 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10346 exports.offsetXYFromParent = offsetXYFromParent;
10347 exports.outerHeight = outerHeight;
10348 exports.outerWidth = outerWidth;
10349 exports.removeClassName = removeClassName;
10350 exports.removeEvent = removeEvent;
10351 exports.removeUserSelectStyles = removeUserSelectStyles;
10352
10353 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10354
10355 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10356
10357 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); }
10358
10359 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; }
10360
10361 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; }
10362
10363 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; }
10364
10365 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; }
10366
10367 var matchesSelectorFunc = '';
10368
10369 function matchesSelector(el
10370 /*: Node*/
10371 , selector
10372 /*: string*/
10373 )
10374 /*: boolean*/
10375 {
10376 if (!matchesSelectorFunc) {
10377 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10378 // $FlowIgnore: Doesn't think elements are indexable
10379 return (0, _shims.isFunction)(el[method]);
10380 });
10381 } // Might not be found entirely (not an Element?) - in that case, bail
10382 // $FlowIgnore: Doesn't think elements are indexable
10383
10384
10385 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10386
10387 return el[matchesSelectorFunc](selector);
10388 } // Works up the tree to the draggable itself attempting to match selector.
10389
10390
10391 function matchesSelectorAndParentsTo(el
10392 /*: Node*/
10393 , selector
10394 /*: string*/
10395 , baseNode
10396 /*: Node*/
10397 )
10398 /*: boolean*/
10399 {
10400 var node = el;
10401
10402 do {
10403 if (matchesSelector(node, selector)) return true;
10404 if (node === baseNode) return false;
10405 node = node.parentNode;
10406 } while (node);
10407
10408 return false;
10409 }
10410
10411 function addEvent(el
10412 /*: ?Node*/
10413 , event
10414 /*: string*/
10415 , handler
10416 /*: Function*/
10417 , inputOptions
10418 /*: Object*/
10419 )
10420 /*: void*/
10421 {
10422 if (!el) return;
10423
10424 var options = _objectSpread({
10425 capture: true
10426 }, inputOptions); // $FlowIgnore[method-unbinding]
10427
10428
10429 if (el.addEventListener) {
10430 el.addEventListener(event, handler, options);
10431 } else if (el.attachEvent) {
10432 el.attachEvent('on' + event, handler);
10433 } else {
10434 // $FlowIgnore: Doesn't think elements are indexable
10435 el['on' + event] = handler;
10436 }
10437 }
10438
10439 function removeEvent(el
10440 /*: ?Node*/
10441 , event
10442 /*: string*/
10443 , handler
10444 /*: Function*/
10445 , inputOptions
10446 /*: Object*/
10447 )
10448 /*: void*/
10449 {
10450 if (!el) return;
10451
10452 var options = _objectSpread({
10453 capture: true
10454 }, inputOptions); // $FlowIgnore[method-unbinding]
10455
10456
10457 if (el.removeEventListener) {
10458 el.removeEventListener(event, handler, options);
10459 } else if (el.detachEvent) {
10460 el.detachEvent('on' + event, handler);
10461 } else {
10462 // $FlowIgnore: Doesn't think elements are indexable
10463 el['on' + event] = null;
10464 }
10465 }
10466
10467 function outerHeight(node
10468 /*: HTMLElement*/
10469 )
10470 /*: number*/
10471 {
10472 // This is deliberately excluding margin for our calculations, since we are using
10473 // offsetTop which is including margin. See getBoundPosition
10474 var height = node.clientHeight;
10475 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10476 height += (0, _shims.int)(computedStyle.borderTopWidth);
10477 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10478 return height;
10479 }
10480
10481 function outerWidth(node
10482 /*: HTMLElement*/
10483 )
10484 /*: number*/
10485 {
10486 // This is deliberately excluding margin for our calculations, since we are using
10487 // offsetLeft which is including margin. See getBoundPosition
10488 var width = node.clientWidth;
10489 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10490 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10491 width += (0, _shims.int)(computedStyle.borderRightWidth);
10492 return width;
10493 }
10494
10495 function innerHeight(node
10496 /*: HTMLElement*/
10497 )
10498 /*: number*/
10499 {
10500 var height = node.clientHeight;
10501 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10502 height -= (0, _shims.int)(computedStyle.paddingTop);
10503 height -= (0, _shims.int)(computedStyle.paddingBottom);
10504 return height;
10505 }
10506
10507 function innerWidth(node
10508 /*: HTMLElement*/
10509 )
10510 /*: number*/
10511 {
10512 var width = node.clientWidth;
10513 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10514 width -= (0, _shims.int)(computedStyle.paddingLeft);
10515 width -= (0, _shims.int)(computedStyle.paddingRight);
10516 return width;
10517 }
10518 /*:: interface EventWithOffset {
10519 clientX: number, clientY: number
10520 }*/
10521
10522
10523 // Get from offsetParent
10524 function offsetXYFromParent(evt
10525 /*: EventWithOffset*/
10526 , offsetParent
10527 /*: HTMLElement*/
10528 , scale
10529 /*: number*/
10530 )
10531 /*: ControlPosition*/
10532 {
10533 var isBody = offsetParent === offsetParent.ownerDocument.body;
10534 var offsetParentRect = isBody ? {
10535 left: 0,
10536 top: 0
10537 } : offsetParent.getBoundingClientRect();
10538 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10539 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10540 return {
10541 x: x,
10542 y: y
10543 };
10544 }
10545
10546 function createCSSTransform(controlPos
10547 /*: ControlPosition*/
10548 , positionOffset
10549 /*: PositionOffsetControlPosition*/
10550 )
10551 /*: Object*/
10552 {
10553 var translation = getTranslation(controlPos, positionOffset, 'px');
10554 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10555 }
10556
10557 function createSVGTransform(controlPos
10558 /*: ControlPosition*/
10559 , positionOffset
10560 /*: PositionOffsetControlPosition*/
10561 )
10562 /*: string*/
10563 {
10564 var translation = getTranslation(controlPos, positionOffset, '');
10565 return translation;
10566 }
10567
10568 function getTranslation(_ref2, positionOffset
10569 /*: PositionOffsetControlPosition*/
10570 , unitSuffix
10571 /*: string*/
10572 )
10573 /*: string*/
10574 {
10575 var x = _ref2.x,
10576 y = _ref2.y;
10577 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10578
10579 if (positionOffset) {
10580 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10581 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10582 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10583 }
10584
10585 return translation;
10586 }
10587
10588 function getTouch(e
10589 /*: MouseTouchEvent*/
10590 , identifier
10591 /*: number*/
10592 )
10593 /*: ?{clientX: number, clientY: number}*/
10594 {
10595 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10596 return identifier === t.identifier;
10597 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10598 return identifier === t.identifier;
10599 });
10600 }
10601
10602 function getTouchIdentifier(e
10603 /*: MouseTouchEvent*/
10604 )
10605 /*: ?number*/
10606 {
10607 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10608 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10609 } // User-select Hacks:
10610 //
10611 // Useful for preventing blue highlights all over everything when dragging.
10612 // Note we're passing `document` b/c we could be iframed
10613
10614
10615 function addUserSelectStyles(doc
10616 /*: ?Document*/
10617 ) {
10618 if (!doc) return;
10619 var styleEl = doc.getElementById('react-draggable-style-el');
10620
10621 if (!styleEl) {
10622 styleEl = doc.createElement('style');
10623 styleEl.type = 'text/css';
10624 styleEl.id = 'react-draggable-style-el';
10625 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10626 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10627 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10628 }
10629
10630 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10631 }
10632
10633 function removeUserSelectStyles(doc
10634 /*: ?Document*/
10635 ) {
10636 if (!doc) return;
10637
10638 try {
10639 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10640
10641 if (doc.selection) {
10642 // $FlowIgnore: IE
10643 doc.selection.empty();
10644 } else {
10645 // Remove selection caused by scroll, unless it's a focused input
10646 // (we use doc.defaultView in case we're in an iframe)
10647 var selection = (doc.defaultView || window).getSelection();
10648
10649 if (selection && selection.type !== 'Caret') {
10650 selection.removeAllRanges();
10651 }
10652 }
10653 } catch (e) {// probably IE
10654 }
10655 }
10656
10657 function addClassName(el
10658 /*: HTMLElement*/
10659 , className
10660 /*: string*/
10661 ) {
10662 if (el.classList) {
10663 el.classList.add(className);
10664 } else {
10665 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10666 el.className += " ".concat(className);
10667 }
10668 }
10669 }
10670
10671 function removeClassName(el
10672 /*: HTMLElement*/
10673 , className
10674 /*: string*/
10675 ) {
10676 if (el.classList) {
10677 el.classList.remove(className);
10678 } else {
10679 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10680 }
10681 }
10682
10683 /***/ }),
10684
10685 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10686 /*!********************************************************************!*\
10687 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10688 \********************************************************************/
10689 /***/ ((__unused_webpack_module, exports) => {
10690
10691 "use strict";
10692
10693
10694 Object.defineProperty(exports, "__esModule", ({
10695 value: true
10696 }));
10697 exports.browserPrefixToKey = browserPrefixToKey;
10698 exports.browserPrefixToStyle = browserPrefixToStyle;
10699 exports["default"] = void 0;
10700 exports.getPrefix = getPrefix;
10701 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10702
10703 function getPrefix()
10704 /*: string*/
10705 {
10706 var _window$document, _window$document$docu;
10707
10708 var prop
10709 /*: string*/
10710 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10711 // Ensure we're running in an environment where there is actually a global
10712 // `window` obj
10713 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10714 // path may not exist, so bail out if it doesn't.
10715
10716 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;
10717 if (!style) return '';
10718 if (prop in style) return '';
10719
10720 for (var i = 0; i < prefixes.length; i++) {
10721 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10722 }
10723
10724 return '';
10725 }
10726
10727 function browserPrefixToKey(prop
10728 /*: string*/
10729 , prefix
10730 /*: string*/
10731 )
10732 /*: string*/
10733 {
10734 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10735 }
10736
10737 function browserPrefixToStyle(prop
10738 /*: string*/
10739 , prefix
10740 /*: string*/
10741 )
10742 /*: string*/
10743 {
10744 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10745 }
10746
10747 function kebabToTitleCase(str
10748 /*: string*/
10749 )
10750 /*: string*/
10751 {
10752 var out = '';
10753 var shouldCapitalize = true;
10754
10755 for (var i = 0; i < str.length; i++) {
10756 if (shouldCapitalize) {
10757 out += str[i].toUpperCase();
10758 shouldCapitalize = false;
10759 } else if (str[i] === '-') {
10760 shouldCapitalize = true;
10761 } else {
10762 out += str[i];
10763 }
10764 }
10765
10766 return out;
10767 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10768 // Note that you may have to re-test for certain things; for instance, Chrome 50
10769 // can handle unprefixed `transform`, but not unprefixed `user-select`
10770
10771
10772 var _default = (getPrefix()
10773 /*: string*/
10774 );
10775
10776 exports["default"] = _default;
10777
10778 /***/ }),
10779
10780 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10781 /*!**************************************************************!*\
10782 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10783 \**************************************************************/
10784 /***/ ((__unused_webpack_module, exports) => {
10785
10786 "use strict";
10787
10788
10789 Object.defineProperty(exports, "__esModule", ({
10790 value: true
10791 }));
10792 exports["default"] = log;
10793
10794 /*eslint no-console:0*/
10795 function log() {
10796 var _console;
10797
10798 if (false) {}
10799 }
10800
10801 /***/ }),
10802
10803 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10804 /*!**********************************************************************!*\
10805 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10806 \**********************************************************************/
10807 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10808
10809 "use strict";
10810
10811
10812 Object.defineProperty(exports, "__esModule", ({
10813 value: true
10814 }));
10815 exports.canDragX = canDragX;
10816 exports.canDragY = canDragY;
10817 exports.createCoreData = createCoreData;
10818 exports.createDraggableData = createDraggableData;
10819 exports.getBoundPosition = getBoundPosition;
10820 exports.getControlPosition = getControlPosition;
10821 exports.snapToGrid = snapToGrid;
10822
10823 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10824
10825 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10826
10827 function getBoundPosition(draggable
10828 /*: Draggable*/
10829 , x
10830 /*: number*/
10831 , y
10832 /*: number*/
10833 )
10834 /*: [number, number]*/
10835 {
10836 // If no bounds, short-circuit and move on
10837 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10838
10839 var bounds = draggable.props.bounds;
10840 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10841 var node = findDOMNode(draggable);
10842
10843 if (typeof bounds === 'string') {
10844 var ownerDocument = node.ownerDocument;
10845 var ownerWindow = ownerDocument.defaultView;
10846 var boundNode;
10847
10848 if (bounds === 'parent') {
10849 boundNode = node.parentNode;
10850 } else {
10851 boundNode = ownerDocument.querySelector(bounds);
10852 }
10853
10854 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10855 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10856 }
10857
10858 var boundNodeEl
10859 /*: HTMLElement*/
10860 = boundNode; // for Flow, can't seem to refine correctly
10861
10862 var nodeStyle = ownerWindow.getComputedStyle(node);
10863 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10864
10865 bounds = {
10866 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10867 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10868 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10869 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10870 };
10871 } // Keep x and y below right and bottom limits...
10872
10873
10874 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10875 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10876
10877 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10878 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10879 return [x, y];
10880 }
10881
10882 function snapToGrid(grid
10883 /*: [number, number]*/
10884 , pendingX
10885 /*: number*/
10886 , pendingY
10887 /*: number*/
10888 )
10889 /*: [number, number]*/
10890 {
10891 var x = Math.round(pendingX / grid[0]) * grid[0];
10892 var y = Math.round(pendingY / grid[1]) * grid[1];
10893 return [x, y];
10894 }
10895
10896 function canDragX(draggable
10897 /*: Draggable*/
10898 )
10899 /*: boolean*/
10900 {
10901 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10902 }
10903
10904 function canDragY(draggable
10905 /*: Draggable*/
10906 )
10907 /*: boolean*/
10908 {
10909 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10910 } // Get {x, y} positions from event.
10911
10912
10913 function getControlPosition(e
10914 /*: MouseTouchEvent*/
10915 , touchIdentifier
10916 /*: ?number*/
10917 , draggableCore
10918 /*: DraggableCore*/
10919 )
10920 /*: ?ControlPosition*/
10921 {
10922 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10923 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10924
10925 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10926
10927 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10928 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10929 } // Create an data object exposed by <DraggableCore>'s events
10930
10931
10932 function createCoreData(draggable
10933 /*: DraggableCore*/
10934 , x
10935 /*: number*/
10936 , y
10937 /*: number*/
10938 )
10939 /*: DraggableData*/
10940 {
10941 var state = draggable.state;
10942 var isStart = !(0, _shims.isNum)(state.lastX);
10943 var node = findDOMNode(draggable);
10944
10945 if (isStart) {
10946 // If this is our first move, use the x and y as last coords.
10947 return {
10948 node: node,
10949 deltaX: 0,
10950 deltaY: 0,
10951 lastX: x,
10952 lastY: y,
10953 x: x,
10954 y: y
10955 };
10956 } else {
10957 // Otherwise calculate proper values.
10958 return {
10959 node: node,
10960 deltaX: x - state.lastX,
10961 deltaY: y - state.lastY,
10962 lastX: state.lastX,
10963 lastY: state.lastY,
10964 x: x,
10965 y: y
10966 };
10967 }
10968 } // Create an data exposed by <Draggable>'s events
10969
10970
10971 function createDraggableData(draggable
10972 /*: Draggable*/
10973 , coreData
10974 /*: DraggableData*/
10975 )
10976 /*: DraggableData*/
10977 {
10978 var scale = draggable.props.scale;
10979 return {
10980 node: coreData.node,
10981 x: draggable.state.x + coreData.deltaX / scale,
10982 y: draggable.state.y + coreData.deltaY / scale,
10983 deltaX: coreData.deltaX / scale,
10984 deltaY: coreData.deltaY / scale,
10985 lastX: draggable.state.x,
10986 lastY: draggable.state.y
10987 };
10988 } // A lot faster than stringify/parse
10989
10990
10991 function cloneBounds(bounds
10992 /*: Bounds*/
10993 )
10994 /*: Bounds*/
10995 {
10996 return {
10997 left: bounds.left,
10998 top: bounds.top,
10999 right: bounds.right,
11000 bottom: bounds.bottom
11001 };
11002 }
11003
11004 function findDOMNode(draggable
11005 /*: Draggable | DraggableCore*/
11006 )
11007 /*: HTMLElement*/
11008 {
11009 var node = draggable.findDOMNode();
11010
11011 if (!node) {
11012 throw new Error('<DraggableCore>: Unmounted during event!');
11013 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
11014
11015
11016 return node;
11017 }
11018
11019 /***/ }),
11020
11021 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
11022 /*!****************************************************************!*\
11023 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
11024 \****************************************************************/
11025 /***/ ((__unused_webpack_module, exports) => {
11026
11027 "use strict";
11028
11029
11030 Object.defineProperty(exports, "__esModule", ({
11031 value: true
11032 }));
11033 exports.dontSetMe = dontSetMe;
11034 exports.findInArray = findInArray;
11035 exports.int = int;
11036 exports.isFunction = isFunction;
11037 exports.isNum = isNum;
11038
11039 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
11040 function findInArray(array
11041 /*: Array<any> | TouchList*/
11042 , callback
11043 /*: Function*/
11044 )
11045 /*: any*/
11046 {
11047 for (var i = 0, length = array.length; i < length; i++) {
11048 if (callback.apply(callback, [array[i], i, array])) return array[i];
11049 }
11050 }
11051
11052 function isFunction(func
11053 /*: any*/
11054 )
11055 /*: boolean %checks*/
11056 {
11057 // $FlowIgnore[method-unbinding]
11058 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
11059 }
11060
11061 function isNum(num
11062 /*: any*/
11063 )
11064 /*: boolean %checks*/
11065 {
11066 return typeof num === 'number' && !isNaN(num);
11067 }
11068
11069 function int(a
11070 /*: string*/
11071 )
11072 /*: number*/
11073 {
11074 return parseInt(a, 10);
11075 }
11076
11077 function dontSetMe(props
11078 /*: Object*/
11079 , propName
11080 /*: string*/
11081 , componentName
11082 /*: string*/
11083 )
11084 /*: ?Error*/
11085 {
11086 if (props[propName]) {
11087 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
11088 }
11089 }
11090
11091 /***/ }),
11092
11093 /***/ "../node_modules/react-is/cjs/react-is.development.js":
11094 /*!************************************************************!*\
11095 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
11096 \************************************************************/
11097 /***/ ((__unused_webpack_module, exports) => {
11098
11099 "use strict";
11100 /**
11101 * @license React
11102 * react-is.development.js
11103 *
11104 * Copyright (c) Facebook, Inc. and its affiliates.
11105 *
11106 * This source code is licensed under the MIT license found in the
11107 * LICENSE file in the root directory of this source tree.
11108 */
11109
11110
11111
11112 if (true) {
11113 (function() {
11114 'use strict';
11115
11116 // ATTENTION
11117 // When adding new symbols to this file,
11118 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
11119 // The Symbol used to tag the ReactElement-like types.
11120 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
11121 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
11122 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
11123 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
11124 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
11125 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
11126 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
11127 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
11128 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
11129 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
11130 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
11131 var REACT_MEMO_TYPE = Symbol.for('react.memo');
11132 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
11133 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
11134
11135 // -----------------------------------------------------------------------------
11136
11137 var enableScopeAPI = false; // Experimental Create Event Handle API.
11138 var enableCacheElement = false;
11139 var enableTransitionTracing = false; // No known bugs, but needs performance testing
11140
11141 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
11142 // stuff. Intended to enable React core members to more easily debug scheduling
11143 // issues in DEV builds.
11144
11145 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
11146
11147 var REACT_MODULE_REFERENCE;
11148
11149 {
11150 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
11151 }
11152
11153 function isValidElementType(type) {
11154 if (typeof type === 'string' || typeof type === 'function') {
11155 return true;
11156 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
11157
11158
11159 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 ) {
11160 return true;
11161 }
11162
11163 if (typeof type === 'object' && type !== null) {
11164 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
11165 // types supported by any Flight configuration anywhere since
11166 // we don't know which Flight build this will end up being used
11167 // with.
11168 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
11169 return true;
11170 }
11171 }
11172
11173 return false;
11174 }
11175
11176 function typeOf(object) {
11177 if (typeof object === 'object' && object !== null) {
11178 var $$typeof = object.$$typeof;
11179
11180 switch ($$typeof) {
11181 case REACT_ELEMENT_TYPE:
11182 var type = object.type;
11183
11184 switch (type) {
11185 case REACT_FRAGMENT_TYPE:
11186 case REACT_PROFILER_TYPE:
11187 case REACT_STRICT_MODE_TYPE:
11188 case REACT_SUSPENSE_TYPE:
11189 case REACT_SUSPENSE_LIST_TYPE:
11190 return type;
11191
11192 default:
11193 var $$typeofType = type && type.$$typeof;
11194
11195 switch ($$typeofType) {
11196 case REACT_SERVER_CONTEXT_TYPE:
11197 case REACT_CONTEXT_TYPE:
11198 case REACT_FORWARD_REF_TYPE:
11199 case REACT_LAZY_TYPE:
11200 case REACT_MEMO_TYPE:
11201 case REACT_PROVIDER_TYPE:
11202 return $$typeofType;
11203
11204 default:
11205 return $$typeof;
11206 }
11207
11208 }
11209
11210 case REACT_PORTAL_TYPE:
11211 return $$typeof;
11212 }
11213 }
11214
11215 return undefined;
11216 }
11217 var ContextConsumer = REACT_CONTEXT_TYPE;
11218 var ContextProvider = REACT_PROVIDER_TYPE;
11219 var Element = REACT_ELEMENT_TYPE;
11220 var ForwardRef = REACT_FORWARD_REF_TYPE;
11221 var Fragment = REACT_FRAGMENT_TYPE;
11222 var Lazy = REACT_LAZY_TYPE;
11223 var Memo = REACT_MEMO_TYPE;
11224 var Portal = REACT_PORTAL_TYPE;
11225 var Profiler = REACT_PROFILER_TYPE;
11226 var StrictMode = REACT_STRICT_MODE_TYPE;
11227 var Suspense = REACT_SUSPENSE_TYPE;
11228 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
11229 var hasWarnedAboutDeprecatedIsAsyncMode = false;
11230 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
11231
11232 function isAsyncMode(object) {
11233 {
11234 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
11235 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
11236
11237 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11238 }
11239 }
11240
11241 return false;
11242 }
11243 function isConcurrentMode(object) {
11244 {
11245 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
11246 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
11247
11248 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11249 }
11250 }
11251
11252 return false;
11253 }
11254 function isContextConsumer(object) {
11255 return typeOf(object) === REACT_CONTEXT_TYPE;
11256 }
11257 function isContextProvider(object) {
11258 return typeOf(object) === REACT_PROVIDER_TYPE;
11259 }
11260 function isElement(object) {
11261 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
11262 }
11263 function isForwardRef(object) {
11264 return typeOf(object) === REACT_FORWARD_REF_TYPE;
11265 }
11266 function isFragment(object) {
11267 return typeOf(object) === REACT_FRAGMENT_TYPE;
11268 }
11269 function isLazy(object) {
11270 return typeOf(object) === REACT_LAZY_TYPE;
11271 }
11272 function isMemo(object) {
11273 return typeOf(object) === REACT_MEMO_TYPE;
11274 }
11275 function isPortal(object) {
11276 return typeOf(object) === REACT_PORTAL_TYPE;
11277 }
11278 function isProfiler(object) {
11279 return typeOf(object) === REACT_PROFILER_TYPE;
11280 }
11281 function isStrictMode(object) {
11282 return typeOf(object) === REACT_STRICT_MODE_TYPE;
11283 }
11284 function isSuspense(object) {
11285 return typeOf(object) === REACT_SUSPENSE_TYPE;
11286 }
11287 function isSuspenseList(object) {
11288 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
11289 }
11290
11291 exports.ContextConsumer = ContextConsumer;
11292 exports.ContextProvider = ContextProvider;
11293 exports.Element = Element;
11294 exports.ForwardRef = ForwardRef;
11295 exports.Fragment = Fragment;
11296 exports.Lazy = Lazy;
11297 exports.Memo = Memo;
11298 exports.Portal = Portal;
11299 exports.Profiler = Profiler;
11300 exports.StrictMode = StrictMode;
11301 exports.Suspense = Suspense;
11302 exports.SuspenseList = SuspenseList;
11303 exports.isAsyncMode = isAsyncMode;
11304 exports.isConcurrentMode = isConcurrentMode;
11305 exports.isContextConsumer = isContextConsumer;
11306 exports.isContextProvider = isContextProvider;
11307 exports.isElement = isElement;
11308 exports.isForwardRef = isForwardRef;
11309 exports.isFragment = isFragment;
11310 exports.isLazy = isLazy;
11311 exports.isMemo = isMemo;
11312 exports.isPortal = isPortal;
11313 exports.isProfiler = isProfiler;
11314 exports.isStrictMode = isStrictMode;
11315 exports.isSuspense = isSuspense;
11316 exports.isSuspenseList = isSuspenseList;
11317 exports.isValidElementType = isValidElementType;
11318 exports.typeOf = typeOf;
11319 })();
11320 }
11321
11322
11323 /***/ }),
11324
11325 /***/ "../node_modules/react-is/index.js":
11326 /*!*****************************************!*\
11327 !*** ../node_modules/react-is/index.js ***!
11328 \*****************************************/
11329 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11330
11331 "use strict";
11332
11333
11334 if (false) {} else {
11335 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11336 }
11337
11338
11339 /***/ }),
11340
11341 /***/ "../node_modules/shallowequal/index.js":
11342 /*!*********************************************!*\
11343 !*** ../node_modules/shallowequal/index.js ***!
11344 \*********************************************/
11345 /***/ ((module) => {
11346
11347 //
11348
11349 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11350 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11351
11352 if (ret !== void 0) {
11353 return !!ret;
11354 }
11355
11356 if (objA === objB) {
11357 return true;
11358 }
11359
11360 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11361 return false;
11362 }
11363
11364 var keysA = Object.keys(objA);
11365 var keysB = Object.keys(objB);
11366
11367 if (keysA.length !== keysB.length) {
11368 return false;
11369 }
11370
11371 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11372
11373 // Test for A's keys different from B.
11374 for (var idx = 0; idx < keysA.length; idx++) {
11375 var key = keysA[idx];
11376
11377 if (!bHasOwnProperty(key)) {
11378 return false;
11379 }
11380
11381 var valueA = objA[key];
11382 var valueB = objB[key];
11383
11384 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11385
11386 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11387 return false;
11388 }
11389 }
11390
11391 return true;
11392 };
11393
11394
11395 /***/ }),
11396
11397 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11398 /*!*******************************************************************************!*\
11399 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11400 \*******************************************************************************/
11401 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11402
11403 "use strict";
11404 __webpack_require__.r(__webpack_exports__);
11405 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11406 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11407 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11408 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11409 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11410 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11411 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11412 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11413 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11414 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11415 /* harmony export */ css: () => (/* binding */ Ae),
11416 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11417 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11418 /* harmony export */ keyframes: () => (/* binding */ We),
11419 /* harmony export */ useTheme: () => (/* binding */ Xe),
11420 /* harmony export */ version: () => (/* binding */ A),
11421 /* harmony export */ withTheme: () => (/* binding */ Je)
11422 /* harmony export */ });
11423 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11424 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11425 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11426 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11427 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11428 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11429 /* 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");
11430 /* 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");
11431 /* 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");
11432 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11433 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);
11434 //# sourceMappingURL=styled-components.browser.esm.js.map
11435
11436
11437 /***/ }),
11438
11439 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11440 /*!*****************************************************************************************************!*\
11441 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11442 \*****************************************************************************************************/
11443 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11444
11445 "use strict";
11446 __webpack_require__.r(__webpack_exports__);
11447 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11448 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11449 /* harmony export */ });
11450 var unitlessKeys = {
11451 animationIterationCount: 1,
11452 borderImageOutset: 1,
11453 borderImageSlice: 1,
11454 borderImageWidth: 1,
11455 boxFlex: 1,
11456 boxFlexGroup: 1,
11457 boxOrdinalGroup: 1,
11458 columnCount: 1,
11459 columns: 1,
11460 flex: 1,
11461 flexGrow: 1,
11462 flexPositive: 1,
11463 flexShrink: 1,
11464 flexNegative: 1,
11465 flexOrder: 1,
11466 gridRow: 1,
11467 gridRowEnd: 1,
11468 gridRowSpan: 1,
11469 gridRowStart: 1,
11470 gridColumn: 1,
11471 gridColumnEnd: 1,
11472 gridColumnSpan: 1,
11473 gridColumnStart: 1,
11474 msGridRow: 1,
11475 msGridRowSpan: 1,
11476 msGridColumn: 1,
11477 msGridColumnSpan: 1,
11478 fontWeight: 1,
11479 lineHeight: 1,
11480 opacity: 1,
11481 order: 1,
11482 orphans: 1,
11483 tabSize: 1,
11484 widows: 1,
11485 zIndex: 1,
11486 zoom: 1,
11487 WebkitLineClamp: 1,
11488 // SVG-related properties
11489 fillOpacity: 1,
11490 floodOpacity: 1,
11491 stopOpacity: 1,
11492 strokeDasharray: 1,
11493 strokeDashoffset: 1,
11494 strokeMiterlimit: 1,
11495 strokeOpacity: 1,
11496 strokeWidth: 1
11497 };
11498
11499 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11500
11501
11502 /***/ }),
11503
11504 /***/ "../node_modules/validator/lib/isFQDN.js":
11505 /*!***********************************************!*\
11506 !*** ../node_modules/validator/lib/isFQDN.js ***!
11507 \***********************************************/
11508 /***/ ((module, exports, __webpack_require__) => {
11509
11510 "use strict";
11511
11512
11513 Object.defineProperty(exports, "__esModule", ({
11514 value: true
11515 }));
11516 exports["default"] = isFQDN;
11517
11518 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11519
11520 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11521
11522 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11523
11524 var default_fqdn_options = {
11525 require_tld: true,
11526 allow_underscores: false,
11527 allow_trailing_dot: false,
11528 allow_numeric_tld: false,
11529 allow_wildcard: false,
11530 ignore_max_length: false
11531 };
11532
11533 function isFQDN(str, options) {
11534 (0, _assertString.default)(str);
11535 options = (0, _merge.default)(options, default_fqdn_options);
11536 /* Remove the optional trailing dot before checking validity */
11537
11538 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11539 str = str.substring(0, str.length - 1);
11540 }
11541 /* Remove the optional wildcard before checking validity */
11542
11543
11544 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11545 str = str.substring(2);
11546 }
11547
11548 var parts = str.split('.');
11549 var tld = parts[parts.length - 1];
11550
11551 if (options.require_tld) {
11552 // disallow fqdns without tld
11553 if (parts.length < 2) {
11554 return false;
11555 }
11556
11557 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11558 return false;
11559 } // disallow spaces
11560
11561
11562 if (/\s/.test(tld)) {
11563 return false;
11564 }
11565 } // reject numeric TLDs
11566
11567
11568 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11569 return false;
11570 }
11571
11572 return parts.every(function (part) {
11573 if (part.length > 63 && !options.ignore_max_length) {
11574 return false;
11575 }
11576
11577 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11578 return false;
11579 } // disallow full-width chars
11580
11581
11582 if (/[\uff01-\uff5e]/.test(part)) {
11583 return false;
11584 } // disallow parts starting or ending with hyphen
11585
11586
11587 if (/^-|-$/.test(part)) {
11588 return false;
11589 }
11590
11591 if (!options.allow_underscores && /_/.test(part)) {
11592 return false;
11593 }
11594
11595 return true;
11596 });
11597 }
11598
11599 module.exports = exports.default;
11600 module.exports["default"] = exports.default;
11601
11602 /***/ }),
11603
11604 /***/ "../node_modules/validator/lib/isIP.js":
11605 /*!*********************************************!*\
11606 !*** ../node_modules/validator/lib/isIP.js ***!
11607 \*********************************************/
11608 /***/ ((module, exports, __webpack_require__) => {
11609
11610 "use strict";
11611
11612
11613 Object.defineProperty(exports, "__esModule", ({
11614 value: true
11615 }));
11616 exports["default"] = isIP;
11617
11618 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11619
11620 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11621
11622 /**
11623 11.3. Examples
11624
11625 The following addresses
11626
11627 fe80::1234 (on the 1st link of the node)
11628 ff02::5678 (on the 5th link of the node)
11629 ff08::9abc (on the 10th organization of the node)
11630
11631 would be represented as follows:
11632
11633 fe80::1234%1
11634 ff02::5678%5
11635 ff08::9abc%10
11636
11637 (Here we assume a natural translation from a zone index to the
11638 <zone_id> part, where the Nth zone of any scope is translated into
11639 "N".)
11640
11641 If we use interface names as <zone_id>, those addresses could also be
11642 represented as follows:
11643
11644 fe80::1234%ne0
11645 ff02::5678%pvc1.3
11646 ff08::9abc%interface10
11647
11648 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11649 to the 5th link, and "interface10" belongs to the 10th organization.
11650 * * */
11651 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11652 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11653 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11654 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11655 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,})?$');
11656
11657 function isIP(str) {
11658 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11659 (0, _assertString.default)(str);
11660 version = String(version);
11661
11662 if (!version) {
11663 return isIP(str, 4) || isIP(str, 6);
11664 }
11665
11666 if (version === '4') {
11667 return IPv4AddressRegExp.test(str);
11668 }
11669
11670 if (version === '6') {
11671 return IPv6AddressRegExp.test(str);
11672 }
11673
11674 return false;
11675 }
11676
11677 module.exports = exports.default;
11678 module.exports["default"] = exports.default;
11679
11680 /***/ }),
11681
11682 /***/ "../node_modules/validator/lib/isURL.js":
11683 /*!**********************************************!*\
11684 !*** ../node_modules/validator/lib/isURL.js ***!
11685 \**********************************************/
11686 /***/ ((module, exports, __webpack_require__) => {
11687
11688 "use strict";
11689
11690
11691 Object.defineProperty(exports, "__esModule", ({
11692 value: true
11693 }));
11694 exports["default"] = isURL;
11695
11696 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11697
11698 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11699
11700 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11701
11702 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11703
11704 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11705
11706 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11707
11708 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."); }
11709
11710 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); }
11711
11712 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; }
11713
11714 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; }
11715
11716 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11717
11718 /*
11719 options for isURL method
11720
11721 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11722 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11723 protocols - valid protocols can be modified with this option
11724 require_host - if set as false isURL will not check if host is present in the URL
11725 require_port - if set as true isURL will check if port is present in the URL
11726 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11727 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11728
11729 */
11730 var default_url_options = {
11731 protocols: ['http', 'https', 'ftp'],
11732 require_tld: true,
11733 require_protocol: false,
11734 require_host: true,
11735 require_port: false,
11736 require_valid_protocol: true,
11737 allow_underscores: false,
11738 allow_trailing_dot: false,
11739 allow_protocol_relative_urls: false,
11740 allow_fragments: true,
11741 allow_query_components: true,
11742 validate_length: true
11743 };
11744 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11745
11746 function isRegExp(obj) {
11747 return Object.prototype.toString.call(obj) === '[object RegExp]';
11748 }
11749
11750 function checkHost(host, matches) {
11751 for (var i = 0; i < matches.length; i++) {
11752 var match = matches[i];
11753
11754 if (host === match || isRegExp(match) && match.test(host)) {
11755 return true;
11756 }
11757 }
11758
11759 return false;
11760 }
11761
11762 function isURL(url, options) {
11763 (0, _assertString.default)(url);
11764
11765 if (!url || /[\s<>]/.test(url)) {
11766 return false;
11767 }
11768
11769 if (url.indexOf('mailto:') === 0) {
11770 return false;
11771 }
11772
11773 options = (0, _merge.default)(options, default_url_options);
11774
11775 if (options.validate_length && url.length >= 2083) {
11776 return false;
11777 }
11778
11779 if (!options.allow_fragments && url.includes('#')) {
11780 return false;
11781 }
11782
11783 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11784 return false;
11785 }
11786
11787 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11788 split = url.split('#');
11789 url = split.shift();
11790 split = url.split('?');
11791 url = split.shift();
11792 split = url.split('://');
11793
11794 if (split.length > 1) {
11795 protocol = split.shift().toLowerCase();
11796
11797 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11798 return false;
11799 }
11800 } else if (options.require_protocol) {
11801 return false;
11802 } else if (url.slice(0, 2) === '//') {
11803 if (!options.allow_protocol_relative_urls) {
11804 return false;
11805 }
11806
11807 split[0] = url.slice(2);
11808 }
11809
11810 url = split.join('://');
11811
11812 if (url === '') {
11813 return false;
11814 }
11815
11816 split = url.split('/');
11817 url = split.shift();
11818
11819 if (url === '' && !options.require_host) {
11820 return true;
11821 }
11822
11823 split = url.split('@');
11824
11825 if (split.length > 1) {
11826 if (options.disallow_auth) {
11827 return false;
11828 }
11829
11830 if (split[0] === '') {
11831 return false;
11832 }
11833
11834 auth = split.shift();
11835
11836 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11837 return false;
11838 }
11839
11840 var _auth$split = auth.split(':'),
11841 _auth$split2 = _slicedToArray(_auth$split, 2),
11842 user = _auth$split2[0],
11843 password = _auth$split2[1];
11844
11845 if (user === '' && password === '') {
11846 return false;
11847 }
11848 }
11849
11850 hostname = split.join('@');
11851 port_str = null;
11852 ipv6 = null;
11853 var ipv6_match = hostname.match(wrapped_ipv6);
11854
11855 if (ipv6_match) {
11856 host = '';
11857 ipv6 = ipv6_match[1];
11858 port_str = ipv6_match[2] || null;
11859 } else {
11860 split = hostname.split(':');
11861 host = split.shift();
11862
11863 if (split.length) {
11864 port_str = split.join(':');
11865 }
11866 }
11867
11868 if (port_str !== null && port_str.length > 0) {
11869 port = parseInt(port_str, 10);
11870
11871 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11872 return false;
11873 }
11874 } else if (options.require_port) {
11875 return false;
11876 }
11877
11878 if (options.host_whitelist) {
11879 return checkHost(host, options.host_whitelist);
11880 }
11881
11882 if (host === '' && !options.require_host) {
11883 return true;
11884 }
11885
11886 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11887 return false;
11888 }
11889
11890 host = host || ipv6;
11891
11892 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11893 return false;
11894 }
11895
11896 return true;
11897 }
11898
11899 module.exports = exports.default;
11900 module.exports["default"] = exports.default;
11901
11902 /***/ }),
11903
11904 /***/ "../node_modules/validator/lib/util/assertString.js":
11905 /*!**********************************************************!*\
11906 !*** ../node_modules/validator/lib/util/assertString.js ***!
11907 \**********************************************************/
11908 /***/ ((module, exports) => {
11909
11910 "use strict";
11911
11912
11913 Object.defineProperty(exports, "__esModule", ({
11914 value: true
11915 }));
11916 exports["default"] = assertString;
11917
11918 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); }
11919
11920 function assertString(input) {
11921 var isString = typeof input === 'string' || input instanceof String;
11922
11923 if (!isString) {
11924 var invalidType = _typeof(input);
11925
11926 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11927 throw new TypeError("Expected a string but received a ".concat(invalidType));
11928 }
11929 }
11930
11931 module.exports = exports.default;
11932 module.exports["default"] = exports.default;
11933
11934 /***/ }),
11935
11936 /***/ "../node_modules/validator/lib/util/merge.js":
11937 /*!***************************************************!*\
11938 !*** ../node_modules/validator/lib/util/merge.js ***!
11939 \***************************************************/
11940 /***/ ((module, exports) => {
11941
11942 "use strict";
11943
11944
11945 Object.defineProperty(exports, "__esModule", ({
11946 value: true
11947 }));
11948 exports["default"] = merge;
11949
11950 function merge() {
11951 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11952 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11953
11954 for (var key in defaults) {
11955 if (typeof obj[key] === 'undefined') {
11956 obj[key] = defaults[key];
11957 }
11958 }
11959
11960 return obj;
11961 }
11962
11963 module.exports = exports.default;
11964 module.exports["default"] = exports.default;
11965
11966 /***/ }),
11967
11968 /***/ "react":
11969 /*!************************!*\
11970 !*** external "React" ***!
11971 \************************/
11972 /***/ ((module) => {
11973
11974 "use strict";
11975 module.exports = React;
11976
11977 /***/ }),
11978
11979 /***/ "react-dom":
11980 /*!***************************!*\
11981 !*** external "ReactDOM" ***!
11982 \***************************/
11983 /***/ ((module) => {
11984
11985 "use strict";
11986 module.exports = ReactDOM;
11987
11988 /***/ }),
11989
11990 /***/ "@elementor/icons":
11991 /*!************************************!*\
11992 !*** external "elementorV2.icons" ***!
11993 \************************************/
11994 /***/ ((module) => {
11995
11996 "use strict";
11997 module.exports = elementorV2.icons;
11998
11999 /***/ }),
12000
12001 /***/ "@elementor/ui":
12002 /*!*********************************!*\
12003 !*** external "elementorV2.ui" ***!
12004 \*********************************/
12005 /***/ ((module) => {
12006
12007 "use strict";
12008 module.exports = elementorV2.ui;
12009
12010 /***/ }),
12011
12012 /***/ "@wordpress/i18n":
12013 /*!**************************!*\
12014 !*** external "wp.i18n" ***!
12015 \**************************/
12016 /***/ ((module) => {
12017
12018 "use strict";
12019 module.exports = wp.i18n;
12020
12021 /***/ }),
12022
12023 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
12024 /*!******************************************************************!*\
12025 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
12026 \******************************************************************/
12027 /***/ ((module) => {
12028
12029 function _arrayLikeToArray(arr, len) {
12030 if (len == null || len > arr.length) len = arr.length;
12031 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
12032 return arr2;
12033 }
12034 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12035
12036 /***/ }),
12037
12038 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
12039 /*!****************************************************************!*\
12040 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
12041 \****************************************************************/
12042 /***/ ((module) => {
12043
12044 function _arrayWithHoles(arr) {
12045 if (Array.isArray(arr)) return arr;
12046 }
12047 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12048
12049 /***/ }),
12050
12051 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
12052 /*!*******************************************************************!*\
12053 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
12054 \*******************************************************************/
12055 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12056
12057 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12058 function _arrayWithoutHoles(arr) {
12059 if (Array.isArray(arr)) return arrayLikeToArray(arr);
12060 }
12061 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12062
12063 /***/ }),
12064
12065 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
12066 /*!***********************************************************************!*\
12067 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
12068 \***********************************************************************/
12069 /***/ ((module) => {
12070
12071 function _assertThisInitialized(self) {
12072 if (self === void 0) {
12073 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12074 }
12075 return self;
12076 }
12077 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
12078
12079 /***/ }),
12080
12081 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
12082 /*!******************************************************************!*\
12083 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
12084 \******************************************************************/
12085 /***/ ((module) => {
12086
12087 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
12088 try {
12089 var info = gen[key](arg);
12090 var value = info.value;
12091 } catch (error) {
12092 reject(error);
12093 return;
12094 }
12095 if (info.done) {
12096 resolve(value);
12097 } else {
12098 Promise.resolve(value).then(_next, _throw);
12099 }
12100 }
12101 function _asyncToGenerator(fn) {
12102 return function () {
12103 var self = this,
12104 args = arguments;
12105 return new Promise(function (resolve, reject) {
12106 var gen = fn.apply(self, args);
12107 function _next(value) {
12108 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
12109 }
12110 function _throw(err) {
12111 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
12112 }
12113 _next(undefined);
12114 });
12115 };
12116 }
12117 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
12118
12119 /***/ }),
12120
12121 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
12122 /*!****************************************************************!*\
12123 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
12124 \****************************************************************/
12125 /***/ ((module) => {
12126
12127 function _classCallCheck(instance, Constructor) {
12128 if (!(instance instanceof Constructor)) {
12129 throw new TypeError("Cannot call a class as a function");
12130 }
12131 }
12132 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
12133
12134 /***/ }),
12135
12136 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
12137 /*!*************************************************************!*\
12138 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
12139 \*************************************************************/
12140 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12141
12142 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12143 function _defineProperties(target, props) {
12144 for (var i = 0; i < props.length; i++) {
12145 var descriptor = props[i];
12146 descriptor.enumerable = descriptor.enumerable || false;
12147 descriptor.configurable = true;
12148 if ("value" in descriptor) descriptor.writable = true;
12149 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
12150 }
12151 }
12152 function _createClass(Constructor, protoProps, staticProps) {
12153 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12154 if (staticProps) _defineProperties(Constructor, staticProps);
12155 Object.defineProperty(Constructor, "prototype", {
12156 writable: false
12157 });
12158 return Constructor;
12159 }
12160 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
12161
12162 /***/ }),
12163
12164 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
12165 /*!****************************************************************!*\
12166 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
12167 \****************************************************************/
12168 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12169
12170 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12171 function _defineProperty(obj, key, value) {
12172 key = toPropertyKey(key);
12173 if (key in obj) {
12174 Object.defineProperty(obj, key, {
12175 value: value,
12176 enumerable: true,
12177 configurable: true,
12178 writable: true
12179 });
12180 } else {
12181 obj[key] = value;
12182 }
12183 return obj;
12184 }
12185 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
12186
12187 /***/ }),
12188
12189 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
12190 /*!*********************************************************!*\
12191 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
12192 \*********************************************************/
12193 /***/ ((module) => {
12194
12195 function _extends() {
12196 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
12197 for (var i = 1; i < arguments.length; i++) {
12198 var source = arguments[i];
12199 for (var key in source) {
12200 if (Object.prototype.hasOwnProperty.call(source, key)) {
12201 target[key] = source[key];
12202 }
12203 }
12204 }
12205 return target;
12206 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12207 return _extends.apply(this, arguments);
12208 }
12209 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
12210
12211 /***/ }),
12212
12213 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
12214 /*!****************************************************************!*\
12215 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
12216 \****************************************************************/
12217 /***/ ((module) => {
12218
12219 function _getPrototypeOf(o) {
12220 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
12221 return o.__proto__ || Object.getPrototypeOf(o);
12222 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12223 return _getPrototypeOf(o);
12224 }
12225 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12226
12227 /***/ }),
12228
12229 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
12230 /*!**********************************************************!*\
12231 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
12232 \**********************************************************/
12233 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12234
12235 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
12236 function _inherits(subClass, superClass) {
12237 if (typeof superClass !== "function" && superClass !== null) {
12238 throw new TypeError("Super expression must either be null or a function");
12239 }
12240 subClass.prototype = Object.create(superClass && superClass.prototype, {
12241 constructor: {
12242 value: subClass,
12243 writable: true,
12244 configurable: true
12245 }
12246 });
12247 Object.defineProperty(subClass, "prototype", {
12248 writable: false
12249 });
12250 if (superClass) setPrototypeOf(subClass, superClass);
12251 }
12252 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
12253
12254 /***/ }),
12255
12256 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
12257 /*!***********************************************************************!*\
12258 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
12259 \***********************************************************************/
12260 /***/ ((module) => {
12261
12262 function _interopRequireDefault(obj) {
12263 return obj && obj.__esModule ? obj : {
12264 "default": obj
12265 };
12266 }
12267 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
12268
12269 /***/ }),
12270
12271 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
12272 /*!*****************************************************************!*\
12273 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
12274 \*****************************************************************/
12275 /***/ ((module) => {
12276
12277 function _iterableToArray(iter) {
12278 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12279 }
12280 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12281
12282 /***/ }),
12283
12284 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
12285 /*!**********************************************************************!*\
12286 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
12287 \**********************************************************************/
12288 /***/ ((module) => {
12289
12290 function _iterableToArrayLimit(r, l) {
12291 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
12292 if (null != t) {
12293 var e,
12294 n,
12295 i,
12296 u,
12297 a = [],
12298 f = !0,
12299 o = !1;
12300 try {
12301 if (i = (t = t.call(r)).next, 0 === l) {
12302 if (Object(t) !== t) return;
12303 f = !1;
12304 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12305 } catch (r) {
12306 o = !0, n = r;
12307 } finally {
12308 try {
12309 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12310 } finally {
12311 if (o) throw n;
12312 }
12313 }
12314 return a;
12315 }
12316 }
12317 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12318
12319 /***/ }),
12320
12321 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12322 /*!*****************************************************************!*\
12323 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12324 \*****************************************************************/
12325 /***/ ((module) => {
12326
12327 function _nonIterableRest() {
12328 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12329 }
12330 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12331
12332 /***/ }),
12333
12334 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12335 /*!*******************************************************************!*\
12336 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12337 \*******************************************************************/
12338 /***/ ((module) => {
12339
12340 function _nonIterableSpread() {
12341 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12342 }
12343 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12344
12345 /***/ }),
12346
12347 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12348 /*!*************************************************************************!*\
12349 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12350 \*************************************************************************/
12351 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12352
12353 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12354 function _objectWithoutProperties(source, excluded) {
12355 if (source == null) return {};
12356 var target = objectWithoutPropertiesLoose(source, excluded);
12357 var key, i;
12358 if (Object.getOwnPropertySymbols) {
12359 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12360 for (i = 0; i < sourceSymbolKeys.length; i++) {
12361 key = sourceSymbolKeys[i];
12362 if (excluded.indexOf(key) >= 0) continue;
12363 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12364 target[key] = source[key];
12365 }
12366 }
12367 return target;
12368 }
12369 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12370
12371 /***/ }),
12372
12373 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12374 /*!******************************************************************************!*\
12375 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12376 \******************************************************************************/
12377 /***/ ((module) => {
12378
12379 function _objectWithoutPropertiesLoose(source, excluded) {
12380 if (source == null) return {};
12381 var target = {};
12382 var sourceKeys = Object.keys(source);
12383 var key, i;
12384 for (i = 0; i < sourceKeys.length; i++) {
12385 key = sourceKeys[i];
12386 if (excluded.indexOf(key) >= 0) continue;
12387 target[key] = source[key];
12388 }
12389 return target;
12390 }
12391 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12392
12393 /***/ }),
12394
12395 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12396 /*!***************************************************************************!*\
12397 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12398 \***************************************************************************/
12399 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12400
12401 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12402 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12403 function _possibleConstructorReturn(self, call) {
12404 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12405 return call;
12406 } else if (call !== void 0) {
12407 throw new TypeError("Derived constructors may only return object or undefined");
12408 }
12409 return assertThisInitialized(self);
12410 }
12411 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12412
12413 /***/ }),
12414
12415 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12416 /*!********************************************************************!*\
12417 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12418 \********************************************************************/
12419 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12420
12421 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12422 function _regeneratorRuntime() {
12423 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12424 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12425 return e;
12426 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12427 var t,
12428 e = {},
12429 r = Object.prototype,
12430 n = r.hasOwnProperty,
12431 o = Object.defineProperty || function (t, e, r) {
12432 t[e] = r.value;
12433 },
12434 i = "function" == typeof Symbol ? Symbol : {},
12435 a = i.iterator || "@@iterator",
12436 c = i.asyncIterator || "@@asyncIterator",
12437 u = i.toStringTag || "@@toStringTag";
12438 function define(t, e, r) {
12439 return Object.defineProperty(t, e, {
12440 value: r,
12441 enumerable: !0,
12442 configurable: !0,
12443 writable: !0
12444 }), t[e];
12445 }
12446 try {
12447 define({}, "");
12448 } catch (t) {
12449 define = function define(t, e, r) {
12450 return t[e] = r;
12451 };
12452 }
12453 function wrap(t, e, r, n) {
12454 var i = e && e.prototype instanceof Generator ? e : Generator,
12455 a = Object.create(i.prototype),
12456 c = new Context(n || []);
12457 return o(a, "_invoke", {
12458 value: makeInvokeMethod(t, r, c)
12459 }), a;
12460 }
12461 function tryCatch(t, e, r) {
12462 try {
12463 return {
12464 type: "normal",
12465 arg: t.call(e, r)
12466 };
12467 } catch (t) {
12468 return {
12469 type: "throw",
12470 arg: t
12471 };
12472 }
12473 }
12474 e.wrap = wrap;
12475 var h = "suspendedStart",
12476 l = "suspendedYield",
12477 f = "executing",
12478 s = "completed",
12479 y = {};
12480 function Generator() {}
12481 function GeneratorFunction() {}
12482 function GeneratorFunctionPrototype() {}
12483 var p = {};
12484 define(p, a, function () {
12485 return this;
12486 });
12487 var d = Object.getPrototypeOf,
12488 v = d && d(d(values([])));
12489 v && v !== r && n.call(v, a) && (p = v);
12490 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12491 function defineIteratorMethods(t) {
12492 ["next", "throw", "return"].forEach(function (e) {
12493 define(t, e, function (t) {
12494 return this._invoke(e, t);
12495 });
12496 });
12497 }
12498 function AsyncIterator(t, e) {
12499 function invoke(r, o, i, a) {
12500 var c = tryCatch(t[r], t, o);
12501 if ("throw" !== c.type) {
12502 var u = c.arg,
12503 h = u.value;
12504 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12505 invoke("next", t, i, a);
12506 }, function (t) {
12507 invoke("throw", t, i, a);
12508 }) : e.resolve(h).then(function (t) {
12509 u.value = t, i(u);
12510 }, function (t) {
12511 return invoke("throw", t, i, a);
12512 });
12513 }
12514 a(c.arg);
12515 }
12516 var r;
12517 o(this, "_invoke", {
12518 value: function value(t, n) {
12519 function callInvokeWithMethodAndArg() {
12520 return new e(function (e, r) {
12521 invoke(t, n, e, r);
12522 });
12523 }
12524 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12525 }
12526 });
12527 }
12528 function makeInvokeMethod(e, r, n) {
12529 var o = h;
12530 return function (i, a) {
12531 if (o === f) throw new Error("Generator is already running");
12532 if (o === s) {
12533 if ("throw" === i) throw a;
12534 return {
12535 value: t,
12536 done: !0
12537 };
12538 }
12539 for (n.method = i, n.arg = a;;) {
12540 var c = n.delegate;
12541 if (c) {
12542 var u = maybeInvokeDelegate(c, n);
12543 if (u) {
12544 if (u === y) continue;
12545 return u;
12546 }
12547 }
12548 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12549 if (o === h) throw o = s, n.arg;
12550 n.dispatchException(n.arg);
12551 } else "return" === n.method && n.abrupt("return", n.arg);
12552 o = f;
12553 var p = tryCatch(e, r, n);
12554 if ("normal" === p.type) {
12555 if (o = n.done ? s : l, p.arg === y) continue;
12556 return {
12557 value: p.arg,
12558 done: n.done
12559 };
12560 }
12561 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12562 }
12563 };
12564 }
12565 function maybeInvokeDelegate(e, r) {
12566 var n = r.method,
12567 o = e.iterator[n];
12568 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;
12569 var i = tryCatch(o, e.iterator, r.arg);
12570 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12571 var a = i.arg;
12572 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);
12573 }
12574 function pushTryEntry(t) {
12575 var e = {
12576 tryLoc: t[0]
12577 };
12578 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12579 }
12580 function resetTryEntry(t) {
12581 var e = t.completion || {};
12582 e.type = "normal", delete e.arg, t.completion = e;
12583 }
12584 function Context(t) {
12585 this.tryEntries = [{
12586 tryLoc: "root"
12587 }], t.forEach(pushTryEntry, this), this.reset(!0);
12588 }
12589 function values(e) {
12590 if (e || "" === e) {
12591 var r = e[a];
12592 if (r) return r.call(e);
12593 if ("function" == typeof e.next) return e;
12594 if (!isNaN(e.length)) {
12595 var o = -1,
12596 i = function next() {
12597 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12598 return next.value = t, next.done = !0, next;
12599 };
12600 return i.next = i;
12601 }
12602 }
12603 throw new TypeError(_typeof(e) + " is not iterable");
12604 }
12605 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12606 value: GeneratorFunctionPrototype,
12607 configurable: !0
12608 }), o(GeneratorFunctionPrototype, "constructor", {
12609 value: GeneratorFunction,
12610 configurable: !0
12611 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12612 var e = "function" == typeof t && t.constructor;
12613 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12614 }, e.mark = function (t) {
12615 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12616 }, e.awrap = function (t) {
12617 return {
12618 __await: t
12619 };
12620 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12621 return this;
12622 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12623 void 0 === i && (i = Promise);
12624 var a = new AsyncIterator(wrap(t, r, n, o), i);
12625 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12626 return t.done ? t.value : a.next();
12627 });
12628 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12629 return this;
12630 }), define(g, "toString", function () {
12631 return "[object Generator]";
12632 }), e.keys = function (t) {
12633 var e = Object(t),
12634 r = [];
12635 for (var n in e) r.push(n);
12636 return r.reverse(), function next() {
12637 for (; r.length;) {
12638 var t = r.pop();
12639 if (t in e) return next.value = t, next.done = !1, next;
12640 }
12641 return next.done = !0, next;
12642 };
12643 }, e.values = values, Context.prototype = {
12644 constructor: Context,
12645 reset: function reset(e) {
12646 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);
12647 },
12648 stop: function stop() {
12649 this.done = !0;
12650 var t = this.tryEntries[0].completion;
12651 if ("throw" === t.type) throw t.arg;
12652 return this.rval;
12653 },
12654 dispatchException: function dispatchException(e) {
12655 if (this.done) throw e;
12656 var r = this;
12657 function handle(n, o) {
12658 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12659 }
12660 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12661 var i = this.tryEntries[o],
12662 a = i.completion;
12663 if ("root" === i.tryLoc) return handle("end");
12664 if (i.tryLoc <= this.prev) {
12665 var c = n.call(i, "catchLoc"),
12666 u = n.call(i, "finallyLoc");
12667 if (c && u) {
12668 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12669 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12670 } else if (c) {
12671 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12672 } else {
12673 if (!u) throw new Error("try statement without catch or finally");
12674 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12675 }
12676 }
12677 }
12678 },
12679 abrupt: function abrupt(t, e) {
12680 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12681 var o = this.tryEntries[r];
12682 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12683 var i = o;
12684 break;
12685 }
12686 }
12687 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12688 var a = i ? i.completion : {};
12689 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12690 },
12691 complete: function complete(t, e) {
12692 if ("throw" === t.type) throw t.arg;
12693 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;
12694 },
12695 finish: function finish(t) {
12696 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12697 var r = this.tryEntries[e];
12698 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12699 }
12700 },
12701 "catch": function _catch(t) {
12702 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12703 var r = this.tryEntries[e];
12704 if (r.tryLoc === t) {
12705 var n = r.completion;
12706 if ("throw" === n.type) {
12707 var o = n.arg;
12708 resetTryEntry(r);
12709 }
12710 return o;
12711 }
12712 }
12713 throw new Error("illegal catch attempt");
12714 },
12715 delegateYield: function delegateYield(e, r, n) {
12716 return this.delegate = {
12717 iterator: values(e),
12718 resultName: r,
12719 nextLoc: n
12720 }, "next" === this.method && (this.arg = t), y;
12721 }
12722 }, e;
12723 }
12724 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12725
12726 /***/ }),
12727
12728 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12729 /*!****************************************************************!*\
12730 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12731 \****************************************************************/
12732 /***/ ((module) => {
12733
12734 function _setPrototypeOf(o, p) {
12735 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12736 o.__proto__ = p;
12737 return o;
12738 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12739 return _setPrototypeOf(o, p);
12740 }
12741 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12742
12743 /***/ }),
12744
12745 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12746 /*!***************************************************************!*\
12747 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12748 \***************************************************************/
12749 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12750
12751 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12752 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12753 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12754 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12755 function _slicedToArray(arr, i) {
12756 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12757 }
12758 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12759
12760 /***/ }),
12761
12762 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12763 /*!***********************************************************************!*\
12764 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12765 \***********************************************************************/
12766 /***/ ((module) => {
12767
12768 function _taggedTemplateLiteral(strings, raw) {
12769 if (!raw) {
12770 raw = strings.slice(0);
12771 }
12772 return Object.freeze(Object.defineProperties(strings, {
12773 raw: {
12774 value: Object.freeze(raw)
12775 }
12776 }));
12777 }
12778 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12779
12780 /***/ }),
12781
12782 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12783 /*!*******************************************************************!*\
12784 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12785 \*******************************************************************/
12786 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12787
12788 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12789 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12790 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12791 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12792 function _toConsumableArray(arr) {
12793 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12794 }
12795 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12796
12797 /***/ }),
12798
12799 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12800 /*!*************************************************************!*\
12801 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12802 \*************************************************************/
12803 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12804
12805 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12806 function toPrimitive(t, r) {
12807 if ("object" != _typeof(t) || !t) return t;
12808 var e = t[Symbol.toPrimitive];
12809 if (void 0 !== e) {
12810 var i = e.call(t, r || "default");
12811 if ("object" != _typeof(i)) return i;
12812 throw new TypeError("@@toPrimitive must return a primitive value.");
12813 }
12814 return ("string" === r ? String : Number)(t);
12815 }
12816 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12817
12818 /***/ }),
12819
12820 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12821 /*!***************************************************************!*\
12822 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12823 \***************************************************************/
12824 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12825
12826 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12827 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12828 function toPropertyKey(t) {
12829 var i = toPrimitive(t, "string");
12830 return "symbol" == _typeof(i) ? i : String(i);
12831 }
12832 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12833
12834 /***/ }),
12835
12836 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12837 /*!********************************************************!*\
12838 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12839 \********************************************************/
12840 /***/ ((module) => {
12841
12842 function _typeof(o) {
12843 "@babel/helpers - typeof";
12844
12845 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12846 return typeof o;
12847 } : function (o) {
12848 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12849 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12850 }
12851 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12852
12853 /***/ }),
12854
12855 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12856 /*!****************************************************************************!*\
12857 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12858 \****************************************************************************/
12859 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12860
12861 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12862 function _unsupportedIterableToArray(o, minLen) {
12863 if (!o) return;
12864 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12865 var n = Object.prototype.toString.call(o).slice(8, -1);
12866 if (n === "Object" && o.constructor) n = o.constructor.name;
12867 if (n === "Map" || n === "Set") return Array.from(o);
12868 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12869 }
12870 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12871
12872 /***/ }),
12873
12874 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12875 /*!***********************************************************!*\
12876 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12877 \***********************************************************/
12878 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12879
12880 // TODO(Babel 8): Remove this file.
12881
12882 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12883 module.exports = runtime;
12884
12885 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12886 try {
12887 regeneratorRuntime = runtime;
12888 } catch (accidentalStrictMode) {
12889 if (typeof globalThis === "object") {
12890 globalThis.regeneratorRuntime = runtime;
12891 } else {
12892 Function("r", "regeneratorRuntime = r")(runtime);
12893 }
12894 }
12895
12896
12897 /***/ })
12898
12899 /******/ });
12900 /************************************************************************/
12901 /******/ // The module cache
12902 /******/ var __webpack_module_cache__ = {};
12903 /******/
12904 /******/ // The require function
12905 /******/ function __webpack_require__(moduleId) {
12906 /******/ // Check if module is in cache
12907 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12908 /******/ if (cachedModule !== undefined) {
12909 /******/ return cachedModule.exports;
12910 /******/ }
12911 /******/ // Create a new module (and put it into the cache)
12912 /******/ var module = __webpack_module_cache__[moduleId] = {
12913 /******/ // no module.id needed
12914 /******/ // no module.loaded needed
12915 /******/ exports: {}
12916 /******/ };
12917 /******/
12918 /******/ // Execute the module function
12919 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12920 /******/
12921 /******/ // Return the exports of the module
12922 /******/ return module.exports;
12923 /******/ }
12924 /******/
12925 /************************************************************************/
12926 /******/ /* webpack/runtime/compat get default export */
12927 /******/ (() => {
12928 /******/ // getDefaultExport function for compatibility with non-harmony modules
12929 /******/ __webpack_require__.n = (module) => {
12930 /******/ var getter = module && module.__esModule ?
12931 /******/ () => (module['default']) :
12932 /******/ () => (module);
12933 /******/ __webpack_require__.d(getter, { a: getter });
12934 /******/ return getter;
12935 /******/ };
12936 /******/ })();
12937 /******/
12938 /******/ /* webpack/runtime/define property getters */
12939 /******/ (() => {
12940 /******/ // define getter functions for harmony exports
12941 /******/ __webpack_require__.d = (exports, definition) => {
12942 /******/ for(var key in definition) {
12943 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12944 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12945 /******/ }
12946 /******/ }
12947 /******/ };
12948 /******/ })();
12949 /******/
12950 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12951 /******/ (() => {
12952 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12953 /******/ })();
12954 /******/
12955 /******/ /* webpack/runtime/make namespace object */
12956 /******/ (() => {
12957 /******/ // define __esModule on exports
12958 /******/ __webpack_require__.r = (exports) => {
12959 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12960 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12961 /******/ }
12962 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12963 /******/ };
12964 /******/ })();
12965 /******/
12966 /******/ /* webpack/runtime/nonce */
12967 /******/ (() => {
12968 /******/ __webpack_require__.nc = undefined;
12969 /******/ })();
12970 /******/
12971 /************************************************************************/
12972 var __webpack_exports__ = {};
12973 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12974 (() => {
12975 "use strict";
12976 var exports = __webpack_exports__;
12977 /*!*******************************************************!*\
12978 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12979 \*******************************************************/
12980
12981
12982 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12983 Object.defineProperty(exports, "__esModule", ({
12984 value: true
12985 }));
12986 exports["default"] = exports.AI_ATTACHMENT = void 0;
12987 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12988 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12989 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12990 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12991 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12992 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12993 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12994 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12995 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12996 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12997 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12998 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12999 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
13000 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"));
13001 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
13002 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); }; }
13003 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; } }
13004 var AI_ATTACHMENT = 'ai-attachment';
13005 exports.AI_ATTACHMENT = AI_ATTACHMENT;
13006 var Module = /*#__PURE__*/function (_elementorModules$edi) {
13007 (0, _inherits2.default)(Module, _elementorModules$edi);
13008 var _super = _createSuper(Module);
13009 function Module() {
13010 var _this;
13011 (0, _classCallCheck2.default)(this, Module);
13012 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13013 args[_key] = arguments[_key];
13014 }
13015 _this = _super.call.apply(_super, [this].concat(args));
13016 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
13017 var _ElementorAiConfig, _ElementorAiConfig$us;
13018 var saveGroup = groups.find(function (group) {
13019 return 'save' === group.name;
13020 });
13021 if (!saveGroup) {
13022 return groups;
13023 }
13024 var contextMenu = {
13025 name: 'ai',
13026 icon: 'eicon-ai',
13027 isEnabled: function isEnabled() {
13028 return 0 !== currentElement.getContainer().children.length;
13029 },
13030 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
13031 callback: function () {
13032 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
13033 var container, json, attachments;
13034 return _regenerator.default.wrap(function _callee$(_context) {
13035 while (1) switch (_context.prev = _context.next) {
13036 case 0:
13037 container = currentElement.getContainer();
13038 json = container.model.toJSON({
13039 remove: ['default']
13040 });
13041 attachments = [{
13042 type: 'json',
13043 previewHTML: '',
13044 content: json,
13045 label: container.model.get('title'),
13046 source: _attachments.USER_VARIATION_SOURCE
13047 }];
13048 (0, _editorIntegration.renderLayoutApp)({
13049 parentContainer: container.parent,
13050 mode: _config.MODE_VARIATION,
13051 at: container.view._index,
13052 attachments: attachments,
13053 onSelect: function onSelect() {
13054 container.view.$el.hide();
13055 },
13056 onClose: function onClose() {
13057 container.view.$el.show();
13058 },
13059 onInsert: function onInsert(template) {
13060 (0, _editorIntegration.importToEditor)({
13061 parentContainer: container.parent,
13062 at: container.view._index,
13063 template: template,
13064 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
13065 replace: true
13066 });
13067 }
13068 });
13069 case 4:
13070 case "end":
13071 return _context.stop();
13072 }
13073 }, _callee);
13074 }));
13075 function callback() {
13076 return _callback.apply(this, arguments);
13077 }
13078 return callback;
13079 }()
13080 };
13081 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
13082 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>";
13083 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
13084 }
13085
13086 // Add on top of save group actions
13087 saveGroup.actions.unshift(contextMenu);
13088 return groups;
13089 });
13090 return _this;
13091 }
13092 (0, _createClass2.default)(Module, [{
13093 key: "onElementorInit",
13094 value: function onElementorInit() {
13095 var _this2 = this;
13096 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
13097 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
13098 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
13099 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
13100 $e.commands.register('library', 'generate-ai-variation', function (args) {
13101 return _this2.applyTemplate(args);
13102 });
13103 }
13104 }, {
13105 key: "applyTemplate",
13106 value: function applyTemplate(args) {
13107 window.postMessage({
13108 type: 'library/attach:start'
13109 });
13110 $e.components.get('library').downloadTemplate(args, function (data) {
13111 var model = args.model;
13112 window.postMessage({
13113 type: 'library/attach',
13114 json: data.content[0],
13115 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
13116 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
13117 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
13118 }, window.location.origin);
13119 });
13120 }
13121 }, {
13122 key: "registerLibraryActionButtonBehavior",
13123 value: function registerLibraryActionButtonBehavior(behaviors) {
13124 behaviors.applyAiTemplate = {
13125 behaviorClass: _applyTemplateForAiBehavior.default
13126 };
13127 return behaviors;
13128 }
13129 }, {
13130 key: "registerAiLayoutBehavior",
13131 value: function registerAiLayoutBehavior(behaviors) {
13132 behaviors.ai = {
13133 behaviorClass: _aiLayoutBehavior.default,
13134 context: {
13135 documentType: window.elementor.documents.getCurrent().config.type
13136 }
13137 };
13138 return behaviors;
13139 }
13140 }, {
13141 key: "filterLibraryActionButtonTemplate",
13142 value: function filterLibraryActionButtonTemplate(viewId) {
13143 var modalConfig = $e.components.get('library').manager.modalConfig;
13144 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
13145 if (originalCoreViewId !== viewId) {
13146 return viewId;
13147 }
13148 if ($e.routes.current.library !== 'library/templates/blocks') {
13149 return viewId;
13150 }
13151 if (AI_ATTACHMENT === modalConfig.mode) {
13152 viewId = '#tmpl-elementor-template-library-apply-ai-button';
13153 } else {
13154 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
13155 }
13156 return viewId;
13157 }
13158 }]);
13159 return Module;
13160 }(elementorModules.editor.utils.Module);
13161 exports["default"] = Module;
13162 new Module();
13163 })();
13164
13165 /******/ })()
13166 ;
13167 //# sourceMappingURL=ai-layout.js.map