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

13,144 lines 585.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.23.0 - 10-07-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!********************************************************************************!*\
7 !*** ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \********************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 "use strict";
12 __webpack_require__.r(__webpack_exports__);
13 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14 /* harmony export */ "default": () => (/* binding */ isPropValid)
15 /* harmony export */ });
16 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
17
18
19 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
20
21 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
22 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
23 /* o */
24 && prop.charCodeAt(1) === 110
25 /* n */
26 && prop.charCodeAt(2) < 91;
27 }
28 /* Z+1 */
29 );
30
31
32
33
34 /***/ }),
35
36 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
37 /*!********************************************************************!*\
38 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
39 \********************************************************************/
40 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
42 "use strict";
43 __webpack_require__.r(__webpack_exports__);
44 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45 /* harmony export */ "default": () => (/* binding */ memoize)
46 /* harmony export */ });
47 function memoize(fn) {
48 var cache = Object.create(null);
49 return function (arg) {
50 if (cache[arg] === undefined) cache[arg] = fn(arg);
51 return cache[arg];
52 };
53 }
54
55
56
57
58 /***/ }),
59
60 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
61 /*!******************************************************************!*\
62 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
63 \******************************************************************/
64 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65
66 "use strict";
67 __webpack_require__.r(__webpack_exports__);
68 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
70 /* harmony export */ });
71 function stylis_min (W) {
72 function M(d, c, e, h, a) {
73 for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
74 g = e.charCodeAt(l);
75 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
76
77 if (0 === b + n + v + m) {
78 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
79 switch (g) {
80 case 32:
81 case 9:
82 case 59:
83 case 13:
84 case 10:
85 break;
86
87 default:
88 f += e.charAt(l);
89 }
90
91 g = 59;
92 }
93
94 switch (g) {
95 case 123:
96 f = f.trim();
97 q = f.charCodeAt(0);
98 k = 1;
99
100 for (t = ++l; l < B;) {
101 switch (g = e.charCodeAt(l)) {
102 case 123:
103 k++;
104 break;
105
106 case 125:
107 k--;
108 break;
109
110 case 47:
111 switch (g = e.charCodeAt(l + 1)) {
112 case 42:
113 case 47:
114 a: {
115 for (u = l + 1; u < J; ++u) {
116 switch (e.charCodeAt(u)) {
117 case 47:
118 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
119 l = u + 1;
120 break a;
121 }
122
123 break;
124
125 case 10:
126 if (47 === g) {
127 l = u + 1;
128 break a;
129 }
130
131 }
132 }
133
134 l = u;
135 }
136
137 }
138
139 break;
140
141 case 91:
142 g++;
143
144 case 40:
145 g++;
146
147 case 34:
148 case 39:
149 for (; l++ < J && e.charCodeAt(l) !== g;) {
150 }
151
152 }
153
154 if (0 === k) break;
155 l++;
156 }
157
158 k = e.substring(t, l);
159 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
160
161 switch (q) {
162 case 64:
163 0 < r && (f = f.replace(N, ''));
164 g = f.charCodeAt(1);
165
166 switch (g) {
167 case 100:
168 case 109:
169 case 115:
170 case 45:
171 r = c;
172 break;
173
174 default:
175 r = O;
176 }
177
178 k = M(c, r, k, g, a + 1);
179 t = k.length;
180 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
181 if (0 < t) switch (g) {
182 case 115:
183 f = f.replace(da, ea);
184
185 case 100:
186 case 109:
187 case 45:
188 k = f + '{' + k + '}';
189 break;
190
191 case 107:
192 f = f.replace(fa, '$1 $2');
193 k = f + '{' + k + '}';
194 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
195 break;
196
197 default:
198 k = f + k, 112 === h && (k = (p += k, ''));
199 } else k = '';
200 break;
201
202 default:
203 k = M(c, X(c, f, I), k, h, a + 1);
204 }
205
206 F += k;
207 k = I = r = u = q = 0;
208 f = '';
209 g = e.charCodeAt(++l);
210 break;
211
212 case 125:
213 case 59:
214 f = (0 < r ? f.replace(N, '') : f).trim();
215 if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
216 case 0:
217 break;
218
219 case 64:
220 if (105 === g || 99 === g) {
221 G += f + e.charAt(l);
222 break;
223 }
224
225 default:
226 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
227 }
228 I = r = u = q = 0;
229 f = '';
230 g = e.charCodeAt(++l);
231 }
232 }
233
234 switch (g) {
235 case 13:
236 case 10:
237 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
238 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
239 z = 1;
240 D++;
241 break;
242
243 case 59:
244 case 125:
245 if (0 === b + n + v + m) {
246 z++;
247 break;
248 }
249
250 default:
251 z++;
252 y = e.charAt(l);
253
254 switch (g) {
255 case 9:
256 case 32:
257 if (0 === n + m + b) switch (x) {
258 case 44:
259 case 58:
260 case 9:
261 case 32:
262 y = '';
263 break;
264
265 default:
266 32 !== g && (y = ' ');
267 }
268 break;
269
270 case 0:
271 y = '\\0';
272 break;
273
274 case 12:
275 y = '\\f';
276 break;
277
278 case 11:
279 y = '\\v';
280 break;
281
282 case 38:
283 0 === n + b + m && (r = I = 1, y = '\f' + y);
284 break;
285
286 case 108:
287 if (0 === n + b + m + E && 0 < u) switch (l - u) {
288 case 2:
289 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
290
291 case 8:
292 111 === K && (E = K);
293 }
294 break;
295
296 case 58:
297 0 === n + b + m && (u = l);
298 break;
299
300 case 44:
301 0 === b + v + n + m && (r = 1, y += '\r');
302 break;
303
304 case 34:
305 case 39:
306 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
307 break;
308
309 case 91:
310 0 === n + b + v && m++;
311 break;
312
313 case 93:
314 0 === n + b + v && m--;
315 break;
316
317 case 41:
318 0 === n + b + m && v--;
319 break;
320
321 case 40:
322 if (0 === n + b + m) {
323 if (0 === q) switch (2 * x + 3 * K) {
324 case 533:
325 break;
326
327 default:
328 q = 1;
329 }
330 v++;
331 }
332
333 break;
334
335 case 64:
336 0 === b + v + n + m + u + k && (k = 1);
337 break;
338
339 case 42:
340 case 47:
341 if (!(0 < n + m + v)) switch (b) {
342 case 0:
343 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
344 case 235:
345 b = 47;
346 break;
347
348 case 220:
349 t = l, b = 42;
350 }
351
352 break;
353
354 case 42:
355 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
356 }
357 }
358
359 0 === b && (f += y);
360 }
361
362 K = x;
363 x = g;
364 l++;
365 }
366
367 t = p.length;
368
369 if (0 < t) {
370 r = c;
371 if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
372 p = r.join(',') + '{' + p + '}';
373
374 if (0 !== w * E) {
375 2 !== w || L(p, 2) || (E = 0);
376
377 switch (E) {
378 case 111:
379 p = p.replace(ha, ':-moz-$1') + p;
380 break;
381
382 case 112:
383 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
384 }
385
386 E = 0;
387 }
388 }
389
390 return G + p + F;
391 }
392
393 function X(d, c, e) {
394 var h = c.trim().split(ia);
395 c = h;
396 var a = h.length,
397 m = d.length;
398
399 switch (m) {
400 case 0:
401 case 1:
402 var b = 0;
403
404 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
405 c[b] = Z(d, c[b], e).trim();
406 }
407
408 break;
409
410 default:
411 var v = b = 0;
412
413 for (c = []; b < a; ++b) {
414 for (var n = 0; n < m; ++n) {
415 c[v++] = Z(d[n] + ' ', h[b], e).trim();
416 }
417 }
418
419 }
420
421 return c;
422 }
423
424 function Z(d, c, e) {
425 var h = c.charCodeAt(0);
426 33 > h && (h = (c = c.trim()).charCodeAt(0));
427
428 switch (h) {
429 case 38:
430 return c.replace(F, '$1' + d.trim());
431
432 case 58:
433 return d.trim() + c.replace(F, '$1' + d.trim());
434
435 default:
436 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
437 }
438
439 return d + c;
440 }
441
442 function P(d, c, e, h) {
443 var a = d + ';',
444 m = 2 * c + 3 * e + 4 * h;
445
446 if (944 === m) {
447 d = a.indexOf(':', 9) + 1;
448 var b = a.substring(d, a.length - 1).trim();
449 b = a.substring(0, d).trim() + b + ';';
450 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
451 }
452
453 if (0 === w || 2 === w && !L(a, 1)) return a;
454
455 switch (m) {
456 case 1015:
457 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
458
459 case 951:
460 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
461
462 case 963:
463 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
464
465 case 1009:
466 if (100 !== a.charCodeAt(4)) break;
467
468 case 969:
469 case 942:
470 return '-webkit-' + a + a;
471
472 case 978:
473 return '-webkit-' + a + '-moz-' + a + a;
474
475 case 1019:
476 case 983:
477 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
478
479 case 883:
480 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
481 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
482 break;
483
484 case 932:
485 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
486 case 103:
487 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
488
489 case 115:
490 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
491
492 case 98:
493 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
494 }
495 return '-webkit-' + a + '-ms-' + a + a;
496
497 case 964:
498 return '-webkit-' + a + '-ms-flex-' + a + a;
499
500 case 1023:
501 if (99 !== a.charCodeAt(8)) break;
502 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
503 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
504
505 case 1005:
506 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
507
508 case 1e3:
509 b = a.substring(13).trim();
510 c = b.indexOf('-') + 1;
511
512 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
513 case 226:
514 b = a.replace(G, 'tb');
515 break;
516
517 case 232:
518 b = a.replace(G, 'tb-rl');
519 break;
520
521 case 220:
522 b = a.replace(G, 'lr');
523 break;
524
525 default:
526 return a;
527 }
528
529 return '-webkit-' + a + '-ms-' + b + a;
530
531 case 1017:
532 if (-1 === a.indexOf('sticky', 9)) break;
533
534 case 975:
535 c = (a = d).length - 10;
536 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
537
538 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
539 case 203:
540 if (111 > b.charCodeAt(8)) break;
541
542 case 115:
543 a = a.replace(b, '-webkit-' + b) + ';' + a;
544 break;
545
546 case 207:
547 case 102:
548 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
549 }
550
551 return a + ';';
552
553 case 938:
554 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
555 case 105:
556 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
557
558 case 115:
559 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
560
561 default:
562 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
563 }
564 break;
565
566 case 973:
567 case 989:
568 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
569
570 case 931:
571 case 953:
572 if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
573 break;
574
575 case 962:
576 if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
577 }
578
579 return a;
580 }
581
582 function L(d, c) {
583 var e = d.indexOf(1 === c ? ':' : '{'),
584 h = d.substring(0, 3 !== c ? e : 10);
585 e = d.substring(e + 1, d.length - 1);
586 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
587 }
588
589 function ea(d, c) {
590 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
591 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
592 }
593
594 function H(d, c, e, h, a, m, b, v, n, q) {
595 for (var g = 0, x = c, w; g < A; ++g) {
596 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
597 case void 0:
598 case !1:
599 case !0:
600 case null:
601 break;
602
603 default:
604 x = w;
605 }
606 }
607
608 if (x !== c) return x;
609 }
610
611 function T(d) {
612 switch (d) {
613 case void 0:
614 case null:
615 A = S.length = 0;
616 break;
617
618 default:
619 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
620 T(d[c]);
621 } else Y = !!d | 0;
622 }
623
624 return T;
625 }
626
627 function U(d) {
628 d = d.prefix;
629 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
630 return U;
631 }
632
633 function B(d, c) {
634 var e = d;
635 33 > e.charCodeAt(0) && (e = e.trim());
636 V = e;
637 e = [V];
638
639 if (0 < A) {
640 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
641 void 0 !== h && 'string' === typeof h && (c = h);
642 }
643
644 var a = M(O, e, c, 0, 0);
645 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
646 V = '';
647 E = 0;
648 z = D = 1;
649 return a;
650 }
651
652 var ca = /^\0+/g,
653 N = /[\0\r\f]/g,
654 aa = /: */g,
655 ka = /zoo|gra/,
656 ma = /([,: ])(transform)/g,
657 ia = /,\r+?/g,
658 F = /([\t\r\n ])*\f?&/g,
659 fa = /@(k\w+)\s*(\S*)\s*/,
660 Q = /::(place)/g,
661 ha = /:(read-only)/g,
662 G = /[svh]\w+-[tblr]{2}/,
663 da = /\(\s*(.*)\s*\)/g,
664 oa = /([\s\S]*?);/g,
665 ba = /-self|flex-/g,
666 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
667 la = /stretch|:\s*\w+\-(?:conte|avail)/,
668 ja = /([^-])(image-set\()/,
669 z = 1,
670 D = 1,
671 E = 0,
672 w = 1,
673 O = [],
674 S = [],
675 A = 0,
676 R = null,
677 Y = 0,
678 V = '';
679 B.use = T;
680 B.set = U;
681 void 0 !== W && U(W);
682 return B;
683 }
684
685 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
686
687
688 /***/ }),
689
690 /***/ "../assets/dev/js/utils/react.js":
691 /*!***************************************!*\
692 !*** ../assets/dev/js/utils/react.js ***!
693 \***************************************/
694 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
695
696 "use strict";
697
698
699 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
700 Object.defineProperty(exports, "__esModule", ({
701 value: true
702 }));
703 exports["default"] = void 0;
704 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
705 var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom"));
706 var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js");
707 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
708 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
709 /**
710 * Support conditional rendering of a React App to the DOM, based on the React version.
711 * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions.
712 *
713 * @param { React.ReactElement } app The app to render.
714 * @param { HTMLElement } domElement The DOM element to render the app into.
715 *
716 * @return {{ unmount: () => void }} The unmount function.
717 */
718 function render(app, domElement) {
719 var unmountFunction;
720 try {
721 var root = (0, _client.createRoot)(domElement);
722 root.render(app);
723 unmountFunction = function unmountFunction() {
724 root.unmount();
725 };
726 } catch (e) {
727 // eslint-disable-next-line react/no-deprecated
728 ReactDOM.render(app, domElement);
729 unmountFunction = function unmountFunction() {
730 // eslint-disable-next-line react/no-deprecated
731 ReactDOM.unmountComponentAtNode(domElement);
732 };
733 }
734 return {
735 unmount: unmountFunction
736 };
737 }
738 var _default = {
739 render: render
740 };
741 exports["default"] = _default;
742
743 /***/ }),
744
745 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
746 /*!************************************************************!*\
747 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
748 \************************************************************/
749 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
750
751 "use strict";
752
753
754 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
755 Object.defineProperty(exports, "__esModule", ({
756 value: true
757 }));
758 exports["default"] = void 0;
759 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
760 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
761 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
762 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
763 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
764 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
765 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
766 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
767 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
768 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
769 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
770 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
771 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
772 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
773 var _super = _createSuper(AiLayoutBehavior);
774 function AiLayoutBehavior() {
775 var _this;
776 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
777 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
778 args[_key] = arguments[_key];
779 }
780 _this = _super.call.apply(_super, [this].concat(args));
781 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
782 return _this;
783 }
784 (0, _createClass2.default)(AiLayoutBehavior, [{
785 key: "ui",
786 value: function ui() {
787 return {
788 aiButton: '.e-ai-layout-button',
789 addTemplateButton: '.elementor-add-template-button'
790 };
791 }
792 }, {
793 key: "events",
794 value: function events() {
795 return {
796 'click @ui.aiButton': 'onAiButtonClick'
797 };
798 }
799 }, {
800 key: "onAiButtonClick",
801 value: function onAiButtonClick(e) {
802 e.stopPropagation();
803 window.elementorAiCurrentContext = this.getOption('context');
804 (0, _editorIntegration.renderLayoutApp)({
805 parentContainer: elementor.getPreviewContainer(),
806 mode: _config.MODE_LAYOUT,
807 at: this.view.getOption('at'),
808 onInsert: this.onInsert.bind(this),
809 onRenderApp: function onRenderApp(args) {
810 args.previewContainer.init();
811 },
812 onGenerate: function onGenerate(args) {
813 args.previewContainer.reset();
814 }
815 });
816 }
817 }, {
818 key: "hideDropArea",
819 value: function hideDropArea() {
820 this.view.onCloseButtonClick();
821 }
822 }, {
823 key: "onInsert",
824 value: function onInsert(template) {
825 this.hideDropArea();
826 (0, _editorIntegration.importToEditor)({
827 parentContainer: elementor.getPreviewContainer(),
828 at: this.view.getOption('at'),
829 template: template,
830 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
831 });
832 }
833 }, {
834 key: "onRender",
835 value: function onRender() {
836 var $button = jQuery('<div>', {
837 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
838 title: (0, _i18n.__)('Build with AI', 'elementor'),
839 role: 'button'
840 });
841 $button.html("\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<i class=\"eicon-ai\"></i>\n\t\t");
842 this.ui.addTemplateButton.after($button);
843 }
844 }]);
845 return AiLayoutBehavior;
846 }(Marionette.Behavior);
847 exports["default"] = AiLayoutBehavior;
848
849 /***/ }),
850
851 /***/ "../modules/ai/assets/js/editor/api/index.js":
852 /*!***************************************************!*\
853 !*** ../modules/ai/assets/js/editor/api/index.js ***!
854 \***************************************************/
855 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
856
857 "use strict";
858
859
860 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
861 Object.defineProperty(exports, "__esModule", ({
862 value: true
863 }));
864 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getFeaturedImage = exports.getExcerpt = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
865 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
866 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
867 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
868 var request = function request(endpoint) {
869 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
870 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
871 var signal = arguments.length > 3 ? arguments[3] : undefined;
872 if (Object.keys(data).length) {
873 data.context = window.elementorAiCurrentContext;
874 }
875 data.editor_session_id = window.EDITOR_SESSION_ID;
876 return new Promise(function (resolve, reject) {
877 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
878 success: resolve,
879 error: reject,
880 data: data
881 }, immediately);
882 if (signal && ajaxData.jqXhr) {
883 signal.addEventListener('abort', ajaxData.jqXhr.abort);
884 }
885 });
886 };
887 var getUserInformation = function getUserInformation(immediately) {
888 return request('ai_get_user_information', undefined, immediately);
889 };
890 exports.getUserInformation = getUserInformation;
891 var getRemoteConfig = function getRemoteConfig() {
892 return request('ai_get_remote_config');
893 };
894 exports.getRemoteConfig = getRemoteConfig;
895 var getCompletionText = function getCompletionText(payload) {
896 return request('ai_get_completion_text', {
897 payload: payload
898 });
899 };
900 exports.getCompletionText = getCompletionText;
901 var getExcerpt = function getExcerpt(payload) {
902 return request('ai_get_excerpt', {
903 payload: payload
904 });
905 };
906 exports.getExcerpt = getExcerpt;
907 var getFeaturedImage = function getFeaturedImage(payload) {
908 return request('ai_get_featured_image', {
909 payload: payload
910 });
911 };
912 exports.getFeaturedImage = getFeaturedImage;
913 var getEditText = function getEditText(payload) {
914 return request('ai_get_edit_text', {
915 payload: payload
916 });
917 };
918 exports.getEditText = getEditText;
919 var getCustomCode = function getCustomCode(payload) {
920 return request('ai_get_custom_code', {
921 payload: payload
922 });
923 };
924 exports.getCustomCode = getCustomCode;
925 var getCustomCSS = function getCustomCSS(payload) {
926 return request('ai_get_custom_css', {
927 payload: payload
928 });
929 };
930 exports.getCustomCSS = getCustomCSS;
931 var setGetStarted = function setGetStarted() {
932 return request('ai_set_get_started');
933 };
934 exports.setGetStarted = setGetStarted;
935 var setStatusFeedback = function setStatusFeedback(responseId) {
936 return request('ai_set_status_feedback', {
937 response_id: responseId
938 });
939 };
940 exports.setStatusFeedback = setStatusFeedback;
941 var getTextToImageGeneration = function getTextToImageGeneration(payload) {
942 return request('ai_get_text_to_image', {
943 payload: payload
944 });
945 };
946 exports.getTextToImageGeneration = getTextToImageGeneration;
947 var getImageToImageGeneration = function getImageToImageGeneration(payload) {
948 return request('ai_get_image_to_image', {
949 payload: payload
950 });
951 };
952 exports.getImageToImageGeneration = getImageToImageGeneration;
953 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(payload) {
954 return request('ai_get_image_to_image_mask', {
955 payload: payload
956 });
957 };
958 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
959 var getImageToImageOutPainting = function getImageToImageOutPainting(payload) {
960 return request('ai_get_image_to_image_outpainting', {
961 payload: payload
962 });
963 };
964 exports.getImageToImageOutPainting = getImageToImageOutPainting;
965 var getImageToImageUpscale = function getImageToImageUpscale(payload) {
966 return request('ai_get_image_to_image_upscale', {
967 payload: payload
968 });
969 };
970 exports.getImageToImageUpscale = getImageToImageUpscale;
971 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(payload) {
972 return request('ai_get_image_to_image_remove_background', {
973 payload: payload
974 });
975 };
976 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
977 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(payload) {
978 return request('ai_get_image_to_image_replace_background', {
979 payload: payload
980 });
981 };
982 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
983 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
984 return request('ai_get_image_to_image_remove_text', {
985 image: image
986 });
987 };
988 exports.getImageToImageRemoveText = getImageToImageRemoveText;
989 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
990 return request('ai_get_image_prompt_enhancer', {
991 prompt: prompt
992 });
993 };
994 exports.getImagePromptEnhanced = getImagePromptEnhanced;
995 var uploadImage = function uploadImage(image) {
996 return request('ai_upload_image', _objectSpread({}, image));
997 };
998
999 /**
1000 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
1001 * @typedef {Object} requestBody
1002 * @property {string} prompt - Prompt to generate the layout from.
1003 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
1004 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
1005 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
1006 */
1007
1008 /**
1009 * @param {requestBody} requestBody
1010 * @param {AbortSignal} [signal]
1011 */
1012 exports.uploadImage = uploadImage;
1013 var generateLayout = function generateLayout(requestBody, signal) {
1014 return request('ai_generate_layout', requestBody, true, signal);
1015 };
1016 exports.generateLayout = generateLayout;
1017 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
1018 return request('ai_get_layout_prompt_enhancer', {
1019 prompt: prompt,
1020 enhance_type: enhanceType
1021 });
1022 };
1023 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
1024 var getHistory = function getHistory(type, page, limit) {
1025 return request('ai_get_history', {
1026 type: type,
1027 page: page,
1028 limit: limit
1029 });
1030 };
1031 exports.getHistory = getHistory;
1032 var deleteHistoryItem = function deleteHistoryItem(id) {
1033 return request('ai_delete_history_item', {
1034 id: id
1035 });
1036 };
1037 exports.deleteHistoryItem = deleteHistoryItem;
1038 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
1039 return request('ai_toggle_favorite_history_item', {
1040 id: id
1041 });
1042 };
1043 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
1044
1045 /***/ }),
1046
1047 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
1048 /*!*****************************************************************!*\
1049 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
1050 \*****************************************************************/
1051 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1052
1053 "use strict";
1054
1055
1056 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1057 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1058 Object.defineProperty(exports, "__esModule", ({
1059 value: true
1060 }));
1061 exports.AlertDialog = void 0;
1062 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1063 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1064 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1065 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1066 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1067 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); }
1068 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; }
1069 var AlertDialog = function AlertDialog(props) {
1070 var _useState = (0, _react.useState)(true),
1071 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1072 isShown = _useState2[0],
1073 setIsShown = _useState2[1];
1074 if (!isShown) {
1075 return null;
1076 }
1077 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1078 open: true,
1079 maxWidth: "lg"
1080 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1081 sx: {
1082 padding: 0
1083 }
1084 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1085 sx: {
1086 textAlign: 'center',
1087 padding: 3
1088 }
1089 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1090 alignItems: "center",
1091 spacing: 2,
1092 marginBottom: 2
1093 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1094 variant: "contained",
1095 type: "button",
1096 color: "primary",
1097 onClick: function onClick() {
1098 var _props$onClose;
1099 setIsShown(false);
1100 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1101 }
1102 }, (0, _i18n.__)('Close', 'elementor')))));
1103 };
1104 exports.AlertDialog = AlertDialog;
1105 AlertDialog.propTypes = {
1106 message: _propTypes.default.string.isRequired,
1107 onClose: _propTypes.default.func
1108 };
1109
1110 /***/ }),
1111
1112 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1113 /*!******************************************************************!*\
1114 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1115 \******************************************************************/
1116 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1117
1118 "use strict";
1119
1120
1121 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1122 Object.defineProperty(exports, "__esModule", ({
1123 value: true
1124 }));
1125 exports["default"] = void 0;
1126 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1127 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1128 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1129 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1130 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1131 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1132 var ElementorLogo = function ElementorLogo(props) {
1133 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1134 viewBox: "0 0 32 32"
1135 }, props), /*#__PURE__*/_react.default.createElement("path", {
1136 fillRule: "evenodd",
1137 clipRule: "evenodd",
1138 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"
1139 }));
1140 };
1141 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1142 var theme = _ref.theme;
1143 return {
1144 width: theme.spacing(3),
1145 height: theme.spacing(3),
1146 '& path': {
1147 fill: theme.palette.text.primary
1148 }
1149 };
1150 });
1151 var DialogHeader = function DialogHeader(props) {
1152 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1153 sx: {
1154 fontWeight: 'normal'
1155 },
1156 color: "transparent",
1157 position: "relative"
1158 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1159 variant: "dense"
1160 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1161 sx: {
1162 mr: 1
1163 }
1164 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1165 component: "span",
1166 variant: "subtitle2",
1167 sx: {
1168 fontWeight: 'bold',
1169 textTransform: 'uppercase'
1170 }
1171 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1172 label: (0, _i18n.__)('Beta', 'elementor'),
1173 color: "default",
1174 size: "small",
1175 sx: {
1176 ml: 1
1177 }
1178 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1179 direction: "row",
1180 spacing: 1,
1181 alignItems: "center",
1182 sx: {
1183 ml: 'auto'
1184 }
1185 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1186 size: "small",
1187 "aria-label": "close",
1188 onClick: props.onClose,
1189 sx: {
1190 '&.MuiButtonBase-root': {
1191 mr: -1
1192 }
1193 }
1194 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1195 };
1196 DialogHeader.propTypes = {
1197 onClose: _propTypes.default.func.isRequired,
1198 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1199 };
1200 var _default = DialogHeader;
1201 exports["default"] = _default;
1202
1203 /***/ }),
1204
1205 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1206 /*!***********************************************************!*\
1207 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1208 \***********************************************************/
1209 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1210
1211 "use strict";
1212
1213
1214 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1215 Object.defineProperty(exports, "__esModule", ({
1216 value: true
1217 }));
1218 exports["default"] = void 0;
1219 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1220 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1221 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1222 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1223 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1224 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1225 var _excluded = ["sx", "BoxProps"];
1226 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; }
1227 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; }
1228 var Loader = function Loader(_ref) {
1229 var _ref$sx = _ref.sx,
1230 sx = _ref$sx === void 0 ? {} : _ref$sx,
1231 _ref$BoxProps = _ref.BoxProps,
1232 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1233 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1234 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1235 width: "100%",
1236 display: "flex",
1237 alignItems: "center"
1238 }, BoxProps, {
1239 sx: _objectSpread({
1240 px: 1.5,
1241 minHeight: function minHeight(theme) {
1242 return theme.spacing(5);
1243 }
1244 }, BoxProps.sx || {})
1245 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1246 color: "secondary"
1247 }, props, {
1248 sx: _objectSpread({
1249 width: '100%'
1250 }, sx)
1251 })));
1252 };
1253 Loader.propTypes = {
1254 sx: _propTypes.default.object,
1255 BoxProps: _propTypes.default.object
1256 };
1257 var _default = Loader;
1258 exports["default"] = _default;
1259
1260 /***/ }),
1261
1262 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1263 /*!******************************************************************!*\
1264 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1265 \******************************************************************/
1266 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1267
1268 "use strict";
1269
1270
1271 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1272 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1273 Object.defineProperty(exports, "__esModule", ({
1274 value: true
1275 }));
1276 exports["default"] = void 0;
1277 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1278 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1279 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1280 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1281 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1282 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1283 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1284 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1285 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); }
1286 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; }
1287 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; }
1288 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; }
1289 var DraggablePaper = function DraggablePaper(props) {
1290 var _useState = (0, _react.useState)({
1291 x: 0,
1292 y: 0
1293 }),
1294 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1295 position = _useState2[0],
1296 setPosition = _useState2[1];
1297 var paperRef = (0, _react.useRef)(null);
1298 var timeout = (0, _react.useRef)(null);
1299 var onDrag = function onDrag(_e, _ref) {
1300 var x = _ref.x,
1301 y = _ref.y;
1302 return setPosition({
1303 x: x,
1304 y: y
1305 });
1306 };
1307 var handlePositionBoundaries = function handlePositionBoundaries() {
1308 clearTimeout(timeout.current);
1309
1310 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1311 timeout.current = setTimeout(function () {
1312 var _paperRef$current;
1313 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1314 if (dialogTop < 0) {
1315 setPosition(function (prev) {
1316 return _objectSpread(_objectSpread({}, prev), {}, {
1317 y: prev.y - dialogTop
1318 });
1319 });
1320 }
1321 }, 50);
1322 };
1323 (0, _react.useEffect)(function () {
1324 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1325 resizeObserver.observe(paperRef.current);
1326 return function () {
1327 resizeObserver.disconnect();
1328 };
1329 }, []);
1330 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1331 position: position,
1332 onDrag: onDrag,
1333 handle: ".MuiAppBar-root",
1334 cancel: '[class*="MuiDialogContent-root"]',
1335 bounds: "parent"
1336 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1337 ref: paperRef
1338 })));
1339 };
1340 var PromptDialog = function PromptDialog(props) {
1341 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1342 scroll: "paper",
1343 open: true,
1344 fullWidth: true,
1345 hideBackdrop: true,
1346 PaperComponent: DraggablePaper,
1347 disableScrollLock: true,
1348 sx: {
1349 '& .MuiDialog-container': {
1350 alignItems: 'flex-start',
1351 mt: '18vh'
1352 }
1353 },
1354 PaperProps: {
1355 sx: {
1356 m: 0,
1357 maxHeight: '76vh'
1358 }
1359 }
1360 }, props), props.children);
1361 };
1362 PromptDialog.propTypes = {
1363 onClose: _propTypes.default.func.isRequired,
1364 children: _propTypes.default.node,
1365 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1366 };
1367 PromptDialog.Header = _dialogHeader.default;
1368 PromptDialog.Content = _ui.DialogContent;
1369 var _default = PromptDialog;
1370 exports["default"] = _default;
1371
1372 /***/ }),
1373
1374 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1375 /*!*************************************************************************!*\
1376 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1377 \*************************************************************************/
1378 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1379
1380 "use strict";
1381 /* provided dependency */ var sprintf = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["sprintf"];
1382
1383
1384 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1385 Object.defineProperty(exports, "__esModule", ({
1386 value: true
1387 }));
1388 exports["default"] = void 0;
1389 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1390 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1391 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1392 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1393 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1394 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1395 var _excluded = ["error", "onRetry", "actionPosition"];
1396 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1397 var error = _ref.error,
1398 _ref$onRetry = _ref.onRetry,
1399 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1400 _ref$actionPosition = _ref.actionPosition,
1401 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1402 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1403 function getQuotaReachedTrailMessage(featureName) {
1404 if (!featureName) {
1405 return {
1406 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1407 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1408 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1409 buttonAction: function buttonAction() {
1410 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1411 }
1412 };
1413 }
1414 return {
1415 // Translators: %s is the feature name.
1416 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, sprintf((0, _i18n.__)('You\'ve used all AI credits for %s.', 'elementor'), featureName.toLowerCase())),
1417 description: (0, _i18n.__)('Upgrade now to keep using this feature. You still have credits for other AI features (Text, Code, Images, Containers, etc.)', 'elementor'),
1418 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1419 buttonAction: function buttonAction() {
1420 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1421 }
1422 };
1423 }
1424 function getErrorMessage() {
1425 var _error$extra_data;
1426 var errMsg = error.message || error;
1427 var featureName = (_error$extra_data = error.extra_data) === null || _error$extra_data === void 0 ? void 0 : _error$extra_data.featureName;
1428 var messages = {
1429 default: {
1430 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1431 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1432 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1433 buttonAction: onRetry
1434 },
1435 service_outage_internal: {
1436 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1437 description: (0, _i18n.__)('Wait a moment and give it another go.', 'elementor'),
1438 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1439 buttonAction: onRetry
1440 },
1441 invalid_connect_data: {
1442 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1443 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1444 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1445 target: "_blank",
1446 rel: "noreferrer"
1447 }, (0, _i18n.__)('Show me how', 'elementor'))),
1448 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1449 buttonAction: function buttonAction() {
1450 return window.open(window.ElementorAiConfig.connect_url);
1451 }
1452 },
1453 not_connected: {
1454 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1455 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1456 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1457 buttonAction: function buttonAction() {
1458 return window.open(window.ElementorAiConfig.connect_url);
1459 }
1460 },
1461 quota_reached_trail: getQuotaReachedTrailMessage(featureName),
1462 quota_reached_subscription: {
1463 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Looks like you\'re out of credits.', 'elementor')),
1464 description: (0, _i18n.__)('Ready to take it to the next level?', 'elementor'),
1465 buttonText: (0, _i18n.__)('Upgrade now', 'elementor'),
1466 buttonAction: function buttonAction() {
1467 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1468 }
1469 },
1470 rate_limit_network: {
1471 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1472 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1473 },
1474 invalid_prompts: {
1475 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1476 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1477 },
1478 service_unavailable: {
1479 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1480 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1481 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1482 buttonAction: onRetry
1483 },
1484 request_timeout_error: {
1485 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('There was a glitch.', 'elementor')),
1486 description: (0, _i18n.__)('Wait a moment and give it another go, or try tweaking the prompt.', 'elementor'),
1487 buttonText: (0, _i18n.__)('Try again', 'elementor'),
1488 buttonAction: onRetry
1489 },
1490 invalid_token: {
1491 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Try again', 'elementor')),
1492 description: (0, _i18n.__)('Try exiting Elementor and sign in again.', 'elementor'),
1493 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1494 buttonAction: onRetry
1495 },
1496 file_too_large: {
1497 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('The file is too large.', 'elementor')),
1498 description: (0, _i18n.__)('Please upload a file that is less than 4MB.', 'elementor')
1499 }
1500 };
1501 return messages[errMsg] || messages.default;
1502 }
1503 var message = getErrorMessage();
1504 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1505 color: "inherit",
1506 size: "small",
1507 variant: "outlined",
1508 onClick: message.buttonAction
1509 }, message.buttonText);
1510 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1511 severity: message.severity || 'error',
1512 action: 'default' === actionPosition && action
1513 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1514 sx: {
1515 mt: 1
1516 }
1517 }, action));
1518 };
1519 PromptErrorMessage.propTypes = {
1520 error: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]),
1521 onRetry: _propTypes.default.func,
1522 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1523 };
1524 var _default = PromptErrorMessage;
1525 exports["default"] = _default;
1526
1527 /***/ }),
1528
1529 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1530 /*!************************************************************************!*\
1531 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1532 \************************************************************************/
1533 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1534
1535 "use strict";
1536
1537
1538 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1539 Object.defineProperty(exports, "__esModule", ({
1540 value: true
1541 }));
1542 exports["default"] = void 0;
1543 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1544 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1545 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1546 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1547 var PromptLibraryLink = function PromptLibraryLink(props) {
1548 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1549 variant: "body2",
1550 color: "text.secondary"
1551 }, (0, _i18n.__)('For more suggestions, explore our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1552 href: props.libraryLink,
1553 className: "elementor-clickable",
1554 target: "_blank"
1555 }, (0, _i18n.__)('prompt library')));
1556 };
1557 PromptLibraryLink.propTypes = {
1558 libraryLink: _propTypes.default.string
1559 };
1560 var _default = PromptLibraryLink;
1561 exports["default"] = _default;
1562
1563 /***/ }),
1564
1565 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1566 /*!*****************************************************************!*\
1567 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1568 \*****************************************************************/
1569 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1570
1571 "use strict";
1572
1573
1574 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1575 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1576 Object.defineProperty(exports, "__esModule", ({
1577 value: true
1578 }));
1579 exports["default"] = void 0;
1580 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1581 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1582 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1583 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1584 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1585 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1586 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); }
1587 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; }
1588 var popoverId = 'e-ai-upgrade-popover';
1589 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1590 var theme = _ref.theme;
1591 return {
1592 position: 'relative',
1593 '[data-popper-placement="top"] &': {
1594 marginBottom: theme.spacing(2.5)
1595 },
1596 '[data-popper-placement="bottom"] &': {
1597 marginTop: theme.spacing(2.5)
1598 },
1599 padding: theme.spacing(3),
1600 boxShadow: theme.shadows[4],
1601 zIndex: '9999'
1602 };
1603 });
1604 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1605 var theme = _ref2.theme;
1606 return {
1607 width: theme.spacing(5),
1608 height: theme.spacing(2.5),
1609 position: 'absolute',
1610 overflow: 'hidden',
1611 // Override Popper inline styles.
1612 left: '50% !important',
1613 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1614 '[data-popper-placement="top"] &': {
1615 top: '100%'
1616 },
1617 '[data-popper-placement="bottom"] &': {
1618 '--rotate': '180deg',
1619 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1620 },
1621 '&::after': {
1622 backgroundColor: theme.palette.background.paper,
1623 content: '""',
1624 display: 'block',
1625 position: 'absolute',
1626 width: theme.spacing(2.5),
1627 height: theme.spacing(2.5),
1628 top: 0,
1629 left: '50%',
1630 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1631 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1632 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1633 }
1634 };
1635 });
1636 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')];
1637 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1638 return {
1639 '& .MuiChip-label': {
1640 lineHeight: 1.5
1641 },
1642 '& .MuiSvgIcon-root.MuiChip-icon': {
1643 fontSize: '1.25rem'
1644 }
1645 };
1646 });
1647 var UpgradeChip = function UpgradeChip(_ref3) {
1648 var _ref3$hasSubscription = _ref3.hasSubscription,
1649 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1650 _ref3$usagePercentage = _ref3.usagePercentage,
1651 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1652 var _useState = (0, _react.useState)(false),
1653 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1654 isPopoverOpen = _useState2[0],
1655 setIsPopoverOpen = _useState2[1];
1656 var anchorEl = (0, _react.useRef)(null);
1657 var arrowEl = (0, _react.useRef)(null);
1658 var showPopover = function showPopover() {
1659 return setIsPopoverOpen(true);
1660 };
1661 var hidePopover = function hidePopover() {
1662 return setIsPopoverOpen(false);
1663 };
1664 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1665 if (hasSubscription) {
1666 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1667 }
1668 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1669 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1670 component: "span",
1671 "aria-owns": isPopoverOpen ? popoverId : undefined,
1672 "aria-haspopup": "true",
1673 onMouseEnter: showPopover,
1674 onMouseLeave: hidePopover,
1675 ref: anchorEl,
1676 display: "flex",
1677 alignItems: "center"
1678 }, /*#__PURE__*/_react.default.createElement(Chip, {
1679 color: "promotion",
1680 label: (0, _i18n.__)('Upgrade', 'elementor'),
1681 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1682 size: "small"
1683 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1684 open: isPopoverOpen,
1685 anchorEl: anchorEl.current,
1686 sx: {
1687 zIndex: '9999',
1688 maxWidth: 300
1689 },
1690 modifiers: [{
1691 name: 'arrow',
1692 enabled: true,
1693 options: {
1694 element: arrowEl.current
1695 }
1696 }]
1697 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1698 ref: arrowEl
1699 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1700 variant: "h5",
1701 color: "text.primary"
1702 }, (0, _i18n.__)('Unlimited access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1703 sx: {
1704 mb: 1
1705 }
1706 }, upgradeBullets.map(function (bullet, index) {
1707 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1708 key: index,
1709 disableGutters: true,
1710 sx: {
1711 alignItems: 'flex-start'
1712 }
1713 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1714 sx: {
1715 m: 0
1716 }
1717 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1718 variant: "body2"
1719 }, bullet)));
1720 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1721 variant: "contained",
1722 color: "promotion",
1723 size: "small",
1724 href: actionUrl,
1725 target: "_blank",
1726 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1727 sx: {
1728 '&:hover': {
1729 color: 'promotion.contrastText'
1730 }
1731 }
1732 }, actionLabel))));
1733 };
1734 var _default = UpgradeChip;
1735 exports["default"] = _default;
1736 UpgradeChip.propTypes = {
1737 hasSubscription: _propTypes.default.bool,
1738 usagePercentage: _propTypes.default.number
1739 };
1740
1741 /***/ }),
1742
1743 /***/ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js":
1744 /*!**************************************************************************!*\
1745 !*** ../modules/ai/assets/js/editor/components/voice-promotion-alert.js ***!
1746 \**************************************************************************/
1747 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1748
1749 "use strict";
1750
1751
1752 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1753 Object.defineProperty(exports, "__esModule", ({
1754 value: true
1755 }));
1756 exports["default"] = exports.VoicePromotionAlert = void 0;
1757 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1758 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1759 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1760 var _bulbIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/bulb-icon */ "../modules/ai/assets/js/editor/icons/bulb-icon.js"));
1761 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
1762 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1763 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1764 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; }
1765 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; }
1766 var VoicePromotionAlert = function VoicePromotionAlert(props) {
1767 var _useIntroduction = (0, _useIntroduction2.default)(props.introductionKey),
1768 isViewed = _useIntroduction.isViewed,
1769 markAsViewed = _useIntroduction.markAsViewed;
1770 if (isViewed) {
1771 return null;
1772 }
1773 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1774 sx: _objectSpread({
1775 mt: 2
1776 }, props.sx),
1777 alignItems: "top"
1778 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
1779 severity: "info",
1780 variant: "standard",
1781 icon: /*#__PURE__*/_react.default.createElement(_bulbIcon.default, {
1782 sx: {
1783 alignSelf: 'flex-start'
1784 }
1785 }),
1786 onClose: markAsViewed
1787 }, (0, _i18n.__)('Get improved results from AI by adding personal context.', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
1788 onClick: function onClick() {
1789 return $e.route('panel/global/menu');
1790 },
1791 className: "elementor-clickable",
1792 style: {
1793 textDecoration: 'none'
1794 },
1795 color: "info.main",
1796 href: "#"
1797 }, (0, _i18n.__)('Let’s do it', 'elementor'))));
1798 };
1799 exports.VoicePromotionAlert = VoicePromotionAlert;
1800 VoicePromotionAlert.propTypes = {
1801 sx: _propTypes.default.object,
1802 introductionKey: _propTypes.default.string
1803 };
1804 var _default = VoicePromotionAlert;
1805 exports["default"] = _default;
1806
1807 /***/ }),
1808
1809 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1810 /*!******************************************************************!*\
1811 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1812 \******************************************************************/
1813 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1814
1815 "use strict";
1816
1817
1818 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1819 Object.defineProperty(exports, "__esModule", ({
1820 value: true
1821 }));
1822 exports["default"] = void 0;
1823 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1824 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1825 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1826 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1827 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1828 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1829 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1830 var _excluded = ["sx"];
1831 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; }
1832 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; }
1833 var WizardDialog = function WizardDialog(props) {
1834 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1835 open: true,
1836 onClose: props.onClose,
1837 fullWidth: true,
1838 hideBackdrop: true,
1839 maxWidth: "lg",
1840 PaperProps: {
1841 sx: {
1842 height: '88vh'
1843 }
1844 },
1845 sx: {
1846 zIndex: 9999
1847 }
1848 }, props.children);
1849 };
1850 WizardDialog.propTypes = {
1851 onClose: _propTypes.default.func.isRequired,
1852 children: _propTypes.default.node.isRequired
1853 };
1854 var WizardDialogContent = function WizardDialogContent(_ref) {
1855 var _ref$sx = _ref.sx,
1856 sx = _ref$sx === void 0 ? {} : _ref$sx,
1857 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1858 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1859 sx: _objectSpread({
1860 display: 'flex',
1861 flexDirection: 'column',
1862 justifyContent: 'center'
1863 }, sx)
1864 }));
1865 };
1866 WizardDialogContent.propTypes = {
1867 sx: _propTypes.default.object
1868 };
1869 WizardDialog.Header = _dialogHeader.default;
1870 WizardDialog.Content = WizardDialogContent;
1871 var _default = WizardDialog;
1872 exports["default"] = _default;
1873
1874 /***/ }),
1875
1876 /***/ "../modules/ai/assets/js/editor/context/requests-ids.js":
1877 /*!**************************************************************!*\
1878 !*** ../modules/ai/assets/js/editor/context/requests-ids.js ***!
1879 \**************************************************************/
1880 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1881
1882 "use strict";
1883
1884
1885 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1886 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1887 Object.defineProperty(exports, "__esModule", ({
1888 value: true
1889 }));
1890 exports["default"] = exports.RequestIdsProvider = void 0;
1891 exports.generateIds = generateIds;
1892 exports.useRequestIds = exports.getUniqueId = void 0;
1893 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1894 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1895 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1896 var _window$ElementorAiCo;
1897 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); }
1898 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; }
1899 var Context = (0, _react.createContext)({});
1900 var useRequestIds = function useRequestIds() {
1901 var context = (0, _react.useContext)(Context);
1902 if (!context) {
1903 throw new Error('useRequestIds must be used within a RequestIdsProvider');
1904 }
1905 return context;
1906 };
1907 exports.useRequestIds = useRequestIds;
1908 var getUniqueId = function getUniqueId(prefix) {
1909 return prefix + '-' + Math.random().toString(16).substr(2, 7);
1910 };
1911 exports.getUniqueId = getUniqueId;
1912 window.EDITOR_SESSION_ID = window.EDITOR_SESSION_ID || ((_window$ElementorAiCo = window.ElementorAiConfig) === null || _window$ElementorAiCo === void 0 ? void 0 : _window$ElementorAiCo.client_session_id) || getUniqueId('editor-session');
1913 function generateIds(template) {
1914 var _template$elements;
1915 template.id = getUniqueId().toString();
1916 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
1917 template.elements.map(function (child) {
1918 return generateIds(child);
1919 });
1920 }
1921 return template;
1922 }
1923 var RequestIdsProvider = function RequestIdsProvider(props) {
1924 var editorSessionId = (0, _react.useRef)(window.EDITOR_SESSION_ID);
1925 var sessionId = (0, _react.useRef)('');
1926 var generateId = (0, _react.useRef)('');
1927 var batchId = (0, _react.useRef)('');
1928 var requestId = (0, _react.useRef)('');
1929 sessionId.current = getUniqueId('session');
1930 var setGenerate = function setGenerate() {
1931 generateId.current = getUniqueId('generate');
1932 return generateId;
1933 };
1934 var setBatch = function setBatch() {
1935 batchId.current = getUniqueId('batch');
1936 return batchId;
1937 };
1938 var setRequest = function setRequest() {
1939 requestId.current = getUniqueId('request');
1940 return requestId;
1941 };
1942 var _useState = (0, _react.useState)(0),
1943 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1944 usagePercentage = _useState2[0],
1945 setUsagePercentage = _useState2[1];
1946 var updateUsagePercentage = function updateUsagePercentage(newPercentage) {
1947 setUsagePercentage(newPercentage);
1948 };
1949 return /*#__PURE__*/_react.default.createElement(Context.Provider, {
1950 value: {
1951 editorSessionId: editorSessionId,
1952 sessionId: sessionId,
1953 generateId: generateId,
1954 batchId: batchId,
1955 requestId: requestId,
1956 setGenerate: setGenerate,
1957 setBatch: setBatch,
1958 setRequest: setRequest,
1959 usagePercentage: usagePercentage,
1960 updateUsagePercentage: updateUsagePercentage
1961 }
1962 }, props.children);
1963 };
1964 exports.RequestIdsProvider = RequestIdsProvider;
1965 RequestIdsProvider.propTypes = {
1966 children: _propTypes.default.node.isRequired
1967 };
1968 var _default = Context;
1969 exports["default"] = _default;
1970
1971 /***/ }),
1972
1973 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1974 /*!****************************************************************!*\
1975 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1976 \****************************************************************/
1977 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1978
1979 "use strict";
1980
1981
1982 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1983 Object.defineProperty(exports, "__esModule", ({
1984 value: true
1985 }));
1986 exports["default"] = useIntroduction;
1987 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1988 var _react = __webpack_require__(/*! react */ "react");
1989 function useIntroduction(key) {
1990 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1991 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;
1992 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1993 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1994 isViewed = _useState2[0],
1995 setIsViewed = _useState2[1];
1996 function markAsViewed() {
1997 if (!key) {
1998 return Promise.reject();
1999 }
2000 return new Promise(function (resolve, reject) {
2001 if (isViewed) {
2002 reject();
2003 }
2004 setIsViewed(true);
2005 elementorCommon.ajax.addRequest('introduction_viewed', {
2006 data: {
2007 introductionKey: key
2008 },
2009 error: function error() {
2010 setIsViewed(false);
2011 reject();
2012 },
2013 success: function success() {
2014 setIsViewed(true);
2015 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
2016 globalConfig.introduction[key] = true;
2017 }
2018 resolve();
2019 }
2020 });
2021 });
2022 }
2023 return {
2024 isViewed: isViewed,
2025 markAsViewed: markAsViewed
2026 };
2027 }
2028
2029 /***/ }),
2030
2031 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
2032 /*!*******************************************************************!*\
2033 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
2034 \*******************************************************************/
2035 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2036
2037 "use strict";
2038
2039
2040 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2041 Object.defineProperty(exports, "__esModule", ({
2042 value: true
2043 }));
2044 exports["default"] = void 0;
2045 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2046 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
2047 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2048 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
2049 var getResult = function getResult(prompt, type, enhanceType) {
2050 if (!enhancePromptMap.has(type)) {
2051 throw new Error("Invalid prompt type: ".concat(type));
2052 }
2053 return enhancePromptMap.get(type)(prompt, enhanceType);
2054 };
2055
2056 /**
2057 * Hook to enhance a prompt.
2058 *
2059 * @param {string} prompt
2060 * @param {'media' | 'layout'} type
2061 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
2062 */
2063 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
2064 var _useConfig = (0, _config.useConfig)(),
2065 mode = _useConfig.mode;
2066 var _usePrompt = (0, _usePrompt2.default)(function () {
2067 return getResult(prompt, type, mode);
2068 }, prompt),
2069 enhancedData = _usePrompt.data,
2070 isEnhancing = _usePrompt.isLoading,
2071 enhance = _usePrompt.send;
2072 return {
2073 enhance: enhance,
2074 isEnhancing: isEnhancing,
2075 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
2076 };
2077 };
2078 var _default = usePromptEnhancer;
2079 exports["default"] = _default;
2080
2081 /***/ }),
2082
2083 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
2084 /*!**********************************************************!*\
2085 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
2086 \**********************************************************/
2087 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2088
2089 "use strict";
2090
2091
2092 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2093 Object.defineProperty(exports, "__esModule", ({
2094 value: true
2095 }));
2096 exports["default"] = void 0;
2097 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2098 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2099 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2100 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2101 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2102 var _react = __webpack_require__(/*! react */ "react");
2103 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2104 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2105 var _excluded = ["text", "response_id", "usage", "images"];
2106 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; }
2107 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; }
2108 var normalizeResponse = function normalizeResponse(_ref) {
2109 var text = _ref.text,
2110 responseId = _ref.response_id,
2111 usage = _ref.usage,
2112 images = _ref.images,
2113 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
2114 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
2115 var credits = Math.max(creditsData, 0);
2116 var result = text || images;
2117 var normalized = {
2118 result: result,
2119 responseId: responseId,
2120 credits: credits,
2121 usagePercentage: usage === null || usage === void 0 ? void 0 : usage.usagePercentage
2122 };
2123 if (optional.base_template_id) {
2124 normalized.baseTemplateId = optional.base_template_id;
2125 }
2126 normalized.type = optional.template_type;
2127 return normalized;
2128 };
2129 var usePrompt = function usePrompt(fetchData, initialState) {
2130 var _useState = (0, _react.useState)(false),
2131 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2132 isLoading = _useState2[0],
2133 setIsLoading = _useState2[1];
2134 var _useState3 = (0, _react.useState)(''),
2135 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2136 error = _useState4[0],
2137 setError = _useState4[1];
2138 var _useState5 = (0, _react.useState)(initialState),
2139 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2140 data = _useState6[0],
2141 setData = _useState6[1];
2142 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
2143 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
2144 usagePercentage = _useRequestIds.usagePercentage;
2145 (0, _react.useEffect)(function () {
2146 var newUsageValue = data === null || data === void 0 ? void 0 : data.usagePercentage;
2147 if (newUsageValue && newUsageValue !== usagePercentage) {
2148 updateUsagePercentage(newUsageValue);
2149 }
2150 }, [data, usagePercentage, updateUsagePercentage]);
2151 var _useRequestIds2 = (0, _requestsIds.useRequestIds)(),
2152 setRequest = _useRequestIds2.setRequest,
2153 editorSessionId = _useRequestIds2.editorSessionId,
2154 sessionId = _useRequestIds2.sessionId,
2155 generateId = _useRequestIds2.generateId,
2156 batchId = _useRequestIds2.batchId;
2157 var send = /*#__PURE__*/function () {
2158 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(payload) {
2159 return _regenerator.default.wrap(function _callee$(_context) {
2160 while (1) switch (_context.prev = _context.next) {
2161 case 0:
2162 return _context.abrupt("return", new Promise(function (resolve, reject) {
2163 setError('');
2164 setIsLoading(true);
2165 var requestId = setRequest();
2166 var requestIds = {
2167 editorSessionId: editorSessionId.current,
2168 sessionId: sessionId.current,
2169 generateId: generateId.current,
2170 batchId: batchId.current,
2171 requestId: requestId.current
2172 };
2173 payload = _objectSpread(_objectSpread({}, payload), {}, {
2174 requestIds: requestIds
2175 });
2176 fetchData(payload).then(function (result) {
2177 var normalizedData = normalizeResponse(result);
2178 setData(normalizedData);
2179 resolve(normalizedData);
2180 }).catch(function (err) {
2181 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
2182 setError(finalError);
2183 reject(finalError);
2184 }).finally(function () {
2185 return setIsLoading(false);
2186 });
2187 }));
2188 case 1:
2189 case "end":
2190 return _context.stop();
2191 }
2192 }, _callee);
2193 }));
2194 return function send(_x) {
2195 return _ref2.apply(this, arguments);
2196 };
2197 }();
2198 var sendUsageData = function sendUsageData() {
2199 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
2200 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
2201 };
2202 var reset = function reset() {
2203 setData(function (_ref3) {
2204 var credits = _ref3.credits;
2205 return {
2206 credits: credits,
2207 result: '',
2208 responseId: ''
2209 };
2210 });
2211 setError('');
2212 setIsLoading(false);
2213 };
2214 var setResult = function setResult(result) {
2215 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
2216 var updatedResult = _objectSpread({}, data);
2217 updatedResult.result = result;
2218 if (responseId) {
2219 updatedResult.responseId = responseId;
2220 }
2221 setData(updatedResult);
2222 };
2223 return {
2224 isLoading: isLoading,
2225 error: error,
2226 data: data,
2227 setResult: setResult,
2228 reset: reset,
2229 send: send,
2230 sendUsageData: sendUsageData
2231 };
2232 };
2233 var _default = usePrompt;
2234 exports["default"] = _default;
2235
2236 /***/ }),
2237
2238 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
2239 /*!***********************************************************!*\
2240 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
2241 \***********************************************************/
2242 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2243
2244 "use strict";
2245
2246
2247 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2248 Object.defineProperty(exports, "__esModule", ({
2249 value: true
2250 }));
2251 exports.useTimeout = void 0;
2252 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2253 var _react = __webpack_require__(/*! react */ "react");
2254 var useTimeout = function useTimeout(delay) {
2255 var _useState = (0, _react.useState)(false),
2256 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2257 isTimeout = _useState2[0],
2258 setIsTimeout = _useState2[1];
2259 var timeoutIdRef = (0, _react.useRef)(null);
2260 var turnOffTimeout = function turnOffTimeout() {
2261 clearTimeout(timeoutIdRef.current);
2262 setIsTimeout(false);
2263 };
2264 (0, _react.useEffect)(function () {
2265 timeoutIdRef.current = setTimeout(function () {
2266 setIsTimeout(true);
2267 }, delay);
2268 return function () {
2269 clearTimeout(timeoutIdRef.current);
2270 };
2271 }, [delay]);
2272 return [isTimeout, turnOffTimeout];
2273 };
2274 exports.useTimeout = useTimeout;
2275
2276 /***/ }),
2277
2278 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
2279 /*!*************************************************************!*\
2280 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2281 \*************************************************************/
2282 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2283
2284 "use strict";
2285
2286
2287 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2288 Object.defineProperty(exports, "__esModule", ({
2289 value: true
2290 }));
2291 exports["default"] = void 0;
2292 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2293 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2294 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2295 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2296 var _react = __webpack_require__(/*! react */ "react");
2297 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2298 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2299 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; }
2300 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; }
2301 var useUserInfo = function useUserInfo() {
2302 var immediately = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2303 var _useState = (0, _react.useState)(false),
2304 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2305 isLoaded = _useState2[0],
2306 setIsLoaded = _useState2[1];
2307 var _useState3 = (0, _react.useState)(false),
2308 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2309 isLoading = _useState4[0],
2310 setIsLoading = _useState4[1];
2311 var _useState5 = (0, _react.useState)({
2312 is_connected: false,
2313 is_get_started: false,
2314 connect_url: '',
2315 usage: {
2316 hasAiSubscription: false,
2317 quota: 0,
2318 usedQuota: 0
2319 }
2320 }),
2321 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2322 userInfo = _useState6[0],
2323 setUserInfo = _useState6[1];
2324 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2325 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2326 var fetchData = /*#__PURE__*/function () {
2327 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2328 var userInfoResult;
2329 return _regenerator.default.wrap(function _callee$(_context) {
2330 while (1) switch (_context.prev = _context.next) {
2331 case 0:
2332 setIsLoading(true);
2333 _context.next = 3;
2334 return (0, _api.getUserInformation)(immediately);
2335 case 3:
2336 userInfoResult = _context.sent;
2337 setUserInfo(function (prevState) {
2338 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2339 });
2340 setIsLoaded(true);
2341 setIsLoading(false);
2342 case 7:
2343 case "end":
2344 return _context.stop();
2345 }
2346 }, _callee);
2347 }));
2348 return function fetchData() {
2349 return _ref.apply(this, arguments);
2350 };
2351 }();
2352 if (!isLoaded && !isLoading) {
2353 fetchData();
2354 }
2355 return {
2356 isLoading: isLoading,
2357 isLoaded: isLoaded,
2358 isConnected: userInfo.is_connected,
2359 isGetStarted: userInfo.is_get_started,
2360 connectUrl: userInfo.connect_url,
2361 builderUrl: userInfo.usage.builderUrl,
2362 hasSubscription: userInfo.usage.hasAiSubscription,
2363 credits: credits < 0 ? 0 : credits,
2364 usagePercentage: Math.round(usagePercentage),
2365 fetchData: fetchData
2366 };
2367 };
2368 useUserInfo.propTypes = {
2369 immediately: _propTypes.default.bool
2370 };
2371 var _default = useUserInfo;
2372 exports["default"] = _default;
2373
2374 /***/ }),
2375
2376 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2377 /*!***************************************************************!*\
2378 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2379 \***************************************************************/
2380 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2381
2382 "use strict";
2383
2384
2385 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2386 Object.defineProperty(exports, "__esModule", ({
2387 value: true
2388 }));
2389 exports["default"] = void 0;
2390 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2391 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2392 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2393 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2394 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2395 viewBox: "0 0 24 24"
2396 }, props, {
2397 ref: ref
2398 }), /*#__PURE__*/_react.default.createElement("path", {
2399 fillRule: "evenodd",
2400 clipRule: "evenodd",
2401 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"
2402 }));
2403 });
2404 var _default = ArrowLeftIcon;
2405 exports["default"] = _default;
2406
2407 /***/ }),
2408
2409 /***/ "../modules/ai/assets/js/editor/icons/bulb-icon.js":
2410 /*!*********************************************************!*\
2411 !*** ../modules/ai/assets/js/editor/icons/bulb-icon.js ***!
2412 \*********************************************************/
2413 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2414
2415 "use strict";
2416
2417
2418 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2419 Object.defineProperty(exports, "__esModule", ({
2420 value: true
2421 }));
2422 exports["default"] = void 0;
2423 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2424 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2425 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2426 var BulbIcon = _react.default.forwardRef(function (props, ref) {
2427 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({}, props, {
2428 ref: ref
2429 }), /*#__PURE__*/_react.default.createElement("svg", {
2430 width: "22",
2431 height: "22",
2432 viewBox: "0 0 22 22",
2433 fill: "none",
2434 xmlns: "http://www.w3.org/2000/svg"
2435 }, /*#__PURE__*/_react.default.createElement("g", {
2436 clipPath: "url(#clip0_10743_8902)"
2437 }, /*#__PURE__*/_react.default.createElement("path", {
2438 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",
2439 stroke: "#2563EB",
2440 strokeWidth: "1.5",
2441 strokeLinecap: "round",
2442 strokeLinejoin: "round"
2443 }), /*#__PURE__*/_react.default.createElement("path", {
2444 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",
2445 stroke: "#2563EB",
2446 strokeWidth: "1.5",
2447 strokeLinecap: "round",
2448 strokeLinejoin: "round"
2449 }), /*#__PURE__*/_react.default.createElement("path", {
2450 d: "M10.0833 16.5H11.9166",
2451 stroke: "#2563EB",
2452 strokeWidth: "1.5",
2453 strokeLinecap: "round",
2454 strokeLinejoin: "round"
2455 })), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("clipPath", {
2456 id: "clip0_10743_8902"
2457 }, /*#__PURE__*/_react.default.createElement("rect", {
2458 width: "22",
2459 height: "22",
2460 fill: "white"
2461 })))));
2462 });
2463 var _default = BulbIcon;
2464 exports["default"] = _default;
2465
2466 /***/ }),
2467
2468 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2469 /*!**************************************************************!*\
2470 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2471 \**************************************************************/
2472 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2473
2474 "use strict";
2475
2476
2477 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2478 Object.defineProperty(exports, "__esModule", ({
2479 value: true
2480 }));
2481 exports["default"] = void 0;
2482 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2483 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2484 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2485 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2486 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2487 viewBox: "0 0 24 24"
2488 }, props, {
2489 ref: ref
2490 }), /*#__PURE__*/_react.default.createElement("path", {
2491 fillRule: "evenodd",
2492 clipRule: "evenodd",
2493 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"
2494 }));
2495 });
2496 var _default = CopyPageIcon;
2497 exports["default"] = _default;
2498
2499 /***/ }),
2500
2501 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2502 /*!*********************************************************!*\
2503 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2504 \*********************************************************/
2505 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2506
2507 "use strict";
2508
2509
2510 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2511 Object.defineProperty(exports, "__esModule", ({
2512 value: true
2513 }));
2514 exports["default"] = void 0;
2515 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2516 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2517 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2518 var EditIcon = _react.default.forwardRef(function (props, ref) {
2519 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2520 viewBox: "0 0 24 24"
2521 }, props, {
2522 ref: ref
2523 }), /*#__PURE__*/_react.default.createElement("path", {
2524 fillRule: "evenodd",
2525 clipRule: "evenodd",
2526 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"
2527 }), /*#__PURE__*/_react.default.createElement("path", {
2528 fillRule: "evenodd",
2529 clipRule: "evenodd",
2530 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"
2531 }));
2532 });
2533 var _default = EditIcon;
2534 exports["default"] = _default;
2535
2536 /***/ }),
2537
2538 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2539 /*!********************************************************************!*\
2540 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2541 \********************************************************************/
2542 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2543
2544 "use strict";
2545
2546
2547 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2548 Object.defineProperty(exports, "__esModule", ({
2549 value: true
2550 }));
2551 exports["default"] = void 0;
2552 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2553 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2554 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2555 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2556 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2557 viewBox: "0 0 24 24"
2558 }, props, {
2559 ref: ref
2560 }), /*#__PURE__*/_react.default.createElement("path", {
2561 fillRule: "evenodd",
2562 clipRule: "evenodd",
2563 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"
2564 }));
2565 });
2566 var _default = ExpandDiagonalIcon;
2567 exports["default"] = _default;
2568
2569 /***/ }),
2570
2571 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2572 /*!*********************************************************!*\
2573 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2574 \*********************************************************/
2575 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2576
2577 "use strict";
2578
2579
2580 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2581 Object.defineProperty(exports, "__esModule", ({
2582 value: true
2583 }));
2584 exports["default"] = void 0;
2585 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2586 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2587 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2588 var LockIcon = _react.default.forwardRef(function (props, ref) {
2589 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2590 viewBox: "0 0 24 24"
2591 }, props, {
2592 ref: ref
2593 }), /*#__PURE__*/_react.default.createElement("path", {
2594 fillRule: "evenodd",
2595 clipRule: "evenodd",
2596 d: "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"
2597 }), /*#__PURE__*/_react.default.createElement("path", {
2598 fillRule: "evenodd",
2599 clipRule: "evenodd",
2600 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"
2601 }), /*#__PURE__*/_react.default.createElement("path", {
2602 d: "M6 12H19V20H6V12Z"
2603 }));
2604 });
2605 var _default = LockIcon;
2606 exports["default"] = _default;
2607
2608 /***/ }),
2609
2610 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2611 /*!**********************************************************************!*\
2612 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2613 \**********************************************************************/
2614 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2615
2616 "use strict";
2617
2618
2619 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2620 Object.defineProperty(exports, "__esModule", ({
2621 value: true
2622 }));
2623 exports["default"] = void 0;
2624 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2625 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2626 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2627 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2628 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2629 viewBox: "0 0 24 24"
2630 }, props, {
2631 ref: ref
2632 }), /*#__PURE__*/_react.default.createElement("path", {
2633 fillRule: "evenodd",
2634 clipRule: "evenodd",
2635 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"
2636 }));
2637 });
2638 var _default = MinimizeDiagonalIcon;
2639 exports["default"] = _default;
2640
2641 /***/ }),
2642
2643 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2644 /*!****************************************************************!*\
2645 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2646 \****************************************************************/
2647 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2648
2649 "use strict";
2650
2651
2652 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2653 Object.defineProperty(exports, "__esModule", ({
2654 value: true
2655 }));
2656 exports["default"] = void 0;
2657 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2658 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2659 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2660 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2661 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2662 viewBox: "0 0 24 24"
2663 }, props, {
2664 ref: ref
2665 }), /*#__PURE__*/_react.default.createElement("path", {
2666 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"
2667 }));
2668 });
2669 var _default = PlusCircleIcon;
2670 exports["default"] = _default;
2671
2672 /***/ }),
2673
2674 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2675 /*!************************************************************!*\
2676 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2677 \************************************************************/
2678 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2679
2680 "use strict";
2681
2682
2683 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2684 Object.defineProperty(exports, "__esModule", ({
2685 value: true
2686 }));
2687 exports["default"] = void 0;
2688 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2689 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2690 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2691 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2692 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2693 viewBox: "0 0 24 24"
2694 }, props, {
2695 ref: ref
2696 }), /*#__PURE__*/_react.default.createElement("path", {
2697 fillRule: "evenodd",
2698 clipRule: "evenodd",
2699 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"
2700 }), /*#__PURE__*/_react.default.createElement("path", {
2701 fillRule: "evenodd",
2702 clipRule: "evenodd",
2703 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"
2704 }));
2705 });
2706 var _default = RefreshIcon;
2707 exports["default"] = _default;
2708
2709 /***/ }),
2710
2711 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2712 /*!*********************************************************!*\
2713 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2714 \*********************************************************/
2715 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2716
2717 "use strict";
2718
2719
2720 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2721 Object.defineProperty(exports, "__esModule", ({
2722 value: true
2723 }));
2724 exports["default"] = void 0;
2725 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2726 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2727 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2728 var WandIcon = _react.default.forwardRef(function (props, ref) {
2729 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2730 viewBox: "0 0 24 24"
2731 }, props, {
2732 ref: ref
2733 }), /*#__PURE__*/_react.default.createElement("path", {
2734 fillRule: "evenodd",
2735 clipRule: "evenodd",
2736 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"
2737 }), /*#__PURE__*/_react.default.createElement("path", {
2738 fillRule: "evenodd",
2739 clipRule: "evenodd",
2740 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"
2741 }), /*#__PURE__*/_react.default.createElement("path", {
2742 fillRule: "evenodd",
2743 clipRule: "evenodd",
2744 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"
2745 }));
2746 });
2747 var _default = WandIcon;
2748 exports["default"] = _default;
2749
2750 /***/ }),
2751
2752 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2753 /*!************************************************************!*\
2754 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2755 \************************************************************/
2756 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2757
2758 "use strict";
2759
2760
2761 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2762 Object.defineProperty(exports, "__esModule", ({
2763 value: true
2764 }));
2765 exports["default"] = void 0;
2766 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2767 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2768 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2769 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2770 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2771 viewBox: "0 0 24 24"
2772 }, props, {
2773 ref: ref
2774 }), /*#__PURE__*/_react.default.createElement("path", {
2775 fillRule: "evenodd",
2776 clipRule: "evenodd",
2777 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"
2778 }));
2779 });
2780 var _default = WebsiteIcon;
2781 exports["default"] = _default;
2782
2783 /***/ }),
2784
2785 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2786 /*!*************************************************************!*\
2787 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2788 \*************************************************************/
2789 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2790
2791 "use strict";
2792
2793
2794 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2795 Object.defineProperty(exports, "__esModule", ({
2796 value: true
2797 }));
2798 exports["default"] = void 0;
2799 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2800 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2801 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2802 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2803 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2804 viewBox: "0 0 24 24"
2805 }, props, {
2806 ref: ref
2807 }), /*#__PURE__*/_react.default.createElement("path", {
2808 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"
2809 }));
2810 });
2811 var _default = XCircleIcon;
2812 exports["default"] = _default;
2813
2814 /***/ }),
2815
2816 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2817 /*!********************************************************************************************!*\
2818 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2819 \********************************************************************************************/
2820 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2821
2822 "use strict";
2823
2824
2825 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2826 renderLayoutApp = _require.renderLayoutApp,
2827 importToEditor = _require.importToEditor;
2828 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2829 MODE_VARIATION = _require2.MODE_VARIATION;
2830 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2831 __ = _require3.__;
2832 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2833 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON,
2834 ELEMENTOR_LIBRARY_SOURCE = _require4.ELEMENTOR_LIBRARY_SOURCE;
2835 var ApplyTemplateForAiBehavior;
2836 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2837 ui: {
2838 applyButton: '.elementor-template-library-template-apply-ai',
2839 generateVariation: '.elementor-template-library-template-generate-variation'
2840 },
2841 events: {
2842 'click @ui.applyButton': 'onApplyButtonClick',
2843 'click @ui.generateVariation': 'onGenerateVariationClick'
2844 },
2845 onGenerateVariationClick: function onGenerateVariationClick() {
2846 var _libraryComponent$man, _libraryComponent$man2;
2847 var args = {
2848 model: this.view.model
2849 };
2850 var libraryComponent = $e.components.get('library');
2851 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;
2852 libraryComponent.downloadTemplate(args, function (data) {
2853 var model = args.model;
2854 var attachment = {
2855 type: ATTACHMENT_TYPE_JSON,
2856 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2857 content: data.content[0],
2858 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
2859 source: ELEMENTOR_LIBRARY_SOURCE
2860 };
2861 renderLayoutApp({
2862 parentContainer: elementor.getPreviewContainer(),
2863 mode: MODE_VARIATION,
2864 at: at,
2865 attachments: [attachment],
2866 onInsert: function onInsert(template) {
2867 importToEditor({
2868 parentContainer: elementor.getPreviewContainer(),
2869 at: at,
2870 template: template,
2871 historyTitle: __('AI Variation from library', 'elementor')
2872 });
2873 }
2874 });
2875 $e.run('library/close');
2876 });
2877 },
2878 onApplyButtonClick: function onApplyButtonClick() {
2879 var args = {
2880 model: this.view.model
2881 };
2882 this.ui.applyButton.addClass('elementor-disabled');
2883 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2884 $e.route('library/connect', args);
2885 return;
2886 }
2887 $e.run('library/generate-ai-variation', args);
2888 }
2889 });
2890 module.exports = ApplyTemplateForAiBehavior;
2891
2892 /***/ }),
2893
2894 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2895 /*!************************************************************!*\
2896 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2897 \************************************************************/
2898 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2899
2900 "use strict";
2901
2902
2903 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2904 Object.defineProperty(exports, "__esModule", ({
2905 value: true
2906 }));
2907 exports["default"] = void 0;
2908 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2909 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2910 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2911 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2912 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2913 rtl: props.isRTL
2914 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2915 colorScheme: props.colorScheme
2916 }, props.children));
2917 };
2918 LayoutAppWrapper.propTypes = {
2919 children: _propTypes.default.node,
2920 isRTL: _propTypes.default.bool,
2921 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2922 };
2923 var _default = LayoutAppWrapper;
2924 exports["default"] = _default;
2925
2926 /***/ }),
2927
2928 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2929 /*!****************************************************!*\
2930 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2931 \****************************************************/
2932 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2933
2934 "use strict";
2935
2936
2937 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2938 Object.defineProperty(exports, "__esModule", ({
2939 value: true
2940 }));
2941 exports["default"] = void 0;
2942 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2943 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2944 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2945 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2946 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2947 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2948 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
2949 var LayoutApp = function LayoutApp(props) {
2950 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2951 onError: props.onClose
2952 }, /*#__PURE__*/_react.default.createElement(_requestsIds.RequestIdsProvider, null, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2953 mode: props.mode,
2954 attachmentsTypes: props.attachmentsTypes,
2955 onClose: props.onClose,
2956 onConnect: props.onConnect,
2957 onData: props.onData,
2958 onInsert: props.onInsert,
2959 onSelect: props.onSelect,
2960 onGenerate: props.onGenerate,
2961 currentContext: props.currentContext,
2962 hasPro: props.hasPro
2963 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2964 attachments: props.attachments
2965 }))));
2966 };
2967 LayoutApp.propTypes = {
2968 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2969 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2970 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2971 onClose: _propTypes.default.func.isRequired,
2972 onConnect: _propTypes.default.func.isRequired,
2973 onData: _propTypes.default.func.isRequired,
2974 onInsert: _propTypes.default.func.isRequired,
2975 onSelect: _propTypes.default.func.isRequired,
2976 onGenerate: _propTypes.default.func.isRequired,
2977 currentContext: _propTypes.default.object,
2978 hasPro: _propTypes.default.bool
2979 };
2980 var _default = LayoutApp;
2981 exports["default"] = _default;
2982
2983 /***/ }),
2984
2985 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2986 /*!********************************************************!*\
2987 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2988 \********************************************************/
2989 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2990
2991 "use strict";
2992
2993
2994 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2995 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2996 Object.defineProperty(exports, "__esModule", ({
2997 value: true
2998 }));
2999 exports["default"] = void 0;
3000 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3001 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3002 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
3003 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
3004 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
3005 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
3006 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
3007 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3008 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
3009 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
3010 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3011 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3012 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3013 var _requestsIds = __webpack_require__(/*! ./context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
3014 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); }
3015 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; }
3016 var LayoutContent = function LayoutContent(props) {
3017 var _useUserInfo = (0, _useUserInfo2.default)(),
3018 isLoading = _useUserInfo.isLoading,
3019 isConnected = _useUserInfo.isConnected,
3020 isGetStarted = _useUserInfo.isGetStarted,
3021 connectUrl = _useUserInfo.connectUrl,
3022 fetchData = _useUserInfo.fetchData,
3023 hasSubscription = _useUserInfo.hasSubscription,
3024 initialUsagePercentage = _useUserInfo.usagePercentage;
3025 var _useConfig = (0, _config.useConfig)(),
3026 onClose = _useConfig.onClose,
3027 onConnect = _useConfig.onConnect;
3028 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
3029 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
3030 usagePercentage = _useRequestIds.usagePercentage;
3031 var _useState = (0, _react.useState)(false),
3032 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3033 isInitUsageDone = _useState2[0],
3034 setIsInitUsageDone = _useState2[1];
3035 (0, _react.useEffect)(function () {
3036 if (!isInitUsageDone && (initialUsagePercentage || 0 === initialUsagePercentage)) {
3037 updateUsagePercentage(initialUsagePercentage);
3038 setIsInitUsageDone(true);
3039 }
3040 }, [initialUsagePercentage, isInitUsageDone, updateUsagePercentage]);
3041 if (isLoading || !isInitUsageDone) {
3042 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3043 onClose: onClose
3044 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
3045 onClose: onClose
3046 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
3047 dividers: true
3048 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
3049 BoxProps: {
3050 sx: {
3051 px: 3
3052 }
3053 }
3054 })));
3055 }
3056 if (!isConnected) {
3057 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
3058 onClose: onClose
3059 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
3060 onClose: onClose
3061 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
3062 dividers: true
3063 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
3064 connectUrl: connectUrl,
3065 onSuccess: function onSuccess(data) {
3066 onConnect(data);
3067 fetchData();
3068 }
3069 })));
3070 }
3071 if (!isGetStarted) {
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(_getStarted.default, {
3079 onSuccess: fetchData
3080 })));
3081 }
3082 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
3083 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
3084 attachments: props.attachments,
3085 DialogHeaderProps: {
3086 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
3087 hasSubscription: hasSubscription,
3088 usagePercentage: usagePercentage
3089 })
3090 }
3091 });
3092 };
3093 LayoutContent.propTypes = {
3094 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
3095 };
3096 var _default = LayoutContent;
3097 exports["default"] = _default;
3098
3099 /***/ }),
3100
3101 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
3102 /*!*************************************************************!*\
3103 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
3104 \*************************************************************/
3105 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3106
3107 "use strict";
3108
3109
3110 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3111 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3112 Object.defineProperty(exports, "__esModule", ({
3113 value: true
3114 }));
3115 exports["default"] = void 0;
3116 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3117 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3118 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3119 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3120 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3121 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); }
3122 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; }
3123 var Connect = function Connect(_ref) {
3124 var connectUrl = _ref.connectUrl,
3125 onSuccess = _ref.onSuccess;
3126 var approveButtonRef = (0, _react.useRef)();
3127 (0, _react.useEffect)(function () {
3128 // On local dev (as a standalone app), the connect lib is not loaded.
3129 if (!jQuery.fn.elementorConnect) {
3130 return;
3131 }
3132 jQuery(approveButtonRef.current).elementorConnect({
3133 success: function success(_, data) {
3134 return onSuccess(data);
3135 },
3136 error: function error() {
3137 throw new Error('Elementor AI: Failed to connect.');
3138 }
3139 });
3140 }, []);
3141 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3142 alignItems: "center",
3143 gap: 2
3144 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3145 sx: {
3146 color: 'text.primary',
3147 fontSize: '60px',
3148 mb: 1
3149 }
3150 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3151 variant: "h4",
3152 sx: {
3153 color: 'text.primary'
3154 }
3155 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3156 variant: "body2"
3157 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3158 variant: "caption",
3159 sx: {
3160 maxWidth: 520,
3161 textAlign: 'center'
3162 }
3163 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
3164 href: "https://go.elementor.com/ai-terms/",
3165 target: "_blank",
3166 color: "info.main"
3167 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
3168 href: "https://go.elementor.com/ai-privacy-policy/",
3169 target: "_blank",
3170 color: "info.main"
3171 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3172 ref: approveButtonRef,
3173 href: connectUrl,
3174 variant: "contained",
3175 sx: {
3176 mt: 1,
3177 '&:hover': {
3178 color: 'primary.contrastText'
3179 }
3180 }
3181 }, (0, _i18n.__)('Connect', 'elementor')));
3182 };
3183 Connect.propTypes = {
3184 connectUrl: _propTypes.default.string.isRequired,
3185 onSuccess: _propTypes.default.func.isRequired
3186 };
3187 var _default = Connect;
3188 exports["default"] = _default;
3189
3190 /***/ }),
3191
3192 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
3193 /*!**********************************************************************************!*\
3194 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
3195 \**********************************************************************************/
3196 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3197
3198 "use strict";
3199
3200
3201 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3202 Object.defineProperty(exports, "__esModule", ({
3203 value: true
3204 }));
3205 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;
3206 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3207 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3208 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
3209 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
3210 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
3211 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
3212 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
3213 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3214 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3215 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3216 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3217 var ATTACHMENT_TYPE_JSON = 'json';
3218 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
3219 var ATTACHMENT_TYPE_URL = 'url';
3220 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
3221 var MENU_TYPE_LIBRARY = 'library';
3222 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
3223 var USER_VARIATION_SOURCE = 'user-variation';
3224 exports.USER_VARIATION_SOURCE = USER_VARIATION_SOURCE;
3225 var ELEMENTOR_LIBRARY_SOURCE = 'elementor-library';
3226 exports.ELEMENTOR_LIBRARY_SOURCE = ELEMENTOR_LIBRARY_SOURCE;
3227 var USER_URL_SOURCE = 'user-url';
3228 exports.USER_URL_SOURCE = USER_URL_SOURCE;
3229 var Attachments = function Attachments(props) {
3230 if (!props.attachments.length) {
3231 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
3232 disabled: props.disabled,
3233 onAttach: props.onAttach,
3234 items: [{
3235 title: (0, _i18n.__)('Reference a website', 'elementor'),
3236 icon: _websiteIcon.default,
3237 type: ATTACHMENT_TYPE_URL
3238 }, {
3239 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
3240 icon: _copyPageIcon.default,
3241 type: MENU_TYPE_LIBRARY
3242 }]
3243 });
3244 }
3245 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3246 direction: "row",
3247 spacing: 1
3248 }, props.attachments.map(function (attachment, index) {
3249 switch (attachment.type) {
3250 case ATTACHMENT_TYPE_JSON:
3251 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
3252 key: index
3253 }, props));
3254 case ATTACHMENT_TYPE_URL:
3255 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
3256 key: index
3257 }, props));
3258 default:
3259 return null;
3260 }
3261 }));
3262 };
3263 Attachments.propTypes = {
3264 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3265 onAttach: _propTypes.default.func.isRequired,
3266 onDetach: _propTypes.default.func,
3267 disabled: _propTypes.default.bool
3268 };
3269 var _default = Attachments;
3270 exports["default"] = _default;
3271
3272 /***/ }),
3273
3274 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
3275 /*!************************************************************************************************!*\
3276 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
3277 \************************************************************************************************/
3278 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3279
3280 "use strict";
3281
3282
3283 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3284 Object.defineProperty(exports, "__esModule", ({
3285 value: true
3286 }));
3287 exports["default"] = exports.AttachDialog = void 0;
3288 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3289 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
3290 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3291 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
3292 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3293 var AttachDialog = function AttachDialog(props) {
3294 var type = props.type;
3295 var url = props.url;
3296 switch (type) {
3297 case _attachments.ATTACHMENT_TYPE_URL:
3298 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
3299 url: url,
3300 onAttach: props.onAttach,
3301 onClose: props.onClose
3302 });
3303 case _attachments.MENU_TYPE_LIBRARY:
3304 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
3305 onAttach: props.onAttach,
3306 onClose: props.onClose
3307 });
3308 }
3309 return null;
3310 };
3311 exports.AttachDialog = AttachDialog;
3312 AttachDialog.propTypes = {
3313 type: _propTypes.default.string,
3314 onAttach: _propTypes.default.func,
3315 onClose: _propTypes.default.func,
3316 url: _propTypes.default.string
3317 };
3318 var _default = AttachDialog;
3319 exports["default"] = _default;
3320
3321 /***/ }),
3322
3323 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
3324 /*!*************************************************************************************************!*\
3325 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
3326 \*************************************************************************************************/
3327 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3328
3329 "use strict";
3330
3331
3332 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3333 Object.defineProperty(exports, "__esModule", ({
3334 value: true
3335 }));
3336 exports.LibraryDialog = void 0;
3337 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3338 var _react = __webpack_require__(/*! react */ "react");
3339 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3340 var LibraryDialog = function LibraryDialog(props) {
3341 var isApplyingTemplate = (0, _react.useRef)(false);
3342 (0, _react.useEffect)(function () {
3343 var onLibraryHide = function onLibraryHide() {
3344 if (isApplyingTemplate.current) {
3345 return;
3346 }
3347 props.onClose();
3348 };
3349 $e.components.get('library').layout.getModal().on('hide', onLibraryHide);
3350 return function () {
3351 $e.components.get('library').layout.getModal().off('hide', onLibraryHide);
3352 };
3353 }, [props]);
3354 (0, _react.useEffect)(function () {
3355 var onMessage = function onMessage(event) {
3356 var _event$data = event.data,
3357 type = _event$data.type,
3358 json = _event$data.json,
3359 html = _event$data.html,
3360 label = _event$data.label,
3361 source = _event$data.source;
3362 switch (type) {
3363 case 'library/attach:start':
3364 isApplyingTemplate.current = true;
3365 break;
3366 case 'library/attach':
3367 props.onAttach([{
3368 type: _attachments.ATTACHMENT_TYPE_JSON,
3369 previewHTML: html,
3370 content: json,
3371 label: label,
3372 source: source
3373 }]);
3374 isApplyingTemplate.current = false;
3375 props.onClose();
3376 break;
3377 }
3378 };
3379 window.addEventListener('message', onMessage);
3380 return function () {
3381 window.removeEventListener('message', onMessage);
3382 };
3383 });
3384 $e.run('library/open', {
3385 toDefault: true,
3386 mode: 'ai-attachment'
3387 });
3388 isApplyingTemplate.current = false;
3389 return null;
3390 };
3391 exports.LibraryDialog = LibraryDialog;
3392 LibraryDialog.propTypes = {
3393 onAttach: _propTypes.default.func.isRequired,
3394 onClose: _propTypes.default.func.isRequired
3395 };
3396
3397 /***/ }),
3398
3399 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3400 /*!***************************************************************************************!*\
3401 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3402 \***************************************************************************************/
3403 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3404
3405 "use strict";
3406
3407
3408 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3409 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3410 Object.defineProperty(exports, "__esModule", ({
3411 value: true
3412 }));
3413 exports.Menu = void 0;
3414 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3415 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3416 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3417 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3418 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3419 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3420 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3421 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3422 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); }
3423 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; }
3424 var Menu = function Menu(props) {
3425 var _useState = (0, _react.useState)(false),
3426 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3427 isOpen = _useState2[0],
3428 setIsOpen = _useState2[1];
3429 var _useState3 = (0, _react.useState)(null),
3430 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3431 selectedType = _useState4[0],
3432 setSelectedType = _useState4[1];
3433 var _useTheme = (0, _ui.useTheme)(),
3434 direction = _useTheme.direction;
3435 var anchorRef = (0, _react.useRef)(null);
3436 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-attachment-badge'),
3437 isViewed = _useIntroduction.isViewed,
3438 markAsViewed = _useIntroduction.markAsViewed;
3439 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3440 size: "small",
3441 ref: anchorRef,
3442 disabled: props.disabled,
3443 onClick: function onClick() {
3444 setIsOpen(true);
3445 if (!isViewed) {
3446 markAsViewed();
3447 }
3448 },
3449 color: "secondary"
3450 }, function () {
3451 if (isOpen) {
3452 return /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3453 fontSize: "small"
3454 });
3455 } else if (isViewed) {
3456 return /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3457 fontSize: "small"
3458 });
3459 }
3460 return /*#__PURE__*/_react.default.createElement(_ui.Badge, {
3461 color: "primary",
3462 badgeContent: " ",
3463 variant: "dot"
3464 }, /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3465 fontSize: "small"
3466 }));
3467 }()), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3468 open: isOpen,
3469 anchorEl: anchorRef.current,
3470 onClose: function onClose() {
3471 return setIsOpen(false);
3472 },
3473 anchorOrigin: {
3474 vertical: 'bottom',
3475 horizontal: 'rtl' === direction ? 'right' : 'left'
3476 },
3477 transformOrigin: {
3478 vertical: 'top',
3479 horizontal: 'rtl' === direction ? 'right' : 'left'
3480 }
3481 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3482 sx: {
3483 width: 440
3484 }
3485 }, props.items.map(function (item) {
3486 var IconComponent = item.icon;
3487 return /*#__PURE__*/_react.default.createElement(_ui.MenuItem, {
3488 key: item.type,
3489 onClick: function onClick() {
3490 setSelectedType(item.type);
3491 setIsOpen(false);
3492 }
3493 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(IconComponent, null)), item.title);
3494 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3495 type: selectedType,
3496 onAttach: props.onAttach,
3497 onClose: function onClose() {
3498 setIsOpen(false);
3499 setSelectedType(null);
3500 }
3501 }));
3502 };
3503 exports.Menu = Menu;
3504 Menu.propTypes = {
3505 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3506 title: _propTypes.default.string.isRequired,
3507 type: _propTypes.default.string.isRequired,
3508 icon: _propTypes.default.elementType
3509 })).isRequired,
3510 onAttach: _propTypes.default.func.isRequired,
3511 disabled: _propTypes.default.bool
3512 };
3513
3514 /***/ }),
3515
3516 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3517 /*!******************************************************************************************************!*\
3518 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3519 \******************************************************************************************************/
3520 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3521
3522 "use strict";
3523
3524
3525 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3526 Object.defineProperty(exports, "__esModule", ({
3527 value: true
3528 }));
3529 exports.PromptPowerNotice = void 0;
3530 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3531 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3532 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3533 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3534 var PromptPowerNotice = function PromptPowerNotice() {
3535 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3536 isViewed = _useIntroduction.isViewed,
3537 markAsViewed = _useIntroduction.markAsViewed;
3538 if (isViewed) {
3539 return null;
3540 }
3541 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3542 sx: {
3543 pt: 2,
3544 px: 2,
3545 pb: 0
3546 }
3547 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3548 severity: "info",
3549 onClose: function onClose() {
3550 return markAsViewed();
3551 }
3552 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3553 variant: "body2",
3554 display: "inline-block",
3555 sx: {
3556 paddingInlineEnd: 1
3557 }
3558 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3559 variant: "body2",
3560 display: "inline-block"
3561 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3562 };
3563 exports.PromptPowerNotice = PromptPowerNotice;
3564
3565 /***/ }),
3566
3567 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3568 /*!*************************************************************************************************!*\
3569 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3570 \*************************************************************************************************/
3571 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3572
3573 "use strict";
3574
3575
3576 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3577 Object.defineProperty(exports, "__esModule", ({
3578 value: true
3579 }));
3580 exports["default"] = exports.ThumbnailJson = void 0;
3581 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3582 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3583 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3584 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3585 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3586 var ThumbnailJson = function ThumbnailJson(props) {
3587 var _props$attachments;
3588 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3589 return 'json' === item.type;
3590 });
3591 if (!attachment) {
3592 return null;
3593 }
3594 if (!attachment.previewHTML) {
3595 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3596 animation: "wave",
3597 variant: "rounded",
3598 width: 60,
3599 height: 60
3600 });
3601 }
3602 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3603 html: attachment.previewHTML,
3604 disabled: props.disabled
3605 });
3606 };
3607 exports.ThumbnailJson = ThumbnailJson;
3608 ThumbnailJson.propTypes = {
3609 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3610 disabled: _propTypes.default.bool
3611 };
3612 var _default = ThumbnailJson;
3613 exports["default"] = _default;
3614
3615 /***/ }),
3616
3617 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3618 /*!************************************************************************************************!*\
3619 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3620 \************************************************************************************************/
3621 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3622
3623 "use strict";
3624
3625
3626 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3627 Object.defineProperty(exports, "__esModule", ({
3628 value: true
3629 }));
3630 exports["default"] = exports.ThumbnailUrl = void 0;
3631 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3632 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3633 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3634 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3635 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3636 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3637 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3638 var ThumbnailUrl = function ThumbnailUrl(props) {
3639 var _props$attachments;
3640 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3641 return 'url' === item.type;
3642 });
3643 if (!attachment) {
3644 return null;
3645 }
3646 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3647 sx: {
3648 position: 'relative',
3649 '&:hover::before': {
3650 content: '""',
3651 position: 'absolute',
3652 userSelect: 'none',
3653 inset: 0,
3654 backgroundColor: 'rgba(0,0,0,0.6)',
3655 borderRadius: 1,
3656 zIndex: 1
3657 },
3658 '&:hover .remove-attachment': {
3659 display: 'flex'
3660 }
3661 }
3662 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3663 className: "remove-attachment",
3664 size: "small",
3665 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3666 disabled: props.disabled,
3667 onClick: function onClick(event) {
3668 event.stopPropagation();
3669 props.onDetach();
3670 },
3671 sx: {
3672 display: 'none',
3673 position: 'absolute',
3674 insetInlineEnd: 4,
3675 insetBlockStart: 4,
3676 backgroundColor: 'secondary.main',
3677 zIndex: 1,
3678 borderRadius: 1,
3679 p: '3px',
3680 '&:hover': {
3681 backgroundColor: 'secondary.dark'
3682 }
3683 }
3684 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3685 sx: {
3686 fontSize: '1.125rem',
3687 color: 'common.white'
3688 }
3689 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3690 disabled: props.disabled,
3691 html: attachment.previewHTML
3692 }));
3693 };
3694 exports.ThumbnailUrl = ThumbnailUrl;
3695 ThumbnailUrl.propTypes = {
3696 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3697 disabled: _propTypes.default.bool,
3698 onDetach: _propTypes.default.func
3699 };
3700 var _default = ThumbnailUrl;
3701 exports["default"] = _default;
3702
3703 /***/ }),
3704
3705 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3706 /*!********************************************************************************************!*\
3707 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3708 \********************************************************************************************/
3709 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3710
3711 "use strict";
3712
3713
3714 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3715 Object.defineProperty(exports, "__esModule", ({
3716 value: true
3717 }));
3718 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3719 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3720 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3721 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3722 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3723 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3724 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3725 var _templateObject;
3726 var THUMBNAIL_SIZE = 64;
3727 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3728 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);
3729 var Thumbnail = function Thumbnail(props) {
3730 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3731 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;
3732 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;
3733 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3734 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3735 var scaleFactor = Math.min(height, width);
3736 var scale = THUMBNAIL_SIZE / scaleFactor;
3737
3738 // Center the preview
3739 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3740 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3741 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3742 dir: "ltr",
3743 sx: {
3744 position: 'relative',
3745 cursor: 'default',
3746 overflow: 'hidden',
3747 border: '1px solid',
3748 borderColor: 'grey.300',
3749 borderRadius: 1,
3750 boxSizing: 'border-box',
3751 width: THUMBNAIL_SIZE,
3752 height: THUMBNAIL_SIZE,
3753 opacity: props.disabled ? 0.5 : 1
3754 }
3755 }, /*#__PURE__*/_react.default.createElement("iframe", {
3756 title: (0, _i18n.__)('Preview', 'elementor'),
3757 sandbox: "",
3758 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3759 style: {
3760 border: 'none',
3761 overflow: 'hidden',
3762 width: width,
3763 height: height,
3764 transform: "scale(".concat(scale, ")"),
3765 transformOrigin: "".concat(left, "px ").concat(top, "px")
3766 }
3767 }));
3768 };
3769 exports.Thumbnail = Thumbnail;
3770 Thumbnail.propTypes = {
3771 html: _propTypes.default.string.isRequired,
3772 disabled: _propTypes.default.bool
3773 };
3774
3775 /***/ }),
3776
3777 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3778 /*!*********************************************************************************************!*\
3779 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3780 \*********************************************************************************************/
3781 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3782
3783 "use strict";
3784
3785
3786 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3787 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3788 Object.defineProperty(exports, "__esModule", ({
3789 value: true
3790 }));
3791 exports.UrlDialog = void 0;
3792 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3793 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3794 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3795 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3796 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3797 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3798 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3799 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3800 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
3801 var _remoteConfig = __webpack_require__(/*! ../../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3802 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
3803 var _requestsIds = __webpack_require__(/*! ../../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
3804 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); }
3805 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; }
3806 var UrlDialog = function UrlDialog(props) {
3807 var iframeRef = (0, _react.useRef)(null);
3808 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3809 targetUrl: props.url
3810 }),
3811 iframeSource = _useAttachUrlService.iframeSource;
3812 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3813 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3814 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3815 isTimeout = _useTimeout2[0],
3816 turnOffTimeout = _useTimeout2[1];
3817 var _useUserInfo = (0, _useUserInfo2.default)(),
3818 isConnected = _useUserInfo.isConnected,
3819 hasSubscription = _useUserInfo.hasSubscription,
3820 credits = _useUserInfo.credits,
3821 initialUsagePercentage = _useUserInfo.usagePercentage;
3822 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3823 isLoaded = _useRemoteConfig.isLoaded,
3824 isError = _useRemoteConfig.isError,
3825 remoteConfig = _useRemoteConfig.remoteConfig;
3826 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
3827 updateUsagePercentage = _useRequestIds.updateUsagePercentage,
3828 usagePercentage = _useRequestIds.usagePercentage;
3829 var _useState = (0, _react.useState)(false),
3830 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3831 isInitUsageDone = _useState2[0],
3832 setIsInitUsageDone = _useState2[1];
3833 (0, _react.useEffect)(function () {
3834 if (!isInitUsageDone && (initialUsagePercentage || 0 === initialUsagePercentage)) {
3835 updateUsagePercentage(initialUsagePercentage);
3836 setIsInitUsageDone(true);
3837 }
3838 }, [initialUsagePercentage, isInitUsageDone, updateUsagePercentage]);
3839 (0, _react.useEffect)(function () {
3840 var onMessage = function onMessage(event) {
3841 if (event.origin !== iframeOrigin) {
3842 return;
3843 }
3844 var _event$data = event.data,
3845 type = _event$data.type,
3846 html = _event$data.html,
3847 url = _event$data.url;
3848 switch (type) {
3849 case 'element-selector/close':
3850 props.onClose();
3851 break;
3852 case 'element-selector/loaded':
3853 turnOffTimeout();
3854 break;
3855 case 'element-selector/attach':
3856 props.onAttach([{
3857 type: 'url',
3858 previewHTML: html,
3859 content: html,
3860 label: url ? new URL(url).host : '',
3861 source: _attachments.USER_URL_SOURCE
3862 }]);
3863 break;
3864 }
3865 };
3866 window.addEventListener('message', onMessage);
3867 return function () {
3868 window.removeEventListener('message', onMessage);
3869 };
3870 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3871 if (!iframeSource) {
3872 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3873 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3874 onClose: props.onClose
3875 });
3876 }
3877 if (!isLoaded || isError) {
3878 return null;
3879 }
3880 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3881 open: true,
3882 fullScreen: true,
3883 hideBackdrop: true,
3884 maxWidth: "md",
3885 sx: {
3886 '& .MuiPaper-root': {
3887 backgroundColor: 'transparent'
3888 }
3889 }
3890 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3891 sx: {
3892 padding: 0
3893 }
3894 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3895 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3896 onClose: props.onClose
3897 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3898 ref: iframeRef,
3899 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3900 src: iframeSource,
3901 onLoad: function onLoad() {
3902 var _window$elementorAppC = window.elementorAppConfig['kit-library'],
3903 accessLevel = _window$elementorAppC.access_level,
3904 accessTier = _window$elementorAppC.access_tier,
3905 isPro = _window$elementorAppC.is_pro;
3906 iframeRef.current.contentWindow.postMessage({
3907 type: 'referrer/info',
3908 info: {
3909 page: {
3910 url: window.location.href
3911 },
3912 authToken: remoteConfig[_remoteConfig.CONFIG_KEYS.AUTH_TOKEN] || '',
3913 products: {
3914 core: {
3915 version: window.elementor.config.version
3916 },
3917 pro: {
3918 isPro: isPro,
3919 accessLevel: accessLevel,
3920 accessTier: accessTier
3921 },
3922 ai: {
3923 isConnected: isConnected,
3924 hasSubscription: hasSubscription,
3925 credits: credits,
3926 usagePercentage: usagePercentage
3927 }
3928 },
3929 user: {
3930 isAdmin: window.elementor.config.user.is_administrator
3931 }
3932 }
3933 }, iframeOrigin);
3934 },
3935 style: {
3936 border: 'none',
3937 overflow: 'scroll',
3938 width: '100%',
3939 height: '100%',
3940 backgroundColor: 'rgba(255,255,255,0.6)'
3941 }
3942 })));
3943 };
3944 exports.UrlDialog = UrlDialog;
3945 UrlDialog.propTypes = {
3946 onAttach: _propTypes.default.func.isRequired,
3947 onClose: _propTypes.default.func.isRequired,
3948 url: _propTypes.default.string
3949 };
3950
3951 /***/ }),
3952
3953 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3954 /*!************************************************************************************!*\
3955 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3956 \************************************************************************************/
3957 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3958
3959 "use strict";
3960
3961
3962 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3963 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3964 Object.defineProperty(exports, "__esModule", ({
3965 value: true
3966 }));
3967 exports["default"] = void 0;
3968 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3969 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3970 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3971 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3972 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3973 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3974 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3975 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3976 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3977 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3978 var _excluded = ["sx", "PaperProps"];
3979 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); }
3980 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; }
3981 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; }
3982 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; }
3983 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3984 return {
3985 '& .MuiDialog-container': {
3986 marginTop: 0,
3987 alignItems: 'flex-end',
3988 paddingBottom: '16vh'
3989 },
3990 '& .MuiPaper-root': {
3991 margin: 0,
3992 maxHeight: '55vh'
3993 }
3994 };
3995 });
3996 var DialogHeader = function DialogHeader(_ref) {
3997 var onClose = _ref.onClose,
3998 children = _ref.children;
3999 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
4000 sx: {
4001 fontWeight: 'normal'
4002 },
4003 color: "transparent",
4004 position: "relative"
4005 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
4006 variant: "dense"
4007 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
4008 sx: {
4009 mr: 1
4010 }
4011 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4012 component: "span",
4013 variant: "subtitle2",
4014 sx: {
4015 fontWeight: 'bold',
4016 textTransform: 'uppercase'
4017 }
4018 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4019 label: (0, _i18n.__)('Beta', 'elementor'),
4020 color: "default",
4021 size: "small",
4022 sx: {
4023 ml: 1
4024 }
4025 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4026 direction: "row",
4027 spacing: 1,
4028 alignItems: "center",
4029 sx: {
4030 ml: 'auto'
4031 }
4032 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4033 size: "small",
4034 "aria-label": "close",
4035 onClick: onClose,
4036 sx: {
4037 '&.MuiButtonBase-root': {
4038 mr: -1
4039 }
4040 }
4041 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
4042 };
4043 DialogHeader.propTypes = {
4044 children: _propTypes.default.node,
4045 onClose: _propTypes.default.func.isRequired
4046 };
4047 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
4048 return {
4049 '&.MuiDialogContent-root': {
4050 padding: 0
4051 }
4052 };
4053 });
4054 var LayoutDialog = function LayoutDialog(_ref2) {
4055 var _ref2$sx = _ref2.sx,
4056 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
4057 _ref2$PaperProps = _ref2.PaperProps,
4058 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
4059 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
4060 var _useState = (0, _react.useState)({
4061 pointerEvents: 'none'
4062 }),
4063 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4064 sxStyle = _useState2[0],
4065 setSxStyle = _useState2[1];
4066 var timeoutRef = (0, _react.useRef)(null);
4067
4068 /**
4069 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
4070 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
4071 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
4072 */
4073 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
4074 maxWidth: "md",
4075 PaperProps: _objectSpread({
4076 sx: {
4077 pointerEvents: 'auto'
4078 },
4079 onMouseEnter: function onMouseEnter() {
4080 clearTimeout(timeoutRef.current);
4081 setSxStyle({
4082 pointerEvents: 'all'
4083 });
4084 },
4085 onMouseLeave: function onMouseLeave() {
4086 clearTimeout(timeoutRef.current);
4087 timeoutRef.current = setTimeout(function () {
4088 setSxStyle({
4089 pointerEvents: 'none'
4090 });
4091 }, 200);
4092 }
4093 }, PaperProps)
4094 }, props, {
4095 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
4096 }));
4097 };
4098 LayoutDialog.propTypes = {
4099 sx: _propTypes.default.object,
4100 PaperProps: _propTypes.default.object
4101 };
4102 LayoutDialog.Header = DialogHeader;
4103 LayoutDialog.Content = StyledDialogContent;
4104 var _default = LayoutDialog;
4105 exports["default"] = _default;
4106
4107 /***/ }),
4108
4109 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
4110 /*!*********************************************************************************************!*\
4111 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
4112 \*********************************************************************************************/
4113 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4114
4115 "use strict";
4116
4117
4118 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4119 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4120 Object.defineProperty(exports, "__esModule", ({
4121 value: true
4122 }));
4123 exports.ProTemplateIndicator = void 0;
4124 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4125 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4126 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4127 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4128 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
4129 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); }
4130 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; }
4131 var popoverId = 'e-pro-upgrade-popover';
4132 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
4133 var theme = _ref.theme;
4134 return {
4135 position: 'relative',
4136 padding: theme.spacing(3),
4137 boxShadow: theme.shadows[4],
4138 zIndex: '9999'
4139 };
4140 });
4141 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
4142 var theme = _ref2.theme;
4143 return {
4144 position: 'absolute',
4145 width: theme.spacing(5),
4146 height: theme.spacing(5),
4147 overflow: 'hidden',
4148 // Override Popper inline styles.
4149 left: '100% !important',
4150 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
4151 '&::after': {
4152 backgroundColor: theme.palette.background.paper,
4153 content: '""',
4154 display: 'block',
4155 position: 'absolute',
4156 width: theme.spacing(2.5),
4157 height: theme.spacing(2.5),
4158 top: '50%',
4159 left: '50%',
4160 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
4161 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
4162 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
4163 }
4164 };
4165 });
4166 var ProTemplateIndicator = function ProTemplateIndicator() {
4167 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
4168 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
4169 var _useState = (0, _react.useState)(false),
4170 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4171 isPopoverOpen = _useState2[0],
4172 setIsPopoverOpen = _useState2[1];
4173 var anchorEl = (0, _react.useRef)(null);
4174 var arrowEl = (0, _react.useRef)(null);
4175 var showPopover = function showPopover() {
4176 return setIsPopoverOpen(true);
4177 };
4178 var hidePopover = function hidePopover() {
4179 return setIsPopoverOpen(false);
4180 };
4181 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4182 flexDirection: "row-reverse",
4183 component: "span",
4184 display: "flex",
4185 onMouseLeave: hidePopover,
4186 alignItems: "center"
4187 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4188 ref: anchorEl,
4189 onMouseEnter: showPopover,
4190 onClick: function onClick(e) {
4191 return e.stopPropagation();
4192 } /* Do nothing */,
4193 "aria-owns": isPopoverOpen ? popoverId : undefined,
4194 "aria-haspopup": "true",
4195 sx: {
4196 m: 1,
4197 '&:hover': {
4198 backgroundColor: 'action.selected'
4199 }
4200 }
4201 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
4202 sx: {
4203 color: 'text.primary'
4204 }
4205 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
4206 open: isPopoverOpen,
4207 popperOptions: {
4208 placement: 'left-start',
4209 modifiers: [{
4210 name: 'arrow',
4211 enabled: true,
4212 options: {
4213 element: arrowEl.current,
4214 padding: 5
4215 }
4216 }, {
4217 name: 'offset',
4218 options: {
4219 offset: [0, 10]
4220 }
4221 }]
4222 },
4223 anchorEl: anchorEl.current,
4224 sx: {
4225 zIndex: '9999',
4226 maxWidth: 300
4227 }
4228 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
4229 ref: arrowEl
4230 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4231 alignItems: "start",
4232 spacing: 2
4233 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
4234 color: "promotion",
4235 variant: "outlined",
4236 size: "small",
4237 label: (0, _i18n.__)('Pro', 'elementor'),
4238 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
4239 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4240 variant: "body2"
4241 }, (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, {
4242 variant: "contained",
4243 color: "promotion",
4244 size: "small",
4245 href: actionUrl,
4246 target: "_blank",
4247 sx: {
4248 alignSelf: 'flex-end'
4249 }
4250 }, actionLabel)))));
4251 };
4252 exports.ProTemplateIndicator = ProTemplateIndicator;
4253
4254 /***/ }),
4255
4256 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
4257 /*!******************************************************************************************!*\
4258 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
4259 \******************************************************************************************/
4260 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4261
4262 "use strict";
4263
4264
4265 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4266 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4267 Object.defineProperty(exports, "__esModule", ({
4268 value: true
4269 }));
4270 exports["default"] = void 0;
4271 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4272 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4273 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4274 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4275 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4276 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4277 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4278 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4279 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
4280 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4281 var _excluded = ["onSubmit"];
4282 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); }
4283 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; }
4284 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; }
4285 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; }
4286 var TextInput = (0, _react.forwardRef)(function (props, ref) {
4287 return /*#__PURE__*/_react.default.createElement(_ui.TextField
4288 // eslint-disable-next-line jsx-a11y/no-autofocus
4289 , (0, _extends2.default)({
4290 autoFocus: true,
4291 multiline: true,
4292 size: "small",
4293 maxRows: 3,
4294 color: "secondary",
4295 variant: "standard"
4296 }, props, {
4297 inputRef: ref,
4298 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
4299 type: 'search',
4300 sx: {
4301 pt: 0
4302 }
4303 })
4304 }));
4305 });
4306 TextInput.propTypes = {
4307 InputProps: _propTypes.default.object
4308 };
4309 var PaperComponent = function PaperComponent(props) {
4310 var _useConfig = (0, _config.useConfig)(),
4311 mode = _useConfig.mode;
4312 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
4313 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
4314 elevation: 8,
4315 sx: {
4316 borderRadius: 2
4317 }
4318 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4319 component: _ui.Box,
4320 color: function color(theme) {
4321 return theme.palette.text.tertiary;
4322 },
4323 variant: "caption",
4324 paddingX: 2,
4325 paddingY: 1
4326 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4327 sx: {
4328 m: 2
4329 }
4330 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
4331 libraryLink: libraryLink
4332 })));
4333 };
4334 PaperComponent.propTypes = {
4335 children: _propTypes.default.node
4336 };
4337 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4338 var onSubmit = _ref.onSubmit,
4339 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4340 var _useState = (0, _react.useState)(false),
4341 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4342 showSuggestions = _useState2[0],
4343 setShowSuggestions = _useState2[1];
4344 var theme = (0, _ui.useTheme)();
4345 var itemHeight = parseInt(theme.spacing(4));
4346 var maxItems = 5;
4347 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4348 PaperComponent: PaperComponent,
4349 ListboxProps: {
4350 sx: {
4351 maxHeight: maxItems * itemHeight
4352 }
4353 },
4354 renderOption: function renderOption(optionProps, option) {
4355 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4356 title: option.text,
4357 noWrap: true,
4358 variant: "body2",
4359 component: _ui.Box,
4360 sx: {
4361 '&.MuiAutocomplete-option': {
4362 display: 'block',
4363 minHeight: itemHeight
4364 }
4365 }
4366 }), option.text);
4367 },
4368 freeSolo: true,
4369 fullWidth: true,
4370 disableClearable: true,
4371 open: showSuggestions,
4372 onClose: function onClose(e) {
4373 var _e$relatedTarget;
4374 return setShowSuggestions('A' === ((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.tagName));
4375 },
4376 onKeyDown: function onKeyDown(e) {
4377 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4378 onSubmit(e);
4379 } else if ('/' === e.key && '' === e.target.value) {
4380 e.preventDefault();
4381 setShowSuggestions(true);
4382 }
4383 }
4384 }, props));
4385 };
4386 PromptAutocomplete.propTypes = {
4387 onSubmit: _propTypes.default.func.isRequired
4388 };
4389 PromptAutocomplete.TextInput = TextInput;
4390 var _default = PromptAutocomplete;
4391 exports["default"] = _default;
4392
4393 /***/ }),
4394
4395 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4396 /*!**********************************************************************************!*\
4397 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4398 \**********************************************************************************/
4399 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4400
4401 "use strict";
4402
4403
4404 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4405 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4406 Object.defineProperty(exports, "__esModule", ({
4407 value: true
4408 }));
4409 exports["default"] = void 0;
4410 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4411 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4412 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4413 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4414 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4415 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4416 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4417 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4418 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4419 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4420 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4421 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4422 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4423 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4424 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4425 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4426 var _excluded = ["tooltip"];
4427 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); }
4428 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; }
4429 var PROMPT_SUGGESTIONS = Object.freeze([{
4430 text: (0, _i18n.__)('Hero section on [topic] with heading, text, buttons on the right, and an image on the left', 'elementor.com')
4431 }, {
4432 text: (0, _i18n.__)('About Us section on [topic] with heading, text, and big image below', 'elementor.com')
4433 }, {
4434 text: (0, _i18n.__)('Team section with four image boxes showcasing team members', 'elementor.com')
4435 }, {
4436 text: (0, _i18n.__)('FAQ section with a toggle widget showcasing FAQs about [topic]', 'elementor.com')
4437 }, {
4438 text: (0, _i18n.__)('Gallery section with a carousel displaying three images at once', 'elementor.com')
4439 }, {
4440 text: (0, _i18n.__)('Contact section with a form for [topic]', 'elementor.com')
4441 }, {
4442 text: (0, _i18n.__)('Client section featuring companies\' logos', 'elementor.com')
4443 }, {
4444 text: (0, _i18n.__)('Testimonial section with testimonials, each featuring a star rating and an image', 'elementor.com')
4445 }, {
4446 text: (0, _i18n.__)('Service section about [topic], showcasing four services with buttons', 'elementor.com')
4447 }, {
4448 text: (0, _i18n.__)('Stats section with counters displaying data about [topic]', 'elementor.com')
4449 }, {
4450 text: (0, _i18n.__)('Quote section with colored background, featuring a centered quote', 'elementor.com')
4451 }, {
4452 text: (0, _i18n.__)('Pricing section for [topic] with a pricing list', 'elementor.com')
4453 }, {
4454 text: (0, _i18n.__)('Subscribe section featuring a simple email form, inviting users to stay informed on [topic]', 'elementor.com')
4455 }]);
4456 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4457 var tooltip = _ref.tooltip,
4458 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4459 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4460 title: tooltip
4461 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4462 component: "span",
4463 sx: {
4464 cursor: props.disabled ? 'default' : 'pointer'
4465 }
4466 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4467 };
4468 IconButtonWithTooltip.propTypes = {
4469 tooltip: _propTypes.default.string,
4470 disabled: _propTypes.default.bool
4471 };
4472 var BackButton = function BackButton(props) {
4473 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4474 size: "small",
4475 color: "secondary",
4476 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4477 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4478 };
4479 var EditButton = function EditButton(props) {
4480 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4481 size: "small",
4482 color: "primary",
4483 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4484 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4485 };
4486 var GenerateButton = function GenerateButton(props) {
4487 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4488 size: "small",
4489 fullWidth: false
4490 }, props), (0, _i18n.__)('Generate', 'elementor'));
4491 };
4492 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4493 var _attachments$;
4494 var attachments = _ref2.attachments,
4495 isActive = _ref2.isActive,
4496 isLoading = _ref2.isLoading,
4497 _ref2$showActions = _ref2.showActions,
4498 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4499 onAttach = _ref2.onAttach,
4500 onDetach = _ref2.onDetach,
4501 _onSubmit = _ref2.onSubmit,
4502 onBack = _ref2.onBack,
4503 onEdit = _ref2.onEdit,
4504 _ref2$shouldResetProm = _ref2.shouldResetPrompt,
4505 shouldResetPrompt = _ref2$shouldResetProm === void 0 ? false : _ref2$shouldResetProm;
4506 var _useState = (0, _react.useState)(''),
4507 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4508 prompt = _useState2[0],
4509 setPrompt = _useState2[1];
4510 (0, _react.useEffect)(function () {
4511 if (shouldResetPrompt) {
4512 setPrompt('');
4513 }
4514 }, [shouldResetPrompt]);
4515 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4516 isEnhancing = _usePromptEnhancer.isEnhancing,
4517 enhance = _usePromptEnhancer.enhance;
4518 var previousPrompt = (0, _react.useRef)('');
4519 var _useConfig = (0, _config.useConfig)(),
4520 attachmentsTypes = _useConfig.attachmentsTypes;
4521 var isInputDisabled = isLoading || isEnhancing || !isActive;
4522 var isInputEmpty = '' === prompt && !attachments.length;
4523 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4524 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4525 var attachmentsConfig = attachmentsTypes[attachmentsType];
4526 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4527 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');
4528 var handleBack = function handleBack() {
4529 setPrompt(previousPrompt.current);
4530 onBack();
4531 };
4532 var handleEdit = function handleEdit() {
4533 previousPrompt.current = prompt;
4534 onEdit();
4535 };
4536 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4537 component: "form",
4538 onSubmit: function onSubmit(e) {
4539 return _onSubmit(e, prompt);
4540 },
4541 direction: "row",
4542 sx: {
4543 p: 3
4544 },
4545 alignItems: "start",
4546 gap: 1
4547 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4548 direction: "row",
4549 alignItems: "start",
4550 flexGrow: 1,
4551 spacing: 2
4552 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4553 disabled: isLoading || isEnhancing,
4554 onClick: handleBack
4555 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4556 disabled: isLoading,
4557 onClick: handleEdit
4558 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4559 attachments: attachments,
4560 onAttach: onAttach,
4561 onDetach: onDetach,
4562 disabled: isInputDisabled
4563 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4564 value: prompt,
4565 disabled: isInputDisabled,
4566 onSubmit: function onSubmit(e) {
4567 return _onSubmit(e, prompt);
4568 },
4569 options: promptSuggestions,
4570 onChange: function onChange(_, selectedValue) {
4571 return setPrompt(selectedValue.text + ' ');
4572 },
4573 renderInput: function renderInput(params) {
4574 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4575 ref: ref,
4576 onChange: function onChange(e) {
4577 return setPrompt(e.target.value);
4578 },
4579 placeholder: promptPlaceholder
4580 }));
4581 }
4582 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4583 size: "small",
4584 disabled: isGenerateDisabled || '' === prompt,
4585 isLoading: isEnhancing,
4586 onClick: function onClick() {
4587 return enhance().then(function (_ref3) {
4588 var result = _ref3.result;
4589 return setPrompt(result);
4590 });
4591 }
4592 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4593 disabled: isGenerateDisabled
4594 }));
4595 });
4596 PromptForm.propTypes = {
4597 isActive: _propTypes.default.bool,
4598 onAttach: _propTypes.default.func,
4599 onDetach: _propTypes.default.func,
4600 isLoading: _propTypes.default.bool,
4601 showActions: _propTypes.default.bool,
4602 onSubmit: _propTypes.default.func.isRequired,
4603 onBack: _propTypes.default.func.isRequired,
4604 onEdit: _propTypes.default.func.isRequired,
4605 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
4606 shouldResetPrompt: _propTypes.default.bool
4607 };
4608 var _default = PromptForm;
4609 exports["default"] = _default;
4610
4611 /***/ }),
4612
4613 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4614 /*!*******************************************************************************************!*\
4615 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4616 \*******************************************************************************************/
4617 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4618
4619 "use strict";
4620
4621
4622 Object.defineProperty(exports, "__esModule", ({
4623 value: true
4624 }));
4625 exports["default"] = void 0;
4626 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4627 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4628 shouldForwardProp: function shouldForwardProp(prop) {
4629 return prop !== 'outlineOffset';
4630 }
4631 })(function (_ref) {
4632 var theme = _ref.theme,
4633 selected = _ref.selected,
4634 height = _ref.height,
4635 disabled = _ref.disabled,
4636 _ref$outlineOffset = _ref.outlineOffset,
4637 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4638 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4639 var outline = "2px solid ".concat(outlineColor);
4640 return {
4641 height: height,
4642 cursor: disabled ? 'default' : 'pointer',
4643 overflow: 'hidden',
4644 boxSizing: 'border-box',
4645 backgroundPosition: 'top center',
4646 backgroundSize: '100% auto',
4647 backgroundRepeat: 'no-repeat',
4648 backgroundColor: theme.palette.common.white,
4649 borderRadius: theme.shape.borderRadius * 0.5,
4650 outlineOffset: outlineOffset,
4651 outline: outline,
4652 opacity: disabled ? '0.4' : '1',
4653 transition: "all 50ms linear",
4654 '&:hover': disabled ? {} : {
4655 outlineColor: theme.palette.text.primary
4656 }
4657 };
4658 });
4659 var _default = ScreenshotContainer;
4660 exports["default"] = _default;
4661
4662 /***/ }),
4663
4664 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4665 /*!*********************************************************************************************!*\
4666 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4667 \*********************************************************************************************/
4668 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4669
4670 "use strict";
4671
4672
4673 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4674 Object.defineProperty(exports, "__esModule", ({
4675 value: true
4676 }));
4677 exports["default"] = ScreenshotUnavailable;
4678 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4679 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4680 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4681 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4682 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4683 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4684 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; }
4685 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; }
4686 function ScreenshotUnavailable(props) {
4687 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4688 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4689 display: 'flex',
4690 alignItems: 'center',
4691 justifyContent: 'center',
4692 backgroundColor: 'background.paper',
4693 color: 'text.tertiary',
4694 fontStyle: 'italic',
4695 fontSize: '12px',
4696 paddingInline: 12,
4697 textAlign: 'center',
4698 lineHeight: 1.5
4699 })
4700 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4701 }
4702 ScreenshotUnavailable.propTypes = {
4703 sx: _propTypes.default.object
4704 };
4705
4706 /***/ }),
4707
4708 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4709 /*!*********************************************************************************!*\
4710 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4711 \*********************************************************************************/
4712 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4713
4714 "use strict";
4715
4716
4717 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4718 Object.defineProperty(exports, "__esModule", ({
4719 value: true
4720 }));
4721 exports["default"] = void 0;
4722 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4723 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4724 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4725 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4726 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4727 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4728 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4729 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; }
4730 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; }
4731 var SCREENSHOT_HEIGHT = '138px';
4732 var Screenshot = function Screenshot(_ref) {
4733 var url = _ref.url,
4734 type = _ref.type,
4735 _ref$isLoading = _ref.isLoading,
4736 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4737 _ref$isSelected = _ref.isSelected,
4738 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4739 isPlaceholder = _ref.isPlaceholder,
4740 disabled = _ref.disabled,
4741 onClick = _ref.onClick,
4742 _ref$sx = _ref.sx,
4743 sx = _ref$sx === void 0 ? {} : _ref$sx,
4744 outlineOffset = _ref.outlineOffset;
4745 if (isPlaceholder) {
4746 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4747 sx: _objectSpread({
4748 height: SCREENSHOT_HEIGHT
4749 }, sx)
4750 });
4751 }
4752 if (isLoading) {
4753 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4754 width: "100%",
4755 animation: "wave",
4756 variant: "rounded",
4757 height: SCREENSHOT_HEIGHT,
4758 sx: sx
4759 });
4760 }
4761 if (!url) {
4762 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4763 selected: isSelected,
4764 disabled: disabled,
4765 sx: sx,
4766 onClick: onClick,
4767 height: SCREENSHOT_HEIGHT,
4768 outlineOffset: outlineOffset
4769 });
4770 }
4771 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4772 selected: isSelected,
4773 disabled: disabled,
4774 sx: _objectSpread({
4775 backgroundImage: "url('".concat(url, "')")
4776 }, sx),
4777 onClick: onClick,
4778 height: SCREENSHOT_HEIGHT,
4779 outlineOffset: outlineOffset
4780 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4781 type: type
4782 }));
4783 };
4784 Screenshot.propTypes = {
4785 isSelected: _propTypes.default.bool,
4786 isLoading: _propTypes.default.bool,
4787 isPlaceholder: _propTypes.default.bool,
4788 disabled: _propTypes.default.bool,
4789 onClick: _propTypes.default.func.isRequired,
4790 url: _propTypes.default.string,
4791 type: _propTypes.default.string,
4792 sx: _propTypes.default.object,
4793 outlineOffset: _propTypes.default.string
4794 };
4795 var _default = Screenshot;
4796 exports["default"] = _default;
4797
4798 /***/ }),
4799
4800 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4801 /*!*************************************************************************************!*\
4802 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4803 \*************************************************************************************/
4804 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4805
4806 "use strict";
4807
4808
4809 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4810 Object.defineProperty(exports, "__esModule", ({
4811 value: true
4812 }));
4813 exports["default"] = void 0;
4814 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4815 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4816 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4817 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4818 var TemplateBadge = function TemplateBadge(props) {
4819 var _useConfig = (0, _config.useConfig)(),
4820 hasPro = _useConfig.hasPro;
4821 if ('Pro' === props.type && !hasPro) {
4822 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4823 }
4824 return null;
4825 };
4826 var _default = TemplateBadge;
4827 exports["default"] = _default;
4828 TemplateBadge.propTypes = {
4829 type: _propTypes.default.string
4830 };
4831
4832 /***/ }),
4833
4834 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4835 /*!********************************************************************************************!*\
4836 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4837 \********************************************************************************************/
4838 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4839
4840 "use strict";
4841
4842
4843 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4844 Object.defineProperty(exports, "__esModule", ({
4845 value: true
4846 }));
4847 exports["default"] = void 0;
4848 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4849 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4850 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4851 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4852 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4853 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4854 var _excluded = ["onClose", "onCancel", "title", "text"];
4855 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4856 var onClose = _ref.onClose,
4857 onCancel = _ref.onCancel,
4858 title = _ref.title,
4859 text = _ref.text,
4860 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4861 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4862 "aria-labelledby": "unsaved-changes-alert-title",
4863 "aria-describedby": "unsaved-changes-alert-description"
4864 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4865 id: "unsaved-changes-alert-title"
4866 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4867 id: "unsaved-changes-alert-description"
4868 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4869 onClick: onCancel,
4870 color: "secondary"
4871 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4872 onClick: onClose,
4873 color: "error",
4874 variant: "contained"
4875 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4876 };
4877 UnsavedChangesAlert.propTypes = {
4878 title: _propTypes.default.string,
4879 text: _propTypes.default.string,
4880 onCancel: _propTypes.default.func,
4881 onClose: _propTypes.default.func
4882 };
4883 var _default = UnsavedChangesAlert;
4884 exports["default"] = _default;
4885
4886 /***/ }),
4887
4888 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4889 /*!**************************************************************************!*\
4890 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4891 \**************************************************************************/
4892 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4893
4894 "use strict";
4895
4896
4897 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4898 Object.defineProperty(exports, "__esModule", ({
4899 value: true
4900 }));
4901 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4902 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4903 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4904 var MODE_LAYOUT = 'layout';
4905 exports.MODE_LAYOUT = MODE_LAYOUT;
4906 var MODE_VARIATION = 'variation';
4907 exports.MODE_VARIATION = MODE_VARIATION;
4908 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4909 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4910 var ConfigContext = _react.default.createContext({});
4911 var useConfig = function useConfig() {
4912 return _react.default.useContext(ConfigContext);
4913 };
4914 exports.useConfig = useConfig;
4915 var ConfigProvider = function ConfigProvider(props) {
4916 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4917 value: {
4918 mode: props.mode,
4919 attachmentsTypes: props.attachmentsTypes,
4920 onClose: props.onClose,
4921 onConnect: props.onConnect,
4922 onData: props.onData,
4923 onInsert: props.onInsert,
4924 onSelect: props.onSelect,
4925 onGenerate: props.onGenerate,
4926 currentContext: props.currentContext,
4927 hasPro: props.hasPro
4928 }
4929 }, props.children);
4930 };
4931 exports.ConfigProvider = ConfigProvider;
4932 ConfigProvider.propTypes = {
4933 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4934 children: _propTypes.default.node.isRequired,
4935 attachmentsTypes: _propTypes.default.object.isRequired,
4936 onClose: _propTypes.default.func.isRequired,
4937 onConnect: _propTypes.default.func.isRequired,
4938 onData: _propTypes.default.func.isRequired,
4939 onInsert: _propTypes.default.func.isRequired,
4940 onSelect: _propTypes.default.func.isRequired,
4941 onGenerate: _propTypes.default.func.isRequired,
4942 currentContext: _propTypes.default.object,
4943 hasPro: _propTypes.default.bool
4944 };
4945 var _default = ConfigContext;
4946 exports["default"] = _default;
4947
4948 /***/ }),
4949
4950 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4951 /*!*********************************************************************************!*\
4952 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4953 \*********************************************************************************/
4954 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4955
4956 "use strict";
4957
4958
4959 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4960 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4961 Object.defineProperty(exports, "__esModule", ({
4962 value: true
4963 }));
4964 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4965 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4966 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4967 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4968 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4969 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4970 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4971 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); }
4972 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; }
4973 var RemoteConfigContext = _react.default.createContext({});
4974 var useRemoteConfig = function useRemoteConfig() {
4975 return _react.default.useContext(RemoteConfigContext);
4976 };
4977 exports.useRemoteConfig = useRemoteConfig;
4978 var CONFIG_KEYS = {
4979 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl',
4980 AUTH_TOKEN: 'jwt'
4981 };
4982 exports.CONFIG_KEYS = CONFIG_KEYS;
4983 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4984 var _useState = (0, _react.useState)(false),
4985 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4986 isLoading = _useState2[0],
4987 setIsLoading = _useState2[1];
4988 var _useState3 = (0, _react.useState)(false),
4989 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4990 isLoaded = _useState4[0],
4991 setIsLoaded = _useState4[1];
4992 var _useState5 = (0, _react.useState)(false),
4993 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4994 isError = _useState6[0],
4995 setIsError = _useState6[1];
4996 var _useState7 = (0, _react.useState)({}),
4997 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4998 remoteConfig = _useState8[0],
4999 setRemoteConfig = _useState8[1];
5000 var fetchData = /*#__PURE__*/function () {
5001 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5002 var result;
5003 return _regenerator.default.wrap(function _callee$(_context) {
5004 while (1) switch (_context.prev = _context.next) {
5005 case 0:
5006 setIsLoading(true);
5007 _context.prev = 1;
5008 _context.next = 4;
5009 return (0, _api.getRemoteConfig)().finally(function () {
5010 setIsLoaded(true);
5011 setIsLoading(false);
5012 });
5013 case 4:
5014 result = _context.sent;
5015 if (result.config) {
5016 _context.next = 7;
5017 break;
5018 }
5019 throw new Error('Invalid remote config');
5020 case 7:
5021 setRemoteConfig(result.config);
5022 _context.next = 15;
5023 break;
5024 case 10:
5025 _context.prev = 10;
5026 _context.t0 = _context["catch"](1);
5027 setIsError(true);
5028 setIsLoaded(true);
5029 setIsLoading(false);
5030 case 15:
5031 case "end":
5032 return _context.stop();
5033 }
5034 }, _callee, null, [[1, 10]]);
5035 }));
5036 return function fetchData() {
5037 return _ref.apply(this, arguments);
5038 };
5039 }();
5040 if (!isLoaded && !isLoading) {
5041 fetchData();
5042 }
5043 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
5044 value: {
5045 isLoading: isLoading,
5046 isLoaded: isLoaded,
5047 isError: isError,
5048 remoteConfig: remoteConfig
5049 }
5050 }, props.children);
5051 };
5052 exports.RemoteConfigProvider = RemoteConfigProvider;
5053 RemoteConfigProvider.propTypes = {
5054 children: _propTypes.default.node.isRequired,
5055 onError: _propTypes.default.func.isRequired
5056 };
5057
5058 /***/ }),
5059
5060 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
5061 /*!****************************************************************************************!*\
5062 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
5063 \****************************************************************************************/
5064 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5065
5066 "use strict";
5067
5068
5069 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5070 Object.defineProperty(exports, "__esModule", ({
5071 value: true
5072 }));
5073 exports.useAttachUrlService = void 0;
5074 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5075 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5076 var _react = __webpack_require__(/*! react */ "react");
5077 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
5078 var useAttachUrlService = function useAttachUrlService(args) {
5079 var _window$elementorComm, _window$elementorComm2;
5080 var _useState = (0, _react.useState)(args.targetUrl),
5081 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5082 currentUrl = _useState2[0],
5083 setCurrentUrl = _useState2[1];
5084 var theme = (0, _ui.useTheme)();
5085 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
5086 isLoaded = _useRemoteConfig.isLoaded,
5087 isError = _useRemoteConfig.isError,
5088 remoteConfig = _useRemoteConfig.remoteConfig;
5089 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
5090 return {
5091 iframeSource: '',
5092 currentUrl: currentUrl,
5093 setCurrentUrl: setCurrentUrl
5094 };
5095 }
5096 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
5097 urlObject.searchParams.append('colorScheme', theme.palette.mode);
5098 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
5099 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);
5100 if (currentUrl) {
5101 urlObject.searchParams.append('url', currentUrl);
5102 }
5103 return {
5104 iframeSource: urlObject.toString(),
5105 currentUrl: currentUrl,
5106 setCurrentUrl: setCurrentUrl
5107 };
5108 };
5109 exports.useAttachUrlService = useAttachUrlService;
5110
5111 /***/ }),
5112
5113 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
5114 /*!***********************************************************************************!*\
5115 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
5116 \***********************************************************************************/
5117 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5118
5119 "use strict";
5120
5121
5122 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5123 Object.defineProperty(exports, "__esModule", ({
5124 value: true
5125 }));
5126 exports["default"] = void 0;
5127 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
5128 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
5129 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
5130 return (0, _usePrompt.default)(function (requestBody, signal) {
5131 requestBody.variationType = type;
5132 return (0, _api.generateLayout)(requestBody, signal);
5133 }, initialValue);
5134 };
5135 var _default = useLayoutPrompt;
5136 exports["default"] = _default;
5137
5138 /***/ }),
5139
5140 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
5141 /*!********************************************************************************!*\
5142 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
5143 \********************************************************************************/
5144 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5145
5146 "use strict";
5147
5148
5149 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5150 Object.defineProperty(exports, "__esModule", ({
5151 value: true
5152 }));
5153 exports["default"] = void 0;
5154 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5155 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5156 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5157 var _react = __webpack_require__(/*! react */ "react");
5158 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
5159 var ERROR_INITIAL_VALUE = '';
5160 var useScreenshot = function useScreenshot(type, onData) {
5161 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
5162 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5163 error = _useState2[0],
5164 setError = _useState2[1];
5165 var _useState3 = (0, _react.useState)(false),
5166 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5167 isLoading = _useState4[0],
5168 setIsLoading = _useState4[1];
5169 var layoutData = (0, _useLayoutPrompt.default)(type, null);
5170 var generate = function generate(requestBody, signal) {
5171 setIsLoading(true);
5172 setError(ERROR_INITIAL_VALUE);
5173 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
5174 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
5175 var createdScreenshot;
5176 return _regenerator.default.wrap(function _callee$(_context) {
5177 while (1) switch (_context.prev = _context.next) {
5178 case 0:
5179 _context.next = 2;
5180 return onData(data.result);
5181 case 2:
5182 createdScreenshot = _context.sent;
5183 createdScreenshot.sendUsageData = function () {
5184 return layoutData.sendUsageData(data);
5185 };
5186 createdScreenshot.baseTemplateId = data.baseTemplateId;
5187 createdScreenshot.type = data.type;
5188 return _context.abrupt("return", createdScreenshot);
5189 case 7:
5190 case "end":
5191 return _context.stop();
5192 }
5193 }, _callee);
5194 }));
5195 return function (_x) {
5196 return _ref.apply(this, arguments);
5197 };
5198 }()).catch(function (err) {
5199 setError(err.extra_data ? err : err.message || err);
5200 throw err;
5201 }).finally(function () {
5202 return setIsLoading(false);
5203 });
5204 };
5205 return {
5206 generate: generate,
5207 error: error,
5208 isLoading: isLoading
5209 };
5210 };
5211 var _default = useScreenshot;
5212 exports["default"] = _default;
5213
5214 /***/ }),
5215
5216 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
5217 /*!*********************************************************************************!*\
5218 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
5219 \*********************************************************************************/
5220 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5221
5222 "use strict";
5223
5224
5225 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5226 Object.defineProperty(exports, "__esModule", ({
5227 value: true
5228 }));
5229 exports["default"] = void 0;
5230 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5231 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5232 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5233 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5234 var _react = __webpack_require__(/*! react */ "react");
5235 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
5236 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5237 var _requestsIds = __webpack_require__(/*! ../../../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
5238 var PENDING_VALUE = {
5239 isPending: true
5240 };
5241 var useScreenshots = function useScreenshots(_ref) {
5242 var onData = _ref.onData;
5243 var _useState = (0, _react.useState)([]),
5244 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5245 screenshots = _useState2[0],
5246 setScreenshots = _useState2[1];
5247
5248 /**
5249 * The ids for each request are:
5250 * - editorSessionId: a unique id for each editor opening
5251 * - sessionId: a unique id for each session. (open the AI builder)
5252 * - generateId: a unique id for each generate request. (prompt change)
5253 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
5254 * - requestId: a unique id for each generate request.
5255 */
5256
5257 var _useConfig = (0, _config.useConfig)(),
5258 currentContext = _useConfig.currentContext;
5259 var _useRequestIds = (0, _requestsIds.useRequestIds)(),
5260 editorSessionId = _useRequestIds.editorSessionId,
5261 sessionId = _useRequestIds.sessionId,
5262 setRequest = _useRequestIds.setRequest,
5263 setBatch = _useRequestIds.setBatch,
5264 setGenerate = _useRequestIds.setGenerate;
5265 var generateIdRef = (0, _react.useRef)('');
5266 var batchId = setBatch();
5267 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
5268 var screenshotsGroupCount = screenshotsData.length;
5269 var error = screenshotsData.every(function (s) {
5270 return s === null || s === void 0 ? void 0 : s.error;
5271 }) ? screenshotsData[0].error : '';
5272 var isLoading = screenshotsData.some(function (s) {
5273 return s === null || s === void 0 ? void 0 : s.isLoading;
5274 });
5275 var abortController = (0, _react.useRef)(null);
5276 var abort = function abort() {
5277 var _abortController$curr;
5278 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
5279 };
5280 var createScreenshots = /*#__PURE__*/function () {
5281 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
5282 var onGenerate, onError, promises, results, isAllFailed;
5283 return _regenerator.default.wrap(function _callee$(_context) {
5284 while (1) switch (_context.prev = _context.next) {
5285 case 0:
5286 abortController.current = new AbortController();
5287 onGenerate = function onGenerate(screenshot) {
5288 setScreenshots(function (prev) {
5289 var updatedData = (0, _toConsumableArray2.default)(prev);
5290 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
5291 updatedData[pendingIndex] = screenshot;
5292 return updatedData;
5293 });
5294 return true;
5295 };
5296 onError = function onError() {
5297 setScreenshots(function (prev) {
5298 var updatedData = (0, _toConsumableArray2.default)(prev);
5299 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
5300 updatedData[pendingIndex] = {
5301 isError: true
5302 };
5303 return updatedData;
5304 });
5305 return false;
5306 };
5307 promises = screenshotsData.map(function (_ref3) {
5308 var generate = _ref3.generate;
5309 var prevGeneratedIds = screenshots.map(function (screenshot) {
5310 return screenshot.baseTemplateId || '';
5311 });
5312 var requestBody = {
5313 prompt: prompt,
5314 prevGeneratedIds: prevGeneratedIds,
5315 currentContext: currentContext,
5316 ids: {
5317 editorSessionId: editorSessionId.current,
5318 sessionId: sessionId.current,
5319 generateId: generateIdRef.current,
5320 batchId: batchId.current,
5321 requestId: setRequest().current
5322 },
5323 attachments: attachments.map(function (_ref4) {
5324 var type = _ref4.type,
5325 content = _ref4.content,
5326 label = _ref4.label,
5327 source = _ref4.source;
5328 // Send only the data that is needed for the generation.
5329 return {
5330 type: type,
5331 content: content,
5332 label: label,
5333 source: source
5334 };
5335 })
5336 };
5337 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
5338 });
5339 _context.next = 6;
5340 return Promise.all(promises);
5341 case 6:
5342 results = _context.sent;
5343 isAllFailed = results.every(function (value) {
5344 return false === value;
5345 });
5346 if (isAllFailed) {
5347 setScreenshots(function (prev) {
5348 var updatedData = (0, _toConsumableArray2.default)(prev);
5349 updatedData.splice(screenshotsGroupCount * -1);
5350 return updatedData;
5351 });
5352 }
5353 case 9:
5354 case "end":
5355 return _context.stop();
5356 }
5357 }, _callee);
5358 }));
5359 return function createScreenshots(_x, _x2) {
5360 return _ref2.apply(this, arguments);
5361 };
5362 }();
5363 var generate = function generate(prompt, attachments) {
5364 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5365 generateIdRef.current = setGenerate().current;
5366 setScreenshots(placeholders);
5367 createScreenshots(prompt, attachments);
5368 };
5369 var regenerate = function regenerate(prompt, attachments) {
5370 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5371 setScreenshots(function (prev) {
5372 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5373 });
5374 createScreenshots(prompt, attachments);
5375 };
5376 return {
5377 generate: generate,
5378 regenerate: regenerate,
5379 screenshots: screenshots,
5380 isLoading: isLoading,
5381 error: error,
5382 abort: abort
5383 };
5384 };
5385 var _default = useScreenshots;
5386 exports["default"] = _default;
5387
5388 /***/ }),
5389
5390 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5391 /*!****************************************************************************!*\
5392 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5393 \****************************************************************************/
5394 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5395
5396 "use strict";
5397
5398
5399 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5400 Object.defineProperty(exports, "__esModule", ({
5401 value: true
5402 }));
5403 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5404 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5405 var _react = __webpack_require__(/*! react */ "react");
5406 var SCREENSHOTS_PER_PAGE = 3;
5407 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5408 var MAX_PAGES = 5;
5409 exports.MAX_PAGES = MAX_PAGES;
5410 var useSlider = function useSlider() {
5411 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5412 _ref$slidesCount = _ref.slidesCount,
5413 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5414 _ref$slidesPerPage = _ref.slidesPerPage,
5415 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5416 _ref$gapPercentage = _ref.gapPercentage,
5417 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5418 var _useState = (0, _react.useState)(1),
5419 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5420 currentPage = _useState2[0],
5421 setCurrentPage = _useState2[1];
5422 var gapsCount = slidesPerPage - 1;
5423 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5424 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5425 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5426 (0, _react.useEffect)(function () {
5427 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5428 if (currentPage > 1 && currentPage > pagesCount) {
5429 setCurrentPage(pagesCount);
5430 }
5431 }, [pagesCount]);
5432 return {
5433 currentPage: currentPage,
5434 setCurrentPage: setCurrentPage,
5435 pagesCount: pagesCount,
5436 slidesPerPage: slidesPerPage,
5437 gapPercentage: gapPercentage,
5438 offsetXPercentage: offsetXPercentage,
5439 slideWidthPercentage: slideWidthPercentage
5440 };
5441 };
5442 var _default = useSlider;
5443 exports["default"] = _default;
5444
5445 /***/ }),
5446
5447 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5448 /*!*****************************************************************!*\
5449 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5450 \*****************************************************************/
5451 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5452
5453 "use strict";
5454
5455
5456 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5457 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5458 Object.defineProperty(exports, "__esModule", ({
5459 value: true
5460 }));
5461 exports["default"] = void 0;
5462 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5463 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5464 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5465 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5466 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5467 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5468 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5469 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5470 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5471 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5472 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5473 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5474 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5475 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5476 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5477 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5478 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5479 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5480 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5481 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5482 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5483 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5484 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5485 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5486 var _voicePromotionAlert = __webpack_require__(/*! ../../components/voice-promotion-alert */ "../modules/ai/assets/js/editor/components/voice-promotion-alert.js");
5487 var _excluded = ["children"];
5488 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5489 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
5490 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5491 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5492
5493 /**
5494 * @typedef {Object} Attachment
5495 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5496 * @property {string} previewHTML - HTML content as a string, representing a preview.
5497 * @property {string} content - Actual content of the attachment as a string.
5498 * @property {string} label - Label for the attachment.
5499 */
5500
5501 var RegenerateButton = function RegenerateButton(props) {
5502 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5503 size: "small",
5504 color: "secondary",
5505 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5506 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5507 };
5508 var UseLayoutButton = function UseLayoutButton(props) {
5509 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5510 size: "small",
5511 variant: "contained"
5512 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5513 };
5514 UseLayoutButton.propTypes = {
5515 sx: _propTypes.default.object
5516 };
5517 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5518 if (isLoading || isPromptFormActive) {
5519 return true;
5520 }
5521 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5522 };
5523 var FormLayout = function FormLayout(_ref) {
5524 var _screenshots$selected, _screenshots$2;
5525 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5526 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5527 _ref$DialogContentPro = _ref.DialogContentProps,
5528 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5529 initialAttachments = _ref.attachments;
5530 var _useConfig = (0, _config.useConfig)(),
5531 attachmentsTypes = _useConfig.attachmentsTypes,
5532 onData = _useConfig.onData,
5533 onInsert = _useConfig.onInsert,
5534 onSelect = _useConfig.onSelect,
5535 onClose = _useConfig.onClose,
5536 onGenerate = _useConfig.onGenerate;
5537 var _useScreenshots = (0, _useScreenshots2.default)({
5538 onData: onData
5539 }),
5540 screenshots = _useScreenshots.screenshots,
5541 generate = _useScreenshots.generate,
5542 regenerate = _useScreenshots.regenerate,
5543 isLoading = _useScreenshots.isLoading,
5544 error = _useScreenshots.error,
5545 abort = _useScreenshots.abort;
5546 var screenshotOutlineOffset = '2px';
5547 var _useSlider = (0, _useSlider2.default)({
5548 slidesCount: screenshots.length
5549 }),
5550 currentPage = _useSlider.currentPage,
5551 setCurrentPage = _useSlider.setCurrentPage,
5552 pagesCount = _useSlider.pagesCount,
5553 gapPercentage = _useSlider.gapPercentage,
5554 slidesPerPage = _useSlider.slidesPerPage,
5555 offsetXPercentage = _useSlider.offsetXPercentage,
5556 slideWidthPercentage = _useSlider.slideWidthPercentage;
5557 var _useState = (0, _react.useState)(-1),
5558 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5559 selectedScreenshotIndex = _useState2[0],
5560 setSelectedScreenshotIndex = _useState2[1];
5561 var _useState3 = (0, _react.useState)(false),
5562 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5563 showUnsavedChangesAlert = _useState4[0],
5564 setShowUnsavedChangesAlert = _useState4[1];
5565 var _useState5 = (0, _react.useState)(true),
5566 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5567 isPromptEditable = _useState6[0],
5568 setIsPromptEditable = _useState6[1];
5569 var _useState7 = (0, _react.useState)([]),
5570 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5571 attachments = _useState8[0],
5572 setAttachments = _useState8[1];
5573 var _useState9 = (0, _react.useState)(false),
5574 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5575 shouldRenderWebApp = _useState10[0],
5576 setShouldRenderWebApp = _useState10[1];
5577 var _useState11 = (0, _react.useState)(false),
5578 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5579 isMinimized = _useState12[0],
5580 setIsMinimized = _useState12[1];
5581 var lastRun = (0, _react.useRef)(function () {});
5582 var promptInputRef = (0, _react.useRef)(null);
5583 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5584 var dialogContentChildren = DialogContentProps.children,
5585 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5586
5587 // When there are no screenshots the prompt field should be editable.
5588 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5589 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5590 var abortAndClose = function abortAndClose() {
5591 abort();
5592 onClose();
5593 };
5594 var onCloseIntent = function onCloseIntent() {
5595 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5596 if (hasUnsavedChanges) {
5597 return setShowUnsavedChangesAlert(true);
5598 }
5599 abortAndClose();
5600 };
5601 var handleGenerate = function handleGenerate(event, prompt) {
5602 event.preventDefault();
5603 if ('' === prompt.trim() && 0 === attachments.length) {
5604 return;
5605 }
5606 if ((0, _isURL.default)(prompt)) {
5607 setShouldRenderWebApp(true);
5608 return;
5609 }
5610 onGenerate();
5611 lastRun.current = function () {
5612 setSelectedScreenshotIndex(-1);
5613 generate(prompt, attachments);
5614 };
5615 lastRun.current();
5616 setIsPromptEditable(false);
5617 setCurrentPage(1);
5618 };
5619 var handleRegenerate = function handleRegenerate() {
5620 lastRun.current = function () {
5621 regenerate(promptInputRef.current.value, attachments);
5622 // Changing the current page to the next page number.
5623 setCurrentPage(pagesCount + 1);
5624 };
5625 lastRun.current();
5626 };
5627 var applyTemplate = function applyTemplate() {
5628 onInsert(selectedTemplate);
5629 screenshots[selectedScreenshotIndex].sendUsageData();
5630 abortAndClose();
5631 };
5632 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5633 return function () {
5634 if (isPromptFormActive) {
5635 return;
5636 }
5637 setSelectedScreenshotIndex(index);
5638 onSelect(template);
5639 };
5640 };
5641
5642 /**
5643 * @param {Attachment[]} items
5644 */
5645 var onAttach = function onAttach(items) {
5646 items.forEach(function (item) {
5647 if (!attachmentsTypes[item.type]) {
5648 throw new Error("Invalid attachment type: ".concat(item.type));
5649 }
5650 var typeConfig = attachmentsTypes[item.type];
5651 if (!item.previewHTML && typeConfig.previewGenerator) {
5652 typeConfig.previewGenerator(item.content).then(function (html) {
5653 item.previewHTML = html;
5654 setAttachments(function (prev) {
5655 // Replace the attachment with the updated one.
5656 return prev.map(function (attachment) {
5657 if (attachment.content === item.content) {
5658 return item;
5659 }
5660 return attachment;
5661 });
5662 });
5663 });
5664 }
5665 });
5666 setAttachments(items);
5667 setShouldRenderWebApp(false);
5668 setIsPromptEditable(true);
5669 };
5670 (0, _react.useEffect)(function () {
5671 var _screenshots$;
5672 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5673 if (isFirstTemplateExist) {
5674 onSelect(screenshots[0].template);
5675 setSelectedScreenshotIndex(0);
5676 }
5677 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5678 (0, _react.useEffect)(function () {
5679 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5680 onAttach(initialAttachments);
5681 }
5682 }, []);
5683 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5684 onClose: onCloseIntent
5685 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5686 onClose: onCloseIntent
5687 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5688 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5689 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5690 size: "small",
5691 "aria-label": "minimize",
5692 onClick: function onClick() {
5693 return setIsMinimized(function (prev) {
5694 return !prev;
5695 });
5696 }
5697 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5698 dividers: true
5699 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5700 in: !isMinimized
5701 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5702 sx: {
5703 pt: 2,
5704 px: 2,
5705 pb: 0
5706 }
5707 }, dialogContentChildren), attachments.length > 0 && /*#__PURE__*/_react.default.createElement(_promptPowerNotice.PromptPowerNotice, null), error && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5708 sx: {
5709 pt: 2,
5710 px: 2,
5711 pb: 0
5712 }
5713 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5714 error: error,
5715 onRetry: lastRun.current
5716 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5717 open: showUnsavedChangesAlert,
5718 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5719 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5720 onClose: abortAndClose,
5721 onCancel: function onCancel() {
5722 return setShowUnsavedChangesAlert(false);
5723 }
5724 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5725 type: _attachments.ATTACHMENT_TYPE_URL,
5726 url: promptInputRef.current.value,
5727 onAttach: onAttach,
5728 onClose: function onClose() {
5729 setShouldRenderWebApp(false);
5730 }
5731 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5732 shouldResetPrompt: shouldRenderWebApp,
5733 ref: promptInputRef,
5734 isActive: isPromptFormActive,
5735 isLoading: isLoading,
5736 showActions: screenshots.length > 0 || isLoading,
5737 attachmentsTypes: attachmentsTypes,
5738 attachments: attachments,
5739 onAttach: onAttach,
5740 onDetach: function onDetach(index) {
5741 setAttachments(function (prev) {
5742 var newAttachments = (0, _toConsumableArray2.default)(prev);
5743 newAttachments.splice(index, 1);
5744 return newAttachments;
5745 });
5746 setIsPromptEditable(true);
5747 },
5748 onSubmit: handleGenerate,
5749 onBack: function onBack() {
5750 return setIsPromptEditable(false);
5751 },
5752 onEdit: function onEdit() {
5753 return setIsPromptEditable(true);
5754 }
5755 }), (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, {
5756 sx: {
5757 p: 1.5
5758 }
5759 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5760 sx: {
5761 overflow: 'hidden',
5762 p: 0.5
5763 }
5764 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5765 sx: {
5766 display: 'flex',
5767 transition: 'all 0.4s ease',
5768 gap: "".concat(gapPercentage, "%"),
5769 transform: "translateX(".concat(offsetXPercentage, "%)")
5770 }
5771 }, screenshots.map(function (_ref2, index) {
5772 var screenshot = _ref2.screenshot,
5773 type = _ref2.type,
5774 template = _ref2.template,
5775 isError = _ref2.isError,
5776 isPending = _ref2.isPending;
5777 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5778 key: index,
5779 url: screenshot,
5780 type: type,
5781 disabled: isPromptFormActive,
5782 isPlaceholder: isError,
5783 isLoading: isPending,
5784 isSelected: selectedScreenshotIndex === index,
5785 onClick: handleScreenshotClick(index, template),
5786 outlineOffset: screenshotOutlineOffset,
5787 sx: {
5788 flex: "0 0 ".concat(slideWidthPercentage, "%")
5789 }
5790 });
5791 }))), /*#__PURE__*/_react.default.createElement(_voicePromotionAlert.VoicePromotionAlert, {
5792 introductionKey: "ai-context-layout-promotion"
5793 })), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5794 sx: {
5795 pt: 0,
5796 px: 2,
5797 pb: 2
5798 },
5799 display: "grid",
5800 gridTemplateColumns: "repeat(3, 1fr)",
5801 justifyItems: "center"
5802 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5803 onClick: handleRegenerate,
5804 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5805 sx: {
5806 justifySelf: 'start'
5807 }
5808 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5809 page: currentPage,
5810 count: pagesCount,
5811 disabled: isPromptFormActive,
5812 onChange: function onChange(_, page) {
5813 return setCurrentPage(page);
5814 }
5815 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5816 onClick: applyTemplate,
5817 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5818 sx: {
5819 justifySelf: 'end',
5820 gridColumn: 3
5821 }
5822 }))))));
5823 };
5824 FormLayout.propTypes = {
5825 DialogHeaderProps: _propTypes.default.object,
5826 DialogContentProps: _propTypes.default.object,
5827 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5828 };
5829 var _default = FormLayout;
5830 exports["default"] = _default;
5831
5832 /***/ }),
5833
5834 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5835 /*!************************************************************************************!*\
5836 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5837 \************************************************************************************/
5838 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5839
5840 "use strict";
5841
5842
5843 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5844 Object.defineProperty(exports, "__esModule", ({
5845 value: true
5846 }));
5847 exports["default"] = void 0;
5848 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5849 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5850 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5851 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5852 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5853 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5854 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5855 var _excluded = ["isLoading"];
5856 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5857 var EnhanceButton = function EnhanceButton(_ref) {
5858 var isLoading = _ref.isLoading,
5859 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5860 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5861 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5862 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5863 component: "span",
5864 sx: {
5865 cursor: props.disabled ? 'default' : 'pointer'
5866 }
5867 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5868 size: "small",
5869 color: "secondary"
5870 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5871 color: "secondary",
5872 size: 20
5873 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5874 fontSize: "small"
5875 }))));
5876 };
5877 EnhanceButton.propTypes = {
5878 disabled: _propTypes.default.bool,
5879 isLoading: _propTypes.default.bool
5880 };
5881 var _default = EnhanceButton;
5882 exports["default"] = _default;
5883
5884 /***/ }),
5885
5886 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5887 /*!*************************************************************************************!*\
5888 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5889 \*************************************************************************************/
5890 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5891
5892 "use strict";
5893
5894
5895 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5896 Object.defineProperty(exports, "__esModule", ({
5897 value: true
5898 }));
5899 exports["default"] = void 0;
5900 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5901 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5902 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5903 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5904 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5905 var GenerateSubmit = function GenerateSubmit(props) {
5906 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5907 fullWidth: true,
5908 size: "medium",
5909 type: "submit",
5910 variant: "contained"
5911 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5912 };
5913 GenerateSubmit.propTypes = {
5914 children: _propTypes.default.node
5915 };
5916 var _default = GenerateSubmit;
5917 exports["default"] = _default;
5918
5919 /***/ }),
5920
5921 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5922 /*!*****************************************************************!*\
5923 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5924 \*****************************************************************/
5925 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5926
5927 "use strict";
5928
5929
5930 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5931 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5932 Object.defineProperty(exports, "__esModule", ({
5933 value: true
5934 }));
5935 exports["default"] = void 0;
5936 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5937 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5938 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5939 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5940 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5941 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5942 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5943 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5944 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5945 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); }
5946 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; }
5947 var GetStarted = function GetStarted(_ref) {
5948 var onSuccess = _ref.onSuccess;
5949 var _useState = (0, _react.useState)(false),
5950 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5951 isTermsChecked = _useState2[0],
5952 setIsTermsChecked = _useState2[1];
5953 var onGetStartedClick = /*#__PURE__*/function () {
5954 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5955 return _regenerator.default.wrap(function _callee$(_context) {
5956 while (1) switch (_context.prev = _context.next) {
5957 case 0:
5958 _context.next = 2;
5959 return (0, _api.setGetStarted)();
5960 case 2:
5961 onSuccess();
5962 case 3:
5963 case "end":
5964 return _context.stop();
5965 }
5966 }, _callee);
5967 }));
5968 return function onGetStartedClick() {
5969 return _ref2.apply(this, arguments);
5970 };
5971 }();
5972 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5973 alignItems: "center",
5974 gap: 1.5
5975 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5976 sx: {
5977 color: 'text.primary',
5978 fontSize: '60px',
5979 mb: 1
5980 }
5981 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5982 variant: "h4",
5983 sx: {
5984 color: 'text.primary'
5985 }
5986 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5987 variant: "body2"
5988 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5989 direction: "row",
5990 gap: 1.5,
5991 alignItems: "flex-start"
5992 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5993 id: "e-ai-terms-approval",
5994 color: "secondary",
5995 checked: isTermsChecked,
5996 onClick: function onClick() {
5997 return setIsTermsChecked(function (prevState) {
5998 return !prevState;
5999 });
6000 }
6001 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
6002 variant: "caption",
6003 sx: {
6004 maxWidth: 520
6005 },
6006 component: "label",
6007 htmlFor: "e-ai-terms-approval"
6008 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
6009 href: "https://go.elementor.com/ai-terms/",
6010 target: "_blank",
6011 color: "info.main"
6012 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
6013 href: "https://go.elementor.com/ai-privacy-policy/",
6014 target: "_blank",
6015 color: "info.main"
6016 }, (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, {
6017 disabled: !isTermsChecked,
6018 variant: "contained",
6019 onClick: onGetStartedClick,
6020 sx: {
6021 mt: 1,
6022 '&:hover': {
6023 color: 'primary.contrastText'
6024 }
6025 }
6026 }, (0, _i18n.__)('Get Started', 'elementor')));
6027 };
6028 GetStarted.propTypes = {
6029 onSuccess: _propTypes.default.func.isRequired
6030 };
6031 var _default = GetStarted;
6032 exports["default"] = _default;
6033
6034 /***/ }),
6035
6036 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
6037 /*!**********************************************************!*\
6038 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
6039 \**********************************************************/
6040 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6041
6042 "use strict";
6043
6044
6045 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6046 Object.defineProperty(exports, "__esModule", ({
6047 value: true
6048 }));
6049 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
6050 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
6051 var AttachmentPropType = _propTypes.default.shape({
6052 type: _propTypes.default.string,
6053 previewHTML: _propTypes.default.string,
6054 content: _propTypes.default.string,
6055 label: _propTypes.default.string,
6056 source: _propTypes.default.string
6057 });
6058 exports.AttachmentPropType = AttachmentPropType;
6059 var AttachmentsTypesPropType = _propTypes.default.shape({
6060 type: _propTypes.default.shape({
6061 promptPlaceholder: _propTypes.default.string,
6062 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
6063 text: _propTypes.default.string.isRequired
6064 })),
6065 previewGenerator: _propTypes.default.func
6066 })
6067 });
6068 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
6069
6070 /***/ }),
6071
6072 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
6073 /*!******************************************************************!*\
6074 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
6075 \******************************************************************/
6076 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6077
6078 "use strict";
6079
6080
6081 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6082 Object.defineProperty(exports, "__esModule", ({
6083 value: true
6084 }));
6085 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = exports.WEB_BASED_PROMPTS = exports.VARIATIONS_PROMPTS = void 0;
6086 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
6087 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6088 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6089 var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js"));
6090 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
6091 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
6092 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
6093 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6094 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
6095 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
6096 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6097 var closePanel = function closePanel() {
6098 $e.run('panel/close');
6099 $e.components.get('panel').blockUserInteractions();
6100 };
6101 exports.closePanel = closePanel;
6102 var openPanel = function openPanel() {
6103 $e.run('panel/open');
6104 $e.components.get('panel').unblockUserInteractions();
6105 };
6106 exports.openPanel = openPanel;
6107 var onConnect = function onConnect(data) {
6108 elementorCommon.config.library_connect.is_connected = true;
6109 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
6110 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
6111 };
6112 exports.onConnect = onConnect;
6113 var getUiConfig = function getUiConfig() {
6114 var _elementor, _elementor$getPrefere;
6115 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';
6116 var isRTL = elementorCommon.config.isRTL;
6117 return {
6118 colorScheme: colorScheme,
6119 isRTL: isRTL
6120 };
6121 };
6122 exports.getUiConfig = getUiConfig;
6123 var VARIATIONS_PROMPTS = [{
6124 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
6125 }, {
6126 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
6127 }, {
6128 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
6129 }, {
6130 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
6131 }, {
6132 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
6133 }, {
6134 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
6135 }, {
6136 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
6137 }, {
6138 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
6139 }, {
6140 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
6141 }];
6142 exports.VARIATIONS_PROMPTS = VARIATIONS_PROMPTS;
6143 var WEB_BASED_PROMPTS = [{
6144 text: (0, _i18n.__)('Change the content to be about [topic]', 'elementor')
6145 }, {
6146 text: (0, _i18n.__)('Generate lorem ipsum placeholder text for all paragraphs', 'elementor')
6147 }, {
6148 text: (0, _i18n.__)('Revise the content to focus on [topic] and then translate it into Spanish', 'elementor')
6149 }, {
6150 text: (0, _i18n.__)('Shift the focus of the content to [topic] in order to showcase our company\'s mission and values', 'elementor')
6151 }, {
6152 text: (0, _i18n.__)('Alter the content to provide helpful tips related to [topic]', 'elementor')
6153 }, {
6154 text: (0, _i18n.__)('Adjust the content to include FAQs and answers for common inquiries about [topic]', 'elementor')
6155 }];
6156 exports.WEB_BASED_PROMPTS = WEB_BASED_PROMPTS;
6157 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
6158 var renderLayoutApp = function renderLayoutApp() {
6159 var _options$onRenderApp;
6160 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6161 parentContainer: null,
6162 mode: '',
6163 at: null,
6164 onClose: null,
6165 onGenerate: null,
6166 onInsert: null,
6167 onRenderApp: null,
6168 onSelect: null,
6169 attachments: []
6170 };
6171 closePanel();
6172 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
6173 // Create the container at the "drag widget here" area position.
6174 at: options.at
6175 });
6176 var _getUiConfig = getUiConfig(),
6177 colorScheme = _getUiConfig.colorScheme,
6178 isRTL = _getUiConfig.isRTL;
6179 var rootElement = document.createElement('div');
6180 document.body.append(rootElement);
6181 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
6182 var _ReactUtils$render = _react2.default.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
6183 isRTL: isRTL,
6184 colorScheme: colorScheme
6185 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
6186 mode: options.mode,
6187 currentContext: {
6188 body: {
6189 backgroundColor: bodyStyle.backgroundColor,
6190 backgroundImage: bodyStyle.backgroundImage
6191 }
6192 },
6193 attachmentsTypes: {
6194 json: {
6195 promptSuggestions: VARIATIONS_PROMPTS,
6196 promptPlaceholder: PROMPT_PLACEHOLDER,
6197 previewGenerator: function () {
6198 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
6199 var screenshot;
6200 return _regenerator.default.wrap(function _callee$(_context) {
6201 while (1) switch (_context.prev = _context.next) {
6202 case 0:
6203 _context.next = 2;
6204 return (0, _screenshot.takeScreenshot)(json);
6205 case 2:
6206 screenshot = _context.sent;
6207 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
6208 case 4:
6209 case "end":
6210 return _context.stop();
6211 }
6212 }, _callee);
6213 }));
6214 function previewGenerator(_x) {
6215 return _previewGenerator.apply(this, arguments);
6216 }
6217 return previewGenerator;
6218 }()
6219 },
6220 url: {
6221 promptPlaceholder: PROMPT_PLACEHOLDER,
6222 promptSuggestions: WEB_BASED_PROMPTS
6223 }
6224 },
6225 attachments: options.attachments || [],
6226 onClose: function onClose() {
6227 var _options$onClose;
6228 previewContainer.destroy();
6229 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
6230 unmount();
6231 rootElement.remove();
6232 openPanel();
6233 },
6234 onConnect: onConnect,
6235 onGenerate: function onGenerate() {
6236 var _options$onGenerate;
6237 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
6238 previewContainer: previewContainer
6239 });
6240 },
6241 onData: /*#__PURE__*/function () {
6242 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
6243 var screenshot;
6244 return _regenerator.default.wrap(function _callee2$(_context2) {
6245 while (1) switch (_context2.prev = _context2.next) {
6246 case 0:
6247 _context2.next = 2;
6248 return (0, _screenshot.takeScreenshot)(template);
6249 case 2:
6250 screenshot = _context2.sent;
6251 return _context2.abrupt("return", {
6252 screenshot: screenshot,
6253 template: template
6254 });
6255 case 4:
6256 case "end":
6257 return _context2.stop();
6258 }
6259 }, _callee2);
6260 }));
6261 return function (_x2) {
6262 return _ref.apply(this, arguments);
6263 };
6264 }(),
6265 onSelect: function onSelect(template) {
6266 var _options$onSelect;
6267 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
6268 previewContainer.setContent(template);
6269 },
6270 onInsert: options.onInsert,
6271 hasPro: elementor.helpers.hasPro()
6272 })), rootElement),
6273 unmount = _ReactUtils$render.unmount;
6274 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
6275 previewContainer: previewContainer
6276 });
6277 };
6278 exports.renderLayoutApp = renderLayoutApp;
6279 var importToEditor = function importToEditor(_ref2) {
6280 var parentContainer = _ref2.parentContainer,
6281 at = _ref2.at,
6282 template = _ref2.template,
6283 historyTitle = _ref2.historyTitle,
6284 _ref2$replace = _ref2.replace,
6285 replace = _ref2$replace === void 0 ? false : _ref2$replace;
6286 var endHistoryLog = (0, _history.startHistoryLog)({
6287 type: 'import',
6288 title: historyTitle
6289 });
6290 if (replace) {
6291 $e.run('document/elements/delete', {
6292 container: parentContainer.children.at(at)
6293 });
6294 }
6295 $e.run('document/elements/create', {
6296 container: parentContainer,
6297 model: (0, _requestsIds.generateIds)(template),
6298 options: {
6299 at: at,
6300 edit: true
6301 }
6302 });
6303 endHistoryLog();
6304 };
6305 exports.importToEditor = importToEditor;
6306
6307 /***/ }),
6308
6309 /***/ "../modules/ai/assets/js/editor/utils/history.js":
6310 /*!*******************************************************!*\
6311 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
6312 \*******************************************************/
6313 /***/ ((__unused_webpack_module, exports) => {
6314
6315 "use strict";
6316
6317
6318 Object.defineProperty(exports, "__esModule", ({
6319 value: true
6320 }));
6321 exports.startHistoryLog = startHistoryLog;
6322 exports.toggleHistory = toggleHistory;
6323 function toggleHistory(isActive) {
6324 elementor.documents.getCurrent().history.setActive(isActive);
6325 }
6326
6327 /**
6328 * @param {Object} options
6329 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
6330 * @param { string } options.title
6331 *
6332 * @return {*}
6333 */
6334 function startHistoryLog(_ref) {
6335 var type = _ref.type,
6336 title = _ref.title;
6337 var id = $e.internal('document/history/start-log', {
6338 type: type,
6339 title: title
6340 });
6341 return function () {
6342 return $e.internal('document/history/end-log', {
6343 id: id
6344 });
6345 };
6346 }
6347
6348 /***/ }),
6349
6350 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6351 /*!*****************************************************************!*\
6352 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6353 \*****************************************************************/
6354 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6355
6356 "use strict";
6357
6358
6359 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6360 Object.defineProperty(exports, "__esModule", ({
6361 value: true
6362 }));
6363 exports.createPreviewContainer = createPreviewContainer;
6364 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6365 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6366 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6367 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; }
6368 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; }
6369 /**
6370 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6371 */
6372
6373 var PREFIX = 'e-ai-preview-container';
6374 var CLASS_HIDDEN = PREFIX + '--hidden';
6375 var CLASS_IDLE = PREFIX + '--idle';
6376
6377 /**
6378 * @param {Container} parentContainer
6379 * @param {{}} containerOptions
6380 * @return {{init, setContent, reset, destroy}}
6381 */
6382
6383 function createPreviewContainer(parentContainer) {
6384 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6385 var createdContainers = new Map();
6386 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6387 function init() {
6388 showContainer(idleContainer);
6389 }
6390 function getAllContainers() {
6391 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6392 }
6393 function reset() {
6394 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6395 createdContainers.clear();
6396 showContainer(idleContainer);
6397 }
6398 function setContent(template) {
6399 if (!template) {
6400 return;
6401 }
6402 hideContainers(getAllContainers());
6403 if (!createdContainers.has(template)) {
6404 var newContainer = createContainer(parentContainer, template, containerOptions);
6405 createdContainers.set(template, newContainer);
6406 }
6407 showContainer(createdContainers.get(template));
6408 }
6409 function destroy() {
6410 deleteContainers(getAllContainers());
6411 createdContainers.clear();
6412 }
6413 return {
6414 init: init,
6415 reset: reset,
6416 setContent: setContent,
6417 destroy: destroy
6418 };
6419 }
6420
6421 /**
6422 * @param {Container} parentContainer
6423 * @param {{}} model
6424 * @param {{}} options
6425 * @return {*}
6426 */
6427 function createContainer(parentContainer, model) {
6428 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6429 (0, _history.toggleHistory)(false);
6430 var container = $e.run('document/elements/create', {
6431 container: parentContainer,
6432 model: _objectSpread(_objectSpread({}, model), {}, {
6433 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6434 }),
6435 options: _objectSpread(_objectSpread({}, options), {}, {
6436 edit: false
6437 })
6438 });
6439 (0, _history.toggleHistory)(true);
6440 container.view.$el.addClass(CLASS_HIDDEN);
6441 return container;
6442 }
6443
6444 /**
6445 * @param {Container} parentContainer
6446 * @param {{}} containerOptions
6447 * @return {*}
6448 */
6449 function createIdleContainer(parentContainer) {
6450 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6451 // Create an empty container that'll be used of UI purposes.
6452 var container = createContainer(parentContainer, {
6453 elType: 'container'
6454 }, containerOptions);
6455 container.view.$el.addClass(CLASS_IDLE);
6456 return container;
6457 }
6458 function hideContainers(containers) {
6459 containers.forEach(function (container) {
6460 container.view.$el.addClass(CLASS_HIDDEN);
6461 });
6462 }
6463 function showContainer(container) {
6464 container.view.$el.removeClass(CLASS_HIDDEN);
6465
6466 // Delay the scroll to avoid UI jumps when toggling between containers.
6467 setTimeout(function () {
6468 container.view.$el[0].scrollIntoView({
6469 behavior: 'smooth',
6470 block: 'start'
6471 });
6472 });
6473 }
6474 function deleteContainers(containers) {
6475 (0, _history.toggleHistory)(false);
6476 $e.run('document/elements/delete', {
6477 containers: containers
6478 });
6479 (0, _history.toggleHistory)(true);
6480 }
6481
6482 /***/ }),
6483
6484 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6485 /*!**********************************************************!*\
6486 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6487 \**********************************************************/
6488 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6489
6490 "use strict";
6491
6492
6493 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6494 Object.defineProperty(exports, "__esModule", ({
6495 value: true
6496 }));
6497 exports.takeScreenshot = void 0;
6498 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6499 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6500 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6501 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6502 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6503 var _requestsIds = __webpack_require__(/*! ../context/requests-ids */ "../modules/ai/assets/js/editor/context/requests-ids.js");
6504 var takeScreenshot = /*#__PURE__*/function () {
6505 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6506 var hiddenWrapper, container, screenshot;
6507 return _regenerator.default.wrap(function _callee$(_context) {
6508 while (1) switch (_context.prev = _context.next) {
6509 case 0:
6510 if (template) {
6511 _context.next = 2;
6512 break;
6513 }
6514 return _context.abrupt("return", '');
6515 case 2:
6516 // Disable history so the Editor won't show our hidden container as a user action.
6517 (0, _history.toggleHistory)(false);
6518 hiddenWrapper = createHiddenWrapper();
6519 container = createContainer(template);
6520 wrapContainer(container, hiddenWrapper);
6521 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6522
6523 // Wait for the container to render.
6524 _context.next = 9;
6525 return waitForContainer(container.id);
6526 case 9:
6527 if (!template.elements.length) {
6528 _context.next = 12;
6529 break;
6530 }
6531 _context.next = 12;
6532 return Promise.all(template.elements.map(function (child) {
6533 return waitForContainer(child.id);
6534 }));
6535 case 12:
6536 _context.prev = 12;
6537 _context.next = 15;
6538 return screenshotNode(container.view.$el[0]);
6539 case 15:
6540 screenshot = _context.sent;
6541 _context.next = 21;
6542 break;
6543 case 18:
6544 _context.prev = 18;
6545 _context.t0 = _context["catch"](12);
6546 // Return an empty image url if the screenshot failed.
6547 screenshot = '';
6548 case 21:
6549 deleteContainer(container);
6550 hiddenWrapper.remove();
6551 (0, _history.toggleHistory)(true);
6552 return _context.abrupt("return", screenshot);
6553 case 25:
6554 case "end":
6555 return _context.stop();
6556 }
6557 }, _callee, null, [[12, 18]]);
6558 }));
6559 return function takeScreenshot(_x) {
6560 return _ref.apply(this, arguments);
6561 };
6562 }();
6563 exports.takeScreenshot = takeScreenshot;
6564 function screenshotNode(node) {
6565 return toWebp(node, {
6566 quality: 0.01,
6567 // Transparent 1x1 pixel.
6568 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6569 });
6570 }
6571 function toWebp(_x2) {
6572 return _toWebp.apply(this, arguments);
6573 }
6574 function _toWebp() {
6575 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6576 var _options$quality;
6577 var options,
6578 canvas,
6579 _args3 = arguments;
6580 return _regenerator.default.wrap(function _callee3$(_context3) {
6581 while (1) switch (_context3.prev = _context3.next) {
6582 case 0:
6583 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6584 _context3.next = 3;
6585 return (0, _htmlToImage.toCanvas)(node, options);
6586 case 3:
6587 canvas = _context3.sent;
6588 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6589 case 5:
6590 case "end":
6591 return _context3.stop();
6592 }
6593 }, _callee3);
6594 }));
6595 return _toWebp.apply(this, arguments);
6596 }
6597 function createHiddenWrapper() {
6598 var wrapper = document.createElement('div');
6599 wrapper.style.position = 'fixed';
6600 wrapper.style.opacity = '0';
6601 wrapper.style.inset = '0';
6602 return wrapper;
6603 }
6604 function createContainer(template) {
6605 var model = (0, _requestsIds.generateIds)(template);
6606
6607 // Set a custom ID, so it can be used later on in the backend.
6608 model.id = "e-ai-screenshot-container-".concat(model.id);
6609 return $e.run('document/elements/create', {
6610 container: elementor.getPreviewContainer(),
6611 model: model,
6612 options: {
6613 edit: false
6614 }
6615 });
6616 }
6617 function deleteContainer(container) {
6618 return $e.run('document/elements/delete', {
6619 container: container
6620 });
6621 }
6622 function waitForContainer(id) {
6623 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6624 var timeoutPromise = sleep(timeout);
6625 var waitPromise = new Promise(function (resolve) {
6626 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6627 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6628 var images;
6629 return _regenerator.default.wrap(function _callee2$(_context2) {
6630 while (1) switch (_context2.prev = _context2.next) {
6631 case 0:
6632 if (!($element.data('id') === id)) {
6633 _context2.next = 5;
6634 break;
6635 }
6636 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6637 _context2.next = 4;
6638 return Promise.all(images.map(waitForImage));
6639 case 4:
6640 resolve();
6641 case 5:
6642 case "end":
6643 return _context2.stop();
6644 }
6645 }, _callee2);
6646 }));
6647 return function (_x3) {
6648 return _ref2.apply(this, arguments);
6649 };
6650 }());
6651 });
6652 return Promise.any([timeoutPromise, waitPromise]);
6653 }
6654 function waitForImage(image) {
6655 if (image.complete) {
6656 return Promise.resolve();
6657 }
6658 return new Promise(function (resolve) {
6659 image.addEventListener('load', resolve);
6660 image.addEventListener('error', function () {
6661 // Remove the image to make sure it won't break the screenshot.
6662 image.remove();
6663 resolve();
6664 });
6665 });
6666 }
6667 function sleep(ms) {
6668 return new Promise(function (resolve) {
6669 return setTimeout(resolve, ms);
6670 });
6671 }
6672 function wrapContainer(container, wrapper) {
6673 var el = container.view.$el[0];
6674 el.parentNode.insertBefore(wrapper, el);
6675 wrapper.appendChild(el);
6676 }
6677
6678 /***/ }),
6679
6680 /***/ "../node_modules/clsx/dist/clsx.m.js":
6681 /*!*******************************************!*\
6682 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6683 \*******************************************/
6684 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6685
6686 "use strict";
6687 __webpack_require__.r(__webpack_exports__);
6688 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6689 /* harmony export */ clsx: () => (/* binding */ clsx),
6690 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6691 /* harmony export */ });
6692 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);
6693
6694 /***/ }),
6695
6696 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6697 /*!***********************************************************************************!*\
6698 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6699 \***********************************************************************************/
6700 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6701
6702 "use strict";
6703
6704
6705 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6706
6707 /**
6708 * Copyright 2015, Yahoo! Inc.
6709 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6710 */
6711 var REACT_STATICS = {
6712 childContextTypes: true,
6713 contextType: true,
6714 contextTypes: true,
6715 defaultProps: true,
6716 displayName: true,
6717 getDefaultProps: true,
6718 getDerivedStateFromError: true,
6719 getDerivedStateFromProps: true,
6720 mixins: true,
6721 propTypes: true,
6722 type: true
6723 };
6724 var KNOWN_STATICS = {
6725 name: true,
6726 length: true,
6727 prototype: true,
6728 caller: true,
6729 callee: true,
6730 arguments: true,
6731 arity: true
6732 };
6733 var FORWARD_REF_STATICS = {
6734 '$$typeof': true,
6735 render: true,
6736 defaultProps: true,
6737 displayName: true,
6738 propTypes: true
6739 };
6740 var MEMO_STATICS = {
6741 '$$typeof': true,
6742 compare: true,
6743 defaultProps: true,
6744 displayName: true,
6745 propTypes: true,
6746 type: true
6747 };
6748 var TYPE_STATICS = {};
6749 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6750 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6751
6752 function getStatics(component) {
6753 // React v16.11 and below
6754 if (reactIs.isMemo(component)) {
6755 return MEMO_STATICS;
6756 } // React v16.12 and above
6757
6758
6759 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6760 }
6761
6762 var defineProperty = Object.defineProperty;
6763 var getOwnPropertyNames = Object.getOwnPropertyNames;
6764 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6765 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6766 var getPrototypeOf = Object.getPrototypeOf;
6767 var objectPrototype = Object.prototype;
6768 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6769 if (typeof sourceComponent !== 'string') {
6770 // don't hoist over string (html) components
6771 if (objectPrototype) {
6772 var inheritedComponent = getPrototypeOf(sourceComponent);
6773
6774 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6775 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6776 }
6777 }
6778
6779 var keys = getOwnPropertyNames(sourceComponent);
6780
6781 if (getOwnPropertySymbols) {
6782 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6783 }
6784
6785 var targetStatics = getStatics(targetComponent);
6786 var sourceStatics = getStatics(sourceComponent);
6787
6788 for (var i = 0; i < keys.length; ++i) {
6789 var key = keys[i];
6790
6791 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6792 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6793
6794 try {
6795 // Avoid failures from read-only properties
6796 defineProperty(targetComponent, key, descriptor);
6797 } catch (e) {}
6798 }
6799 }
6800 }
6801
6802 return targetComponent;
6803 }
6804
6805 module.exports = hoistNonReactStatics;
6806
6807
6808 /***/ }),
6809
6810 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6811 /*!*************************************************************************************************!*\
6812 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6813 \*************************************************************************************************/
6814 /***/ ((__unused_webpack_module, exports) => {
6815
6816 "use strict";
6817 /** @license React v16.13.1
6818 * react-is.development.js
6819 *
6820 * Copyright (c) Facebook, Inc. and its affiliates.
6821 *
6822 * This source code is licensed under the MIT license found in the
6823 * LICENSE file in the root directory of this source tree.
6824 */
6825
6826
6827
6828
6829
6830 if (true) {
6831 (function() {
6832 'use strict';
6833
6834 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6835 // nor polyfill, then a plain number is used for performance.
6836 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6837 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6838 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6839 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6840 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6841 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6842 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6843 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6844 // (unstable) APIs that have been removed. Can we remove the symbols?
6845
6846 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6847 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6848 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6849 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6850 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6851 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6852 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6853 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6854 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6855 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6856 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6857
6858 function isValidElementType(type) {
6859 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6860 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);
6861 }
6862
6863 function typeOf(object) {
6864 if (typeof object === 'object' && object !== null) {
6865 var $$typeof = object.$$typeof;
6866
6867 switch ($$typeof) {
6868 case REACT_ELEMENT_TYPE:
6869 var type = object.type;
6870
6871 switch (type) {
6872 case REACT_ASYNC_MODE_TYPE:
6873 case REACT_CONCURRENT_MODE_TYPE:
6874 case REACT_FRAGMENT_TYPE:
6875 case REACT_PROFILER_TYPE:
6876 case REACT_STRICT_MODE_TYPE:
6877 case REACT_SUSPENSE_TYPE:
6878 return type;
6879
6880 default:
6881 var $$typeofType = type && type.$$typeof;
6882
6883 switch ($$typeofType) {
6884 case REACT_CONTEXT_TYPE:
6885 case REACT_FORWARD_REF_TYPE:
6886 case REACT_LAZY_TYPE:
6887 case REACT_MEMO_TYPE:
6888 case REACT_PROVIDER_TYPE:
6889 return $$typeofType;
6890
6891 default:
6892 return $$typeof;
6893 }
6894
6895 }
6896
6897 case REACT_PORTAL_TYPE:
6898 return $$typeof;
6899 }
6900 }
6901
6902 return undefined;
6903 } // AsyncMode is deprecated along with isAsyncMode
6904
6905 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6906 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6907 var ContextConsumer = REACT_CONTEXT_TYPE;
6908 var ContextProvider = REACT_PROVIDER_TYPE;
6909 var Element = REACT_ELEMENT_TYPE;
6910 var ForwardRef = REACT_FORWARD_REF_TYPE;
6911 var Fragment = REACT_FRAGMENT_TYPE;
6912 var Lazy = REACT_LAZY_TYPE;
6913 var Memo = REACT_MEMO_TYPE;
6914 var Portal = REACT_PORTAL_TYPE;
6915 var Profiler = REACT_PROFILER_TYPE;
6916 var StrictMode = REACT_STRICT_MODE_TYPE;
6917 var Suspense = REACT_SUSPENSE_TYPE;
6918 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6919
6920 function isAsyncMode(object) {
6921 {
6922 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6923 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6924
6925 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.');
6926 }
6927 }
6928
6929 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6930 }
6931 function isConcurrentMode(object) {
6932 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6933 }
6934 function isContextConsumer(object) {
6935 return typeOf(object) === REACT_CONTEXT_TYPE;
6936 }
6937 function isContextProvider(object) {
6938 return typeOf(object) === REACT_PROVIDER_TYPE;
6939 }
6940 function isElement(object) {
6941 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6942 }
6943 function isForwardRef(object) {
6944 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6945 }
6946 function isFragment(object) {
6947 return typeOf(object) === REACT_FRAGMENT_TYPE;
6948 }
6949 function isLazy(object) {
6950 return typeOf(object) === REACT_LAZY_TYPE;
6951 }
6952 function isMemo(object) {
6953 return typeOf(object) === REACT_MEMO_TYPE;
6954 }
6955 function isPortal(object) {
6956 return typeOf(object) === REACT_PORTAL_TYPE;
6957 }
6958 function isProfiler(object) {
6959 return typeOf(object) === REACT_PROFILER_TYPE;
6960 }
6961 function isStrictMode(object) {
6962 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6963 }
6964 function isSuspense(object) {
6965 return typeOf(object) === REACT_SUSPENSE_TYPE;
6966 }
6967
6968 exports.AsyncMode = AsyncMode;
6969 exports.ConcurrentMode = ConcurrentMode;
6970 exports.ContextConsumer = ContextConsumer;
6971 exports.ContextProvider = ContextProvider;
6972 exports.Element = Element;
6973 exports.ForwardRef = ForwardRef;
6974 exports.Fragment = Fragment;
6975 exports.Lazy = Lazy;
6976 exports.Memo = Memo;
6977 exports.Portal = Portal;
6978 exports.Profiler = Profiler;
6979 exports.StrictMode = StrictMode;
6980 exports.Suspense = Suspense;
6981 exports.isAsyncMode = isAsyncMode;
6982 exports.isConcurrentMode = isConcurrentMode;
6983 exports.isContextConsumer = isContextConsumer;
6984 exports.isContextProvider = isContextProvider;
6985 exports.isElement = isElement;
6986 exports.isForwardRef = isForwardRef;
6987 exports.isFragment = isFragment;
6988 exports.isLazy = isLazy;
6989 exports.isMemo = isMemo;
6990 exports.isPortal = isPortal;
6991 exports.isProfiler = isProfiler;
6992 exports.isStrictMode = isStrictMode;
6993 exports.isSuspense = isSuspense;
6994 exports.isValidElementType = isValidElementType;
6995 exports.typeOf = typeOf;
6996 })();
6997 }
6998
6999
7000 /***/ }),
7001
7002 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
7003 /*!******************************************************************************!*\
7004 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
7005 \******************************************************************************/
7006 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7007
7008 "use strict";
7009
7010
7011 if (false) {} else {
7012 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
7013 }
7014
7015
7016 /***/ }),
7017
7018 /***/ "../node_modules/html-to-image/es/apply-style.js":
7019 /*!*******************************************************!*\
7020 !*** ../node_modules/html-to-image/es/apply-style.js ***!
7021 \*******************************************************/
7022 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7023
7024 "use strict";
7025 __webpack_require__.r(__webpack_exports__);
7026 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7027 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
7028 /* harmony export */ });
7029 function applyStyle(node, options) {
7030 const { style } = node;
7031 if (options.backgroundColor) {
7032 style.backgroundColor = options.backgroundColor;
7033 }
7034 if (options.width) {
7035 style.width = `${options.width}px`;
7036 }
7037 if (options.height) {
7038 style.height = `${options.height}px`;
7039 }
7040 const manual = options.style;
7041 if (manual != null) {
7042 Object.keys(manual).forEach((key) => {
7043 style[key] = manual[key];
7044 });
7045 }
7046 return node;
7047 }
7048 //# sourceMappingURL=apply-style.js.map
7049
7050 /***/ }),
7051
7052 /***/ "../node_modules/html-to-image/es/clone-node.js":
7053 /*!******************************************************!*\
7054 !*** ../node_modules/html-to-image/es/clone-node.js ***!
7055 \******************************************************/
7056 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7057
7058 "use strict";
7059 __webpack_require__.r(__webpack_exports__);
7060 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7061 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
7062 /* harmony export */ });
7063 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
7064 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7065 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7066 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7067
7068
7069
7070
7071 async function cloneCanvasElement(canvas) {
7072 const dataURL = canvas.toDataURL();
7073 if (dataURL === 'data:,') {
7074 return canvas.cloneNode(false);
7075 }
7076 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7077 }
7078 async function cloneVideoElement(video, options) {
7079 if (video.currentSrc) {
7080 const canvas = document.createElement('canvas');
7081 const ctx = canvas.getContext('2d');
7082 canvas.width = video.clientWidth;
7083 canvas.height = video.clientHeight;
7084 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
7085 const dataURL = canvas.toDataURL();
7086 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7087 }
7088 const poster = video.poster;
7089 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
7090 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
7091 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
7092 }
7093 async function cloneIFrameElement(iframe) {
7094 var _a;
7095 try {
7096 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
7097 return (await cloneNode(iframe.contentDocument.body, {}, true));
7098 }
7099 }
7100 catch (_b) {
7101 // Failed to clone iframe
7102 }
7103 return iframe.cloneNode(false);
7104 }
7105 async function cloneSingleNode(node, options) {
7106 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
7107 return cloneCanvasElement(node);
7108 }
7109 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
7110 return cloneVideoElement(node, options);
7111 }
7112 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
7113 return cloneIFrameElement(node);
7114 }
7115 return node.cloneNode(false);
7116 }
7117 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
7118 async function cloneChildren(nativeNode, clonedNode, options) {
7119 var _a, _b;
7120 let children = [];
7121 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
7122 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
7123 }
7124 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7125 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
7126 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
7127 }
7128 else {
7129 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
7130 }
7131 if (children.length === 0 ||
7132 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
7133 return clonedNode;
7134 }
7135 await children.reduce((deferred, child) => deferred
7136 .then(() => cloneNode(child, options))
7137 .then((clonedChild) => {
7138 if (clonedChild) {
7139 clonedNode.appendChild(clonedChild);
7140 }
7141 }), Promise.resolve());
7142 return clonedNode;
7143 }
7144 function cloneCSSStyle(nativeNode, clonedNode) {
7145 const targetStyle = clonedNode.style;
7146 if (!targetStyle) {
7147 return;
7148 }
7149 const sourceStyle = window.getComputedStyle(nativeNode);
7150 if (sourceStyle.cssText) {
7151 targetStyle.cssText = sourceStyle.cssText;
7152 targetStyle.transformOrigin = sourceStyle.transformOrigin;
7153 }
7154 else {
7155 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
7156 let value = sourceStyle.getPropertyValue(name);
7157 if (name === 'font-size' && value.endsWith('px')) {
7158 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
7159 value = `${reducedFont}px`;
7160 }
7161 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
7162 name === 'display' &&
7163 value === 'inline') {
7164 value = 'block';
7165 }
7166 if (name === 'd' && clonedNode.getAttribute('d')) {
7167 value = `path(${clonedNode.getAttribute('d')})`;
7168 }
7169 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
7170 });
7171 }
7172 }
7173 function cloneInputValue(nativeNode, clonedNode) {
7174 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
7175 clonedNode.innerHTML = nativeNode.value;
7176 }
7177 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
7178 clonedNode.setAttribute('value', nativeNode.value);
7179 }
7180 }
7181 function cloneSelectValue(nativeNode, clonedNode) {
7182 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
7183 const clonedSelect = clonedNode;
7184 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
7185 if (selectedOption) {
7186 selectedOption.setAttribute('selected', '');
7187 }
7188 }
7189 }
7190 function decorate(nativeNode, clonedNode) {
7191 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7192 cloneCSSStyle(nativeNode, clonedNode);
7193 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
7194 cloneInputValue(nativeNode, clonedNode);
7195 cloneSelectValue(nativeNode, clonedNode);
7196 }
7197 return clonedNode;
7198 }
7199 async function ensureSVGSymbols(clone, options) {
7200 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
7201 if (uses.length === 0) {
7202 return clone;
7203 }
7204 const processedDefs = {};
7205 for (let i = 0; i < uses.length; i++) {
7206 const use = uses[i];
7207 const id = use.getAttribute('xlink:href');
7208 if (id) {
7209 const exist = clone.querySelector(id);
7210 const definition = document.querySelector(id);
7211 if (!exist && definition && !processedDefs[id]) {
7212 // eslint-disable-next-line no-await-in-loop
7213 processedDefs[id] = (await cloneNode(definition, options, true));
7214 }
7215 }
7216 }
7217 const nodes = Object.values(processedDefs);
7218 if (nodes.length) {
7219 const ns = 'http://www.w3.org/1999/xhtml';
7220 const svg = document.createElementNS(ns, 'svg');
7221 svg.setAttribute('xmlns', ns);
7222 svg.style.position = 'absolute';
7223 svg.style.width = '0';
7224 svg.style.height = '0';
7225 svg.style.overflow = 'hidden';
7226 svg.style.display = 'none';
7227 const defs = document.createElementNS(ns, 'defs');
7228 svg.appendChild(defs);
7229 for (let i = 0; i < nodes.length; i++) {
7230 defs.appendChild(nodes[i]);
7231 }
7232 clone.appendChild(svg);
7233 }
7234 return clone;
7235 }
7236 async function cloneNode(node, options, isRoot) {
7237 if (!isRoot && options.filter && !options.filter(node)) {
7238 return null;
7239 }
7240 return Promise.resolve(node)
7241 .then((clonedNode) => cloneSingleNode(clonedNode, options))
7242 .then((clonedNode) => cloneChildren(node, clonedNode, options))
7243 .then((clonedNode) => decorate(node, clonedNode))
7244 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
7245 }
7246 //# sourceMappingURL=clone-node.js.map
7247
7248 /***/ }),
7249
7250 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
7251 /*!*********************************************************!*\
7252 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
7253 \*********************************************************/
7254 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7255
7256 "use strict";
7257 __webpack_require__.r(__webpack_exports__);
7258 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7259 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
7260 /* harmony export */ });
7261 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7262
7263 function formatCSSText(style) {
7264 const content = style.getPropertyValue('content');
7265 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
7266 }
7267 function formatCSSProperties(style) {
7268 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
7269 .map((name) => {
7270 const value = style.getPropertyValue(name);
7271 const priority = style.getPropertyPriority(name);
7272 return `${name}: ${value}${priority ? ' !important' : ''};`;
7273 })
7274 .join(' ');
7275 }
7276 function getPseudoElementStyle(className, pseudo, style) {
7277 const selector = `.${className}:${pseudo}`;
7278 const cssText = style.cssText
7279 ? formatCSSText(style)
7280 : formatCSSProperties(style);
7281 return document.createTextNode(`${selector}{${cssText}}`);
7282 }
7283 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
7284 const style = window.getComputedStyle(nativeNode, pseudo);
7285 const content = style.getPropertyValue('content');
7286 if (content === '' || content === 'none') {
7287 return;
7288 }
7289 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
7290 try {
7291 clonedNode.className = `${clonedNode.className} ${className}`;
7292 }
7293 catch (err) {
7294 return;
7295 }
7296 const styleElement = document.createElement('style');
7297 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
7298 clonedNode.appendChild(styleElement);
7299 }
7300 function clonePseudoElements(nativeNode, clonedNode) {
7301 clonePseudoElement(nativeNode, clonedNode, ':before');
7302 clonePseudoElement(nativeNode, clonedNode, ':after');
7303 }
7304 //# sourceMappingURL=clone-pseudos.js.map
7305
7306 /***/ }),
7307
7308 /***/ "../node_modules/html-to-image/es/dataurl.js":
7309 /*!***************************************************!*\
7310 !*** ../node_modules/html-to-image/es/dataurl.js ***!
7311 \***************************************************/
7312 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7313
7314 "use strict";
7315 __webpack_require__.r(__webpack_exports__);
7316 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7317 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
7318 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
7319 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
7320 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
7321 /* harmony export */ });
7322 function getContentFromDataUrl(dataURL) {
7323 return dataURL.split(/,/)[1];
7324 }
7325 function isDataUrl(url) {
7326 return url.search(/^(data:)/) !== -1;
7327 }
7328 function makeDataUrl(content, mimeType) {
7329 return `data:${mimeType};base64,${content}`;
7330 }
7331 async function fetchAsDataURL(url, init, process) {
7332 const res = await fetch(url, init);
7333 if (res.status === 404) {
7334 throw new Error(`Resource "${res.url}" not found`);
7335 }
7336 const blob = await res.blob();
7337 return new Promise((resolve, reject) => {
7338 const reader = new FileReader();
7339 reader.onerror = reject;
7340 reader.onloadend = () => {
7341 try {
7342 resolve(process({ res, result: reader.result }));
7343 }
7344 catch (error) {
7345 reject(error);
7346 }
7347 };
7348 reader.readAsDataURL(blob);
7349 });
7350 }
7351 const cache = {};
7352 function getCacheKey(url, contentType, includeQueryParams) {
7353 let key = url.replace(/\?.*/, '');
7354 if (includeQueryParams) {
7355 key = url;
7356 }
7357 // font resource
7358 if (/ttf|otf|eot|woff2?/i.test(key)) {
7359 key = key.replace(/.*\//, '');
7360 }
7361 return contentType ? `[${contentType}]${key}` : key;
7362 }
7363 async function resourceToDataURL(resourceUrl, contentType, options) {
7364 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7365 if (cache[cacheKey] != null) {
7366 return cache[cacheKey];
7367 }
7368 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7369 if (options.cacheBust) {
7370 // eslint-disable-next-line no-param-reassign
7371 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7372 }
7373 let dataURL;
7374 try {
7375 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7376 if (!contentType) {
7377 // eslint-disable-next-line no-param-reassign
7378 contentType = res.headers.get('Content-Type') || '';
7379 }
7380 return getContentFromDataUrl(result);
7381 });
7382 dataURL = makeDataUrl(content, contentType);
7383 }
7384 catch (error) {
7385 dataURL = options.imagePlaceholder || '';
7386 let msg = `Failed to fetch resource: ${resourceUrl}`;
7387 if (error) {
7388 msg = typeof error === 'string' ? error : error.message;
7389 }
7390 if (msg) {
7391 console.warn(msg);
7392 }
7393 }
7394 cache[cacheKey] = dataURL;
7395 return dataURL;
7396 }
7397 //# sourceMappingURL=dataurl.js.map
7398
7399 /***/ }),
7400
7401 /***/ "../node_modules/html-to-image/es/embed-images.js":
7402 /*!********************************************************!*\
7403 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7404 \********************************************************/
7405 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7406
7407 "use strict";
7408 __webpack_require__.r(__webpack_exports__);
7409 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7410 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7411 /* harmony export */ });
7412 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7413 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7414 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7415 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7416
7417
7418
7419
7420 async function embedProp(propName, node, options) {
7421 var _a;
7422 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7423 if (propValue) {
7424 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7425 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7426 return true;
7427 }
7428 return false;
7429 }
7430 async function embedBackground(clonedNode, options) {
7431 if (!(await embedProp('background', clonedNode, options))) {
7432 await embedProp('background-image', clonedNode, options);
7433 }
7434 if (!(await embedProp('mask', clonedNode, options))) {
7435 await embedProp('mask-image', clonedNode, options);
7436 }
7437 }
7438 async function embedImageNode(clonedNode, options) {
7439 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7440 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7441 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7442 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7443 return;
7444 }
7445 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7446 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7447 await new Promise((resolve, reject) => {
7448 clonedNode.onload = resolve;
7449 clonedNode.onerror = reject;
7450 const image = clonedNode;
7451 if (image.decode) {
7452 image.decode = resolve;
7453 }
7454 if (image.loading === 'lazy') {
7455 image.loading = 'eager';
7456 }
7457 if (isImageElement) {
7458 clonedNode.srcset = '';
7459 clonedNode.src = dataURL;
7460 }
7461 else {
7462 clonedNode.href.baseVal = dataURL;
7463 }
7464 });
7465 }
7466 async function embedChildren(clonedNode, options) {
7467 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7468 const deferreds = children.map((child) => embedImages(child, options));
7469 await Promise.all(deferreds).then(() => clonedNode);
7470 }
7471 async function embedImages(clonedNode, options) {
7472 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7473 await embedBackground(clonedNode, options);
7474 await embedImageNode(clonedNode, options);
7475 await embedChildren(clonedNode, options);
7476 }
7477 }
7478 //# sourceMappingURL=embed-images.js.map
7479
7480 /***/ }),
7481
7482 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7483 /*!***********************************************************!*\
7484 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7485 \***********************************************************/
7486 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7487
7488 "use strict";
7489 __webpack_require__.r(__webpack_exports__);
7490 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7491 /* harmony export */ embed: () => (/* binding */ embed),
7492 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7493 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7494 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7495 /* harmony export */ });
7496 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7497 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7498 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7499
7500
7501
7502 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7503 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7504 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7505 function toRegex(url) {
7506 // eslint-disable-next-line no-useless-escape
7507 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7508 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7509 }
7510 function parseURLs(cssText) {
7511 const urls = [];
7512 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7513 urls.push(url);
7514 return raw;
7515 });
7516 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7517 }
7518 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7519 try {
7520 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7521 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7522 let dataURL;
7523 if (getContentFromUrl) {
7524 const content = await getContentFromUrl(resolvedURL);
7525 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7526 }
7527 else {
7528 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7529 }
7530 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7531 }
7532 catch (error) {
7533 // pass
7534 }
7535 return cssText;
7536 }
7537 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7538 return !preferredFontFormat
7539 ? str
7540 : str.replace(FONT_SRC_REGEX, (match) => {
7541 // eslint-disable-next-line no-constant-condition
7542 while (true) {
7543 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7544 if (!format) {
7545 return '';
7546 }
7547 if (format === preferredFontFormat) {
7548 return `src: ${src};`;
7549 }
7550 }
7551 });
7552 }
7553 function shouldEmbed(url) {
7554 return url.search(URL_REGEX) !== -1;
7555 }
7556 async function embedResources(cssText, baseUrl, options) {
7557 if (!shouldEmbed(cssText)) {
7558 return cssText;
7559 }
7560 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7561 const urls = parseURLs(filteredCSSText);
7562 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7563 }
7564 //# sourceMappingURL=embed-resources.js.map
7565
7566 /***/ }),
7567
7568 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7569 /*!**********************************************************!*\
7570 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7571 \**********************************************************/
7572 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7573
7574 "use strict";
7575 __webpack_require__.r(__webpack_exports__);
7576 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7577 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7578 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7579 /* harmony export */ });
7580 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7581 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7582 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7583
7584
7585
7586 const cssFetchCache = {};
7587 async function fetchCSS(url) {
7588 let cache = cssFetchCache[url];
7589 if (cache != null) {
7590 return cache;
7591 }
7592 const res = await fetch(url);
7593 const cssText = await res.text();
7594 cache = { url, cssText };
7595 cssFetchCache[url] = cache;
7596 return cache;
7597 }
7598 async function embedFonts(data, options) {
7599 let cssText = data.cssText;
7600 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7601 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7602 const loadFonts = fontLocs.map(async (loc) => {
7603 let url = loc.replace(regexUrl, '$1');
7604 if (!url.startsWith('https://')) {
7605 url = new URL(url, data.url).href;
7606 }
7607 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7608 cssText = cssText.replace(loc, `url(${result})`);
7609 return [loc, result];
7610 });
7611 });
7612 return Promise.all(loadFonts).then(() => cssText);
7613 }
7614 function parseCSS(source) {
7615 if (source == null) {
7616 return [];
7617 }
7618 const result = [];
7619 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7620 // strip out comments
7621 let cssText = source.replace(commentsRegex, '');
7622 // eslint-disable-next-line prefer-regex-literals
7623 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7624 // eslint-disable-next-line no-constant-condition
7625 while (true) {
7626 const matches = keyframesRegex.exec(cssText);
7627 if (matches === null) {
7628 break;
7629 }
7630 result.push(matches[0]);
7631 }
7632 cssText = cssText.replace(keyframesRegex, '');
7633 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7634 // to match css & media queries together
7635 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7636 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7637 // unified regex
7638 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7639 // eslint-disable-next-line no-constant-condition
7640 while (true) {
7641 let matches = importRegex.exec(cssText);
7642 if (matches === null) {
7643 matches = unifiedRegex.exec(cssText);
7644 if (matches === null) {
7645 break;
7646 }
7647 else {
7648 importRegex.lastIndex = unifiedRegex.lastIndex;
7649 }
7650 }
7651 else {
7652 unifiedRegex.lastIndex = importRegex.lastIndex;
7653 }
7654 result.push(matches[0]);
7655 }
7656 return result;
7657 }
7658 async function getCSSRules(styleSheets, options) {
7659 const ret = [];
7660 const deferreds = [];
7661 // First loop inlines imports
7662 styleSheets.forEach((sheet) => {
7663 if ('cssRules' in sheet) {
7664 try {
7665 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7666 if (item.type === CSSRule.IMPORT_RULE) {
7667 let importIndex = index + 1;
7668 const url = item.href;
7669 const deferred = fetchCSS(url)
7670 .then((metadata) => embedFonts(metadata, options))
7671 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7672 try {
7673 sheet.insertRule(rule, rule.startsWith('@import')
7674 ? (importIndex += 1)
7675 : sheet.cssRules.length);
7676 }
7677 catch (error) {
7678 console.error('Error inserting rule from remote css', {
7679 rule,
7680 error,
7681 });
7682 }
7683 }))
7684 .catch((e) => {
7685 console.error('Error loading remote css', e.toString());
7686 });
7687 deferreds.push(deferred);
7688 }
7689 });
7690 }
7691 catch (e) {
7692 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7693 if (sheet.href != null) {
7694 deferreds.push(fetchCSS(sheet.href)
7695 .then((metadata) => embedFonts(metadata, options))
7696 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7697 inline.insertRule(rule, sheet.cssRules.length);
7698 }))
7699 .catch((err) => {
7700 console.error('Error loading remote stylesheet', err);
7701 }));
7702 }
7703 console.error('Error inlining remote css file', e);
7704 }
7705 }
7706 });
7707 return Promise.all(deferreds).then(() => {
7708 // Second loop parses rules
7709 styleSheets.forEach((sheet) => {
7710 if ('cssRules' in sheet) {
7711 try {
7712 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7713 ret.push(item);
7714 });
7715 }
7716 catch (e) {
7717 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7718 }
7719 }
7720 });
7721 return ret;
7722 });
7723 }
7724 function getWebFontRules(cssRules) {
7725 return cssRules
7726 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7727 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7728 }
7729 async function parseWebFontRules(node, options) {
7730 if (node.ownerDocument == null) {
7731 throw new Error('Provided element is not within a Document');
7732 }
7733 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7734 const cssRules = await getCSSRules(styleSheets, options);
7735 return getWebFontRules(cssRules);
7736 }
7737 async function getWebFontCSS(node, options) {
7738 const rules = await parseWebFontRules(node, options);
7739 const cssTexts = await Promise.all(rules.map((rule) => {
7740 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7741 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7742 }));
7743 return cssTexts.join('\n');
7744 }
7745 async function embedWebFonts(clonedNode, options) {
7746 const cssText = options.fontEmbedCSS != null
7747 ? options.fontEmbedCSS
7748 : options.skipFonts
7749 ? null
7750 : await getWebFontCSS(clonedNode, options);
7751 if (cssText) {
7752 const styleNode = document.createElement('style');
7753 const sytleContent = document.createTextNode(cssText);
7754 styleNode.appendChild(sytleContent);
7755 if (clonedNode.firstChild) {
7756 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7757 }
7758 else {
7759 clonedNode.appendChild(styleNode);
7760 }
7761 }
7762 }
7763 //# sourceMappingURL=embed-webfonts.js.map
7764
7765 /***/ }),
7766
7767 /***/ "../node_modules/html-to-image/es/index.js":
7768 /*!*************************************************!*\
7769 !*** ../node_modules/html-to-image/es/index.js ***!
7770 \*************************************************/
7771 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7772
7773 "use strict";
7774 __webpack_require__.r(__webpack_exports__);
7775 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7776 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7777 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7778 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7779 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7780 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7781 /* harmony export */ toPng: () => (/* binding */ toPng),
7782 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7783 /* harmony export */ });
7784 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7785 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7786 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7787 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7788 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7789
7790
7791
7792
7793
7794 async function toSvg(node, options = {}) {
7795 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7796 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7797 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7798 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7799 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7800 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7801 return datauri;
7802 }
7803 async function toCanvas(node, options = {}) {
7804 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7805 const svg = await toSvg(node, options);
7806 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7807 const canvas = document.createElement('canvas');
7808 const context = canvas.getContext('2d');
7809 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7810 const canvasWidth = options.canvasWidth || width;
7811 const canvasHeight = options.canvasHeight || height;
7812 canvas.width = canvasWidth * ratio;
7813 canvas.height = canvasHeight * ratio;
7814 if (!options.skipAutoScale) {
7815 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7816 }
7817 canvas.style.width = `${canvasWidth}`;
7818 canvas.style.height = `${canvasHeight}`;
7819 if (options.backgroundColor) {
7820 context.fillStyle = options.backgroundColor;
7821 context.fillRect(0, 0, canvas.width, canvas.height);
7822 }
7823 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7824 return canvas;
7825 }
7826 async function toPixelData(node, options = {}) {
7827 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7828 const canvas = await toCanvas(node, options);
7829 const ctx = canvas.getContext('2d');
7830 return ctx.getImageData(0, 0, width, height).data;
7831 }
7832 async function toPng(node, options = {}) {
7833 const canvas = await toCanvas(node, options);
7834 return canvas.toDataURL();
7835 }
7836 async function toJpeg(node, options = {}) {
7837 const canvas = await toCanvas(node, options);
7838 return canvas.toDataURL('image/jpeg', options.quality || 1);
7839 }
7840 async function toBlob(node, options = {}) {
7841 const canvas = await toCanvas(node, options);
7842 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7843 return blob;
7844 }
7845 async function getFontEmbedCSS(node, options = {}) {
7846 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7847 }
7848 //# sourceMappingURL=index.js.map
7849
7850 /***/ }),
7851
7852 /***/ "../node_modules/html-to-image/es/mimes.js":
7853 /*!*************************************************!*\
7854 !*** ../node_modules/html-to-image/es/mimes.js ***!
7855 \*************************************************/
7856 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7857
7858 "use strict";
7859 __webpack_require__.r(__webpack_exports__);
7860 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7861 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7862 /* harmony export */ });
7863 const WOFF = 'application/font-woff';
7864 const JPEG = 'image/jpeg';
7865 const mimes = {
7866 woff: WOFF,
7867 woff2: WOFF,
7868 ttf: 'application/font-truetype',
7869 eot: 'application/vnd.ms-fontobject',
7870 png: 'image/png',
7871 jpg: JPEG,
7872 jpeg: JPEG,
7873 gif: 'image/gif',
7874 tiff: 'image/tiff',
7875 svg: 'image/svg+xml',
7876 webp: 'image/webp',
7877 };
7878 function getExtension(url) {
7879 const match = /\.([^./]*?)$/g.exec(url);
7880 return match ? match[1] : '';
7881 }
7882 function getMimeType(url) {
7883 const extension = getExtension(url).toLowerCase();
7884 return mimes[extension] || '';
7885 }
7886 //# sourceMappingURL=mimes.js.map
7887
7888 /***/ }),
7889
7890 /***/ "../node_modules/html-to-image/es/util.js":
7891 /*!************************************************!*\
7892 !*** ../node_modules/html-to-image/es/util.js ***!
7893 \************************************************/
7894 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7895
7896 "use strict";
7897 __webpack_require__.r(__webpack_exports__);
7898 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7899 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7900 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7901 /* harmony export */ createImage: () => (/* binding */ createImage),
7902 /* harmony export */ delay: () => (/* binding */ delay),
7903 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7904 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7905 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7906 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7907 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7908 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7909 /* harmony export */ toArray: () => (/* binding */ toArray),
7910 /* harmony export */ uuid: () => (/* binding */ uuid)
7911 /* harmony export */ });
7912 function resolveUrl(url, baseUrl) {
7913 // url is absolute already
7914 if (url.match(/^[a-z]+:\/\//i)) {
7915 return url;
7916 }
7917 // url is absolute already, without protocol
7918 if (url.match(/^\/\//)) {
7919 return window.location.protocol + url;
7920 }
7921 // dataURI, mailto:, tel:, etc.
7922 if (url.match(/^[a-z]+:/i)) {
7923 return url;
7924 }
7925 const doc = document.implementation.createHTMLDocument();
7926 const base = doc.createElement('base');
7927 const a = doc.createElement('a');
7928 doc.head.appendChild(base);
7929 doc.body.appendChild(a);
7930 if (baseUrl) {
7931 base.href = baseUrl;
7932 }
7933 a.href = url;
7934 return a.href;
7935 }
7936 const uuid = (() => {
7937 // generate uuid for className of pseudo elements.
7938 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7939 let counter = 0;
7940 // ref: http://stackoverflow.com/a/6248722/2519373
7941 const random = () =>
7942 // eslint-disable-next-line no-bitwise
7943 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7944 return () => {
7945 counter += 1;
7946 return `u${random()}${counter}`;
7947 };
7948 })();
7949 function delay(ms) {
7950 return (args) => new Promise((resolve) => {
7951 setTimeout(() => resolve(args), ms);
7952 });
7953 }
7954 function toArray(arrayLike) {
7955 const arr = [];
7956 for (let i = 0, l = arrayLike.length; i < l; i++) {
7957 arr.push(arrayLike[i]);
7958 }
7959 return arr;
7960 }
7961 function px(node, styleProperty) {
7962 const win = node.ownerDocument.defaultView || window;
7963 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7964 return val ? parseFloat(val.replace('px', '')) : 0;
7965 }
7966 function getNodeWidth(node) {
7967 const leftBorder = px(node, 'border-left-width');
7968 const rightBorder = px(node, 'border-right-width');
7969 return node.clientWidth + leftBorder + rightBorder;
7970 }
7971 function getNodeHeight(node) {
7972 const topBorder = px(node, 'border-top-width');
7973 const bottomBorder = px(node, 'border-bottom-width');
7974 return node.clientHeight + topBorder + bottomBorder;
7975 }
7976 function getImageSize(targetNode, options = {}) {
7977 const width = options.width || getNodeWidth(targetNode);
7978 const height = options.height || getNodeHeight(targetNode);
7979 return { width, height };
7980 }
7981 function getPixelRatio() {
7982 let ratio;
7983 let FINAL_PROCESS;
7984 try {
7985 FINAL_PROCESS = process;
7986 }
7987 catch (e) {
7988 // pass
7989 }
7990 const val = FINAL_PROCESS && FINAL_PROCESS.env
7991 ? FINAL_PROCESS.env.devicePixelRatio
7992 : null;
7993 if (val) {
7994 ratio = parseInt(val, 10);
7995 if (Number.isNaN(ratio)) {
7996 ratio = 1;
7997 }
7998 }
7999 return ratio || window.devicePixelRatio || 1;
8000 }
8001 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
8002 const canvasDimensionLimit = 16384;
8003 function checkCanvasDimensions(canvas) {
8004 if (canvas.width > canvasDimensionLimit ||
8005 canvas.height > canvasDimensionLimit) {
8006 if (canvas.width > canvasDimensionLimit &&
8007 canvas.height > canvasDimensionLimit) {
8008 if (canvas.width > canvas.height) {
8009 canvas.height *= canvasDimensionLimit / canvas.width;
8010 canvas.width = canvasDimensionLimit;
8011 }
8012 else {
8013 canvas.width *= canvasDimensionLimit / canvas.height;
8014 canvas.height = canvasDimensionLimit;
8015 }
8016 }
8017 else if (canvas.width > canvasDimensionLimit) {
8018 canvas.height *= canvasDimensionLimit / canvas.width;
8019 canvas.width = canvasDimensionLimit;
8020 }
8021 else {
8022 canvas.width *= canvasDimensionLimit / canvas.height;
8023 canvas.height = canvasDimensionLimit;
8024 }
8025 }
8026 }
8027 function canvasToBlob(canvas, options = {}) {
8028 if (canvas.toBlob) {
8029 return new Promise((resolve) => {
8030 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
8031 });
8032 }
8033 return new Promise((resolve) => {
8034 const binaryString = window.atob(canvas
8035 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
8036 .split(',')[1]);
8037 const len = binaryString.length;
8038 const binaryArray = new Uint8Array(len);
8039 for (let i = 0; i < len; i += 1) {
8040 binaryArray[i] = binaryString.charCodeAt(i);
8041 }
8042 resolve(new Blob([binaryArray], {
8043 type: options.type ? options.type : 'image/png',
8044 }));
8045 });
8046 }
8047 function createImage(url) {
8048 return new Promise((resolve, reject) => {
8049 const img = new Image();
8050 img.decode = () => resolve(img);
8051 img.onload = () => resolve(img);
8052 img.onerror = reject;
8053 img.crossOrigin = 'anonymous';
8054 img.decoding = 'async';
8055 img.src = url;
8056 });
8057 }
8058 async function svgToDataURL(svg) {
8059 return Promise.resolve()
8060 .then(() => new XMLSerializer().serializeToString(svg))
8061 .then(encodeURIComponent)
8062 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
8063 }
8064 async function nodeToDataURL(node, width, height) {
8065 const xmlns = 'http://www.w3.org/2000/svg';
8066 const svg = document.createElementNS(xmlns, 'svg');
8067 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
8068 svg.setAttribute('width', `${width}`);
8069 svg.setAttribute('height', `${height}`);
8070 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
8071 foreignObject.setAttribute('width', '100%');
8072 foreignObject.setAttribute('height', '100%');
8073 foreignObject.setAttribute('x', '0');
8074 foreignObject.setAttribute('y', '0');
8075 foreignObject.setAttribute('externalResourcesRequired', 'true');
8076 svg.appendChild(foreignObject);
8077 foreignObject.appendChild(node);
8078 return svgToDataURL(svg);
8079 }
8080 const isInstanceOfElement = (node, instance) => {
8081 if (node instanceof instance)
8082 return true;
8083 const nodePrototype = Object.getPrototypeOf(node);
8084 if (nodePrototype === null)
8085 return false;
8086 return (nodePrototype.constructor.name === instance.name ||
8087 isInstanceOfElement(nodePrototype, instance));
8088 };
8089 //# sourceMappingURL=util.js.map
8090
8091 /***/ }),
8092
8093 /***/ "../node_modules/object-assign/index.js":
8094 /*!**********************************************!*\
8095 !*** ../node_modules/object-assign/index.js ***!
8096 \**********************************************/
8097 /***/ ((module) => {
8098
8099 "use strict";
8100 /*
8101 object-assign
8102 (c) Sindre Sorhus
8103 @license MIT
8104 */
8105
8106
8107 /* eslint-disable no-unused-vars */
8108 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
8109 var hasOwnProperty = Object.prototype.hasOwnProperty;
8110 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
8111
8112 function toObject(val) {
8113 if (val === null || val === undefined) {
8114 throw new TypeError('Object.assign cannot be called with null or undefined');
8115 }
8116
8117 return Object(val);
8118 }
8119
8120 function shouldUseNative() {
8121 try {
8122 if (!Object.assign) {
8123 return false;
8124 }
8125
8126 // Detect buggy property enumeration order in older V8 versions.
8127
8128 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
8129 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
8130 test1[5] = 'de';
8131 if (Object.getOwnPropertyNames(test1)[0] === '5') {
8132 return false;
8133 }
8134
8135 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8136 var test2 = {};
8137 for (var i = 0; i < 10; i++) {
8138 test2['_' + String.fromCharCode(i)] = i;
8139 }
8140 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
8141 return test2[n];
8142 });
8143 if (order2.join('') !== '0123456789') {
8144 return false;
8145 }
8146
8147 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
8148 var test3 = {};
8149 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
8150 test3[letter] = letter;
8151 });
8152 if (Object.keys(Object.assign({}, test3)).join('') !==
8153 'abcdefghijklmnopqrst') {
8154 return false;
8155 }
8156
8157 return true;
8158 } catch (err) {
8159 // We don't expect any of the above to throw, but better to be safe.
8160 return false;
8161 }
8162 }
8163
8164 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
8165 var from;
8166 var to = toObject(target);
8167 var symbols;
8168
8169 for (var s = 1; s < arguments.length; s++) {
8170 from = Object(arguments[s]);
8171
8172 for (var key in from) {
8173 if (hasOwnProperty.call(from, key)) {
8174 to[key] = from[key];
8175 }
8176 }
8177
8178 if (getOwnPropertySymbols) {
8179 symbols = getOwnPropertySymbols(from);
8180 for (var i = 0; i < symbols.length; i++) {
8181 if (propIsEnumerable.call(from, symbols[i])) {
8182 to[symbols[i]] = from[symbols[i]];
8183 }
8184 }
8185 }
8186 }
8187
8188 return to;
8189 };
8190
8191
8192 /***/ }),
8193
8194 /***/ "../node_modules/prop-types/checkPropTypes.js":
8195 /*!****************************************************!*\
8196 !*** ../node_modules/prop-types/checkPropTypes.js ***!
8197 \****************************************************/
8198 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8199
8200 "use strict";
8201 /**
8202 * Copyright (c) 2013-present, Facebook, Inc.
8203 *
8204 * This source code is licensed under the MIT license found in the
8205 * LICENSE file in the root directory of this source tree.
8206 */
8207
8208
8209
8210 var printWarning = function() {};
8211
8212 if (true) {
8213 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8214 var loggedTypeFailures = {};
8215 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8216
8217 printWarning = function(text) {
8218 var message = 'Warning: ' + text;
8219 if (typeof console !== 'undefined') {
8220 console.error(message);
8221 }
8222 try {
8223 // --- Welcome to debugging React ---
8224 // This error was thrown as a convenience so that you can use this stack
8225 // to find the callsite that caused this warning to fire.
8226 throw new Error(message);
8227 } catch (x) { /**/ }
8228 };
8229 }
8230
8231 /**
8232 * Assert that the values match with the type specs.
8233 * Error messages are memorized and will only be shown once.
8234 *
8235 * @param {object} typeSpecs Map of name to a ReactPropType
8236 * @param {object} values Runtime values that need to be type-checked
8237 * @param {string} location e.g. "prop", "context", "child context"
8238 * @param {string} componentName Name of the component for error messages.
8239 * @param {?Function} getStack Returns the component stack.
8240 * @private
8241 */
8242 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
8243 if (true) {
8244 for (var typeSpecName in typeSpecs) {
8245 if (has(typeSpecs, typeSpecName)) {
8246 var error;
8247 // Prop type validation may throw. In case they do, we don't want to
8248 // fail the render phase where it didn't fail before. So we log it.
8249 // After these have been cleaned up, we'll let them throw.
8250 try {
8251 // This is intentionally an invariant that gets caught. It's the same
8252 // behavior as without this statement except with a better message.
8253 if (typeof typeSpecs[typeSpecName] !== 'function') {
8254 var err = Error(
8255 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
8256 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
8257 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
8258 );
8259 err.name = 'Invariant Violation';
8260 throw err;
8261 }
8262 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
8263 } catch (ex) {
8264 error = ex;
8265 }
8266 if (error && !(error instanceof Error)) {
8267 printWarning(
8268 (componentName || 'React class') + ': type specification of ' +
8269 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
8270 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
8271 'You may have forgotten to pass an argument to the type checker ' +
8272 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
8273 'shape all require an argument).'
8274 );
8275 }
8276 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
8277 // Only monitor this failure once because there tends to be a lot of the
8278 // same error.
8279 loggedTypeFailures[error.message] = true;
8280
8281 var stack = getStack ? getStack() : '';
8282
8283 printWarning(
8284 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
8285 );
8286 }
8287 }
8288 }
8289 }
8290 }
8291
8292 /**
8293 * Resets warning cache when testing.
8294 *
8295 * @private
8296 */
8297 checkPropTypes.resetWarningCache = function() {
8298 if (true) {
8299 loggedTypeFailures = {};
8300 }
8301 }
8302
8303 module.exports = checkPropTypes;
8304
8305
8306 /***/ }),
8307
8308 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
8309 /*!*************************************************************!*\
8310 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
8311 \*************************************************************/
8312 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8313
8314 "use strict";
8315 /**
8316 * Copyright (c) 2013-present, Facebook, Inc.
8317 *
8318 * This source code is licensed under the MIT license found in the
8319 * LICENSE file in the root directory of this source tree.
8320 */
8321
8322
8323
8324 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8325 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
8326
8327 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
8328 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
8329 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
8330
8331 var printWarning = function() {};
8332
8333 if (true) {
8334 printWarning = function(text) {
8335 var message = 'Warning: ' + text;
8336 if (typeof console !== 'undefined') {
8337 console.error(message);
8338 }
8339 try {
8340 // --- Welcome to debugging React ---
8341 // This error was thrown as a convenience so that you can use this stack
8342 // to find the callsite that caused this warning to fire.
8343 throw new Error(message);
8344 } catch (x) {}
8345 };
8346 }
8347
8348 function emptyFunctionThatReturnsNull() {
8349 return null;
8350 }
8351
8352 module.exports = function(isValidElement, throwOnDirectAccess) {
8353 /* global Symbol */
8354 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8355 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8356
8357 /**
8358 * Returns the iterator method function contained on the iterable object.
8359 *
8360 * Be sure to invoke the function with the iterable as context:
8361 *
8362 * var iteratorFn = getIteratorFn(myIterable);
8363 * if (iteratorFn) {
8364 * var iterator = iteratorFn.call(myIterable);
8365 * ...
8366 * }
8367 *
8368 * @param {?object} maybeIterable
8369 * @return {?function}
8370 */
8371 function getIteratorFn(maybeIterable) {
8372 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8373 if (typeof iteratorFn === 'function') {
8374 return iteratorFn;
8375 }
8376 }
8377
8378 /**
8379 * Collection of methods that allow declaration and validation of props that are
8380 * supplied to React components. Example usage:
8381 *
8382 * var Props = require('ReactPropTypes');
8383 * var MyArticle = React.createClass({
8384 * propTypes: {
8385 * // An optional string prop named "description".
8386 * description: Props.string,
8387 *
8388 * // A required enum prop named "category".
8389 * category: Props.oneOf(['News','Photos']).isRequired,
8390 *
8391 * // A prop named "dialog" that requires an instance of Dialog.
8392 * dialog: Props.instanceOf(Dialog).isRequired
8393 * },
8394 * render: function() { ... }
8395 * });
8396 *
8397 * A more formal specification of how these methods are used:
8398 *
8399 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8400 * decl := ReactPropTypes.{type}(.isRequired)?
8401 *
8402 * Each and every declaration produces a function with the same signature. This
8403 * allows the creation of custom validation functions. For example:
8404 *
8405 * var MyLink = React.createClass({
8406 * propTypes: {
8407 * // An optional string or URI prop named "href".
8408 * href: function(props, propName, componentName) {
8409 * var propValue = props[propName];
8410 * if (propValue != null && typeof propValue !== 'string' &&
8411 * !(propValue instanceof URI)) {
8412 * return new Error(
8413 * 'Expected a string or an URI for ' + propName + ' in ' +
8414 * componentName
8415 * );
8416 * }
8417 * }
8418 * },
8419 * render: function() {...}
8420 * });
8421 *
8422 * @internal
8423 */
8424
8425 var ANONYMOUS = '<<anonymous>>';
8426
8427 // Important!
8428 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8429 var ReactPropTypes = {
8430 array: createPrimitiveTypeChecker('array'),
8431 bigint: createPrimitiveTypeChecker('bigint'),
8432 bool: createPrimitiveTypeChecker('boolean'),
8433 func: createPrimitiveTypeChecker('function'),
8434 number: createPrimitiveTypeChecker('number'),
8435 object: createPrimitiveTypeChecker('object'),
8436 string: createPrimitiveTypeChecker('string'),
8437 symbol: createPrimitiveTypeChecker('symbol'),
8438
8439 any: createAnyTypeChecker(),
8440 arrayOf: createArrayOfTypeChecker,
8441 element: createElementTypeChecker(),
8442 elementType: createElementTypeTypeChecker(),
8443 instanceOf: createInstanceTypeChecker,
8444 node: createNodeChecker(),
8445 objectOf: createObjectOfTypeChecker,
8446 oneOf: createEnumTypeChecker,
8447 oneOfType: createUnionTypeChecker,
8448 shape: createShapeTypeChecker,
8449 exact: createStrictShapeTypeChecker,
8450 };
8451
8452 /**
8453 * inlined Object.is polyfill to avoid requiring consumers ship their own
8454 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8455 */
8456 /*eslint-disable no-self-compare*/
8457 function is(x, y) {
8458 // SameValue algorithm
8459 if (x === y) {
8460 // Steps 1-5, 7-10
8461 // Steps 6.b-6.e: +0 != -0
8462 return x !== 0 || 1 / x === 1 / y;
8463 } else {
8464 // Step 6.a: NaN == NaN
8465 return x !== x && y !== y;
8466 }
8467 }
8468 /*eslint-enable no-self-compare*/
8469
8470 /**
8471 * We use an Error-like object for backward compatibility as people may call
8472 * PropTypes directly and inspect their output. However, we don't use real
8473 * Errors anymore. We don't inspect their stack anyway, and creating them
8474 * is prohibitively expensive if they are created too often, such as what
8475 * happens in oneOfType() for any type before the one that matched.
8476 */
8477 function PropTypeError(message, data) {
8478 this.message = message;
8479 this.data = data && typeof data === 'object' ? data: {};
8480 this.stack = '';
8481 }
8482 // Make `instanceof Error` still work for returned errors.
8483 PropTypeError.prototype = Error.prototype;
8484
8485 function createChainableTypeChecker(validate) {
8486 if (true) {
8487 var manualPropTypeCallCache = {};
8488 var manualPropTypeWarningCount = 0;
8489 }
8490 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8491 componentName = componentName || ANONYMOUS;
8492 propFullName = propFullName || propName;
8493
8494 if (secret !== ReactPropTypesSecret) {
8495 if (throwOnDirectAccess) {
8496 // New behavior only for users of `prop-types` package
8497 var err = new Error(
8498 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8499 'Use `PropTypes.checkPropTypes()` to call them. ' +
8500 'Read more at http://fb.me/use-check-prop-types'
8501 );
8502 err.name = 'Invariant Violation';
8503 throw err;
8504 } else if ( true && typeof console !== 'undefined') {
8505 // Old behavior for people using React.PropTypes
8506 var cacheKey = componentName + ':' + propName;
8507 if (
8508 !manualPropTypeCallCache[cacheKey] &&
8509 // Avoid spamming the console because they are often not actionable except for lib authors
8510 manualPropTypeWarningCount < 3
8511 ) {
8512 printWarning(
8513 'You are manually calling a React.PropTypes validation ' +
8514 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8515 'and will throw in the standalone `prop-types` package. ' +
8516 'You may be seeing this warning due to a third-party PropTypes ' +
8517 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8518 );
8519 manualPropTypeCallCache[cacheKey] = true;
8520 manualPropTypeWarningCount++;
8521 }
8522 }
8523 }
8524 if (props[propName] == null) {
8525 if (isRequired) {
8526 if (props[propName] === null) {
8527 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8528 }
8529 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8530 }
8531 return null;
8532 } else {
8533 return validate(props, propName, componentName, location, propFullName);
8534 }
8535 }
8536
8537 var chainedCheckType = checkType.bind(null, false);
8538 chainedCheckType.isRequired = checkType.bind(null, true);
8539
8540 return chainedCheckType;
8541 }
8542
8543 function createPrimitiveTypeChecker(expectedType) {
8544 function validate(props, propName, componentName, location, propFullName, secret) {
8545 var propValue = props[propName];
8546 var propType = getPropType(propValue);
8547 if (propType !== expectedType) {
8548 // `propValue` being instance of, say, date/regexp, pass the 'object'
8549 // check, but we can offer a more precise error message here rather than
8550 // 'of type `object`'.
8551 var preciseType = getPreciseType(propValue);
8552
8553 return new PropTypeError(
8554 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8555 {expectedType: expectedType}
8556 );
8557 }
8558 return null;
8559 }
8560 return createChainableTypeChecker(validate);
8561 }
8562
8563 function createAnyTypeChecker() {
8564 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8565 }
8566
8567 function createArrayOfTypeChecker(typeChecker) {
8568 function validate(props, propName, componentName, location, propFullName) {
8569 if (typeof typeChecker !== 'function') {
8570 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8571 }
8572 var propValue = props[propName];
8573 if (!Array.isArray(propValue)) {
8574 var propType = getPropType(propValue);
8575 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8576 }
8577 for (var i = 0; i < propValue.length; i++) {
8578 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8579 if (error instanceof Error) {
8580 return error;
8581 }
8582 }
8583 return null;
8584 }
8585 return createChainableTypeChecker(validate);
8586 }
8587
8588 function createElementTypeChecker() {
8589 function validate(props, propName, componentName, location, propFullName) {
8590 var propValue = props[propName];
8591 if (!isValidElement(propValue)) {
8592 var propType = getPropType(propValue);
8593 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8594 }
8595 return null;
8596 }
8597 return createChainableTypeChecker(validate);
8598 }
8599
8600 function createElementTypeTypeChecker() {
8601 function validate(props, propName, componentName, location, propFullName) {
8602 var propValue = props[propName];
8603 if (!ReactIs.isValidElementType(propValue)) {
8604 var propType = getPropType(propValue);
8605 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8606 }
8607 return null;
8608 }
8609 return createChainableTypeChecker(validate);
8610 }
8611
8612 function createInstanceTypeChecker(expectedClass) {
8613 function validate(props, propName, componentName, location, propFullName) {
8614 if (!(props[propName] instanceof expectedClass)) {
8615 var expectedClassName = expectedClass.name || ANONYMOUS;
8616 var actualClassName = getClassName(props[propName]);
8617 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8618 }
8619 return null;
8620 }
8621 return createChainableTypeChecker(validate);
8622 }
8623
8624 function createEnumTypeChecker(expectedValues) {
8625 if (!Array.isArray(expectedValues)) {
8626 if (true) {
8627 if (arguments.length > 1) {
8628 printWarning(
8629 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8630 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8631 );
8632 } else {
8633 printWarning('Invalid argument supplied to oneOf, expected an array.');
8634 }
8635 }
8636 return emptyFunctionThatReturnsNull;
8637 }
8638
8639 function validate(props, propName, componentName, location, propFullName) {
8640 var propValue = props[propName];
8641 for (var i = 0; i < expectedValues.length; i++) {
8642 if (is(propValue, expectedValues[i])) {
8643 return null;
8644 }
8645 }
8646
8647 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8648 var type = getPreciseType(value);
8649 if (type === 'symbol') {
8650 return String(value);
8651 }
8652 return value;
8653 });
8654 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8655 }
8656 return createChainableTypeChecker(validate);
8657 }
8658
8659 function createObjectOfTypeChecker(typeChecker) {
8660 function validate(props, propName, componentName, location, propFullName) {
8661 if (typeof typeChecker !== 'function') {
8662 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8663 }
8664 var propValue = props[propName];
8665 var propType = getPropType(propValue);
8666 if (propType !== 'object') {
8667 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8668 }
8669 for (var key in propValue) {
8670 if (has(propValue, key)) {
8671 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8672 if (error instanceof Error) {
8673 return error;
8674 }
8675 }
8676 }
8677 return null;
8678 }
8679 return createChainableTypeChecker(validate);
8680 }
8681
8682 function createUnionTypeChecker(arrayOfTypeCheckers) {
8683 if (!Array.isArray(arrayOfTypeCheckers)) {
8684 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8685 return emptyFunctionThatReturnsNull;
8686 }
8687
8688 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8689 var checker = arrayOfTypeCheckers[i];
8690 if (typeof checker !== 'function') {
8691 printWarning(
8692 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8693 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8694 );
8695 return emptyFunctionThatReturnsNull;
8696 }
8697 }
8698
8699 function validate(props, propName, componentName, location, propFullName) {
8700 var expectedTypes = [];
8701 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8702 var checker = arrayOfTypeCheckers[i];
8703 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8704 if (checkerResult == null) {
8705 return null;
8706 }
8707 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8708 expectedTypes.push(checkerResult.data.expectedType);
8709 }
8710 }
8711 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8712 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8713 }
8714 return createChainableTypeChecker(validate);
8715 }
8716
8717 function createNodeChecker() {
8718 function validate(props, propName, componentName, location, propFullName) {
8719 if (!isNode(props[propName])) {
8720 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8721 }
8722 return null;
8723 }
8724 return createChainableTypeChecker(validate);
8725 }
8726
8727 function invalidValidatorError(componentName, location, propFullName, key, type) {
8728 return new PropTypeError(
8729 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8730 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8731 );
8732 }
8733
8734 function createShapeTypeChecker(shapeTypes) {
8735 function validate(props, propName, componentName, location, propFullName) {
8736 var propValue = props[propName];
8737 var propType = getPropType(propValue);
8738 if (propType !== 'object') {
8739 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8740 }
8741 for (var key in shapeTypes) {
8742 var checker = shapeTypes[key];
8743 if (typeof checker !== 'function') {
8744 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8745 }
8746 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8747 if (error) {
8748 return error;
8749 }
8750 }
8751 return null;
8752 }
8753 return createChainableTypeChecker(validate);
8754 }
8755
8756 function createStrictShapeTypeChecker(shapeTypes) {
8757 function validate(props, propName, componentName, location, propFullName) {
8758 var propValue = props[propName];
8759 var propType = getPropType(propValue);
8760 if (propType !== 'object') {
8761 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8762 }
8763 // We need to check all keys in case some are required but missing from props.
8764 var allKeys = assign({}, props[propName], shapeTypes);
8765 for (var key in allKeys) {
8766 var checker = shapeTypes[key];
8767 if (has(shapeTypes, key) && typeof checker !== 'function') {
8768 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8769 }
8770 if (!checker) {
8771 return new PropTypeError(
8772 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8773 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8774 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8775 );
8776 }
8777 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8778 if (error) {
8779 return error;
8780 }
8781 }
8782 return null;
8783 }
8784
8785 return createChainableTypeChecker(validate);
8786 }
8787
8788 function isNode(propValue) {
8789 switch (typeof propValue) {
8790 case 'number':
8791 case 'string':
8792 case 'undefined':
8793 return true;
8794 case 'boolean':
8795 return !propValue;
8796 case 'object':
8797 if (Array.isArray(propValue)) {
8798 return propValue.every(isNode);
8799 }
8800 if (propValue === null || isValidElement(propValue)) {
8801 return true;
8802 }
8803
8804 var iteratorFn = getIteratorFn(propValue);
8805 if (iteratorFn) {
8806 var iterator = iteratorFn.call(propValue);
8807 var step;
8808 if (iteratorFn !== propValue.entries) {
8809 while (!(step = iterator.next()).done) {
8810 if (!isNode(step.value)) {
8811 return false;
8812 }
8813 }
8814 } else {
8815 // Iterator will provide entry [k,v] tuples rather than values.
8816 while (!(step = iterator.next()).done) {
8817 var entry = step.value;
8818 if (entry) {
8819 if (!isNode(entry[1])) {
8820 return false;
8821 }
8822 }
8823 }
8824 }
8825 } else {
8826 return false;
8827 }
8828
8829 return true;
8830 default:
8831 return false;
8832 }
8833 }
8834
8835 function isSymbol(propType, propValue) {
8836 // Native Symbol.
8837 if (propType === 'symbol') {
8838 return true;
8839 }
8840
8841 // falsy value can't be a Symbol
8842 if (!propValue) {
8843 return false;
8844 }
8845
8846 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8847 if (propValue['@@toStringTag'] === 'Symbol') {
8848 return true;
8849 }
8850
8851 // Fallback for non-spec compliant Symbols which are polyfilled.
8852 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8853 return true;
8854 }
8855
8856 return false;
8857 }
8858
8859 // Equivalent of `typeof` but with special handling for array and regexp.
8860 function getPropType(propValue) {
8861 var propType = typeof propValue;
8862 if (Array.isArray(propValue)) {
8863 return 'array';
8864 }
8865 if (propValue instanceof RegExp) {
8866 // Old webkits (at least until Android 4.0) return 'function' rather than
8867 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8868 // passes PropTypes.object.
8869 return 'object';
8870 }
8871 if (isSymbol(propType, propValue)) {
8872 return 'symbol';
8873 }
8874 return propType;
8875 }
8876
8877 // This handles more types than `getPropType`. Only used for error messages.
8878 // See `createPrimitiveTypeChecker`.
8879 function getPreciseType(propValue) {
8880 if (typeof propValue === 'undefined' || propValue === null) {
8881 return '' + propValue;
8882 }
8883 var propType = getPropType(propValue);
8884 if (propType === 'object') {
8885 if (propValue instanceof Date) {
8886 return 'date';
8887 } else if (propValue instanceof RegExp) {
8888 return 'regexp';
8889 }
8890 }
8891 return propType;
8892 }
8893
8894 // Returns a string that is postfixed to a warning about an invalid type.
8895 // For example, "undefined" or "of type array"
8896 function getPostfixForTypeWarning(value) {
8897 var type = getPreciseType(value);
8898 switch (type) {
8899 case 'array':
8900 case 'object':
8901 return 'an ' + type;
8902 case 'boolean':
8903 case 'date':
8904 case 'regexp':
8905 return 'a ' + type;
8906 default:
8907 return type;
8908 }
8909 }
8910
8911 // Returns class name of the object, if any.
8912 function getClassName(propValue) {
8913 if (!propValue.constructor || !propValue.constructor.name) {
8914 return ANONYMOUS;
8915 }
8916 return propValue.constructor.name;
8917 }
8918
8919 ReactPropTypes.checkPropTypes = checkPropTypes;
8920 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8921 ReactPropTypes.PropTypes = ReactPropTypes;
8922
8923 return ReactPropTypes;
8924 };
8925
8926
8927 /***/ }),
8928
8929 /***/ "../node_modules/prop-types/index.js":
8930 /*!*******************************************!*\
8931 !*** ../node_modules/prop-types/index.js ***!
8932 \*******************************************/
8933 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8934
8935 /**
8936 * Copyright (c) 2013-present, Facebook, Inc.
8937 *
8938 * This source code is licensed under the MIT license found in the
8939 * LICENSE file in the root directory of this source tree.
8940 */
8941
8942 if (true) {
8943 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8944
8945 // By explicitly using `prop-types` you are opting into new development behavior.
8946 // http://fb.me/prop-types-in-prod
8947 var throwOnDirectAccess = true;
8948 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8949 } else {}
8950
8951
8952 /***/ }),
8953
8954 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8955 /*!**************************************************************!*\
8956 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8957 \**************************************************************/
8958 /***/ ((module) => {
8959
8960 "use strict";
8961 /**
8962 * Copyright (c) 2013-present, Facebook, Inc.
8963 *
8964 * This source code is licensed under the MIT license found in the
8965 * LICENSE file in the root directory of this source tree.
8966 */
8967
8968
8969
8970 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8971
8972 module.exports = ReactPropTypesSecret;
8973
8974
8975 /***/ }),
8976
8977 /***/ "../node_modules/prop-types/lib/has.js":
8978 /*!*********************************************!*\
8979 !*** ../node_modules/prop-types/lib/has.js ***!
8980 \*********************************************/
8981 /***/ ((module) => {
8982
8983 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8984
8985
8986 /***/ }),
8987
8988 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8989 /*!************************************************************************************!*\
8990 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8991 \************************************************************************************/
8992 /***/ ((__unused_webpack_module, exports) => {
8993
8994 "use strict";
8995 /** @license React v16.13.1
8996 * react-is.development.js
8997 *
8998 * Copyright (c) Facebook, Inc. and its affiliates.
8999 *
9000 * This source code is licensed under the MIT license found in the
9001 * LICENSE file in the root directory of this source tree.
9002 */
9003
9004
9005
9006
9007
9008 if (true) {
9009 (function() {
9010 'use strict';
9011
9012 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
9013 // nor polyfill, then a plain number is used for performance.
9014 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
9015 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
9016 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
9017 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
9018 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
9019 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
9020 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
9021 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
9022 // (unstable) APIs that have been removed. Can we remove the symbols?
9023
9024 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
9025 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
9026 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
9027 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
9028 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
9029 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
9030 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
9031 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
9032 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
9033 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
9034 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
9035
9036 function isValidElementType(type) {
9037 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
9038 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);
9039 }
9040
9041 function typeOf(object) {
9042 if (typeof object === 'object' && object !== null) {
9043 var $$typeof = object.$$typeof;
9044
9045 switch ($$typeof) {
9046 case REACT_ELEMENT_TYPE:
9047 var type = object.type;
9048
9049 switch (type) {
9050 case REACT_ASYNC_MODE_TYPE:
9051 case REACT_CONCURRENT_MODE_TYPE:
9052 case REACT_FRAGMENT_TYPE:
9053 case REACT_PROFILER_TYPE:
9054 case REACT_STRICT_MODE_TYPE:
9055 case REACT_SUSPENSE_TYPE:
9056 return type;
9057
9058 default:
9059 var $$typeofType = type && type.$$typeof;
9060
9061 switch ($$typeofType) {
9062 case REACT_CONTEXT_TYPE:
9063 case REACT_FORWARD_REF_TYPE:
9064 case REACT_LAZY_TYPE:
9065 case REACT_MEMO_TYPE:
9066 case REACT_PROVIDER_TYPE:
9067 return $$typeofType;
9068
9069 default:
9070 return $$typeof;
9071 }
9072
9073 }
9074
9075 case REACT_PORTAL_TYPE:
9076 return $$typeof;
9077 }
9078 }
9079
9080 return undefined;
9081 } // AsyncMode is deprecated along with isAsyncMode
9082
9083 var AsyncMode = REACT_ASYNC_MODE_TYPE;
9084 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
9085 var ContextConsumer = REACT_CONTEXT_TYPE;
9086 var ContextProvider = REACT_PROVIDER_TYPE;
9087 var Element = REACT_ELEMENT_TYPE;
9088 var ForwardRef = REACT_FORWARD_REF_TYPE;
9089 var Fragment = REACT_FRAGMENT_TYPE;
9090 var Lazy = REACT_LAZY_TYPE;
9091 var Memo = REACT_MEMO_TYPE;
9092 var Portal = REACT_PORTAL_TYPE;
9093 var Profiler = REACT_PROFILER_TYPE;
9094 var StrictMode = REACT_STRICT_MODE_TYPE;
9095 var Suspense = REACT_SUSPENSE_TYPE;
9096 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
9097
9098 function isAsyncMode(object) {
9099 {
9100 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
9101 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
9102
9103 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.');
9104 }
9105 }
9106
9107 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
9108 }
9109 function isConcurrentMode(object) {
9110 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
9111 }
9112 function isContextConsumer(object) {
9113 return typeOf(object) === REACT_CONTEXT_TYPE;
9114 }
9115 function isContextProvider(object) {
9116 return typeOf(object) === REACT_PROVIDER_TYPE;
9117 }
9118 function isElement(object) {
9119 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
9120 }
9121 function isForwardRef(object) {
9122 return typeOf(object) === REACT_FORWARD_REF_TYPE;
9123 }
9124 function isFragment(object) {
9125 return typeOf(object) === REACT_FRAGMENT_TYPE;
9126 }
9127 function isLazy(object) {
9128 return typeOf(object) === REACT_LAZY_TYPE;
9129 }
9130 function isMemo(object) {
9131 return typeOf(object) === REACT_MEMO_TYPE;
9132 }
9133 function isPortal(object) {
9134 return typeOf(object) === REACT_PORTAL_TYPE;
9135 }
9136 function isProfiler(object) {
9137 return typeOf(object) === REACT_PROFILER_TYPE;
9138 }
9139 function isStrictMode(object) {
9140 return typeOf(object) === REACT_STRICT_MODE_TYPE;
9141 }
9142 function isSuspense(object) {
9143 return typeOf(object) === REACT_SUSPENSE_TYPE;
9144 }
9145
9146 exports.AsyncMode = AsyncMode;
9147 exports.ConcurrentMode = ConcurrentMode;
9148 exports.ContextConsumer = ContextConsumer;
9149 exports.ContextProvider = ContextProvider;
9150 exports.Element = Element;
9151 exports.ForwardRef = ForwardRef;
9152 exports.Fragment = Fragment;
9153 exports.Lazy = Lazy;
9154 exports.Memo = Memo;
9155 exports.Portal = Portal;
9156 exports.Profiler = Profiler;
9157 exports.StrictMode = StrictMode;
9158 exports.Suspense = Suspense;
9159 exports.isAsyncMode = isAsyncMode;
9160 exports.isConcurrentMode = isConcurrentMode;
9161 exports.isContextConsumer = isContextConsumer;
9162 exports.isContextProvider = isContextProvider;
9163 exports.isElement = isElement;
9164 exports.isForwardRef = isForwardRef;
9165 exports.isFragment = isFragment;
9166 exports.isLazy = isLazy;
9167 exports.isMemo = isMemo;
9168 exports.isPortal = isPortal;
9169 exports.isProfiler = isProfiler;
9170 exports.isStrictMode = isStrictMode;
9171 exports.isSuspense = isSuspense;
9172 exports.isValidElementType = isValidElementType;
9173 exports.typeOf = typeOf;
9174 })();
9175 }
9176
9177
9178 /***/ }),
9179
9180 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
9181 /*!*****************************************************************!*\
9182 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
9183 \*****************************************************************/
9184 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9185
9186 "use strict";
9187
9188
9189 if (false) {} else {
9190 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
9191 }
9192
9193
9194 /***/ }),
9195
9196 /***/ "../node_modules/react-dom/client.js":
9197 /*!*******************************************!*\
9198 !*** ../node_modules/react-dom/client.js ***!
9199 \*******************************************/
9200 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9201
9202 "use strict";
9203
9204
9205 var m = __webpack_require__(/*! react-dom */ "react-dom");
9206 if (false) {} else {
9207 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
9208 exports.createRoot = function(c, o) {
9209 i.usingClientEntryPoint = true;
9210 try {
9211 return m.createRoot(c, o);
9212 } finally {
9213 i.usingClientEntryPoint = false;
9214 }
9215 };
9216 exports.hydrateRoot = function(c, h, o) {
9217 i.usingClientEntryPoint = true;
9218 try {
9219 return m.hydrateRoot(c, h, o);
9220 } finally {
9221 i.usingClientEntryPoint = false;
9222 }
9223 };
9224 }
9225
9226
9227 /***/ }),
9228
9229 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
9230 /*!**************************************************************!*\
9231 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
9232 \**************************************************************/
9233 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9234
9235 "use strict";
9236
9237
9238 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); }
9239
9240 Object.defineProperty(exports, "__esModule", ({
9241 value: true
9242 }));
9243 Object.defineProperty(exports, "DraggableCore", ({
9244 enumerable: true,
9245 get: function get() {
9246 return _DraggableCore.default;
9247 }
9248 }));
9249 exports["default"] = void 0;
9250
9251 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9252
9253 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9254
9255 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9256
9257 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
9258
9259 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9260
9261 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9262
9263 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9264
9265 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
9266
9267 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9268
9269 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
9270
9271 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9272
9273 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); }
9274
9275 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; }
9276
9277 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); }
9278
9279 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; }
9280
9281 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; }
9282
9283 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; }
9284
9285 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; }
9286
9287 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9288
9289 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."); }
9290
9291 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); }
9292
9293 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; }
9294
9295 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; }
9296
9297 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9298
9299 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9300
9301 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); } }
9302
9303 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9304
9305 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); }
9306
9307 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9308
9309 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); }; }
9310
9311 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); }
9312
9313 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9314
9315 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; } }
9316
9317 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9318
9319 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; }
9320
9321 //
9322 // Define <Draggable>
9323 //
9324 var Draggable = /*#__PURE__*/function (_React$Component) {
9325 _inherits(Draggable, _React$Component);
9326
9327 var _super = _createSuper(Draggable);
9328
9329 function Draggable(props
9330 /*: DraggableProps*/
9331 ) {
9332 var _this;
9333
9334 _classCallCheck(this, Draggable);
9335
9336 _this = _super.call(this, props);
9337
9338 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
9339 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
9340
9341 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.
9342
9343
9344 if (shouldStart === false) return false;
9345
9346 _this.setState({
9347 dragging: true,
9348 dragged: true
9349 });
9350 });
9351
9352 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
9353 if (!_this.state.dragging) return false;
9354 (0, _log.default)('Draggable: onDrag: %j', coreData);
9355 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
9356 var newState
9357 /*: $Shape<DraggableState>*/
9358 = {
9359 x: uiData.x,
9360 y: uiData.y
9361 }; // Keep within bounds.
9362
9363 if (_this.props.bounds) {
9364 // Save original x and y.
9365 var x = newState.x,
9366 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9367 // we start removing slack, the element won't react to it right away until it's been
9368 // completely removed.
9369
9370 newState.x += _this.state.slackX;
9371 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9372
9373 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9374 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9375 newStateX = _getBoundPosition2[0],
9376 newStateY = _getBoundPosition2[1];
9377
9378 newState.x = newStateX;
9379 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9380
9381 newState.slackX = _this.state.slackX + (x - newState.x);
9382 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9383
9384 uiData.x = newState.x;
9385 uiData.y = newState.y;
9386 uiData.deltaX = newState.x - _this.state.x;
9387 uiData.deltaY = newState.y - _this.state.y;
9388 } // Short-circuit if user's callback killed it.
9389
9390
9391 var shouldUpdate = _this.props.onDrag(e, uiData);
9392
9393 if (shouldUpdate === false) return false;
9394
9395 _this.setState(newState);
9396 });
9397
9398 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9399 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9400
9401 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9402
9403 if (shouldContinue === false) return false;
9404 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9405 var newState
9406 /*: $Shape<DraggableState>*/
9407 = {
9408 dragging: false,
9409 slackX: 0,
9410 slackY: 0
9411 }; // If this is a controlled component, the result of this operation will be to
9412 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9413
9414 var controlled = Boolean(_this.props.position);
9415
9416 if (controlled) {
9417 var _this$props$position = _this.props.position,
9418 x = _this$props$position.x,
9419 y = _this$props$position.y;
9420 newState.x = x;
9421 newState.y = y;
9422 }
9423
9424 _this.setState(newState);
9425 });
9426
9427 _this.state = {
9428 // Whether or not we are currently dragging.
9429 dragging: false,
9430 // Whether or not we have been dragged before.
9431 dragged: false,
9432 // Current transform x and y.
9433 x: props.position ? props.position.x : props.defaultPosition.x,
9434 y: props.position ? props.position.y : props.defaultPosition.y,
9435 prevPropsPosition: _objectSpread({}, props.position),
9436 // Used for compensating for out-of-bounds drags
9437 slackX: 0,
9438 slackY: 0,
9439 // Can only determine if SVG after mounting
9440 isElementSVG: false
9441 };
9442
9443 if (props.position && !(props.onDrag || props.onStop)) {
9444 // eslint-disable-next-line no-console
9445 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.');
9446 }
9447
9448 return _this;
9449 }
9450
9451 _createClass(Draggable, [{
9452 key: "componentDidMount",
9453 value: function componentDidMount() {
9454 // Check to see if the element passed is an instanceof SVGElement
9455 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9456 this.setState({
9457 isElementSVG: true
9458 });
9459 }
9460 }
9461 }, {
9462 key: "componentWillUnmount",
9463 value: function componentWillUnmount() {
9464 this.setState({
9465 dragging: false
9466 }); // prevents invariant if unmounted while dragging
9467 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9468 // the underlying DOM node ourselves. See the README for more information.
9469
9470 }, {
9471 key: "findDOMNode",
9472 value: function findDOMNode()
9473 /*: ?HTMLElement*/
9474 {
9475 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9476
9477 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);
9478 }
9479 }, {
9480 key: "render",
9481 value: function render()
9482 /*: ReactElement<any>*/
9483 {
9484 var _clsx;
9485
9486 var _this$props2 = this.props,
9487 axis = _this$props2.axis,
9488 bounds = _this$props2.bounds,
9489 children = _this$props2.children,
9490 defaultPosition = _this$props2.defaultPosition,
9491 defaultClassName = _this$props2.defaultClassName,
9492 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9493 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9494 position = _this$props2.position,
9495 positionOffset = _this$props2.positionOffset,
9496 scale = _this$props2.scale,
9497 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9498
9499 var style = {};
9500 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9501
9502 var controlled = Boolean(position);
9503 var draggable = !controlled || this.state.dragging;
9504 var validPosition = position || defaultPosition;
9505 var transformOpts = {
9506 // Set left if horizontal drag is enabled
9507 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9508 // Set top if vertical drag is enabled
9509 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9510 }; // If this element was SVG, we use the `transform` attribute.
9511
9512 if (this.state.isElementSVG) {
9513 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9514 } else {
9515 // Add a CSS transform to move the element around. This allows us to move the element around
9516 // without worrying about whether or not it is relatively or absolutely positioned.
9517 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9518 // has a clean slate.
9519 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9520 } // Mark with class while dragging
9521
9522
9523 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
9524 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9525
9526 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9527 onStart: this.onDragStart,
9528 onDrag: this.onDrag,
9529 onStop: this.onDragStop
9530 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9531 className: className,
9532 style: _objectSpread(_objectSpread({}, children.props.style), style),
9533 transform: svgTransform
9534 }));
9535 }
9536 }], [{
9537 key: "getDerivedStateFromProps",
9538 value: // React 16.3+
9539 // Arity (props, state)
9540 function getDerivedStateFromProps(_ref, _ref2)
9541 /*: ?$Shape<DraggableState>*/
9542 {
9543 var position = _ref.position;
9544 var prevPropsPosition = _ref2.prevPropsPosition;
9545
9546 // Set x/y if a new position is provided in props that is different than the previous.
9547 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9548 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9549 position: position,
9550 prevPropsPosition: prevPropsPosition
9551 });
9552 return {
9553 x: position.x,
9554 y: position.y,
9555 prevPropsPosition: _objectSpread({}, position)
9556 };
9557 }
9558
9559 return null;
9560 }
9561 }]);
9562
9563 return Draggable;
9564 }(React.Component);
9565
9566 exports["default"] = Draggable;
9567
9568 _defineProperty(Draggable, "displayName", 'Draggable');
9569
9570 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9571 /**
9572 * `axis` determines which axis the draggable can move.
9573 *
9574 * Note that all callbacks will still return data as normal. This only
9575 * controls flushing to the DOM.
9576 *
9577 * 'both' allows movement horizontally and vertically.
9578 * 'x' limits movement to horizontal axis.
9579 * 'y' limits movement to vertical axis.
9580 * 'none' limits all movement.
9581 *
9582 * Defaults to 'both'.
9583 */
9584 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9585
9586 /**
9587 * `bounds` determines the range of movement available to the element.
9588 * Available values are:
9589 *
9590 * 'parent' restricts movement within the Draggable's parent node.
9591 *
9592 * Alternatively, pass an object with the following properties, all of which are optional:
9593 *
9594 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9595 *
9596 * All values are in px.
9597 *
9598 * Example:
9599 *
9600 * ```jsx
9601 * let App = React.createClass({
9602 * render: function () {
9603 * return (
9604 * <Draggable bounds={{right: 300, bottom: 300}}>
9605 * <div>Content</div>
9606 * </Draggable>
9607 * );
9608 * }
9609 * });
9610 * ```
9611 */
9612 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9613 left: _propTypes.default.number,
9614 right: _propTypes.default.number,
9615 top: _propTypes.default.number,
9616 bottom: _propTypes.default.number
9617 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9618 defaultClassName: _propTypes.default.string,
9619 defaultClassNameDragging: _propTypes.default.string,
9620 defaultClassNameDragged: _propTypes.default.string,
9621
9622 /**
9623 * `defaultPosition` specifies the x and y that the dragged item should start at
9624 *
9625 * Example:
9626 *
9627 * ```jsx
9628 * let App = React.createClass({
9629 * render: function () {
9630 * return (
9631 * <Draggable defaultPosition={{x: 25, y: 25}}>
9632 * <div>I start with transformX: 25px and transformY: 25px;</div>
9633 * </Draggable>
9634 * );
9635 * }
9636 * });
9637 * ```
9638 */
9639 defaultPosition: _propTypes.default.shape({
9640 x: _propTypes.default.number,
9641 y: _propTypes.default.number
9642 }),
9643 positionOffset: _propTypes.default.shape({
9644 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9645 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9646 }),
9647
9648 /**
9649 * `position`, if present, defines the current position of the element.
9650 *
9651 * This is similar to how form elements in React work - if no `position` is supplied, the component
9652 * is uncontrolled.
9653 *
9654 * Example:
9655 *
9656 * ```jsx
9657 * let App = React.createClass({
9658 * render: function () {
9659 * return (
9660 * <Draggable position={{x: 25, y: 25}}>
9661 * <div>I start with transformX: 25px and transformY: 25px;</div>
9662 * </Draggable>
9663 * );
9664 * }
9665 * });
9666 * ```
9667 */
9668 position: _propTypes.default.shape({
9669 x: _propTypes.default.number,
9670 y: _propTypes.default.number
9671 }),
9672
9673 /**
9674 * These properties should be defined on the child, not here.
9675 */
9676 className: _shims.dontSetMe,
9677 style: _shims.dontSetMe,
9678 transform: _shims.dontSetMe
9679 }));
9680
9681 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9682 axis: 'both',
9683 bounds: false,
9684 defaultClassName: 'react-draggable',
9685 defaultClassNameDragging: 'react-draggable-dragging',
9686 defaultClassNameDragged: 'react-draggable-dragged',
9687 defaultPosition: {
9688 x: 0,
9689 y: 0
9690 },
9691 scale: 1
9692 }));
9693
9694 /***/ }),
9695
9696 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9697 /*!******************************************************************!*\
9698 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9699 \******************************************************************/
9700 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9701
9702 "use strict";
9703
9704
9705 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); }
9706
9707 Object.defineProperty(exports, "__esModule", ({
9708 value: true
9709 }));
9710 exports["default"] = void 0;
9711
9712 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9713
9714 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9715
9716 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9717
9718 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9719
9720 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9721
9722 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9723
9724 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9725
9726 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9727
9728 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); }
9729
9730 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; }
9731
9732 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9733
9734 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."); }
9735
9736 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); }
9737
9738 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; }
9739
9740 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; }
9741
9742 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9743
9744 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9745
9746 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); } }
9747
9748 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9749
9750 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); }
9751
9752 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9753
9754 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); }; }
9755
9756 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); }
9757
9758 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9759
9760 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; } }
9761
9762 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9763
9764 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; }
9765
9766 // Simple abstraction for dragging events names.
9767 var eventsFor = {
9768 touch: {
9769 start: 'touchstart',
9770 move: 'touchmove',
9771 stop: 'touchend'
9772 },
9773 mouse: {
9774 start: 'mousedown',
9775 move: 'mousemove',
9776 stop: 'mouseup'
9777 }
9778 }; // Default to mouse events.
9779
9780 var dragEventFor = eventsFor.mouse;
9781 /*:: type DraggableCoreState = {
9782 dragging: boolean,
9783 lastX: number,
9784 lastY: number,
9785 touchIdentifier: ?number
9786 };*/
9787
9788 /*:: export type DraggableData = {
9789 node: HTMLElement,
9790 x: number, y: number,
9791 deltaX: number, deltaY: number,
9792 lastX: number, lastY: number,
9793 };*/
9794
9795 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9796
9797 /*:: export type ControlPosition = {x: number, y: number};*/
9798
9799 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9800
9801 /*:: export type DraggableCoreDefaultProps = {
9802 allowAnyClick: boolean,
9803 disabled: boolean,
9804 enableUserSelectHack: boolean,
9805 onStart: DraggableEventHandler,
9806 onDrag: DraggableEventHandler,
9807 onStop: DraggableEventHandler,
9808 onMouseDown: (e: MouseEvent) => void,
9809 scale: number,
9810 };*/
9811
9812 /*:: export type DraggableCoreProps = {
9813 ...DraggableCoreDefaultProps,
9814 cancel: string,
9815 children: ReactElement<any>,
9816 offsetParent: HTMLElement,
9817 grid: [number, number],
9818 handle: string,
9819 nodeRef?: ?React.ElementRef<any>,
9820 };*/
9821
9822 //
9823 // Define <DraggableCore>.
9824 //
9825 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9826 // work well with libraries that require more control over the element.
9827 //
9828 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9829 _inherits(DraggableCore, _React$Component);
9830
9831 var _super = _createSuper(DraggableCore);
9832
9833 function DraggableCore() {
9834 var _this;
9835
9836 _classCallCheck(this, DraggableCore);
9837
9838 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9839 args[_key] = arguments[_key];
9840 }
9841
9842 _this = _super.call.apply(_super, [this].concat(args));
9843
9844 _defineProperty(_assertThisInitialized(_this), "state", {
9845 dragging: false,
9846 // Used while dragging to determine deltas.
9847 lastX: NaN,
9848 lastY: NaN,
9849 touchIdentifier: null
9850 });
9851
9852 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9853
9854 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9855 // Make it possible to attach event handlers on top of this one.
9856 _this.props.onMouseDown(e); // Only accept left-clicks.
9857
9858
9859 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9860
9861 var thisNode = _this.findDOMNode();
9862
9863 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9864 throw new Error('<DraggableCore> not mounted on DragStart!');
9865 }
9866
9867 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9868
9869 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)) {
9870 return;
9871 } // Prevent scrolling on mobile devices, like ipad/iphone.
9872 // Important that this is after handle/cancel.
9873
9874
9875 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9876 // distinguish between individual touches on multitouch screens by identifying which
9877 // touchpoint was set to this element.
9878
9879 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9880
9881 _this.setState({
9882 touchIdentifier: touchIdentifier
9883 }); // Get the current drag point from the event. This is used as the offset.
9884
9885
9886 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9887 if (position == null) return; // not possible but satisfies flow
9888
9889 var x = position.x,
9890 y = position.y; // Create an event object with all the data parents need to make a decision here.
9891
9892 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9893 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9894
9895 (0, _log.default)('calling', _this.props.onStart);
9896
9897 var shouldUpdate = _this.props.onStart(e, coreEvent);
9898
9899 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9900 // being selected all over the page.
9901
9902 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9903 // so we know how much we've moved during the drag. This allows us
9904 // to drag elements around even if they have been moved, without issue.
9905
9906 _this.setState({
9907 dragging: true,
9908 lastX: x,
9909 lastY: y
9910 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9911 // this element. We use different events depending on whether or not we have detected that this
9912 // is a touch-capable device.
9913
9914
9915 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9916 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9917 });
9918
9919 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9920 // Get the current drag point from the event. This is used as the offset.
9921 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9922 if (position == null) return;
9923 var x = position.x,
9924 y = position.y; // Snap to grid if prop has been provided
9925
9926 if (Array.isArray(_this.props.grid)) {
9927 var deltaX = x - _this.state.lastX,
9928 deltaY = y - _this.state.lastY;
9929
9930 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9931
9932 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9933
9934 deltaX = _snapToGrid2[0];
9935 deltaY = _snapToGrid2[1];
9936 if (!deltaX && !deltaY) return; // skip useless drag
9937
9938 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9939 }
9940
9941 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9942 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9943
9944 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9945
9946 if (shouldUpdate === false || _this.mounted === false) {
9947 try {
9948 // $FlowIgnore
9949 _this.handleDragStop(new MouseEvent('mouseup'));
9950 } catch (err) {
9951 // Old browsers
9952 var event = ((document.createEvent('MouseEvents')
9953 /*: any*/
9954 )
9955 /*: MouseTouchEvent*/
9956 ); // I see why this insanity was deprecated
9957 // $FlowIgnore
9958
9959 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9960
9961 _this.handleDragStop(event);
9962 }
9963
9964 return;
9965 }
9966
9967 _this.setState({
9968 lastX: x,
9969 lastY: y
9970 });
9971 });
9972
9973 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9974 if (!_this.state.dragging) return;
9975 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9976 if (position == null) return;
9977 var x = position.x,
9978 y = position.y; // Snap to grid if prop has been provided
9979
9980 if (Array.isArray(_this.props.grid)) {
9981 var deltaX = x - _this.state.lastX || 0;
9982 var deltaY = y - _this.state.lastY || 0;
9983
9984 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9985
9986 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9987
9988 deltaX = _snapToGrid4[0];
9989 deltaY = _snapToGrid4[1];
9990 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9991 }
9992
9993 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9994
9995 var shouldContinue = _this.props.onStop(e, coreEvent);
9996
9997 if (shouldContinue === false || _this.mounted === false) return false;
9998
9999 var thisNode = _this.findDOMNode();
10000
10001 if (thisNode) {
10002 // Remove user-select hack
10003 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
10004 }
10005
10006 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
10007
10008 _this.setState({
10009 dragging: false,
10010 lastX: NaN,
10011 lastY: NaN
10012 });
10013
10014 if (thisNode) {
10015 // Remove event handlers
10016 (0, _log.default)('DraggableCore: Removing handlers');
10017 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
10018 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
10019 }
10020 });
10021
10022 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
10023 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
10024
10025 return _this.handleDragStart(e);
10026 });
10027
10028 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
10029 dragEventFor = eventsFor.mouse;
10030 return _this.handleDragStop(e);
10031 });
10032
10033 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
10034 // We're on a touch device now, so change the event handlers
10035 dragEventFor = eventsFor.touch;
10036 return _this.handleDragStart(e);
10037 });
10038
10039 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
10040 // We're on a touch device now, so change the event handlers
10041 dragEventFor = eventsFor.touch;
10042 return _this.handleDragStop(e);
10043 });
10044
10045 return _this;
10046 }
10047
10048 _createClass(DraggableCore, [{
10049 key: "componentDidMount",
10050 value: function componentDidMount() {
10051 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
10052 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10053
10054 var thisNode = this.findDOMNode();
10055
10056 if (thisNode) {
10057 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10058 passive: false
10059 });
10060 }
10061 }
10062 }, {
10063 key: "componentWillUnmount",
10064 value: function componentWillUnmount() {
10065 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
10066 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
10067
10068 var thisNode = this.findDOMNode();
10069
10070 if (thisNode) {
10071 var ownerDocument = thisNode.ownerDocument;
10072 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
10073 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
10074 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
10075 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
10076 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
10077 passive: false
10078 });
10079 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
10080 }
10081 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
10082 // the underlying DOM node ourselves. See the README for more information.
10083
10084 }, {
10085 key: "findDOMNode",
10086 value: function findDOMNode()
10087 /*: ?HTMLElement*/
10088 {
10089 var _this$props, _this$props2, _this$props2$nodeRef;
10090
10091 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);
10092 }
10093 }, {
10094 key: "render",
10095 value: function render()
10096 /*: React.Element<any>*/
10097 {
10098 // Reuse the child provided
10099 // This makes it flexible to use whatever element is wanted (div, ul, etc)
10100 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
10101 // Note: mouseMove handler is attached to document so it will still function
10102 // when the user drags quickly and leaves the bounds of the element.
10103 onMouseDown: this.onMouseDown,
10104 onMouseUp: this.onMouseUp,
10105 // onTouchStart is added on `componentDidMount` so they can be added with
10106 // {passive: false}, which allows it to cancel. See
10107 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
10108 onTouchEnd: this.onTouchEnd
10109 });
10110 }
10111 }]);
10112
10113 return DraggableCore;
10114 }(React.Component);
10115
10116 exports["default"] = DraggableCore;
10117
10118 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
10119
10120 _defineProperty(DraggableCore, "propTypes", {
10121 /**
10122 * `allowAnyClick` allows dragging using any mouse button.
10123 * By default, we only accept the left button.
10124 *
10125 * Defaults to `false`.
10126 */
10127 allowAnyClick: _propTypes.default.bool,
10128
10129 /**
10130 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
10131 * with the exception of `onMouseDown`, will not fire.
10132 */
10133 disabled: _propTypes.default.bool,
10134
10135 /**
10136 * By default, we add 'user-select:none' attributes to the document body
10137 * to prevent ugly text selection during drag. If this is causing problems
10138 * for your app, set this to `false`.
10139 */
10140 enableUserSelectHack: _propTypes.default.bool,
10141
10142 /**
10143 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
10144 * instead of using the parent node.
10145 */
10146 offsetParent: function offsetParent(props
10147 /*: DraggableCoreProps*/
10148 , propName
10149 /*: $Keys<DraggableCoreProps>*/
10150 ) {
10151 if (props[propName] && props[propName].nodeType !== 1) {
10152 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
10153 }
10154 },
10155
10156 /**
10157 * `grid` specifies the x and y that dragging should snap to.
10158 */
10159 grid: _propTypes.default.arrayOf(_propTypes.default.number),
10160
10161 /**
10162 * `handle` specifies a selector to be used as the handle that initiates drag.
10163 *
10164 * Example:
10165 *
10166 * ```jsx
10167 * let App = React.createClass({
10168 * render: function () {
10169 * return (
10170 * <Draggable handle=".handle">
10171 * <div>
10172 * <div className="handle">Click me to drag</div>
10173 * <div>This is some other content</div>
10174 * </div>
10175 * </Draggable>
10176 * );
10177 * }
10178 * });
10179 * ```
10180 */
10181 handle: _propTypes.default.string,
10182
10183 /**
10184 * `cancel` specifies a selector to be used to prevent drag initialization.
10185 *
10186 * Example:
10187 *
10188 * ```jsx
10189 * let App = React.createClass({
10190 * render: function () {
10191 * return(
10192 * <Draggable cancel=".cancel">
10193 * <div>
10194 * <div className="cancel">You can't drag from here</div>
10195 * <div>Dragging here works fine</div>
10196 * </div>
10197 * </Draggable>
10198 * );
10199 * }
10200 * });
10201 * ```
10202 */
10203 cancel: _propTypes.default.string,
10204
10205 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
10206 * Unfortunately, in order for <Draggable> to work properly, we need raw access
10207 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
10208 * as in this example:
10209 *
10210 * function MyComponent() {
10211 * const nodeRef = React.useRef(null);
10212 * return (
10213 * <Draggable nodeRef={nodeRef}>
10214 * <div ref={nodeRef}>Example Target</div>
10215 * </Draggable>
10216 * );
10217 * }
10218 *
10219 * This can be used for arbitrarily nested components, so long as the ref ends up
10220 * pointing to the actual child DOM node and not a custom component.
10221 */
10222 nodeRef: _propTypes.default.object,
10223
10224 /**
10225 * Called when dragging starts.
10226 * If this function returns the boolean false, dragging will be canceled.
10227 */
10228 onStart: _propTypes.default.func,
10229
10230 /**
10231 * Called while dragging.
10232 * If this function returns the boolean false, dragging will be canceled.
10233 */
10234 onDrag: _propTypes.default.func,
10235
10236 /**
10237 * Called when dragging stops.
10238 * If this function returns the boolean false, the drag will remain active.
10239 */
10240 onStop: _propTypes.default.func,
10241
10242 /**
10243 * A workaround option which can be passed if onMouseDown needs to be accessed,
10244 * since it'll always be blocked (as there is internal use of onMouseDown)
10245 */
10246 onMouseDown: _propTypes.default.func,
10247
10248 /**
10249 * `scale`, if set, applies scaling while dragging an element
10250 */
10251 scale: _propTypes.default.number,
10252
10253 /**
10254 * These properties should be defined on the child, not here.
10255 */
10256 className: _shims.dontSetMe,
10257 style: _shims.dontSetMe,
10258 transform: _shims.dontSetMe
10259 });
10260
10261 _defineProperty(DraggableCore, "defaultProps", {
10262 allowAnyClick: false,
10263 // by default only accept left click
10264 disabled: false,
10265 enableUserSelectHack: true,
10266 onStart: function onStart() {},
10267 onDrag: function onDrag() {},
10268 onStop: function onStop() {},
10269 onMouseDown: function onMouseDown() {},
10270 scale: 1
10271 });
10272
10273 /***/ }),
10274
10275 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
10276 /*!********************************************************!*\
10277 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
10278 \********************************************************/
10279 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10280
10281 "use strict";
10282
10283
10284 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
10285 Draggable = _require.default,
10286 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'.
10287 // See https://github.com/mzabriskie/react-draggable/pull/254
10288 // and https://github.com/mzabriskie/react-draggable/issues/266
10289
10290
10291 module.exports = Draggable;
10292 module.exports["default"] = Draggable;
10293 module.exports.DraggableCore = DraggableCore;
10294
10295 /***/ }),
10296
10297 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
10298 /*!*****************************************************************!*\
10299 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
10300 \*****************************************************************/
10301 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10302
10303 "use strict";
10304
10305
10306 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); }
10307
10308 Object.defineProperty(exports, "__esModule", ({
10309 value: true
10310 }));
10311 exports.addClassName = addClassName;
10312 exports.addEvent = addEvent;
10313 exports.addUserSelectStyles = addUserSelectStyles;
10314 exports.createCSSTransform = createCSSTransform;
10315 exports.createSVGTransform = createSVGTransform;
10316 exports.getTouch = getTouch;
10317 exports.getTouchIdentifier = getTouchIdentifier;
10318 exports.getTranslation = getTranslation;
10319 exports.innerHeight = innerHeight;
10320 exports.innerWidth = innerWidth;
10321 exports.matchesSelector = matchesSelector;
10322 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
10323 exports.offsetXYFromParent = offsetXYFromParent;
10324 exports.outerHeight = outerHeight;
10325 exports.outerWidth = outerWidth;
10326 exports.removeClassName = removeClassName;
10327 exports.removeEvent = removeEvent;
10328 exports.removeUserSelectStyles = removeUserSelectStyles;
10329
10330 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10331
10332 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
10333
10334 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); }
10335
10336 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; }
10337
10338 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; }
10339
10340 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; }
10341
10342 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; }
10343
10344 var matchesSelectorFunc = '';
10345
10346 function matchesSelector(el
10347 /*: Node*/
10348 , selector
10349 /*: string*/
10350 )
10351 /*: boolean*/
10352 {
10353 if (!matchesSelectorFunc) {
10354 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
10355 // $FlowIgnore: Doesn't think elements are indexable
10356 return (0, _shims.isFunction)(el[method]);
10357 });
10358 } // Might not be found entirely (not an Element?) - in that case, bail
10359 // $FlowIgnore: Doesn't think elements are indexable
10360
10361
10362 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
10363
10364 return el[matchesSelectorFunc](selector);
10365 } // Works up the tree to the draggable itself attempting to match selector.
10366
10367
10368 function matchesSelectorAndParentsTo(el
10369 /*: Node*/
10370 , selector
10371 /*: string*/
10372 , baseNode
10373 /*: Node*/
10374 )
10375 /*: boolean*/
10376 {
10377 var node = el;
10378
10379 do {
10380 if (matchesSelector(node, selector)) return true;
10381 if (node === baseNode) return false;
10382 node = node.parentNode;
10383 } while (node);
10384
10385 return false;
10386 }
10387
10388 function addEvent(el
10389 /*: ?Node*/
10390 , event
10391 /*: string*/
10392 , handler
10393 /*: Function*/
10394 , inputOptions
10395 /*: Object*/
10396 )
10397 /*: void*/
10398 {
10399 if (!el) return;
10400
10401 var options = _objectSpread({
10402 capture: true
10403 }, inputOptions); // $FlowIgnore[method-unbinding]
10404
10405
10406 if (el.addEventListener) {
10407 el.addEventListener(event, handler, options);
10408 } else if (el.attachEvent) {
10409 el.attachEvent('on' + event, handler);
10410 } else {
10411 // $FlowIgnore: Doesn't think elements are indexable
10412 el['on' + event] = handler;
10413 }
10414 }
10415
10416 function removeEvent(el
10417 /*: ?Node*/
10418 , event
10419 /*: string*/
10420 , handler
10421 /*: Function*/
10422 , inputOptions
10423 /*: Object*/
10424 )
10425 /*: void*/
10426 {
10427 if (!el) return;
10428
10429 var options = _objectSpread({
10430 capture: true
10431 }, inputOptions); // $FlowIgnore[method-unbinding]
10432
10433
10434 if (el.removeEventListener) {
10435 el.removeEventListener(event, handler, options);
10436 } else if (el.detachEvent) {
10437 el.detachEvent('on' + event, handler);
10438 } else {
10439 // $FlowIgnore: Doesn't think elements are indexable
10440 el['on' + event] = null;
10441 }
10442 }
10443
10444 function outerHeight(node
10445 /*: HTMLElement*/
10446 )
10447 /*: number*/
10448 {
10449 // This is deliberately excluding margin for our calculations, since we are using
10450 // offsetTop which is including margin. See getBoundPosition
10451 var height = node.clientHeight;
10452 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10453 height += (0, _shims.int)(computedStyle.borderTopWidth);
10454 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10455 return height;
10456 }
10457
10458 function outerWidth(node
10459 /*: HTMLElement*/
10460 )
10461 /*: number*/
10462 {
10463 // This is deliberately excluding margin for our calculations, since we are using
10464 // offsetLeft which is including margin. See getBoundPosition
10465 var width = node.clientWidth;
10466 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10467 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10468 width += (0, _shims.int)(computedStyle.borderRightWidth);
10469 return width;
10470 }
10471
10472 function innerHeight(node
10473 /*: HTMLElement*/
10474 )
10475 /*: number*/
10476 {
10477 var height = node.clientHeight;
10478 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10479 height -= (0, _shims.int)(computedStyle.paddingTop);
10480 height -= (0, _shims.int)(computedStyle.paddingBottom);
10481 return height;
10482 }
10483
10484 function innerWidth(node
10485 /*: HTMLElement*/
10486 )
10487 /*: number*/
10488 {
10489 var width = node.clientWidth;
10490 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10491 width -= (0, _shims.int)(computedStyle.paddingLeft);
10492 width -= (0, _shims.int)(computedStyle.paddingRight);
10493 return width;
10494 }
10495 /*:: interface EventWithOffset {
10496 clientX: number, clientY: number
10497 }*/
10498
10499
10500 // Get from offsetParent
10501 function offsetXYFromParent(evt
10502 /*: EventWithOffset*/
10503 , offsetParent
10504 /*: HTMLElement*/
10505 , scale
10506 /*: number*/
10507 )
10508 /*: ControlPosition*/
10509 {
10510 var isBody = offsetParent === offsetParent.ownerDocument.body;
10511 var offsetParentRect = isBody ? {
10512 left: 0,
10513 top: 0
10514 } : offsetParent.getBoundingClientRect();
10515 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10516 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10517 return {
10518 x: x,
10519 y: y
10520 };
10521 }
10522
10523 function createCSSTransform(controlPos
10524 /*: ControlPosition*/
10525 , positionOffset
10526 /*: PositionOffsetControlPosition*/
10527 )
10528 /*: Object*/
10529 {
10530 var translation = getTranslation(controlPos, positionOffset, 'px');
10531 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10532 }
10533
10534 function createSVGTransform(controlPos
10535 /*: ControlPosition*/
10536 , positionOffset
10537 /*: PositionOffsetControlPosition*/
10538 )
10539 /*: string*/
10540 {
10541 var translation = getTranslation(controlPos, positionOffset, '');
10542 return translation;
10543 }
10544
10545 function getTranslation(_ref2, positionOffset
10546 /*: PositionOffsetControlPosition*/
10547 , unitSuffix
10548 /*: string*/
10549 )
10550 /*: string*/
10551 {
10552 var x = _ref2.x,
10553 y = _ref2.y;
10554 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10555
10556 if (positionOffset) {
10557 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10558 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10559 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10560 }
10561
10562 return translation;
10563 }
10564
10565 function getTouch(e
10566 /*: MouseTouchEvent*/
10567 , identifier
10568 /*: number*/
10569 )
10570 /*: ?{clientX: number, clientY: number}*/
10571 {
10572 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10573 return identifier === t.identifier;
10574 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10575 return identifier === t.identifier;
10576 });
10577 }
10578
10579 function getTouchIdentifier(e
10580 /*: MouseTouchEvent*/
10581 )
10582 /*: ?number*/
10583 {
10584 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10585 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10586 } // User-select Hacks:
10587 //
10588 // Useful for preventing blue highlights all over everything when dragging.
10589 // Note we're passing `document` b/c we could be iframed
10590
10591
10592 function addUserSelectStyles(doc
10593 /*: ?Document*/
10594 ) {
10595 if (!doc) return;
10596 var styleEl = doc.getElementById('react-draggable-style-el');
10597
10598 if (!styleEl) {
10599 styleEl = doc.createElement('style');
10600 styleEl.type = 'text/css';
10601 styleEl.id = 'react-draggable-style-el';
10602 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10603 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10604 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10605 }
10606
10607 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10608 }
10609
10610 function removeUserSelectStyles(doc
10611 /*: ?Document*/
10612 ) {
10613 if (!doc) return;
10614
10615 try {
10616 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10617
10618 if (doc.selection) {
10619 // $FlowIgnore: IE
10620 doc.selection.empty();
10621 } else {
10622 // Remove selection caused by scroll, unless it's a focused input
10623 // (we use doc.defaultView in case we're in an iframe)
10624 var selection = (doc.defaultView || window).getSelection();
10625
10626 if (selection && selection.type !== 'Caret') {
10627 selection.removeAllRanges();
10628 }
10629 }
10630 } catch (e) {// probably IE
10631 }
10632 }
10633
10634 function addClassName(el
10635 /*: HTMLElement*/
10636 , className
10637 /*: string*/
10638 ) {
10639 if (el.classList) {
10640 el.classList.add(className);
10641 } else {
10642 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10643 el.className += " ".concat(className);
10644 }
10645 }
10646 }
10647
10648 function removeClassName(el
10649 /*: HTMLElement*/
10650 , className
10651 /*: string*/
10652 ) {
10653 if (el.classList) {
10654 el.classList.remove(className);
10655 } else {
10656 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10657 }
10658 }
10659
10660 /***/ }),
10661
10662 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10663 /*!********************************************************************!*\
10664 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10665 \********************************************************************/
10666 /***/ ((__unused_webpack_module, exports) => {
10667
10668 "use strict";
10669
10670
10671 Object.defineProperty(exports, "__esModule", ({
10672 value: true
10673 }));
10674 exports.browserPrefixToKey = browserPrefixToKey;
10675 exports.browserPrefixToStyle = browserPrefixToStyle;
10676 exports["default"] = void 0;
10677 exports.getPrefix = getPrefix;
10678 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10679
10680 function getPrefix()
10681 /*: string*/
10682 {
10683 var _window$document, _window$document$docu;
10684
10685 var prop
10686 /*: string*/
10687 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10688 // Ensure we're running in an environment where there is actually a global
10689 // `window` obj
10690 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10691 // path may not exist, so bail out if it doesn't.
10692
10693 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;
10694 if (!style) return '';
10695 if (prop in style) return '';
10696
10697 for (var i = 0; i < prefixes.length; i++) {
10698 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10699 }
10700
10701 return '';
10702 }
10703
10704 function browserPrefixToKey(prop
10705 /*: string*/
10706 , prefix
10707 /*: string*/
10708 )
10709 /*: string*/
10710 {
10711 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10712 }
10713
10714 function browserPrefixToStyle(prop
10715 /*: string*/
10716 , prefix
10717 /*: string*/
10718 )
10719 /*: string*/
10720 {
10721 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10722 }
10723
10724 function kebabToTitleCase(str
10725 /*: string*/
10726 )
10727 /*: string*/
10728 {
10729 var out = '';
10730 var shouldCapitalize = true;
10731
10732 for (var i = 0; i < str.length; i++) {
10733 if (shouldCapitalize) {
10734 out += str[i].toUpperCase();
10735 shouldCapitalize = false;
10736 } else if (str[i] === '-') {
10737 shouldCapitalize = true;
10738 } else {
10739 out += str[i];
10740 }
10741 }
10742
10743 return out;
10744 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10745 // Note that you may have to re-test for certain things; for instance, Chrome 50
10746 // can handle unprefixed `transform`, but not unprefixed `user-select`
10747
10748
10749 var _default = (getPrefix()
10750 /*: string*/
10751 );
10752
10753 exports["default"] = _default;
10754
10755 /***/ }),
10756
10757 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10758 /*!**************************************************************!*\
10759 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10760 \**************************************************************/
10761 /***/ ((__unused_webpack_module, exports) => {
10762
10763 "use strict";
10764
10765
10766 Object.defineProperty(exports, "__esModule", ({
10767 value: true
10768 }));
10769 exports["default"] = log;
10770
10771 /*eslint no-console:0*/
10772 function log() {
10773 var _console;
10774
10775 if (false) {}
10776 }
10777
10778 /***/ }),
10779
10780 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10781 /*!**********************************************************************!*\
10782 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10783 \**********************************************************************/
10784 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10785
10786 "use strict";
10787
10788
10789 Object.defineProperty(exports, "__esModule", ({
10790 value: true
10791 }));
10792 exports.canDragX = canDragX;
10793 exports.canDragY = canDragY;
10794 exports.createCoreData = createCoreData;
10795 exports.createDraggableData = createDraggableData;
10796 exports.getBoundPosition = getBoundPosition;
10797 exports.getControlPosition = getControlPosition;
10798 exports.snapToGrid = snapToGrid;
10799
10800 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10801
10802 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10803
10804 function getBoundPosition(draggable
10805 /*: Draggable*/
10806 , x
10807 /*: number*/
10808 , y
10809 /*: number*/
10810 )
10811 /*: [number, number]*/
10812 {
10813 // If no bounds, short-circuit and move on
10814 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10815
10816 var bounds = draggable.props.bounds;
10817 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10818 var node = findDOMNode(draggable);
10819
10820 if (typeof bounds === 'string') {
10821 var ownerDocument = node.ownerDocument;
10822 var ownerWindow = ownerDocument.defaultView;
10823 var boundNode;
10824
10825 if (bounds === 'parent') {
10826 boundNode = node.parentNode;
10827 } else {
10828 boundNode = ownerDocument.querySelector(bounds);
10829 }
10830
10831 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10832 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10833 }
10834
10835 var boundNodeEl
10836 /*: HTMLElement*/
10837 = boundNode; // for Flow, can't seem to refine correctly
10838
10839 var nodeStyle = ownerWindow.getComputedStyle(node);
10840 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10841
10842 bounds = {
10843 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10844 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10845 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10846 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10847 };
10848 } // Keep x and y below right and bottom limits...
10849
10850
10851 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10852 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10853
10854 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10855 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10856 return [x, y];
10857 }
10858
10859 function snapToGrid(grid
10860 /*: [number, number]*/
10861 , pendingX
10862 /*: number*/
10863 , pendingY
10864 /*: number*/
10865 )
10866 /*: [number, number]*/
10867 {
10868 var x = Math.round(pendingX / grid[0]) * grid[0];
10869 var y = Math.round(pendingY / grid[1]) * grid[1];
10870 return [x, y];
10871 }
10872
10873 function canDragX(draggable
10874 /*: Draggable*/
10875 )
10876 /*: boolean*/
10877 {
10878 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10879 }
10880
10881 function canDragY(draggable
10882 /*: Draggable*/
10883 )
10884 /*: boolean*/
10885 {
10886 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10887 } // Get {x, y} positions from event.
10888
10889
10890 function getControlPosition(e
10891 /*: MouseTouchEvent*/
10892 , touchIdentifier
10893 /*: ?number*/
10894 , draggableCore
10895 /*: DraggableCore*/
10896 )
10897 /*: ?ControlPosition*/
10898 {
10899 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10900 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10901
10902 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10903
10904 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10905 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10906 } // Create an data object exposed by <DraggableCore>'s events
10907
10908
10909 function createCoreData(draggable
10910 /*: DraggableCore*/
10911 , x
10912 /*: number*/
10913 , y
10914 /*: number*/
10915 )
10916 /*: DraggableData*/
10917 {
10918 var state = draggable.state;
10919 var isStart = !(0, _shims.isNum)(state.lastX);
10920 var node = findDOMNode(draggable);
10921
10922 if (isStart) {
10923 // If this is our first move, use the x and y as last coords.
10924 return {
10925 node: node,
10926 deltaX: 0,
10927 deltaY: 0,
10928 lastX: x,
10929 lastY: y,
10930 x: x,
10931 y: y
10932 };
10933 } else {
10934 // Otherwise calculate proper values.
10935 return {
10936 node: node,
10937 deltaX: x - state.lastX,
10938 deltaY: y - state.lastY,
10939 lastX: state.lastX,
10940 lastY: state.lastY,
10941 x: x,
10942 y: y
10943 };
10944 }
10945 } // Create an data exposed by <Draggable>'s events
10946
10947
10948 function createDraggableData(draggable
10949 /*: Draggable*/
10950 , coreData
10951 /*: DraggableData*/
10952 )
10953 /*: DraggableData*/
10954 {
10955 var scale = draggable.props.scale;
10956 return {
10957 node: coreData.node,
10958 x: draggable.state.x + coreData.deltaX / scale,
10959 y: draggable.state.y + coreData.deltaY / scale,
10960 deltaX: coreData.deltaX / scale,
10961 deltaY: coreData.deltaY / scale,
10962 lastX: draggable.state.x,
10963 lastY: draggable.state.y
10964 };
10965 } // A lot faster than stringify/parse
10966
10967
10968 function cloneBounds(bounds
10969 /*: Bounds*/
10970 )
10971 /*: Bounds*/
10972 {
10973 return {
10974 left: bounds.left,
10975 top: bounds.top,
10976 right: bounds.right,
10977 bottom: bounds.bottom
10978 };
10979 }
10980
10981 function findDOMNode(draggable
10982 /*: Draggable | DraggableCore*/
10983 )
10984 /*: HTMLElement*/
10985 {
10986 var node = draggable.findDOMNode();
10987
10988 if (!node) {
10989 throw new Error('<DraggableCore>: Unmounted during event!');
10990 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10991
10992
10993 return node;
10994 }
10995
10996 /***/ }),
10997
10998 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10999 /*!****************************************************************!*\
11000 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
11001 \****************************************************************/
11002 /***/ ((__unused_webpack_module, exports) => {
11003
11004 "use strict";
11005
11006
11007 Object.defineProperty(exports, "__esModule", ({
11008 value: true
11009 }));
11010 exports.dontSetMe = dontSetMe;
11011 exports.findInArray = findInArray;
11012 exports.int = int;
11013 exports.isFunction = isFunction;
11014 exports.isNum = isNum;
11015
11016 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
11017 function findInArray(array
11018 /*: Array<any> | TouchList*/
11019 , callback
11020 /*: Function*/
11021 )
11022 /*: any*/
11023 {
11024 for (var i = 0, length = array.length; i < length; i++) {
11025 if (callback.apply(callback, [array[i], i, array])) return array[i];
11026 }
11027 }
11028
11029 function isFunction(func
11030 /*: any*/
11031 )
11032 /*: boolean %checks*/
11033 {
11034 // $FlowIgnore[method-unbinding]
11035 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
11036 }
11037
11038 function isNum(num
11039 /*: any*/
11040 )
11041 /*: boolean %checks*/
11042 {
11043 return typeof num === 'number' && !isNaN(num);
11044 }
11045
11046 function int(a
11047 /*: string*/
11048 )
11049 /*: number*/
11050 {
11051 return parseInt(a, 10);
11052 }
11053
11054 function dontSetMe(props
11055 /*: Object*/
11056 , propName
11057 /*: string*/
11058 , componentName
11059 /*: string*/
11060 )
11061 /*: ?Error*/
11062 {
11063 if (props[propName]) {
11064 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
11065 }
11066 }
11067
11068 /***/ }),
11069
11070 /***/ "../node_modules/react-is/cjs/react-is.development.js":
11071 /*!************************************************************!*\
11072 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
11073 \************************************************************/
11074 /***/ ((__unused_webpack_module, exports) => {
11075
11076 "use strict";
11077 /**
11078 * @license React
11079 * react-is.development.js
11080 *
11081 * Copyright (c) Facebook, Inc. and its affiliates.
11082 *
11083 * This source code is licensed under the MIT license found in the
11084 * LICENSE file in the root directory of this source tree.
11085 */
11086
11087
11088
11089 if (true) {
11090 (function() {
11091 'use strict';
11092
11093 // ATTENTION
11094 // When adding new symbols to this file,
11095 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
11096 // The Symbol used to tag the ReactElement-like types.
11097 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
11098 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
11099 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
11100 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
11101 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
11102 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
11103 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
11104 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
11105 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
11106 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
11107 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
11108 var REACT_MEMO_TYPE = Symbol.for('react.memo');
11109 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
11110 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
11111
11112 // -----------------------------------------------------------------------------
11113
11114 var enableScopeAPI = false; // Experimental Create Event Handle API.
11115 var enableCacheElement = false;
11116 var enableTransitionTracing = false; // No known bugs, but needs performance testing
11117
11118 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
11119 // stuff. Intended to enable React core members to more easily debug scheduling
11120 // issues in DEV builds.
11121
11122 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
11123
11124 var REACT_MODULE_REFERENCE;
11125
11126 {
11127 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
11128 }
11129
11130 function isValidElementType(type) {
11131 if (typeof type === 'string' || typeof type === 'function') {
11132 return true;
11133 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
11134
11135
11136 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 ) {
11137 return true;
11138 }
11139
11140 if (typeof type === 'object' && type !== null) {
11141 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
11142 // types supported by any Flight configuration anywhere since
11143 // we don't know which Flight build this will end up being used
11144 // with.
11145 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
11146 return true;
11147 }
11148 }
11149
11150 return false;
11151 }
11152
11153 function typeOf(object) {
11154 if (typeof object === 'object' && object !== null) {
11155 var $$typeof = object.$$typeof;
11156
11157 switch ($$typeof) {
11158 case REACT_ELEMENT_TYPE:
11159 var type = object.type;
11160
11161 switch (type) {
11162 case REACT_FRAGMENT_TYPE:
11163 case REACT_PROFILER_TYPE:
11164 case REACT_STRICT_MODE_TYPE:
11165 case REACT_SUSPENSE_TYPE:
11166 case REACT_SUSPENSE_LIST_TYPE:
11167 return type;
11168
11169 default:
11170 var $$typeofType = type && type.$$typeof;
11171
11172 switch ($$typeofType) {
11173 case REACT_SERVER_CONTEXT_TYPE:
11174 case REACT_CONTEXT_TYPE:
11175 case REACT_FORWARD_REF_TYPE:
11176 case REACT_LAZY_TYPE:
11177 case REACT_MEMO_TYPE:
11178 case REACT_PROVIDER_TYPE:
11179 return $$typeofType;
11180
11181 default:
11182 return $$typeof;
11183 }
11184
11185 }
11186
11187 case REACT_PORTAL_TYPE:
11188 return $$typeof;
11189 }
11190 }
11191
11192 return undefined;
11193 }
11194 var ContextConsumer = REACT_CONTEXT_TYPE;
11195 var ContextProvider = REACT_PROVIDER_TYPE;
11196 var Element = REACT_ELEMENT_TYPE;
11197 var ForwardRef = REACT_FORWARD_REF_TYPE;
11198 var Fragment = REACT_FRAGMENT_TYPE;
11199 var Lazy = REACT_LAZY_TYPE;
11200 var Memo = REACT_MEMO_TYPE;
11201 var Portal = REACT_PORTAL_TYPE;
11202 var Profiler = REACT_PROFILER_TYPE;
11203 var StrictMode = REACT_STRICT_MODE_TYPE;
11204 var Suspense = REACT_SUSPENSE_TYPE;
11205 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
11206 var hasWarnedAboutDeprecatedIsAsyncMode = false;
11207 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
11208
11209 function isAsyncMode(object) {
11210 {
11211 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
11212 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
11213
11214 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11215 }
11216 }
11217
11218 return false;
11219 }
11220 function isConcurrentMode(object) {
11221 {
11222 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
11223 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
11224
11225 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
11226 }
11227 }
11228
11229 return false;
11230 }
11231 function isContextConsumer(object) {
11232 return typeOf(object) === REACT_CONTEXT_TYPE;
11233 }
11234 function isContextProvider(object) {
11235 return typeOf(object) === REACT_PROVIDER_TYPE;
11236 }
11237 function isElement(object) {
11238 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
11239 }
11240 function isForwardRef(object) {
11241 return typeOf(object) === REACT_FORWARD_REF_TYPE;
11242 }
11243 function isFragment(object) {
11244 return typeOf(object) === REACT_FRAGMENT_TYPE;
11245 }
11246 function isLazy(object) {
11247 return typeOf(object) === REACT_LAZY_TYPE;
11248 }
11249 function isMemo(object) {
11250 return typeOf(object) === REACT_MEMO_TYPE;
11251 }
11252 function isPortal(object) {
11253 return typeOf(object) === REACT_PORTAL_TYPE;
11254 }
11255 function isProfiler(object) {
11256 return typeOf(object) === REACT_PROFILER_TYPE;
11257 }
11258 function isStrictMode(object) {
11259 return typeOf(object) === REACT_STRICT_MODE_TYPE;
11260 }
11261 function isSuspense(object) {
11262 return typeOf(object) === REACT_SUSPENSE_TYPE;
11263 }
11264 function isSuspenseList(object) {
11265 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
11266 }
11267
11268 exports.ContextConsumer = ContextConsumer;
11269 exports.ContextProvider = ContextProvider;
11270 exports.Element = Element;
11271 exports.ForwardRef = ForwardRef;
11272 exports.Fragment = Fragment;
11273 exports.Lazy = Lazy;
11274 exports.Memo = Memo;
11275 exports.Portal = Portal;
11276 exports.Profiler = Profiler;
11277 exports.StrictMode = StrictMode;
11278 exports.Suspense = Suspense;
11279 exports.SuspenseList = SuspenseList;
11280 exports.isAsyncMode = isAsyncMode;
11281 exports.isConcurrentMode = isConcurrentMode;
11282 exports.isContextConsumer = isContextConsumer;
11283 exports.isContextProvider = isContextProvider;
11284 exports.isElement = isElement;
11285 exports.isForwardRef = isForwardRef;
11286 exports.isFragment = isFragment;
11287 exports.isLazy = isLazy;
11288 exports.isMemo = isMemo;
11289 exports.isPortal = isPortal;
11290 exports.isProfiler = isProfiler;
11291 exports.isStrictMode = isStrictMode;
11292 exports.isSuspense = isSuspense;
11293 exports.isSuspenseList = isSuspenseList;
11294 exports.isValidElementType = isValidElementType;
11295 exports.typeOf = typeOf;
11296 })();
11297 }
11298
11299
11300 /***/ }),
11301
11302 /***/ "../node_modules/react-is/index.js":
11303 /*!*****************************************!*\
11304 !*** ../node_modules/react-is/index.js ***!
11305 \*****************************************/
11306 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11307
11308 "use strict";
11309
11310
11311 if (false) {} else {
11312 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
11313 }
11314
11315
11316 /***/ }),
11317
11318 /***/ "../node_modules/shallowequal/index.js":
11319 /*!*********************************************!*\
11320 !*** ../node_modules/shallowequal/index.js ***!
11321 \*********************************************/
11322 /***/ ((module) => {
11323
11324 //
11325
11326 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
11327 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
11328
11329 if (ret !== void 0) {
11330 return !!ret;
11331 }
11332
11333 if (objA === objB) {
11334 return true;
11335 }
11336
11337 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
11338 return false;
11339 }
11340
11341 var keysA = Object.keys(objA);
11342 var keysB = Object.keys(objB);
11343
11344 if (keysA.length !== keysB.length) {
11345 return false;
11346 }
11347
11348 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
11349
11350 // Test for A's keys different from B.
11351 for (var idx = 0; idx < keysA.length; idx++) {
11352 var key = keysA[idx];
11353
11354 if (!bHasOwnProperty(key)) {
11355 return false;
11356 }
11357
11358 var valueA = objA[key];
11359 var valueB = objB[key];
11360
11361 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
11362
11363 if (ret === false || (ret === void 0 && valueA !== valueB)) {
11364 return false;
11365 }
11366 }
11367
11368 return true;
11369 };
11370
11371
11372 /***/ }),
11373
11374 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11375 /*!*******************************************************************************!*\
11376 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11377 \*******************************************************************************/
11378 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11379
11380 "use strict";
11381 __webpack_require__.r(__webpack_exports__);
11382 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11383 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11384 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11385 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11386 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11387 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11388 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11389 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11390 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11391 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11392 /* harmony export */ css: () => (/* binding */ Ae),
11393 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11394 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11395 /* harmony export */ keyframes: () => (/* binding */ We),
11396 /* harmony export */ useTheme: () => (/* binding */ Xe),
11397 /* harmony export */ version: () => (/* binding */ A),
11398 /* harmony export */ withTheme: () => (/* binding */ Je)
11399 /* harmony export */ });
11400 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11401 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11402 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11403 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11404 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11405 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11406 /* 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");
11407 /* 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");
11408 /* 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");
11409 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11410 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);
11411 //# sourceMappingURL=styled-components.browser.esm.js.map
11412
11413
11414 /***/ }),
11415
11416 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11417 /*!*****************************************************************************************************!*\
11418 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11419 \*****************************************************************************************************/
11420 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11421
11422 "use strict";
11423 __webpack_require__.r(__webpack_exports__);
11424 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11425 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11426 /* harmony export */ });
11427 var unitlessKeys = {
11428 animationIterationCount: 1,
11429 borderImageOutset: 1,
11430 borderImageSlice: 1,
11431 borderImageWidth: 1,
11432 boxFlex: 1,
11433 boxFlexGroup: 1,
11434 boxOrdinalGroup: 1,
11435 columnCount: 1,
11436 columns: 1,
11437 flex: 1,
11438 flexGrow: 1,
11439 flexPositive: 1,
11440 flexShrink: 1,
11441 flexNegative: 1,
11442 flexOrder: 1,
11443 gridRow: 1,
11444 gridRowEnd: 1,
11445 gridRowSpan: 1,
11446 gridRowStart: 1,
11447 gridColumn: 1,
11448 gridColumnEnd: 1,
11449 gridColumnSpan: 1,
11450 gridColumnStart: 1,
11451 msGridRow: 1,
11452 msGridRowSpan: 1,
11453 msGridColumn: 1,
11454 msGridColumnSpan: 1,
11455 fontWeight: 1,
11456 lineHeight: 1,
11457 opacity: 1,
11458 order: 1,
11459 orphans: 1,
11460 tabSize: 1,
11461 widows: 1,
11462 zIndex: 1,
11463 zoom: 1,
11464 WebkitLineClamp: 1,
11465 // SVG-related properties
11466 fillOpacity: 1,
11467 floodOpacity: 1,
11468 stopOpacity: 1,
11469 strokeDasharray: 1,
11470 strokeDashoffset: 1,
11471 strokeMiterlimit: 1,
11472 strokeOpacity: 1,
11473 strokeWidth: 1
11474 };
11475
11476 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11477
11478
11479 /***/ }),
11480
11481 /***/ "../node_modules/validator/lib/isFQDN.js":
11482 /*!***********************************************!*\
11483 !*** ../node_modules/validator/lib/isFQDN.js ***!
11484 \***********************************************/
11485 /***/ ((module, exports, __webpack_require__) => {
11486
11487 "use strict";
11488
11489
11490 Object.defineProperty(exports, "__esModule", ({
11491 value: true
11492 }));
11493 exports["default"] = isFQDN;
11494
11495 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11496
11497 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11498
11499 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11500
11501 var default_fqdn_options = {
11502 require_tld: true,
11503 allow_underscores: false,
11504 allow_trailing_dot: false,
11505 allow_numeric_tld: false,
11506 allow_wildcard: false,
11507 ignore_max_length: false
11508 };
11509
11510 function isFQDN(str, options) {
11511 (0, _assertString.default)(str);
11512 options = (0, _merge.default)(options, default_fqdn_options);
11513 /* Remove the optional trailing dot before checking validity */
11514
11515 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11516 str = str.substring(0, str.length - 1);
11517 }
11518 /* Remove the optional wildcard before checking validity */
11519
11520
11521 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11522 str = str.substring(2);
11523 }
11524
11525 var parts = str.split('.');
11526 var tld = parts[parts.length - 1];
11527
11528 if (options.require_tld) {
11529 // disallow fqdns without tld
11530 if (parts.length < 2) {
11531 return false;
11532 }
11533
11534 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11535 return false;
11536 } // disallow spaces
11537
11538
11539 if (/\s/.test(tld)) {
11540 return false;
11541 }
11542 } // reject numeric TLDs
11543
11544
11545 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11546 return false;
11547 }
11548
11549 return parts.every(function (part) {
11550 if (part.length > 63 && !options.ignore_max_length) {
11551 return false;
11552 }
11553
11554 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11555 return false;
11556 } // disallow full-width chars
11557
11558
11559 if (/[\uff01-\uff5e]/.test(part)) {
11560 return false;
11561 } // disallow parts starting or ending with hyphen
11562
11563
11564 if (/^-|-$/.test(part)) {
11565 return false;
11566 }
11567
11568 if (!options.allow_underscores && /_/.test(part)) {
11569 return false;
11570 }
11571
11572 return true;
11573 });
11574 }
11575
11576 module.exports = exports.default;
11577 module.exports["default"] = exports.default;
11578
11579 /***/ }),
11580
11581 /***/ "../node_modules/validator/lib/isIP.js":
11582 /*!*********************************************!*\
11583 !*** ../node_modules/validator/lib/isIP.js ***!
11584 \*********************************************/
11585 /***/ ((module, exports, __webpack_require__) => {
11586
11587 "use strict";
11588
11589
11590 Object.defineProperty(exports, "__esModule", ({
11591 value: true
11592 }));
11593 exports["default"] = isIP;
11594
11595 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11596
11597 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11598
11599 /**
11600 11.3. Examples
11601
11602 The following addresses
11603
11604 fe80::1234 (on the 1st link of the node)
11605 ff02::5678 (on the 5th link of the node)
11606 ff08::9abc (on the 10th organization of the node)
11607
11608 would be represented as follows:
11609
11610 fe80::1234%1
11611 ff02::5678%5
11612 ff08::9abc%10
11613
11614 (Here we assume a natural translation from a zone index to the
11615 <zone_id> part, where the Nth zone of any scope is translated into
11616 "N".)
11617
11618 If we use interface names as <zone_id>, those addresses could also be
11619 represented as follows:
11620
11621 fe80::1234%ne0
11622 ff02::5678%pvc1.3
11623 ff08::9abc%interface10
11624
11625 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11626 to the 5th link, and "interface10" belongs to the 10th organization.
11627 * * */
11628 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11629 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11630 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11631 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11632 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,})?$');
11633
11634 function isIP(str) {
11635 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11636 (0, _assertString.default)(str);
11637 version = String(version);
11638
11639 if (!version) {
11640 return isIP(str, 4) || isIP(str, 6);
11641 }
11642
11643 if (version === '4') {
11644 return IPv4AddressRegExp.test(str);
11645 }
11646
11647 if (version === '6') {
11648 return IPv6AddressRegExp.test(str);
11649 }
11650
11651 return false;
11652 }
11653
11654 module.exports = exports.default;
11655 module.exports["default"] = exports.default;
11656
11657 /***/ }),
11658
11659 /***/ "../node_modules/validator/lib/isURL.js":
11660 /*!**********************************************!*\
11661 !*** ../node_modules/validator/lib/isURL.js ***!
11662 \**********************************************/
11663 /***/ ((module, exports, __webpack_require__) => {
11664
11665 "use strict";
11666
11667
11668 Object.defineProperty(exports, "__esModule", ({
11669 value: true
11670 }));
11671 exports["default"] = isURL;
11672
11673 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11674
11675 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11676
11677 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11678
11679 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11680
11681 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11682
11683 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11684
11685 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."); }
11686
11687 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); }
11688
11689 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; }
11690
11691 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; }
11692
11693 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11694
11695 /*
11696 options for isURL method
11697
11698 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11699 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11700 protocols - valid protocols can be modified with this option
11701 require_host - if set as false isURL will not check if host is present in the URL
11702 require_port - if set as true isURL will check if port is present in the URL
11703 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11704 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11705
11706 */
11707 var default_url_options = {
11708 protocols: ['http', 'https', 'ftp'],
11709 require_tld: true,
11710 require_protocol: false,
11711 require_host: true,
11712 require_port: false,
11713 require_valid_protocol: true,
11714 allow_underscores: false,
11715 allow_trailing_dot: false,
11716 allow_protocol_relative_urls: false,
11717 allow_fragments: true,
11718 allow_query_components: true,
11719 validate_length: true
11720 };
11721 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11722
11723 function isRegExp(obj) {
11724 return Object.prototype.toString.call(obj) === '[object RegExp]';
11725 }
11726
11727 function checkHost(host, matches) {
11728 for (var i = 0; i < matches.length; i++) {
11729 var match = matches[i];
11730
11731 if (host === match || isRegExp(match) && match.test(host)) {
11732 return true;
11733 }
11734 }
11735
11736 return false;
11737 }
11738
11739 function isURL(url, options) {
11740 (0, _assertString.default)(url);
11741
11742 if (!url || /[\s<>]/.test(url)) {
11743 return false;
11744 }
11745
11746 if (url.indexOf('mailto:') === 0) {
11747 return false;
11748 }
11749
11750 options = (0, _merge.default)(options, default_url_options);
11751
11752 if (options.validate_length && url.length >= 2083) {
11753 return false;
11754 }
11755
11756 if (!options.allow_fragments && url.includes('#')) {
11757 return false;
11758 }
11759
11760 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11761 return false;
11762 }
11763
11764 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11765 split = url.split('#');
11766 url = split.shift();
11767 split = url.split('?');
11768 url = split.shift();
11769 split = url.split('://');
11770
11771 if (split.length > 1) {
11772 protocol = split.shift().toLowerCase();
11773
11774 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11775 return false;
11776 }
11777 } else if (options.require_protocol) {
11778 return false;
11779 } else if (url.slice(0, 2) === '//') {
11780 if (!options.allow_protocol_relative_urls) {
11781 return false;
11782 }
11783
11784 split[0] = url.slice(2);
11785 }
11786
11787 url = split.join('://');
11788
11789 if (url === '') {
11790 return false;
11791 }
11792
11793 split = url.split('/');
11794 url = split.shift();
11795
11796 if (url === '' && !options.require_host) {
11797 return true;
11798 }
11799
11800 split = url.split('@');
11801
11802 if (split.length > 1) {
11803 if (options.disallow_auth) {
11804 return false;
11805 }
11806
11807 if (split[0] === '') {
11808 return false;
11809 }
11810
11811 auth = split.shift();
11812
11813 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11814 return false;
11815 }
11816
11817 var _auth$split = auth.split(':'),
11818 _auth$split2 = _slicedToArray(_auth$split, 2),
11819 user = _auth$split2[0],
11820 password = _auth$split2[1];
11821
11822 if (user === '' && password === '') {
11823 return false;
11824 }
11825 }
11826
11827 hostname = split.join('@');
11828 port_str = null;
11829 ipv6 = null;
11830 var ipv6_match = hostname.match(wrapped_ipv6);
11831
11832 if (ipv6_match) {
11833 host = '';
11834 ipv6 = ipv6_match[1];
11835 port_str = ipv6_match[2] || null;
11836 } else {
11837 split = hostname.split(':');
11838 host = split.shift();
11839
11840 if (split.length) {
11841 port_str = split.join(':');
11842 }
11843 }
11844
11845 if (port_str !== null && port_str.length > 0) {
11846 port = parseInt(port_str, 10);
11847
11848 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11849 return false;
11850 }
11851 } else if (options.require_port) {
11852 return false;
11853 }
11854
11855 if (options.host_whitelist) {
11856 return checkHost(host, options.host_whitelist);
11857 }
11858
11859 if (host === '' && !options.require_host) {
11860 return true;
11861 }
11862
11863 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11864 return false;
11865 }
11866
11867 host = host || ipv6;
11868
11869 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11870 return false;
11871 }
11872
11873 return true;
11874 }
11875
11876 module.exports = exports.default;
11877 module.exports["default"] = exports.default;
11878
11879 /***/ }),
11880
11881 /***/ "../node_modules/validator/lib/util/assertString.js":
11882 /*!**********************************************************!*\
11883 !*** ../node_modules/validator/lib/util/assertString.js ***!
11884 \**********************************************************/
11885 /***/ ((module, exports) => {
11886
11887 "use strict";
11888
11889
11890 Object.defineProperty(exports, "__esModule", ({
11891 value: true
11892 }));
11893 exports["default"] = assertString;
11894
11895 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); }
11896
11897 function assertString(input) {
11898 var isString = typeof input === 'string' || input instanceof String;
11899
11900 if (!isString) {
11901 var invalidType = _typeof(input);
11902
11903 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11904 throw new TypeError("Expected a string but received a ".concat(invalidType));
11905 }
11906 }
11907
11908 module.exports = exports.default;
11909 module.exports["default"] = exports.default;
11910
11911 /***/ }),
11912
11913 /***/ "../node_modules/validator/lib/util/merge.js":
11914 /*!***************************************************!*\
11915 !*** ../node_modules/validator/lib/util/merge.js ***!
11916 \***************************************************/
11917 /***/ ((module, exports) => {
11918
11919 "use strict";
11920
11921
11922 Object.defineProperty(exports, "__esModule", ({
11923 value: true
11924 }));
11925 exports["default"] = merge;
11926
11927 function merge() {
11928 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11929 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11930
11931 for (var key in defaults) {
11932 if (typeof obj[key] === 'undefined') {
11933 obj[key] = defaults[key];
11934 }
11935 }
11936
11937 return obj;
11938 }
11939
11940 module.exports = exports.default;
11941 module.exports["default"] = exports.default;
11942
11943 /***/ }),
11944
11945 /***/ "react":
11946 /*!************************!*\
11947 !*** external "React" ***!
11948 \************************/
11949 /***/ ((module) => {
11950
11951 "use strict";
11952 module.exports = React;
11953
11954 /***/ }),
11955
11956 /***/ "react-dom":
11957 /*!***************************!*\
11958 !*** external "ReactDOM" ***!
11959 \***************************/
11960 /***/ ((module) => {
11961
11962 "use strict";
11963 module.exports = ReactDOM;
11964
11965 /***/ }),
11966
11967 /***/ "@elementor/icons":
11968 /*!************************************!*\
11969 !*** external "elementorV2.icons" ***!
11970 \************************************/
11971 /***/ ((module) => {
11972
11973 "use strict";
11974 module.exports = elementorV2.icons;
11975
11976 /***/ }),
11977
11978 /***/ "@elementor/ui":
11979 /*!*********************************!*\
11980 !*** external "elementorV2.ui" ***!
11981 \*********************************/
11982 /***/ ((module) => {
11983
11984 "use strict";
11985 module.exports = elementorV2.ui;
11986
11987 /***/ }),
11988
11989 /***/ "@wordpress/i18n":
11990 /*!**************************!*\
11991 !*** external "wp.i18n" ***!
11992 \**************************/
11993 /***/ ((module) => {
11994
11995 "use strict";
11996 module.exports = wp.i18n;
11997
11998 /***/ }),
11999
12000 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
12001 /*!******************************************************************!*\
12002 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
12003 \******************************************************************/
12004 /***/ ((module) => {
12005
12006 function _arrayLikeToArray(arr, len) {
12007 if (len == null || len > arr.length) len = arr.length;
12008 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
12009 return arr2;
12010 }
12011 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12012
12013 /***/ }),
12014
12015 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
12016 /*!****************************************************************!*\
12017 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
12018 \****************************************************************/
12019 /***/ ((module) => {
12020
12021 function _arrayWithHoles(arr) {
12022 if (Array.isArray(arr)) return arr;
12023 }
12024 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12025
12026 /***/ }),
12027
12028 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
12029 /*!*******************************************************************!*\
12030 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
12031 \*******************************************************************/
12032 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12033
12034 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12035 function _arrayWithoutHoles(arr) {
12036 if (Array.isArray(arr)) return arrayLikeToArray(arr);
12037 }
12038 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
12039
12040 /***/ }),
12041
12042 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
12043 /*!***********************************************************************!*\
12044 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
12045 \***********************************************************************/
12046 /***/ ((module) => {
12047
12048 function _assertThisInitialized(self) {
12049 if (self === void 0) {
12050 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12051 }
12052 return self;
12053 }
12054 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
12055
12056 /***/ }),
12057
12058 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
12059 /*!******************************************************************!*\
12060 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
12061 \******************************************************************/
12062 /***/ ((module) => {
12063
12064 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
12065 try {
12066 var info = gen[key](arg);
12067 var value = info.value;
12068 } catch (error) {
12069 reject(error);
12070 return;
12071 }
12072 if (info.done) {
12073 resolve(value);
12074 } else {
12075 Promise.resolve(value).then(_next, _throw);
12076 }
12077 }
12078 function _asyncToGenerator(fn) {
12079 return function () {
12080 var self = this,
12081 args = arguments;
12082 return new Promise(function (resolve, reject) {
12083 var gen = fn.apply(self, args);
12084 function _next(value) {
12085 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
12086 }
12087 function _throw(err) {
12088 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
12089 }
12090 _next(undefined);
12091 });
12092 };
12093 }
12094 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
12095
12096 /***/ }),
12097
12098 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
12099 /*!****************************************************************!*\
12100 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
12101 \****************************************************************/
12102 /***/ ((module) => {
12103
12104 function _classCallCheck(instance, Constructor) {
12105 if (!(instance instanceof Constructor)) {
12106 throw new TypeError("Cannot call a class as a function");
12107 }
12108 }
12109 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
12110
12111 /***/ }),
12112
12113 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
12114 /*!*************************************************************!*\
12115 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
12116 \*************************************************************/
12117 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12118
12119 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12120 function _defineProperties(target, props) {
12121 for (var i = 0; i < props.length; i++) {
12122 var descriptor = props[i];
12123 descriptor.enumerable = descriptor.enumerable || false;
12124 descriptor.configurable = true;
12125 if ("value" in descriptor) descriptor.writable = true;
12126 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
12127 }
12128 }
12129 function _createClass(Constructor, protoProps, staticProps) {
12130 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12131 if (staticProps) _defineProperties(Constructor, staticProps);
12132 Object.defineProperty(Constructor, "prototype", {
12133 writable: false
12134 });
12135 return Constructor;
12136 }
12137 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
12138
12139 /***/ }),
12140
12141 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
12142 /*!****************************************************************!*\
12143 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
12144 \****************************************************************/
12145 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12146
12147 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
12148 function _defineProperty(obj, key, value) {
12149 key = toPropertyKey(key);
12150 if (key in obj) {
12151 Object.defineProperty(obj, key, {
12152 value: value,
12153 enumerable: true,
12154 configurable: true,
12155 writable: true
12156 });
12157 } else {
12158 obj[key] = value;
12159 }
12160 return obj;
12161 }
12162 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
12163
12164 /***/ }),
12165
12166 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
12167 /*!*********************************************************!*\
12168 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
12169 \*********************************************************/
12170 /***/ ((module) => {
12171
12172 function _extends() {
12173 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
12174 for (var i = 1; i < arguments.length; i++) {
12175 var source = arguments[i];
12176 for (var key in source) {
12177 if (Object.prototype.hasOwnProperty.call(source, key)) {
12178 target[key] = source[key];
12179 }
12180 }
12181 }
12182 return target;
12183 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12184 return _extends.apply(this, arguments);
12185 }
12186 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
12187
12188 /***/ }),
12189
12190 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
12191 /*!****************************************************************!*\
12192 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
12193 \****************************************************************/
12194 /***/ ((module) => {
12195
12196 function _getPrototypeOf(o) {
12197 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
12198 return o.__proto__ || Object.getPrototypeOf(o);
12199 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12200 return _getPrototypeOf(o);
12201 }
12202 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12203
12204 /***/ }),
12205
12206 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
12207 /*!**********************************************************!*\
12208 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
12209 \**********************************************************/
12210 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12211
12212 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
12213 function _inherits(subClass, superClass) {
12214 if (typeof superClass !== "function" && superClass !== null) {
12215 throw new TypeError("Super expression must either be null or a function");
12216 }
12217 subClass.prototype = Object.create(superClass && superClass.prototype, {
12218 constructor: {
12219 value: subClass,
12220 writable: true,
12221 configurable: true
12222 }
12223 });
12224 Object.defineProperty(subClass, "prototype", {
12225 writable: false
12226 });
12227 if (superClass) setPrototypeOf(subClass, superClass);
12228 }
12229 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
12230
12231 /***/ }),
12232
12233 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
12234 /*!***********************************************************************!*\
12235 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
12236 \***********************************************************************/
12237 /***/ ((module) => {
12238
12239 function _interopRequireDefault(obj) {
12240 return obj && obj.__esModule ? obj : {
12241 "default": obj
12242 };
12243 }
12244 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
12245
12246 /***/ }),
12247
12248 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
12249 /*!*****************************************************************!*\
12250 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
12251 \*****************************************************************/
12252 /***/ ((module) => {
12253
12254 function _iterableToArray(iter) {
12255 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
12256 }
12257 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12258
12259 /***/ }),
12260
12261 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
12262 /*!**********************************************************************!*\
12263 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
12264 \**********************************************************************/
12265 /***/ ((module) => {
12266
12267 function _iterableToArrayLimit(r, l) {
12268 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
12269 if (null != t) {
12270 var e,
12271 n,
12272 i,
12273 u,
12274 a = [],
12275 f = !0,
12276 o = !1;
12277 try {
12278 if (i = (t = t.call(r)).next, 0 === l) {
12279 if (Object(t) !== t) return;
12280 f = !1;
12281 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
12282 } catch (r) {
12283 o = !0, n = r;
12284 } finally {
12285 try {
12286 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
12287 } finally {
12288 if (o) throw n;
12289 }
12290 }
12291 return a;
12292 }
12293 }
12294 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
12295
12296 /***/ }),
12297
12298 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
12299 /*!*****************************************************************!*\
12300 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
12301 \*****************************************************************/
12302 /***/ ((module) => {
12303
12304 function _nonIterableRest() {
12305 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12306 }
12307 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
12308
12309 /***/ }),
12310
12311 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
12312 /*!*******************************************************************!*\
12313 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
12314 \*******************************************************************/
12315 /***/ ((module) => {
12316
12317 function _nonIterableSpread() {
12318 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
12319 }
12320 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
12321
12322 /***/ }),
12323
12324 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
12325 /*!*************************************************************************!*\
12326 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
12327 \*************************************************************************/
12328 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12329
12330 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
12331 function _objectWithoutProperties(source, excluded) {
12332 if (source == null) return {};
12333 var target = objectWithoutPropertiesLoose(source, excluded);
12334 var key, i;
12335 if (Object.getOwnPropertySymbols) {
12336 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
12337 for (i = 0; i < sourceSymbolKeys.length; i++) {
12338 key = sourceSymbolKeys[i];
12339 if (excluded.indexOf(key) >= 0) continue;
12340 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
12341 target[key] = source[key];
12342 }
12343 }
12344 return target;
12345 }
12346 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
12347
12348 /***/ }),
12349
12350 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
12351 /*!******************************************************************************!*\
12352 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
12353 \******************************************************************************/
12354 /***/ ((module) => {
12355
12356 function _objectWithoutPropertiesLoose(source, excluded) {
12357 if (source == null) return {};
12358 var target = {};
12359 var sourceKeys = Object.keys(source);
12360 var key, i;
12361 for (i = 0; i < sourceKeys.length; i++) {
12362 key = sourceKeys[i];
12363 if (excluded.indexOf(key) >= 0) continue;
12364 target[key] = source[key];
12365 }
12366 return target;
12367 }
12368 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12369
12370 /***/ }),
12371
12372 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12373 /*!***************************************************************************!*\
12374 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12375 \***************************************************************************/
12376 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12377
12378 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12379 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12380 function _possibleConstructorReturn(self, call) {
12381 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12382 return call;
12383 } else if (call !== void 0) {
12384 throw new TypeError("Derived constructors may only return object or undefined");
12385 }
12386 return assertThisInitialized(self);
12387 }
12388 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12389
12390 /***/ }),
12391
12392 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12393 /*!********************************************************************!*\
12394 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12395 \********************************************************************/
12396 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12397
12398 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12399 function _regeneratorRuntime() {
12400 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12401 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12402 return e;
12403 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12404 var t,
12405 e = {},
12406 r = Object.prototype,
12407 n = r.hasOwnProperty,
12408 o = Object.defineProperty || function (t, e, r) {
12409 t[e] = r.value;
12410 },
12411 i = "function" == typeof Symbol ? Symbol : {},
12412 a = i.iterator || "@@iterator",
12413 c = i.asyncIterator || "@@asyncIterator",
12414 u = i.toStringTag || "@@toStringTag";
12415 function define(t, e, r) {
12416 return Object.defineProperty(t, e, {
12417 value: r,
12418 enumerable: !0,
12419 configurable: !0,
12420 writable: !0
12421 }), t[e];
12422 }
12423 try {
12424 define({}, "");
12425 } catch (t) {
12426 define = function define(t, e, r) {
12427 return t[e] = r;
12428 };
12429 }
12430 function wrap(t, e, r, n) {
12431 var i = e && e.prototype instanceof Generator ? e : Generator,
12432 a = Object.create(i.prototype),
12433 c = new Context(n || []);
12434 return o(a, "_invoke", {
12435 value: makeInvokeMethod(t, r, c)
12436 }), a;
12437 }
12438 function tryCatch(t, e, r) {
12439 try {
12440 return {
12441 type: "normal",
12442 arg: t.call(e, r)
12443 };
12444 } catch (t) {
12445 return {
12446 type: "throw",
12447 arg: t
12448 };
12449 }
12450 }
12451 e.wrap = wrap;
12452 var h = "suspendedStart",
12453 l = "suspendedYield",
12454 f = "executing",
12455 s = "completed",
12456 y = {};
12457 function Generator() {}
12458 function GeneratorFunction() {}
12459 function GeneratorFunctionPrototype() {}
12460 var p = {};
12461 define(p, a, function () {
12462 return this;
12463 });
12464 var d = Object.getPrototypeOf,
12465 v = d && d(d(values([])));
12466 v && v !== r && n.call(v, a) && (p = v);
12467 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12468 function defineIteratorMethods(t) {
12469 ["next", "throw", "return"].forEach(function (e) {
12470 define(t, e, function (t) {
12471 return this._invoke(e, t);
12472 });
12473 });
12474 }
12475 function AsyncIterator(t, e) {
12476 function invoke(r, o, i, a) {
12477 var c = tryCatch(t[r], t, o);
12478 if ("throw" !== c.type) {
12479 var u = c.arg,
12480 h = u.value;
12481 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12482 invoke("next", t, i, a);
12483 }, function (t) {
12484 invoke("throw", t, i, a);
12485 }) : e.resolve(h).then(function (t) {
12486 u.value = t, i(u);
12487 }, function (t) {
12488 return invoke("throw", t, i, a);
12489 });
12490 }
12491 a(c.arg);
12492 }
12493 var r;
12494 o(this, "_invoke", {
12495 value: function value(t, n) {
12496 function callInvokeWithMethodAndArg() {
12497 return new e(function (e, r) {
12498 invoke(t, n, e, r);
12499 });
12500 }
12501 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12502 }
12503 });
12504 }
12505 function makeInvokeMethod(e, r, n) {
12506 var o = h;
12507 return function (i, a) {
12508 if (o === f) throw new Error("Generator is already running");
12509 if (o === s) {
12510 if ("throw" === i) throw a;
12511 return {
12512 value: t,
12513 done: !0
12514 };
12515 }
12516 for (n.method = i, n.arg = a;;) {
12517 var c = n.delegate;
12518 if (c) {
12519 var u = maybeInvokeDelegate(c, n);
12520 if (u) {
12521 if (u === y) continue;
12522 return u;
12523 }
12524 }
12525 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12526 if (o === h) throw o = s, n.arg;
12527 n.dispatchException(n.arg);
12528 } else "return" === n.method && n.abrupt("return", n.arg);
12529 o = f;
12530 var p = tryCatch(e, r, n);
12531 if ("normal" === p.type) {
12532 if (o = n.done ? s : l, p.arg === y) continue;
12533 return {
12534 value: p.arg,
12535 done: n.done
12536 };
12537 }
12538 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12539 }
12540 };
12541 }
12542 function maybeInvokeDelegate(e, r) {
12543 var n = r.method,
12544 o = e.iterator[n];
12545 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;
12546 var i = tryCatch(o, e.iterator, r.arg);
12547 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12548 var a = i.arg;
12549 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);
12550 }
12551 function pushTryEntry(t) {
12552 var e = {
12553 tryLoc: t[0]
12554 };
12555 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12556 }
12557 function resetTryEntry(t) {
12558 var e = t.completion || {};
12559 e.type = "normal", delete e.arg, t.completion = e;
12560 }
12561 function Context(t) {
12562 this.tryEntries = [{
12563 tryLoc: "root"
12564 }], t.forEach(pushTryEntry, this), this.reset(!0);
12565 }
12566 function values(e) {
12567 if (e || "" === e) {
12568 var r = e[a];
12569 if (r) return r.call(e);
12570 if ("function" == typeof e.next) return e;
12571 if (!isNaN(e.length)) {
12572 var o = -1,
12573 i = function next() {
12574 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12575 return next.value = t, next.done = !0, next;
12576 };
12577 return i.next = i;
12578 }
12579 }
12580 throw new TypeError(_typeof(e) + " is not iterable");
12581 }
12582 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12583 value: GeneratorFunctionPrototype,
12584 configurable: !0
12585 }), o(GeneratorFunctionPrototype, "constructor", {
12586 value: GeneratorFunction,
12587 configurable: !0
12588 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12589 var e = "function" == typeof t && t.constructor;
12590 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12591 }, e.mark = function (t) {
12592 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12593 }, e.awrap = function (t) {
12594 return {
12595 __await: t
12596 };
12597 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12598 return this;
12599 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12600 void 0 === i && (i = Promise);
12601 var a = new AsyncIterator(wrap(t, r, n, o), i);
12602 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12603 return t.done ? t.value : a.next();
12604 });
12605 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12606 return this;
12607 }), define(g, "toString", function () {
12608 return "[object Generator]";
12609 }), e.keys = function (t) {
12610 var e = Object(t),
12611 r = [];
12612 for (var n in e) r.push(n);
12613 return r.reverse(), function next() {
12614 for (; r.length;) {
12615 var t = r.pop();
12616 if (t in e) return next.value = t, next.done = !1, next;
12617 }
12618 return next.done = !0, next;
12619 };
12620 }, e.values = values, Context.prototype = {
12621 constructor: Context,
12622 reset: function reset(e) {
12623 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);
12624 },
12625 stop: function stop() {
12626 this.done = !0;
12627 var t = this.tryEntries[0].completion;
12628 if ("throw" === t.type) throw t.arg;
12629 return this.rval;
12630 },
12631 dispatchException: function dispatchException(e) {
12632 if (this.done) throw e;
12633 var r = this;
12634 function handle(n, o) {
12635 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12636 }
12637 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12638 var i = this.tryEntries[o],
12639 a = i.completion;
12640 if ("root" === i.tryLoc) return handle("end");
12641 if (i.tryLoc <= this.prev) {
12642 var c = n.call(i, "catchLoc"),
12643 u = n.call(i, "finallyLoc");
12644 if (c && u) {
12645 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12646 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12647 } else if (c) {
12648 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12649 } else {
12650 if (!u) throw new Error("try statement without catch or finally");
12651 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12652 }
12653 }
12654 }
12655 },
12656 abrupt: function abrupt(t, e) {
12657 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12658 var o = this.tryEntries[r];
12659 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12660 var i = o;
12661 break;
12662 }
12663 }
12664 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12665 var a = i ? i.completion : {};
12666 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12667 },
12668 complete: function complete(t, e) {
12669 if ("throw" === t.type) throw t.arg;
12670 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;
12671 },
12672 finish: function finish(t) {
12673 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12674 var r = this.tryEntries[e];
12675 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12676 }
12677 },
12678 "catch": function _catch(t) {
12679 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12680 var r = this.tryEntries[e];
12681 if (r.tryLoc === t) {
12682 var n = r.completion;
12683 if ("throw" === n.type) {
12684 var o = n.arg;
12685 resetTryEntry(r);
12686 }
12687 return o;
12688 }
12689 }
12690 throw new Error("illegal catch attempt");
12691 },
12692 delegateYield: function delegateYield(e, r, n) {
12693 return this.delegate = {
12694 iterator: values(e),
12695 resultName: r,
12696 nextLoc: n
12697 }, "next" === this.method && (this.arg = t), y;
12698 }
12699 }, e;
12700 }
12701 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12702
12703 /***/ }),
12704
12705 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12706 /*!****************************************************************!*\
12707 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12708 \****************************************************************/
12709 /***/ ((module) => {
12710
12711 function _setPrototypeOf(o, p) {
12712 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12713 o.__proto__ = p;
12714 return o;
12715 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12716 return _setPrototypeOf(o, p);
12717 }
12718 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12719
12720 /***/ }),
12721
12722 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12723 /*!***************************************************************!*\
12724 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12725 \***************************************************************/
12726 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12727
12728 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12729 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12730 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12731 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12732 function _slicedToArray(arr, i) {
12733 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12734 }
12735 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12736
12737 /***/ }),
12738
12739 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12740 /*!***********************************************************************!*\
12741 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12742 \***********************************************************************/
12743 /***/ ((module) => {
12744
12745 function _taggedTemplateLiteral(strings, raw) {
12746 if (!raw) {
12747 raw = strings.slice(0);
12748 }
12749 return Object.freeze(Object.defineProperties(strings, {
12750 raw: {
12751 value: Object.freeze(raw)
12752 }
12753 }));
12754 }
12755 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12756
12757 /***/ }),
12758
12759 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12760 /*!*******************************************************************!*\
12761 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12762 \*******************************************************************/
12763 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12764
12765 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12766 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12767 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12768 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12769 function _toConsumableArray(arr) {
12770 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12771 }
12772 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12773
12774 /***/ }),
12775
12776 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12777 /*!*************************************************************!*\
12778 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12779 \*************************************************************/
12780 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12781
12782 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12783 function toPrimitive(t, r) {
12784 if ("object" != _typeof(t) || !t) return t;
12785 var e = t[Symbol.toPrimitive];
12786 if (void 0 !== e) {
12787 var i = e.call(t, r || "default");
12788 if ("object" != _typeof(i)) return i;
12789 throw new TypeError("@@toPrimitive must return a primitive value.");
12790 }
12791 return ("string" === r ? String : Number)(t);
12792 }
12793 module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12794
12795 /***/ }),
12796
12797 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12798 /*!***************************************************************!*\
12799 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12800 \***************************************************************/
12801 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12802
12803 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12804 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12805 function toPropertyKey(t) {
12806 var i = toPrimitive(t, "string");
12807 return "symbol" == _typeof(i) ? i : String(i);
12808 }
12809 module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12810
12811 /***/ }),
12812
12813 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12814 /*!********************************************************!*\
12815 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12816 \********************************************************/
12817 /***/ ((module) => {
12818
12819 function _typeof(o) {
12820 "@babel/helpers - typeof";
12821
12822 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12823 return typeof o;
12824 } : function (o) {
12825 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12826 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12827 }
12828 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12829
12830 /***/ }),
12831
12832 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12833 /*!****************************************************************************!*\
12834 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12835 \****************************************************************************/
12836 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12837
12838 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12839 function _unsupportedIterableToArray(o, minLen) {
12840 if (!o) return;
12841 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12842 var n = Object.prototype.toString.call(o).slice(8, -1);
12843 if (n === "Object" && o.constructor) n = o.constructor.name;
12844 if (n === "Map" || n === "Set") return Array.from(o);
12845 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12846 }
12847 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12848
12849 /***/ }),
12850
12851 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12852 /*!***********************************************************!*\
12853 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12854 \***********************************************************/
12855 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12856
12857 // TODO(Babel 8): Remove this file.
12858
12859 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12860 module.exports = runtime;
12861
12862 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12863 try {
12864 regeneratorRuntime = runtime;
12865 } catch (accidentalStrictMode) {
12866 if (typeof globalThis === "object") {
12867 globalThis.regeneratorRuntime = runtime;
12868 } else {
12869 Function("r", "regeneratorRuntime = r")(runtime);
12870 }
12871 }
12872
12873
12874 /***/ })
12875
12876 /******/ });
12877 /************************************************************************/
12878 /******/ // The module cache
12879 /******/ var __webpack_module_cache__ = {};
12880 /******/
12881 /******/ // The require function
12882 /******/ function __webpack_require__(moduleId) {
12883 /******/ // Check if module is in cache
12884 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12885 /******/ if (cachedModule !== undefined) {
12886 /******/ return cachedModule.exports;
12887 /******/ }
12888 /******/ // Create a new module (and put it into the cache)
12889 /******/ var module = __webpack_module_cache__[moduleId] = {
12890 /******/ // no module.id needed
12891 /******/ // no module.loaded needed
12892 /******/ exports: {}
12893 /******/ };
12894 /******/
12895 /******/ // Execute the module function
12896 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12897 /******/
12898 /******/ // Return the exports of the module
12899 /******/ return module.exports;
12900 /******/ }
12901 /******/
12902 /************************************************************************/
12903 /******/ /* webpack/runtime/compat get default export */
12904 /******/ (() => {
12905 /******/ // getDefaultExport function for compatibility with non-harmony modules
12906 /******/ __webpack_require__.n = (module) => {
12907 /******/ var getter = module && module.__esModule ?
12908 /******/ () => (module['default']) :
12909 /******/ () => (module);
12910 /******/ __webpack_require__.d(getter, { a: getter });
12911 /******/ return getter;
12912 /******/ };
12913 /******/ })();
12914 /******/
12915 /******/ /* webpack/runtime/define property getters */
12916 /******/ (() => {
12917 /******/ // define getter functions for harmony exports
12918 /******/ __webpack_require__.d = (exports, definition) => {
12919 /******/ for(var key in definition) {
12920 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12921 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12922 /******/ }
12923 /******/ }
12924 /******/ };
12925 /******/ })();
12926 /******/
12927 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12928 /******/ (() => {
12929 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12930 /******/ })();
12931 /******/
12932 /******/ /* webpack/runtime/make namespace object */
12933 /******/ (() => {
12934 /******/ // define __esModule on exports
12935 /******/ __webpack_require__.r = (exports) => {
12936 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12937 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12938 /******/ }
12939 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12940 /******/ };
12941 /******/ })();
12942 /******/
12943 /******/ /* webpack/runtime/nonce */
12944 /******/ (() => {
12945 /******/ __webpack_require__.nc = undefined;
12946 /******/ })();
12947 /******/
12948 /************************************************************************/
12949 var __webpack_exports__ = {};
12950 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12951 (() => {
12952 "use strict";
12953 var exports = __webpack_exports__;
12954 /*!*******************************************************!*\
12955 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12956 \*******************************************************/
12957
12958
12959 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12960 Object.defineProperty(exports, "__esModule", ({
12961 value: true
12962 }));
12963 exports["default"] = exports.AI_ATTACHMENT = void 0;
12964 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12965 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12966 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12967 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12968 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12969 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12970 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12971 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12972 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12973 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12974 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12975 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12976 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12977 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"));
12978 var _attachments = __webpack_require__(/*! ./pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
12979 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); }; }
12980 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; } }
12981 var AI_ATTACHMENT = 'ai-attachment';
12982 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12983 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12984 (0, _inherits2.default)(Module, _elementorModules$edi);
12985 var _super = _createSuper(Module);
12986 function Module() {
12987 var _this;
12988 (0, _classCallCheck2.default)(this, Module);
12989 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12990 args[_key] = arguments[_key];
12991 }
12992 _this = _super.call.apply(_super, [this].concat(args));
12993 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12994 var _ElementorAiConfig, _ElementorAiConfig$us;
12995 var saveGroup = groups.find(function (group) {
12996 return 'save' === group.name;
12997 });
12998 if (!saveGroup) {
12999 return groups;
13000 }
13001 var contextMenu = {
13002 name: 'ai',
13003 icon: 'eicon-ai',
13004 isEnabled: function isEnabled() {
13005 return 0 !== currentElement.getContainer().children.length;
13006 },
13007 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
13008 callback: function () {
13009 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
13010 var container, json, attachments;
13011 return _regenerator.default.wrap(function _callee$(_context) {
13012 while (1) switch (_context.prev = _context.next) {
13013 case 0:
13014 container = currentElement.getContainer();
13015 json = container.model.toJSON({
13016 remove: ['default']
13017 });
13018 attachments = [{
13019 type: 'json',
13020 previewHTML: '',
13021 content: json,
13022 label: container.model.get('title'),
13023 source: _attachments.USER_VARIATION_SOURCE
13024 }];
13025 (0, _editorIntegration.renderLayoutApp)({
13026 parentContainer: container.parent,
13027 mode: _config.MODE_VARIATION,
13028 at: container.view._index,
13029 attachments: attachments,
13030 onSelect: function onSelect() {
13031 container.view.$el.hide();
13032 },
13033 onClose: function onClose() {
13034 container.view.$el.show();
13035 },
13036 onInsert: function onInsert(template) {
13037 (0, _editorIntegration.importToEditor)({
13038 parentContainer: container.parent,
13039 at: container.view._index,
13040 template: template,
13041 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
13042 replace: true
13043 });
13044 }
13045 });
13046 case 4:
13047 case "end":
13048 return _context.stop();
13049 }
13050 }, _callee);
13051 }));
13052 function callback() {
13053 return _callback.apply(this, arguments);
13054 }
13055 return callback;
13056 }()
13057 };
13058 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
13059 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>";
13060 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
13061 }
13062
13063 // Add on top of save group actions
13064 saveGroup.actions.unshift(contextMenu);
13065 return groups;
13066 });
13067 return _this;
13068 }
13069 (0, _createClass2.default)(Module, [{
13070 key: "onElementorInit",
13071 value: function onElementorInit() {
13072 var _this2 = this;
13073 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
13074 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
13075 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
13076 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
13077 $e.commands.register('library', 'generate-ai-variation', function (args) {
13078 return _this2.applyTemplate(args);
13079 });
13080 }
13081 }, {
13082 key: "applyTemplate",
13083 value: function applyTemplate(args) {
13084 window.postMessage({
13085 type: 'library/attach:start'
13086 });
13087 $e.components.get('library').downloadTemplate(args, function (data) {
13088 var model = args.model;
13089 window.postMessage({
13090 type: 'library/attach',
13091 json: data.content[0],
13092 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
13093 label: "".concat(model.get('template_id'), " - ").concat(model.get('title')),
13094 source: _attachments.ELEMENTOR_LIBRARY_SOURCE
13095 }, window.location.origin);
13096 });
13097 }
13098 }, {
13099 key: "registerLibraryActionButtonBehavior",
13100 value: function registerLibraryActionButtonBehavior(behaviors) {
13101 behaviors.applyAiTemplate = {
13102 behaviorClass: _applyTemplateForAiBehavior.default
13103 };
13104 return behaviors;
13105 }
13106 }, {
13107 key: "registerAiLayoutBehavior",
13108 value: function registerAiLayoutBehavior(behaviors) {
13109 behaviors.ai = {
13110 behaviorClass: _aiLayoutBehavior.default,
13111 context: {
13112 documentType: window.elementor.documents.getCurrent().config.type
13113 }
13114 };
13115 return behaviors;
13116 }
13117 }, {
13118 key: "filterLibraryActionButtonTemplate",
13119 value: function filterLibraryActionButtonTemplate(viewId) {
13120 var modalConfig = $e.components.get('library').manager.modalConfig;
13121 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
13122 if (originalCoreViewId !== viewId) {
13123 return viewId;
13124 }
13125 if ($e.routes.current.library !== 'library/templates/blocks') {
13126 return viewId;
13127 }
13128 if (AI_ATTACHMENT === modalConfig.mode) {
13129 viewId = '#tmpl-elementor-template-library-apply-ai-button';
13130 } else {
13131 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
13132 }
13133 return viewId;
13134 }
13135 }]);
13136 return Module;
13137 }(elementorModules.editor.utils.Module);
13138 exports["default"] = Module;
13139 new Module();
13140 })();
13141
13142 /******/ })()
13143 ;
13144 //# sourceMappingURL=ai-layout.js.map