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

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

12,769 lines 563.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.19.0 - 08-01-2024 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!********************************************************************************!*\
7 !*** ../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \********************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 "use strict";
12 __webpack_require__.r(__webpack_exports__);
13 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14 /* harmony export */ "default": () => (/* binding */ isPropValid)
15 /* harmony export */ });
16 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
17
18
19 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
20
21 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
22 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
23 /* o */
24 && prop.charCodeAt(1) === 110
25 /* n */
26 && prop.charCodeAt(2) < 91;
27 }
28 /* Z+1 */
29 );
30
31
32
33
34 /***/ }),
35
36 /***/ "../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
37 /*!********************************************************************!*\
38 !*** ../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
39 \********************************************************************/
40 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
42 "use strict";
43 __webpack_require__.r(__webpack_exports__);
44 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45 /* harmony export */ "default": () => (/* binding */ memoize)
46 /* harmony export */ });
47 function memoize(fn) {
48 var cache = Object.create(null);
49 return function (arg) {
50 if (cache[arg] === undefined) cache[arg] = fn(arg);
51 return cache[arg];
52 };
53 }
54
55
56
57
58 /***/ }),
59
60 /***/ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js":
61 /*!******************************************************************!*\
62 !*** ../node_modules/@emotion/stylis/dist/stylis.browser.esm.js ***!
63 \******************************************************************/
64 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
65
66 "use strict";
67 __webpack_require__.r(__webpack_exports__);
68 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
69 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
70 /* harmony export */ });
71 function stylis_min (W) {
72 function M(d, c, e, h, a) {
73 for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
74 g = e.charCodeAt(l);
75 l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
76
77 if (0 === b + n + v + m) {
78 if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
79 switch (g) {
80 case 32:
81 case 9:
82 case 59:
83 case 13:
84 case 10:
85 break;
86
87 default:
88 f += e.charAt(l);
89 }
90
91 g = 59;
92 }
93
94 switch (g) {
95 case 123:
96 f = f.trim();
97 q = f.charCodeAt(0);
98 k = 1;
99
100 for (t = ++l; l < B;) {
101 switch (g = e.charCodeAt(l)) {
102 case 123:
103 k++;
104 break;
105
106 case 125:
107 k--;
108 break;
109
110 case 47:
111 switch (g = e.charCodeAt(l + 1)) {
112 case 42:
113 case 47:
114 a: {
115 for (u = l + 1; u < J; ++u) {
116 switch (e.charCodeAt(u)) {
117 case 47:
118 if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
119 l = u + 1;
120 break a;
121 }
122
123 break;
124
125 case 10:
126 if (47 === g) {
127 l = u + 1;
128 break a;
129 }
130
131 }
132 }
133
134 l = u;
135 }
136
137 }
138
139 break;
140
141 case 91:
142 g++;
143
144 case 40:
145 g++;
146
147 case 34:
148 case 39:
149 for (; l++ < J && e.charCodeAt(l) !== g;) {
150 }
151
152 }
153
154 if (0 === k) break;
155 l++;
156 }
157
158 k = e.substring(t, l);
159 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
160
161 switch (q) {
162 case 64:
163 0 < r && (f = f.replace(N, ''));
164 g = f.charCodeAt(1);
165
166 switch (g) {
167 case 100:
168 case 109:
169 case 115:
170 case 45:
171 r = c;
172 break;
173
174 default:
175 r = O;
176 }
177
178 k = M(c, r, k, g, a + 1);
179 t = k.length;
180 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
181 if (0 < t) switch (g) {
182 case 115:
183 f = f.replace(da, ea);
184
185 case 100:
186 case 109:
187 case 45:
188 k = f + '{' + k + '}';
189 break;
190
191 case 107:
192 f = f.replace(fa, '$1 $2');
193 k = f + '{' + k + '}';
194 k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
195 break;
196
197 default:
198 k = f + k, 112 === h && (k = (p += k, ''));
199 } else k = '';
200 break;
201
202 default:
203 k = M(c, X(c, f, I), k, h, a + 1);
204 }
205
206 F += k;
207 k = I = r = u = q = 0;
208 f = '';
209 g = e.charCodeAt(++l);
210 break;
211
212 case 125:
213 case 59:
214 f = (0 < r ? f.replace(N, '') : f).trim();
215 if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
216 case 0:
217 break;
218
219 case 64:
220 if (105 === g || 99 === g) {
221 G += f + e.charAt(l);
222 break;
223 }
224
225 default:
226 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
227 }
228 I = r = u = q = 0;
229 f = '';
230 g = e.charCodeAt(++l);
231 }
232 }
233
234 switch (g) {
235 case 13:
236 case 10:
237 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
238 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
239 z = 1;
240 D++;
241 break;
242
243 case 59:
244 case 125:
245 if (0 === b + n + v + m) {
246 z++;
247 break;
248 }
249
250 default:
251 z++;
252 y = e.charAt(l);
253
254 switch (g) {
255 case 9:
256 case 32:
257 if (0 === n + m + b) switch (x) {
258 case 44:
259 case 58:
260 case 9:
261 case 32:
262 y = '';
263 break;
264
265 default:
266 32 !== g && (y = ' ');
267 }
268 break;
269
270 case 0:
271 y = '\\0';
272 break;
273
274 case 12:
275 y = '\\f';
276 break;
277
278 case 11:
279 y = '\\v';
280 break;
281
282 case 38:
283 0 === n + b + m && (r = I = 1, y = '\f' + y);
284 break;
285
286 case 108:
287 if (0 === n + b + m + E && 0 < u) switch (l - u) {
288 case 2:
289 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
290
291 case 8:
292 111 === K && (E = K);
293 }
294 break;
295
296 case 58:
297 0 === n + b + m && (u = l);
298 break;
299
300 case 44:
301 0 === b + v + n + m && (r = 1, y += '\r');
302 break;
303
304 case 34:
305 case 39:
306 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
307 break;
308
309 case 91:
310 0 === n + b + v && m++;
311 break;
312
313 case 93:
314 0 === n + b + v && m--;
315 break;
316
317 case 41:
318 0 === n + b + m && v--;
319 break;
320
321 case 40:
322 if (0 === n + b + m) {
323 if (0 === q) switch (2 * x + 3 * K) {
324 case 533:
325 break;
326
327 default:
328 q = 1;
329 }
330 v++;
331 }
332
333 break;
334
335 case 64:
336 0 === b + v + n + m + u + k && (k = 1);
337 break;
338
339 case 42:
340 case 47:
341 if (!(0 < n + m + v)) switch (b) {
342 case 0:
343 switch (2 * g + 3 * e.charCodeAt(l + 1)) {
344 case 235:
345 b = 47;
346 break;
347
348 case 220:
349 t = l, b = 42;
350 }
351
352 break;
353
354 case 42:
355 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
356 }
357 }
358
359 0 === b && (f += y);
360 }
361
362 K = x;
363 x = g;
364 l++;
365 }
366
367 t = p.length;
368
369 if (0 < t) {
370 r = c;
371 if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
372 p = r.join(',') + '{' + p + '}';
373
374 if (0 !== w * E) {
375 2 !== w || L(p, 2) || (E = 0);
376
377 switch (E) {
378 case 111:
379 p = p.replace(ha, ':-moz-$1') + p;
380 break;
381
382 case 112:
383 p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
384 }
385
386 E = 0;
387 }
388 }
389
390 return G + p + F;
391 }
392
393 function X(d, c, e) {
394 var h = c.trim().split(ia);
395 c = h;
396 var a = h.length,
397 m = d.length;
398
399 switch (m) {
400 case 0:
401 case 1:
402 var b = 0;
403
404 for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
405 c[b] = Z(d, c[b], e).trim();
406 }
407
408 break;
409
410 default:
411 var v = b = 0;
412
413 for (c = []; b < a; ++b) {
414 for (var n = 0; n < m; ++n) {
415 c[v++] = Z(d[n] + ' ', h[b], e).trim();
416 }
417 }
418
419 }
420
421 return c;
422 }
423
424 function Z(d, c, e) {
425 var h = c.charCodeAt(0);
426 33 > h && (h = (c = c.trim()).charCodeAt(0));
427
428 switch (h) {
429 case 38:
430 return c.replace(F, '$1' + d.trim());
431
432 case 58:
433 return d.trim() + c.replace(F, '$1' + d.trim());
434
435 default:
436 if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
437 }
438
439 return d + c;
440 }
441
442 function P(d, c, e, h) {
443 var a = d + ';',
444 m = 2 * c + 3 * e + 4 * h;
445
446 if (944 === m) {
447 d = a.indexOf(':', 9) + 1;
448 var b = a.substring(d, a.length - 1).trim();
449 b = a.substring(0, d).trim() + b + ';';
450 return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
451 }
452
453 if (0 === w || 2 === w && !L(a, 1)) return a;
454
455 switch (m) {
456 case 1015:
457 return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
458
459 case 951:
460 return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
461
462 case 963:
463 return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
464
465 case 1009:
466 if (100 !== a.charCodeAt(4)) break;
467
468 case 969:
469 case 942:
470 return '-webkit-' + a + a;
471
472 case 978:
473 return '-webkit-' + a + '-moz-' + a + a;
474
475 case 1019:
476 case 983:
477 return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
478
479 case 883:
480 if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
481 if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
482 break;
483
484 case 932:
485 if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
486 case 103:
487 return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
488
489 case 115:
490 return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
491
492 case 98:
493 return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
494 }
495 return '-webkit-' + a + '-ms-' + a + a;
496
497 case 964:
498 return '-webkit-' + a + '-ms-flex-' + a + a;
499
500 case 1023:
501 if (99 !== a.charCodeAt(8)) break;
502 b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
503 return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
504
505 case 1005:
506 return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
507
508 case 1e3:
509 b = a.substring(13).trim();
510 c = b.indexOf('-') + 1;
511
512 switch (b.charCodeAt(0) + b.charCodeAt(c)) {
513 case 226:
514 b = a.replace(G, 'tb');
515 break;
516
517 case 232:
518 b = a.replace(G, 'tb-rl');
519 break;
520
521 case 220:
522 b = a.replace(G, 'lr');
523 break;
524
525 default:
526 return a;
527 }
528
529 return '-webkit-' + a + '-ms-' + b + a;
530
531 case 1017:
532 if (-1 === a.indexOf('sticky', 9)) break;
533
534 case 975:
535 c = (a = d).length - 10;
536 b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
537
538 switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
539 case 203:
540 if (111 > b.charCodeAt(8)) break;
541
542 case 115:
543 a = a.replace(b, '-webkit-' + b) + ';' + a;
544 break;
545
546 case 207:
547 case 102:
548 a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
549 }
550
551 return a + ';';
552
553 case 938:
554 if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
555 case 105:
556 return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
557
558 case 115:
559 return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
560
561 default:
562 return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
563 }
564 break;
565
566 case 973:
567 case 989:
568 if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
569
570 case 931:
571 case 953:
572 if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
573 break;
574
575 case 962:
576 if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
577 }
578
579 return a;
580 }
581
582 function L(d, c) {
583 var e = d.indexOf(1 === c ? ':' : '{'),
584 h = d.substring(0, 3 !== c ? e : 10);
585 e = d.substring(e + 1, d.length - 1);
586 return R(2 !== c ? h : h.replace(na, '$1'), e, c);
587 }
588
589 function ea(d, c) {
590 var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
591 return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
592 }
593
594 function H(d, c, e, h, a, m, b, v, n, q) {
595 for (var g = 0, x = c, w; g < A; ++g) {
596 switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
597 case void 0:
598 case !1:
599 case !0:
600 case null:
601 break;
602
603 default:
604 x = w;
605 }
606 }
607
608 if (x !== c) return x;
609 }
610
611 function T(d) {
612 switch (d) {
613 case void 0:
614 case null:
615 A = S.length = 0;
616 break;
617
618 default:
619 if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
620 T(d[c]);
621 } else Y = !!d | 0;
622 }
623
624 return T;
625 }
626
627 function U(d) {
628 d = d.prefix;
629 void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
630 return U;
631 }
632
633 function B(d, c) {
634 var e = d;
635 33 > e.charCodeAt(0) && (e = e.trim());
636 V = e;
637 e = [V];
638
639 if (0 < A) {
640 var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
641 void 0 !== h && 'string' === typeof h && (c = h);
642 }
643
644 var a = M(O, e, c, 0, 0);
645 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
646 V = '';
647 E = 0;
648 z = D = 1;
649 return a;
650 }
651
652 var ca = /^\0+/g,
653 N = /[\0\r\f]/g,
654 aa = /: */g,
655 ka = /zoo|gra/,
656 ma = /([,: ])(transform)/g,
657 ia = /,\r+?/g,
658 F = /([\t\r\n ])*\f?&/g,
659 fa = /@(k\w+)\s*(\S*)\s*/,
660 Q = /::(place)/g,
661 ha = /:(read-only)/g,
662 G = /[svh]\w+-[tblr]{2}/,
663 da = /\(\s*(.*)\s*\)/g,
664 oa = /([\s\S]*?);/g,
665 ba = /-self|flex-/g,
666 na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
667 la = /stretch|:\s*\w+\-(?:conte|avail)/,
668 ja = /([^-])(image-set\()/,
669 z = 1,
670 D = 1,
671 E = 0,
672 w = 1,
673 O = [],
674 S = [],
675 A = 0,
676 R = null,
677 Y = 0,
678 V = '';
679 B.use = T;
680 B.set = U;
681 void 0 !== W && U(W);
682 return B;
683 }
684
685 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (stylis_min);
686
687
688 /***/ }),
689
690 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
691 /*!************************************************************!*\
692 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
693 \************************************************************/
694 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
695
696 "use strict";
697
698
699 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
700 Object.defineProperty(exports, "__esModule", ({
701 value: true
702 }));
703 exports["default"] = void 0;
704 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
705 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
706 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
707 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
708 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
709 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
710 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
711 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
712 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
713 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
714 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
715 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
716 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
717 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
718 var _super = _createSuper(AiLayoutBehavior);
719 function AiLayoutBehavior() {
720 var _this;
721 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
722 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
723 args[_key] = arguments[_key];
724 }
725 _this = _super.call.apply(_super, [this].concat(args));
726 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
727 return _this;
728 }
729 (0, _createClass2.default)(AiLayoutBehavior, [{
730 key: "ui",
731 value: function ui() {
732 return {
733 aiButton: '.e-ai-layout-button',
734 addTemplateButton: '.elementor-add-template-button'
735 };
736 }
737 }, {
738 key: "events",
739 value: function events() {
740 return {
741 'click @ui.aiButton': 'onAiButtonClick'
742 };
743 }
744 }, {
745 key: "onAiButtonClick",
746 value: function onAiButtonClick(e) {
747 e.stopPropagation();
748 (0, _editorIntegration.renderLayoutApp)({
749 parentContainer: elementor.getPreviewContainer(),
750 mode: _config.MODE_LAYOUT,
751 at: this.view.getOption('at'),
752 onInsert: this.onInsert.bind(this),
753 onRenderApp: function onRenderApp(args) {
754 args.previewContainer.init();
755 },
756 onGenerate: function onGenerate(args) {
757 args.previewContainer.reset();
758 }
759 });
760 }
761 }, {
762 key: "hideDropArea",
763 value: function hideDropArea() {
764 this.view.onCloseButtonClick();
765 }
766 }, {
767 key: "onInsert",
768 value: function onInsert(template) {
769 this.hideDropArea();
770 (0, _editorIntegration.importToEditor)({
771 parentContainer: elementor.getPreviewContainer(),
772 at: this.view.getOption('at'),
773 template: template,
774 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
775 });
776 }
777 }, {
778 key: "onRender",
779 value: function onRender() {
780 var $button = jQuery('<div>', {
781 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
782 title: (0, _i18n.__)('Build with AI', 'elementor'),
783 role: 'button'
784 });
785 $button.html("\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<div class=\"e-ai-layout-button--sparkle\"></div>\n\t\t\t<i class=\"eicon-ai\"></i>\n\t\t");
786 this.ui.addTemplateButton.after($button);
787 }
788 }]);
789 return AiLayoutBehavior;
790 }(Marionette.Behavior);
791 exports["default"] = AiLayoutBehavior;
792
793 /***/ }),
794
795 /***/ "../modules/ai/assets/js/editor/api/index.js":
796 /*!***************************************************!*\
797 !*** ../modules/ai/assets/js/editor/api/index.js ***!
798 \***************************************************/
799 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
800
801 "use strict";
802
803
804 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
805 Object.defineProperty(exports, "__esModule", ({
806 value: true
807 }));
808 exports.uploadImage = exports.toggleFavoriteHistoryItem = exports.setStatusFeedback = exports.setGetStarted = exports.getUserInformation = exports.getTextToImageGeneration = exports.getRemoteConfig = exports.getLayoutPromptEnhanced = exports.getImageToImageUpscale = exports.getImageToImageReplaceBackground = exports.getImageToImageRemoveText = exports.getImageToImageRemoveBackground = exports.getImageToImageOutPainting = exports.getImageToImageMaskGeneration = exports.getImageToImageGeneration = exports.getImagePromptEnhanced = exports.getHistory = exports.getEditText = exports.getCustomCode = exports.getCustomCSS = exports.getCompletionText = exports.generateLayout = exports.deleteHistoryItem = void 0;
809 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
810 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
811 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
812 var request = function request(endpoint) {
813 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
814 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
815 var signal = arguments.length > 3 ? arguments[3] : undefined;
816 if (Object.keys(data).length) {
817 data.context = window.elementorAiCurrentContext;
818 }
819 return new Promise(function (resolve, reject) {
820 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
821 success: resolve,
822 error: reject,
823 data: data
824 }, immediately);
825 if (signal && ajaxData.jqXhr) {
826 signal.addEventListener('abort', ajaxData.jqXhr.abort);
827 }
828 });
829 };
830 var getUserInformation = function getUserInformation() {
831 return request('ai_get_user_information');
832 };
833 exports.getUserInformation = getUserInformation;
834 var getRemoteConfig = function getRemoteConfig() {
835 return request('ai_get_remote_config');
836 };
837 exports.getRemoteConfig = getRemoteConfig;
838 var getCompletionText = function getCompletionText(prompt) {
839 return request('ai_get_completion_text', {
840 prompt: prompt
841 });
842 };
843 exports.getCompletionText = getCompletionText;
844 var getEditText = function getEditText(input, instruction) {
845 return request('ai_get_edit_text', {
846 input: input,
847 instruction: instruction
848 });
849 };
850 exports.getEditText = getEditText;
851 var getCustomCode = function getCustomCode(prompt, language) {
852 return request('ai_get_custom_code', {
853 prompt: prompt,
854 language: language
855 });
856 };
857 exports.getCustomCode = getCustomCode;
858 var getCustomCSS = function getCustomCSS(prompt, htmlMarkup, elementId) {
859 return request('ai_get_custom_css', {
860 prompt: prompt,
861 html_markup: htmlMarkup,
862 element_id: elementId
863 });
864 };
865 exports.getCustomCSS = getCustomCSS;
866 var setGetStarted = function setGetStarted() {
867 return request('ai_set_get_started');
868 };
869 exports.setGetStarted = setGetStarted;
870 var setStatusFeedback = function setStatusFeedback(responseId) {
871 return request('ai_set_status_feedback', {
872 response_id: responseId
873 });
874 };
875 exports.setStatusFeedback = setStatusFeedback;
876 var getTextToImageGeneration = function getTextToImageGeneration(prompt, promptSettings) {
877 return request('ai_get_text_to_image', {
878 prompt: prompt,
879 promptSettings: promptSettings
880 });
881 };
882 exports.getTextToImageGeneration = getTextToImageGeneration;
883 var getImageToImageGeneration = function getImageToImageGeneration(prompt, promptSettings, image) {
884 return request('ai_get_image_to_image', {
885 prompt: prompt,
886 promptSettings: promptSettings,
887 image: image
888 });
889 };
890 exports.getImageToImageGeneration = getImageToImageGeneration;
891 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(prompt, promptSettings, image, mask) {
892 return request('ai_get_image_to_image_mask', {
893 prompt: prompt,
894 promptSettings: promptSettings,
895 image: image,
896 mask: mask
897 });
898 };
899 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
900 var getImageToImageOutPainting = function getImageToImageOutPainting(prompt, promptSettings, image, mask) {
901 return request('ai_get_image_to_image_outpainting', {
902 prompt: prompt,
903 promptSettings: promptSettings,
904 mask: mask
905 });
906 };
907 exports.getImageToImageOutPainting = getImageToImageOutPainting;
908 var getImageToImageUpscale = function getImageToImageUpscale(prompt, promptSettings, image) {
909 return request('ai_get_image_to_image_upscale', {
910 prompt: prompt,
911 promptSettings: promptSettings,
912 image: image
913 });
914 };
915 exports.getImageToImageUpscale = getImageToImageUpscale;
916 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(image) {
917 return request('ai_get_image_to_image_remove_background', {
918 image: image
919 });
920 };
921 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
922 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(prompt, image) {
923 return request('ai_get_image_to_image_replace_background', {
924 prompt: prompt,
925 image: image
926 });
927 };
928 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
929 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
930 return request('ai_get_image_to_image_remove_text', {
931 image: image
932 });
933 };
934 exports.getImageToImageRemoveText = getImageToImageRemoveText;
935 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
936 return request('ai_get_image_prompt_enhancer', {
937 prompt: prompt
938 });
939 };
940 exports.getImagePromptEnhanced = getImagePromptEnhanced;
941 var uploadImage = function uploadImage(image) {
942 return request('ai_upload_image', _objectSpread({}, image));
943 };
944
945 /**
946 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
947 * @typedef {Object} requestBody
948 * @property {string} prompt - Prompt to generate the layout from.
949 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
950 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
951 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
952 */
953
954 /**
955 * @param {requestBody} requestBody
956 * @param {AbortSignal} [signal]
957 */
958 exports.uploadImage = uploadImage;
959 var generateLayout = function generateLayout(requestBody, signal) {
960 return request('ai_generate_layout', requestBody, true, signal);
961 };
962 exports.generateLayout = generateLayout;
963 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
964 return request('ai_get_layout_prompt_enhancer', {
965 prompt: prompt,
966 enhance_type: enhanceType
967 });
968 };
969 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
970 var getHistory = function getHistory(type, page, limit) {
971 return request('ai_get_history', {
972 type: type,
973 page: page,
974 limit: limit
975 });
976 };
977 exports.getHistory = getHistory;
978 var deleteHistoryItem = function deleteHistoryItem(id) {
979 return request('ai_delete_history_item', {
980 id: id
981 });
982 };
983 exports.deleteHistoryItem = deleteHistoryItem;
984 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
985 return request('ai_toggle_favorite_history_item', {
986 id: id
987 });
988 };
989 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
990
991 /***/ }),
992
993 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
994 /*!*****************************************************************!*\
995 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
996 \*****************************************************************/
997 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
998
999 "use strict";
1000
1001
1002 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1003 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1004 Object.defineProperty(exports, "__esModule", ({
1005 value: true
1006 }));
1007 exports.AlertDialog = void 0;
1008 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1009 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1010 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1011 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1012 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1013 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1014 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1015 var AlertDialog = function AlertDialog(props) {
1016 var _useState = (0, _react.useState)(true),
1017 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1018 isShown = _useState2[0],
1019 setIsShown = _useState2[1];
1020 if (!isShown) {
1021 return null;
1022 }
1023 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1024 open: true,
1025 maxWidth: "lg"
1026 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
1027 sx: {
1028 padding: 0
1029 }
1030 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1031 sx: {
1032 textAlign: 'center',
1033 padding: 3
1034 }
1035 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1036 alignItems: "center",
1037 spacing: 2,
1038 marginBottom: 2
1039 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
1040 variant: "contained",
1041 type: "button",
1042 color: "primary",
1043 onClick: function onClick() {
1044 var _props$onClose;
1045 setIsShown(false);
1046 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
1047 }
1048 }, (0, _i18n.__)('Close', 'elementor')))));
1049 };
1050 exports.AlertDialog = AlertDialog;
1051 AlertDialog.propTypes = {
1052 message: _propTypes.default.string.isRequired,
1053 onClose: _propTypes.default.func
1054 };
1055
1056 /***/ }),
1057
1058 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
1059 /*!******************************************************************!*\
1060 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
1061 \******************************************************************/
1062 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1063
1064 "use strict";
1065
1066
1067 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1068 Object.defineProperty(exports, "__esModule", ({
1069 value: true
1070 }));
1071 exports["default"] = void 0;
1072 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1073 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1074 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1075 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1076 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1077 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1078 var ElementorLogo = function ElementorLogo(props) {
1079 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1080 viewBox: "0 0 32 32"
1081 }, props), /*#__PURE__*/_react.default.createElement("path", {
1082 fillRule: "evenodd",
1083 clipRule: "evenodd",
1084 d: "M2.69648 24.8891C0.938383 22.2579 0 19.1645 0 16C0 11.7566 1.68571 7.68687 4.68629 4.68629C7.68687 1.68571 11.7566 0 16 0C19.1645 0 22.2579 0.938383 24.8891 2.69648C27.5203 4.45459 29.5711 6.95344 30.7821 9.87706C31.9931 12.8007 32.3099 16.0177 31.6926 19.1214C31.0752 22.2251 29.5514 25.0761 27.3137 27.3137C25.0761 29.5514 22.2251 31.0752 19.1214 31.6926C16.0177 32.3099 12.8007 31.9931 9.87706 30.7821C6.95344 29.5711 4.45459 27.5203 2.69648 24.8891ZM12.0006 9.33281H9.33437V22.6665H12.0006V9.33281ZM22.6657 9.33281H14.6669V11.9991H22.6657V9.33281ZM22.6657 14.6654H14.6669V17.3316H22.6657V14.6654ZM22.6657 20.0003H14.6669V22.6665H22.6657V20.0003Z"
1085 }));
1086 };
1087 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
1088 var theme = _ref.theme;
1089 return {
1090 width: theme.spacing(3),
1091 height: theme.spacing(3),
1092 '& path': {
1093 fill: theme.palette.text.primary
1094 }
1095 };
1096 });
1097 var DialogHeader = function DialogHeader(props) {
1098 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
1099 sx: {
1100 fontWeight: 'normal'
1101 },
1102 color: "transparent",
1103 position: "relative"
1104 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
1105 variant: "dense"
1106 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
1107 sx: {
1108 mr: 1
1109 }
1110 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1111 component: "span",
1112 variant: "subtitle2",
1113 sx: {
1114 fontWeight: 'bold',
1115 textTransform: 'uppercase'
1116 }
1117 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
1118 label: (0, _i18n.__)('Beta', 'elementor'),
1119 color: "default",
1120 size: "small",
1121 sx: {
1122 ml: 1
1123 }
1124 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1125 direction: "row",
1126 spacing: 1,
1127 alignItems: "center",
1128 sx: {
1129 ml: 'auto'
1130 }
1131 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
1132 size: "small",
1133 "aria-label": "close",
1134 onClick: props.onClose,
1135 sx: {
1136 '&.MuiButtonBase-root': {
1137 mr: -1
1138 }
1139 }
1140 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
1141 };
1142 DialogHeader.propTypes = {
1143 onClose: _propTypes.default.func.isRequired,
1144 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
1145 };
1146 var _default = DialogHeader;
1147 exports["default"] = _default;
1148
1149 /***/ }),
1150
1151 /***/ "../modules/ai/assets/js/editor/components/loader.js":
1152 /*!***********************************************************!*\
1153 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
1154 \***********************************************************/
1155 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1156
1157 "use strict";
1158
1159
1160 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1161 Object.defineProperty(exports, "__esModule", ({
1162 value: true
1163 }));
1164 exports["default"] = void 0;
1165 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1166 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1167 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1168 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1169 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1170 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1171 var _excluded = ["sx", "BoxProps"];
1172 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1173 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1174 var Loader = function Loader(_ref) {
1175 var _ref$sx = _ref.sx,
1176 sx = _ref$sx === void 0 ? {} : _ref$sx,
1177 _ref$BoxProps = _ref.BoxProps,
1178 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
1179 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1180 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
1181 width: "100%",
1182 display: "flex",
1183 alignItems: "center"
1184 }, BoxProps, {
1185 sx: _objectSpread({
1186 px: 1.5,
1187 minHeight: function minHeight(theme) {
1188 return theme.spacing(5);
1189 }
1190 }, BoxProps.sx || {})
1191 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
1192 color: "secondary"
1193 }, props, {
1194 sx: _objectSpread({
1195 width: '100%'
1196 }, sx)
1197 })));
1198 };
1199 Loader.propTypes = {
1200 sx: _propTypes.default.object,
1201 BoxProps: _propTypes.default.object
1202 };
1203 var _default = Loader;
1204 exports["default"] = _default;
1205
1206 /***/ }),
1207
1208 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
1209 /*!******************************************************************!*\
1210 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
1211 \******************************************************************/
1212 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1213
1214 "use strict";
1215
1216
1217 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1218 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1219 Object.defineProperty(exports, "__esModule", ({
1220 value: true
1221 }));
1222 exports["default"] = void 0;
1223 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1224 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1225 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1226 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1227 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1228 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1229 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
1230 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1231 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1232 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1233 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1234 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1235 var DraggablePaper = function DraggablePaper(props) {
1236 var _useState = (0, _react.useState)({
1237 x: 0,
1238 y: 0
1239 }),
1240 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1241 position = _useState2[0],
1242 setPosition = _useState2[1];
1243 var paperRef = (0, _react.useRef)(null);
1244 var timeout = (0, _react.useRef)(null);
1245 var onDrag = function onDrag(_e, _ref) {
1246 var x = _ref.x,
1247 y = _ref.y;
1248 return setPosition({
1249 x: x,
1250 y: y
1251 });
1252 };
1253 var handlePositionBoundaries = function handlePositionBoundaries() {
1254 clearTimeout(timeout.current);
1255
1256 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
1257 timeout.current = setTimeout(function () {
1258 var _paperRef$current;
1259 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
1260 if (dialogTop < 0) {
1261 setPosition(function (prev) {
1262 return _objectSpread(_objectSpread({}, prev), {}, {
1263 y: prev.y - dialogTop
1264 });
1265 });
1266 }
1267 }, 50);
1268 };
1269 (0, _react.useEffect)(function () {
1270 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
1271 resizeObserver.observe(paperRef.current);
1272 return function () {
1273 resizeObserver.disconnect();
1274 };
1275 }, []);
1276 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
1277 position: position,
1278 onDrag: onDrag,
1279 handle: ".MuiAppBar-root",
1280 cancel: '[class*="MuiDialogContent-root"]',
1281 bounds: "parent"
1282 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
1283 ref: paperRef
1284 })));
1285 };
1286 var PromptDialog = function PromptDialog(props) {
1287 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
1288 scroll: "paper",
1289 open: true,
1290 fullWidth: true,
1291 hideBackdrop: true,
1292 PaperComponent: DraggablePaper,
1293 disableScrollLock: true,
1294 sx: {
1295 '& .MuiDialog-container': {
1296 alignItems: 'flex-start',
1297 mt: '18vh'
1298 }
1299 },
1300 PaperProps: {
1301 sx: {
1302 m: 0,
1303 maxHeight: '76vh'
1304 }
1305 }
1306 }, props), props.children);
1307 };
1308 PromptDialog.propTypes = {
1309 onClose: _propTypes.default.func.isRequired,
1310 children: _propTypes.default.node,
1311 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
1312 };
1313 PromptDialog.Header = _dialogHeader.default;
1314 PromptDialog.Content = _ui.DialogContent;
1315 var _default = PromptDialog;
1316 exports["default"] = _default;
1317
1318 /***/ }),
1319
1320 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
1321 /*!*************************************************************************!*\
1322 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
1323 \*************************************************************************/
1324 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1325
1326 "use strict";
1327
1328
1329 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1330 Object.defineProperty(exports, "__esModule", ({
1331 value: true
1332 }));
1333 exports["default"] = void 0;
1334 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1335 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1336 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1337 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1338 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1339 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1340 var _excluded = ["error", "onRetry", "actionPosition"];
1341 var PromptErrorMessage = function PromptErrorMessage(_ref) {
1342 var error = _ref.error,
1343 _ref$onRetry = _ref.onRetry,
1344 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
1345 _ref$actionPosition = _ref.actionPosition,
1346 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
1347 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1348 var messages = {
1349 default: {
1350 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Unknown error. Please try again later.', 'elementor')),
1351 description: (0, _i18n.__)('Error code:', 'elementor') + ' ' + error,
1352 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1353 buttonAction: onRetry
1354 },
1355 service_outage_internal: {
1356 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Elementor AI is temporarily unavailable', 'elementor')),
1357 description: (0, _i18n.__)('Seems like we are experiencing technical difficulty. We should be up and running shortly.', 'elementor'),
1358 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
1359 buttonAction: onRetry
1360 },
1361 invalid_connect_data: {
1362 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Reconnect your account', 'elementor')),
1363 description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (0, _i18n.__)('We couldn\'t connect to your account due to technical difficulties on our end. Reconnect your account to continue.', 'elementor'), ' ', /*#__PURE__*/_react.default.createElement("a", {
1364 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
1365 target: "_blank",
1366 rel: "noreferrer"
1367 }, (0, _i18n.__)('Show me how', 'elementor'))),
1368 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
1369 buttonAction: function buttonAction() {
1370 return window.open(window.ElementorAiConfig.connect_url);
1371 }
1372 },
1373 not_connected: {
1374 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
1375 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
1376 buttonText: (0, _i18n.__)('Connect', 'elementor'),
1377 buttonAction: function buttonAction() {
1378 return window.open(window.ElementorAiConfig.connect_url);
1379 }
1380 },
1381 quota_reached_trail: {
1382 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1383 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
1384 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1385 buttonAction: function buttonAction() {
1386 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1387 }
1388 },
1389 quota_reached_subscription: {
1390 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
1391 description: (0, _i18n.__)('Love Elementor AI? Upgrade to continue creating with built-in image, text and custom code generators.', 'elementor'),
1392 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
1393 buttonAction: function buttonAction() {
1394 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
1395 }
1396 },
1397 rate_limit_network: {
1398 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
1399 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
1400 },
1401 invalid_prompts: {
1402 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
1403 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
1404 }
1405 };
1406 var message = messages[error] || messages.default;
1407 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
1408 color: "inherit",
1409 size: "small",
1410 variant: "outlined",
1411 onClick: message.buttonAction
1412 }, message.buttonText);
1413 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
1414 severity: message.severity || 'error',
1415 action: 'default' === actionPosition && action
1416 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
1417 sx: {
1418 mt: 1
1419 }
1420 }, action));
1421 };
1422 PromptErrorMessage.propTypes = {
1423 error: _propTypes.default.string,
1424 onRetry: _propTypes.default.func,
1425 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
1426 };
1427 var _default = PromptErrorMessage;
1428 exports["default"] = _default;
1429
1430 /***/ }),
1431
1432 /***/ "../modules/ai/assets/js/editor/components/prompt-library-link.js":
1433 /*!************************************************************************!*\
1434 !*** ../modules/ai/assets/js/editor/components/prompt-library-link.js ***!
1435 \************************************************************************/
1436 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1437
1438 "use strict";
1439
1440
1441 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1442 Object.defineProperty(exports, "__esModule", ({
1443 value: true
1444 }));
1445 exports["default"] = void 0;
1446 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1447 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1448 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1449 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1450 var PromptLibraryLink = function PromptLibraryLink(props) {
1451 return /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1452 variant: "body2",
1453 color: "text.secondary"
1454 }, (0, _i18n.__)('For more inspiration, try experimenting with proven prompts from our'), ' ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1455 href: props.libraryLink,
1456 className: "elementor-clickable",
1457 target: "_blank"
1458 }, (0, _i18n.__)('prompt library')));
1459 };
1460 PromptLibraryLink.propTypes = {
1461 libraryLink: _propTypes.default.string
1462 };
1463 var _default = PromptLibraryLink;
1464 exports["default"] = _default;
1465
1466 /***/ }),
1467
1468 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
1469 /*!*****************************************************************!*\
1470 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
1471 \*****************************************************************/
1472 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1473
1474 "use strict";
1475
1476
1477 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1478 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1479 Object.defineProperty(exports, "__esModule", ({
1480 value: true
1481 }));
1482 exports["default"] = void 0;
1483 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1484 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1485 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1486 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1487 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1488 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1489 function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
1490 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1491 var popoverId = 'e-ai-upgrade-popover';
1492 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
1493 var theme = _ref.theme;
1494 return {
1495 position: 'relative',
1496 '[data-popper-placement="top"] &': {
1497 marginBottom: theme.spacing(2.5)
1498 },
1499 '[data-popper-placement="bottom"] &': {
1500 marginTop: theme.spacing(2.5)
1501 },
1502 padding: theme.spacing(3),
1503 boxShadow: theme.shadows[4],
1504 zIndex: '9999'
1505 };
1506 });
1507 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
1508 var theme = _ref2.theme;
1509 return {
1510 width: theme.spacing(5),
1511 height: theme.spacing(2.5),
1512 position: 'absolute',
1513 overflow: 'hidden',
1514 // Override Popper inline styles.
1515 left: '50% !important',
1516 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
1517 '[data-popper-placement="top"] &': {
1518 top: '100%'
1519 },
1520 '[data-popper-placement="bottom"] &': {
1521 '--rotate': '180deg',
1522 top: "calc(".concat(theme.spacing(2.5), " * -1)")
1523 },
1524 '&::after': {
1525 backgroundColor: theme.palette.background.paper,
1526 content: '""',
1527 display: 'block',
1528 position: 'absolute',
1529 width: theme.spacing(2.5),
1530 height: theme.spacing(2.5),
1531 top: 0,
1532 left: '50%',
1533 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
1534 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
1535 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
1536 }
1537 };
1538 });
1539 var upgradeBullets = [(0, _i18n.__)('Let AI build your container layouts and content with ease and radically transform the way you create websites.', 'elementor'), (0, _i18n.__)('Generate your website\'s text or create custom code without having to write a single line yourself.', 'elementor'), (0, _i18n.__)('Effortlessly create or enhance stunning images and bring your ideas to life.', 'elementor'), (0, _i18n.__)('Access 30-days of AI History with the AI Starter plan and 90-days with the Power plan.', 'elementor')];
1540 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
1541 return {
1542 '& .MuiChip-label': {
1543 lineHeight: 1.5
1544 },
1545 '& .MuiSvgIcon-root.MuiChip-icon': {
1546 fontSize: '1.25rem'
1547 }
1548 };
1549 });
1550 var UpgradeChip = function UpgradeChip(_ref3) {
1551 var _ref3$hasSubscription = _ref3.hasSubscription,
1552 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
1553 _ref3$usagePercentage = _ref3.usagePercentage,
1554 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
1555 var _useState = (0, _react.useState)(false),
1556 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1557 isPopoverOpen = _useState2[0],
1558 setIsPopoverOpen = _useState2[1];
1559 var anchorEl = (0, _react.useRef)(null);
1560 var arrowEl = (0, _react.useRef)(null);
1561 var showPopover = function showPopover() {
1562 return setIsPopoverOpen(true);
1563 };
1564 var hidePopover = function hidePopover() {
1565 return setIsPopoverOpen(false);
1566 };
1567 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
1568 if (hasSubscription) {
1569 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
1570 }
1571 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
1572 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
1573 component: "span",
1574 "aria-owns": isPopoverOpen ? popoverId : undefined,
1575 "aria-haspopup": "true",
1576 onMouseEnter: showPopover,
1577 onMouseLeave: hidePopover,
1578 ref: anchorEl,
1579 display: "flex",
1580 alignItems: "center"
1581 }, /*#__PURE__*/_react.default.createElement(Chip, {
1582 color: "accent",
1583 label: (0, _i18n.__)('Upgrade', 'elementor'),
1584 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1585 size: "small"
1586 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
1587 open: isPopoverOpen,
1588 anchorEl: anchorEl.current,
1589 sx: {
1590 zIndex: '9999',
1591 maxWidth: 300
1592 },
1593 modifiers: [{
1594 name: 'arrow',
1595 enabled: true,
1596 options: {
1597 element: arrowEl.current
1598 }
1599 }]
1600 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
1601 ref: arrowEl
1602 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1603 variant: "h5",
1604 color: "text.primary"
1605 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
1606 sx: {
1607 mb: 1
1608 }
1609 }, upgradeBullets.map(function (bullet, index) {
1610 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
1611 key: index,
1612 disableGutters: true,
1613 sx: {
1614 alignItems: 'flex-start'
1615 }
1616 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
1617 sx: {
1618 m: 0
1619 }
1620 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1621 variant: "body2"
1622 }, bullet)));
1623 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1624 variant: "contained",
1625 color: "accent",
1626 size: "small",
1627 href: actionUrl,
1628 target: "_blank",
1629 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
1630 sx: {
1631 '&:hover': {
1632 color: 'accent.contrastText'
1633 }
1634 }
1635 }, actionLabel))));
1636 };
1637 var _default = UpgradeChip;
1638 exports["default"] = _default;
1639 UpgradeChip.propTypes = {
1640 hasSubscription: _propTypes.default.bool,
1641 usagePercentage: _propTypes.default.number
1642 };
1643
1644 /***/ }),
1645
1646 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
1647 /*!******************************************************************!*\
1648 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
1649 \******************************************************************/
1650 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1651
1652 "use strict";
1653
1654
1655 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1656 Object.defineProperty(exports, "__esModule", ({
1657 value: true
1658 }));
1659 exports["default"] = void 0;
1660 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1661 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1662 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1663 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1664 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1665 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1666 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
1667 var _excluded = ["sx"];
1668 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1669 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1670 var WizardDialog = function WizardDialog(props) {
1671 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
1672 open: true,
1673 onClose: props.onClose,
1674 fullWidth: true,
1675 hideBackdrop: true,
1676 maxWidth: "lg",
1677 PaperProps: {
1678 sx: {
1679 height: '88vh'
1680 }
1681 },
1682 sx: {
1683 zIndex: 9999
1684 }
1685 }, props.children);
1686 };
1687 WizardDialog.propTypes = {
1688 onClose: _propTypes.default.func.isRequired,
1689 children: _propTypes.default.node.isRequired
1690 };
1691 var WizardDialogContent = function WizardDialogContent(_ref) {
1692 var _ref$sx = _ref.sx,
1693 sx = _ref$sx === void 0 ? {} : _ref$sx,
1694 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1695 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
1696 sx: _objectSpread({
1697 display: 'flex',
1698 flexDirection: 'column',
1699 justifyContent: 'center'
1700 }, sx)
1701 }));
1702 };
1703 WizardDialogContent.propTypes = {
1704 sx: _propTypes.default.object
1705 };
1706 WizardDialog.Header = _dialogHeader.default;
1707 WizardDialog.Content = WizardDialogContent;
1708 var _default = WizardDialog;
1709 exports["default"] = _default;
1710
1711 /***/ }),
1712
1713 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
1714 /*!****************************************************************!*\
1715 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
1716 \****************************************************************/
1717 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1718
1719 "use strict";
1720
1721
1722 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1723 Object.defineProperty(exports, "__esModule", ({
1724 value: true
1725 }));
1726 exports["default"] = useIntroduction;
1727 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1728 var _react = __webpack_require__(/*! react */ "react");
1729 function useIntroduction(key) {
1730 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1731 var globalConfig = window.elementor ? (_window$elementor$con = window.elementor.config) === null || _window$elementor$con === void 0 ? void 0 : _window$elementor$con.user : (_window$elementorAdmi = window.elementorAdmin) === null || _window$elementorAdmi === void 0 ? void 0 : (_window$elementorAdmi2 = _window$elementorAdmi.config) === null || _window$elementorAdmi2 === void 0 ? void 0 : _window$elementorAdmi2.user;
1732 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1733 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1734 isViewed = _useState2[0],
1735 setIsViewed = _useState2[1];
1736 function markAsViewed() {
1737 if (!key) {
1738 return Promise.reject();
1739 }
1740 return new Promise(function (resolve, reject) {
1741 if (isViewed) {
1742 reject();
1743 }
1744 setIsViewed(true);
1745 elementorCommon.ajax.addRequest('introduction_viewed', {
1746 data: {
1747 introductionKey: key
1748 },
1749 error: function error() {
1750 setIsViewed(false);
1751 reject();
1752 },
1753 success: function success() {
1754 setIsViewed(true);
1755 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1756 globalConfig.introduction[key] = true;
1757 }
1758 resolve();
1759 }
1760 });
1761 });
1762 }
1763 return {
1764 isViewed: isViewed,
1765 markAsViewed: markAsViewed
1766 };
1767 }
1768
1769 /***/ }),
1770
1771 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
1772 /*!*******************************************************************!*\
1773 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
1774 \*******************************************************************/
1775 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1776
1777 "use strict";
1778
1779
1780 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1781 Object.defineProperty(exports, "__esModule", ({
1782 value: true
1783 }));
1784 exports["default"] = void 0;
1785 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1786 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
1787 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1788 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
1789 var getResult = function getResult(prompt, type, enhanceType) {
1790 if (!enhancePromptMap.has(type)) {
1791 throw new Error("Invalid prompt type: ".concat(type));
1792 }
1793 return enhancePromptMap.get(type)(prompt, enhanceType);
1794 };
1795
1796 /**
1797 * Hook to enhance a prompt.
1798 *
1799 * @param {string} prompt
1800 * @param {'media' | 'layout'} type
1801 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
1802 */
1803 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
1804 var _useConfig = (0, _config.useConfig)(),
1805 mode = _useConfig.mode;
1806 var _usePrompt = (0, _usePrompt2.default)(function () {
1807 return getResult(prompt, type, mode);
1808 }, prompt),
1809 enhancedData = _usePrompt.data,
1810 isEnhancing = _usePrompt.isLoading,
1811 enhance = _usePrompt.send;
1812 return {
1813 enhance: enhance,
1814 isEnhancing: isEnhancing,
1815 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
1816 };
1817 };
1818 var _default = usePromptEnhancer;
1819 exports["default"] = _default;
1820
1821 /***/ }),
1822
1823 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
1824 /*!**********************************************************!*\
1825 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
1826 \**********************************************************/
1827 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1828
1829 "use strict";
1830
1831
1832 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1833 Object.defineProperty(exports, "__esModule", ({
1834 value: true
1835 }));
1836 exports["default"] = void 0;
1837 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1838 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1839 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1840 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1841 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1842 var _react = __webpack_require__(/*! react */ "react");
1843 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1844 var _excluded = ["text", "response_id", "usage", "images"];
1845 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1846 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1847 var normalizeResponse = function normalizeResponse(_ref) {
1848 var text = _ref.text,
1849 responseId = _ref.response_id,
1850 usage = _ref.usage,
1851 images = _ref.images,
1852 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1853 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
1854 var credits = Math.max(creditsData, 0);
1855 var result = text || images;
1856 var normalized = {
1857 result: result,
1858 responseId: responseId,
1859 credits: credits
1860 };
1861 if (optional.base_template_id) {
1862 normalized.baseTemplateId = optional.base_template_id;
1863 }
1864 normalized.type = optional.template_type;
1865 return normalized;
1866 };
1867 var usePrompt = function usePrompt(fetchData, initialState) {
1868 var _useState = (0, _react.useState)(false),
1869 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1870 isLoading = _useState2[0],
1871 setIsLoading = _useState2[1];
1872 var _useState3 = (0, _react.useState)(''),
1873 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1874 error = _useState4[0],
1875 setError = _useState4[1];
1876 var _useState5 = (0, _react.useState)(initialState),
1877 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1878 data = _useState6[0],
1879 setData = _useState6[1];
1880 var send = /*#__PURE__*/function () {
1881 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
1882 var _len,
1883 args,
1884 _key,
1885 _args = arguments;
1886 return _regenerator.default.wrap(function _callee$(_context) {
1887 while (1) switch (_context.prev = _context.next) {
1888 case 0:
1889 for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1890 args[_key] = _args[_key];
1891 }
1892 return _context.abrupt("return", new Promise(function (resolve, reject) {
1893 setError('');
1894 setIsLoading(true);
1895 fetchData.apply(void 0, args).then(function (result) {
1896 var normalizedData = normalizeResponse(result);
1897 setData(normalizedData);
1898 resolve(normalizedData);
1899 }).catch(function (err) {
1900 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
1901 setError(finalError);
1902 reject(finalError);
1903 }).finally(function () {
1904 return setIsLoading(false);
1905 });
1906 }));
1907 case 2:
1908 case "end":
1909 return _context.stop();
1910 }
1911 }, _callee);
1912 }));
1913 return function send() {
1914 return _ref2.apply(this, arguments);
1915 };
1916 }();
1917 var sendUsageData = function sendUsageData() {
1918 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
1919 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
1920 };
1921 var reset = function reset() {
1922 setData(function (_ref3) {
1923 var credits = _ref3.credits;
1924 return {
1925 credits: credits,
1926 result: '',
1927 responseId: ''
1928 };
1929 });
1930 setError('');
1931 setIsLoading(false);
1932 };
1933 var setResult = function setResult(result) {
1934 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1935 var updatedResult = _objectSpread({}, data);
1936 updatedResult.result = result;
1937 if (responseId) {
1938 updatedResult.responseId = responseId;
1939 }
1940 setData(updatedResult);
1941 };
1942 return {
1943 isLoading: isLoading,
1944 error: error,
1945 data: data,
1946 setResult: setResult,
1947 reset: reset,
1948 send: send,
1949 sendUsageData: sendUsageData
1950 };
1951 };
1952 var _default = usePrompt;
1953 exports["default"] = _default;
1954
1955 /***/ }),
1956
1957 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
1958 /*!***********************************************************!*\
1959 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
1960 \***********************************************************/
1961 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1962
1963 "use strict";
1964
1965
1966 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1967 Object.defineProperty(exports, "__esModule", ({
1968 value: true
1969 }));
1970 exports.useTimeout = void 0;
1971 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1972 var _react = __webpack_require__(/*! react */ "react");
1973 var useTimeout = function useTimeout(delay) {
1974 var _useState = (0, _react.useState)(false),
1975 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1976 isTimeout = _useState2[0],
1977 setIsTimeout = _useState2[1];
1978 var timeoutIdRef = (0, _react.useRef)(null);
1979 var turnOffTimeout = function turnOffTimeout() {
1980 clearTimeout(timeoutIdRef.current);
1981 setIsTimeout(false);
1982 };
1983 (0, _react.useEffect)(function () {
1984 timeoutIdRef.current = setTimeout(function () {
1985 setIsTimeout(true);
1986 }, delay);
1987 return function () {
1988 clearTimeout(timeoutIdRef.current);
1989 };
1990 }, [delay]);
1991 return [isTimeout, turnOffTimeout];
1992 };
1993 exports.useTimeout = useTimeout;
1994
1995 /***/ }),
1996
1997 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
1998 /*!*************************************************************!*\
1999 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
2000 \*************************************************************/
2001 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2002
2003 "use strict";
2004
2005
2006 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2007 Object.defineProperty(exports, "__esModule", ({
2008 value: true
2009 }));
2010 exports["default"] = void 0;
2011 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
2012 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2013 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
2014 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2015 var _react = __webpack_require__(/*! react */ "react");
2016 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
2017 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2018 function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2019 var useUserInfo = function useUserInfo() {
2020 var _useState = (0, _react.useState)(false),
2021 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2022 isLoaded = _useState2[0],
2023 setIsLoaded = _useState2[1];
2024 var _useState3 = (0, _react.useState)(false),
2025 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2026 isLoading = _useState4[0],
2027 setIsLoading = _useState4[1];
2028 var _useState5 = (0, _react.useState)({
2029 is_connected: false,
2030 is_get_started: false,
2031 connect_url: '',
2032 usage: {
2033 hasAiSubscription: false,
2034 quota: 0,
2035 usedQuota: 0
2036 }
2037 }),
2038 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
2039 userInfo = _useState6[0],
2040 setUserInfo = _useState6[1];
2041 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
2042 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
2043 var fetchData = /*#__PURE__*/function () {
2044 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
2045 var userInfoResult;
2046 return _regenerator.default.wrap(function _callee$(_context) {
2047 while (1) switch (_context.prev = _context.next) {
2048 case 0:
2049 setIsLoading(true);
2050 _context.next = 3;
2051 return (0, _api.getUserInformation)();
2052 case 3:
2053 userInfoResult = _context.sent;
2054 setUserInfo(function (prevState) {
2055 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
2056 });
2057 setIsLoaded(true);
2058 setIsLoading(false);
2059 case 7:
2060 case "end":
2061 return _context.stop();
2062 }
2063 }, _callee);
2064 }));
2065 return function fetchData() {
2066 return _ref.apply(this, arguments);
2067 };
2068 }();
2069 if (!isLoaded && !isLoading) {
2070 fetchData();
2071 }
2072 return {
2073 isLoading: isLoading,
2074 isLoaded: isLoaded,
2075 isConnected: userInfo.is_connected,
2076 isGetStarted: userInfo.is_get_started,
2077 connectUrl: userInfo.connect_url,
2078 builderUrl: userInfo.usage.builderUrl,
2079 hasSubscription: userInfo.usage.hasAiSubscription,
2080 credits: credits < 0 ? 0 : credits,
2081 usagePercentage: Math.round(usagePercentage),
2082 fetchData: fetchData
2083 };
2084 };
2085 var _default = useUserInfo;
2086 exports["default"] = _default;
2087
2088 /***/ }),
2089
2090 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
2091 /*!***************************************************************!*\
2092 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
2093 \***************************************************************/
2094 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2095
2096 "use strict";
2097
2098
2099 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2100 Object.defineProperty(exports, "__esModule", ({
2101 value: true
2102 }));
2103 exports["default"] = void 0;
2104 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2105 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2106 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2107 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
2108 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2109 viewBox: "0 0 24 24"
2110 }, props, {
2111 ref: ref
2112 }), /*#__PURE__*/_react.default.createElement("path", {
2113 fillRule: "evenodd",
2114 clipRule: "evenodd",
2115 d: "M9.53033 7.46967C9.82322 7.76256 9.82322 8.23744 9.53033 8.53033L6.81066 11.25H19C19.4142 11.25 19.75 11.5858 19.75 12C19.75 12.4142 19.4142 12.75 19 12.75H6.81066L9.53033 15.4697C9.82322 15.7626 9.82322 16.2374 9.53033 16.5303C9.23744 16.8232 8.76256 16.8232 8.46967 16.5303L4.46967 12.5303C4.17678 12.2374 4.17678 11.7626 4.46967 11.4697L8.46967 7.46967C8.76256 7.17678 9.23744 7.17678 9.53033 7.46967Z"
2116 }));
2117 });
2118 var _default = ArrowLeftIcon;
2119 exports["default"] = _default;
2120
2121 /***/ }),
2122
2123 /***/ "../modules/ai/assets/js/editor/icons/copy-page-icon.js":
2124 /*!**************************************************************!*\
2125 !*** ../modules/ai/assets/js/editor/icons/copy-page-icon.js ***!
2126 \**************************************************************/
2127 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2128
2129 "use strict";
2130
2131
2132 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2133 Object.defineProperty(exports, "__esModule", ({
2134 value: true
2135 }));
2136 exports["default"] = void 0;
2137 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2138 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2139 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2140 var CopyPageIcon = _react.default.forwardRef(function (props, ref) {
2141 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2142 viewBox: "0 0 24 24"
2143 }, props, {
2144 ref: ref
2145 }), /*#__PURE__*/_react.default.createElement("path", {
2146 fillRule: "evenodd",
2147 clipRule: "evenodd",
2148 d: "M16.6667 0.208496C17.0534 0.208496 17.4244 0.362142 17.6979 0.635632C17.9714 0.909123 18.125 1.28006 18.125 1.66683V11.6668C18.125 12.0536 17.9714 12.4245 17.6979 12.698C17.4244 12.9715 17.0534 13.1252 16.6667 13.1252H14.7917V16.6668C14.7917 17.0536 14.638 17.4245 14.3645 17.698C14.091 17.9715 13.7201 18.1252 13.3333 18.1252H3.33333C2.94656 18.1252 2.57563 17.9715 2.30214 17.698C2.02865 17.4245 1.875 17.0536 1.875 16.6668V6.66683C1.875 6.28005 2.02865 5.90912 2.30214 5.63563C2.57563 5.36214 2.94656 5.2085 3.33333 5.2085H5.20833V1.66683C5.20833 1.28005 5.36198 0.909122 5.63547 0.635632C5.90896 0.362142 6.27989 0.208496 6.66667 0.208496H16.6667ZM6.66667 1.4585C6.61141 1.4585 6.55842 1.48045 6.51935 1.51952C6.48028 1.55859 6.45833 1.61158 6.45833 1.66683V3.54183H8.54167V1.4585H6.66667ZM3.125 9.79183V16.6668C3.125 16.7221 3.14695 16.7751 3.18602 16.8141C3.22509 16.8532 3.27808 16.8752 3.33333 16.8752H13.3333C13.3886 16.8752 13.4416 16.8532 13.4806 16.8141C13.5197 16.7751 13.5417 16.7221 13.5417 16.6668V13.1252H6.66667C6.27989 13.1252 5.90896 12.9715 5.63547 12.698C5.36198 12.4245 5.20833 12.0536 5.20833 11.6668V9.79183H3.125ZM5.20833 8.54183H3.125V6.66683C3.125 6.61158 3.14695 6.55859 3.18602 6.51952C3.22509 6.48045 3.27808 6.4585 3.33333 6.4585H5.20833V8.54183ZM6.45833 11.6668C6.45833 11.7221 6.48028 11.7751 6.51935 11.8141C6.55842 11.8532 6.61141 11.8752 6.66667 11.8752H16.6667C16.7219 11.8752 16.7749 11.8532 16.814 11.8141C16.853 11.7751 16.875 11.7221 16.875 11.6668V4.79183H6.45833V11.6668ZM9.79167 1.4585V3.54183H16.875V1.66683C16.875 1.61157 16.853 1.55858 16.814 1.51952C16.7749 1.48045 16.7219 1.4585 16.6667 1.4585H9.79167Z"
2149 }));
2150 });
2151 var _default = CopyPageIcon;
2152 exports["default"] = _default;
2153
2154 /***/ }),
2155
2156 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
2157 /*!*********************************************************!*\
2158 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
2159 \*********************************************************/
2160 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2161
2162 "use strict";
2163
2164
2165 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2166 Object.defineProperty(exports, "__esModule", ({
2167 value: true
2168 }));
2169 exports["default"] = void 0;
2170 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2171 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2172 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2173 var EditIcon = _react.default.forwardRef(function (props, ref) {
2174 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2175 viewBox: "0 0 24 24"
2176 }, props, {
2177 ref: ref
2178 }), /*#__PURE__*/_react.default.createElement("path", {
2179 fillRule: "evenodd",
2180 clipRule: "evenodd",
2181 d: "M13.9697 4.96967C14.6408 4.29858 15.5509 3.92157 16.5 3.92157C17.4491 3.92157 18.3592 4.29858 19.0303 4.96967C19.7014 5.64075 20.0784 6.55094 20.0784 7.5C20.0784 8.44905 19.7014 9.35924 19.0303 10.0303L8.53033 20.5303C8.38968 20.671 8.19891 20.75 8 20.75H4C3.58579 20.75 3.25 20.4142 3.25 20V16C3.25 15.8011 3.32902 15.6103 3.46967 15.4697L13.9697 4.96967ZM16.5 5.42157C15.9488 5.42157 15.4201 5.64055 15.0303 6.03033L4.75 16.3107V19.25H7.68934L17.9697 8.96967C18.3595 8.57989 18.5784 8.05123 18.5784 7.5C18.5784 6.94876 18.3595 6.42011 17.9697 6.03033C17.5799 5.64055 17.0512 5.42157 16.5 5.42157Z"
2182 }), /*#__PURE__*/_react.default.createElement("path", {
2183 fillRule: "evenodd",
2184 clipRule: "evenodd",
2185 d: "M12.9697 5.96967C13.2626 5.67677 13.7374 5.67677 14.0303 5.96967L18.0303 9.96967C18.3232 10.2626 18.3232 10.7374 18.0303 11.0303C17.7374 11.3232 17.2626 11.3232 16.9697 11.0303L12.9697 7.03033C12.6768 6.73743 12.6768 6.26256 12.9697 5.96967Z"
2186 }));
2187 });
2188 var _default = EditIcon;
2189 exports["default"] = _default;
2190
2191 /***/ }),
2192
2193 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
2194 /*!********************************************************************!*\
2195 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
2196 \********************************************************************/
2197 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2198
2199 "use strict";
2200
2201
2202 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2203 Object.defineProperty(exports, "__esModule", ({
2204 value: true
2205 }));
2206 exports["default"] = void 0;
2207 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2208 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2209 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2210 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2211 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2212 viewBox: "0 0 24 24"
2213 }, props, {
2214 ref: ref
2215 }), /*#__PURE__*/_react.default.createElement("path", {
2216 fillRule: "evenodd",
2217 clipRule: "evenodd",
2218 d: "M4 3.25H8C8.41421 3.25 8.75 3.58579 8.75 4C8.75 4.41421 8.41421 4.75 8 4.75H5.81066L10.5303 9.46967C10.8232 9.76256 10.8232 10.2374 10.5303 10.5303C10.2374 10.8232 9.76256 10.8232 9.46967 10.5303L4.75 5.81066V8C4.75 8.41421 4.41421 8.75 4 8.75C3.58579 8.75 3.25 8.41421 3.25 8V4C3.25 3.58579 3.58579 3.25 4 3.25ZM13.4697 13.4697C13.7626 13.1768 14.2374 13.1768 14.5303 13.4697L19.25 18.1893V16C19.25 15.5858 19.5858 15.25 20 15.25C20.4142 15.25 20.75 15.5858 20.75 16V20C20.75 20.4142 20.4142 20.75 20 20.75H16C15.5858 20.75 15.25 20.4142 15.25 20C15.25 19.5858 15.5858 19.25 16 19.25H18.1893L13.4697 14.5303C13.1768 14.2374 13.1768 13.7626 13.4697 13.4697Z"
2219 }));
2220 });
2221 var _default = ExpandDiagonalIcon;
2222 exports["default"] = _default;
2223
2224 /***/ }),
2225
2226 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
2227 /*!*********************************************************!*\
2228 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
2229 \*********************************************************/
2230 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2231
2232 "use strict";
2233
2234
2235 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2236 Object.defineProperty(exports, "__esModule", ({
2237 value: true
2238 }));
2239 exports["default"] = void 0;
2240 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2241 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2242 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2243 var LockIcon = _react.default.forwardRef(function (props, ref) {
2244 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2245 viewBox: "0 0 24 24"
2246 }, props, {
2247 ref: ref
2248 }), /*#__PURE__*/_react.default.createElement("path", {
2249 fillRule: "evenodd",
2250 clipRule: "evenodd",
2251 d: "M7.8125 11.9996C7.29473 11.9996 6.875 12.4473 6.875 12.9996V18.9996C6.875 19.5519 7.29473 19.9996 7.8125 19.9996H17.1875C17.7053 19.9996 18.125 19.5519 18.125 18.9996V12.9996C18.125 12.4473 17.7053 11.9996 17.1875 11.9996H7.8125ZM5 12.9996C5 11.3428 6.2592 9.99963 7.8125 9.99963H17.1875C18.7408 9.99963 20 11.3428 20 12.9996V18.9996C20 20.6565 18.7408 21.9996 17.1875 21.9996H7.8125C6.2592 21.9996 5 20.6565 5 18.9996V12.9996Z"
2252 }), /*#__PURE__*/_react.default.createElement("path", {
2253 fillRule: "evenodd",
2254 clipRule: "evenodd",
2255 d: "M12.5 3.90527C11.7044 3.90527 10.9413 4.22134 10.3787 4.78395C9.81607 5.34656 9.5 6.10962 9.5 6.90527V10.9053C9.5 11.4576 9.05228 11.9053 8.5 11.9053C7.94772 11.9053 7.5 11.4576 7.5 10.9053V6.90527C7.5 5.57919 8.02678 4.30742 8.96447 3.36974C9.90215 2.43206 11.1739 1.90527 12.5 1.90527C13.8261 1.90527 15.0979 2.43206 16.0355 3.36974C16.9732 4.30742 17.5 5.57919 17.5 6.90527V10.9053C17.5 11.4576 17.0523 11.9053 16.5 11.9053C15.9477 11.9053 15.5 11.4576 15.5 10.9053V6.90527C15.5 6.10962 15.1839 5.34656 14.6213 4.78395C14.0587 4.22134 13.2956 3.90527 12.5 3.90527Z"
2256 }), /*#__PURE__*/_react.default.createElement("path", {
2257 d: "M6 12H19V20H6V12Z"
2258 }));
2259 });
2260 var _default = LockIcon;
2261 exports["default"] = _default;
2262
2263 /***/ }),
2264
2265 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
2266 /*!**********************************************************************!*\
2267 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
2268 \**********************************************************************/
2269 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2270
2271 "use strict";
2272
2273
2274 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2275 Object.defineProperty(exports, "__esModule", ({
2276 value: true
2277 }));
2278 exports["default"] = void 0;
2279 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2280 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2281 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2282 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
2283 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2284 viewBox: "0 0 24 24"
2285 }, props, {
2286 ref: ref
2287 }), /*#__PURE__*/_react.default.createElement("path", {
2288 fillRule: "evenodd",
2289 clipRule: "evenodd",
2290 d: "M3.46967 3.46967C3.76256 3.17678 4.23744 3.17678 4.53033 3.46967L9.25 8.18934V6C9.25 5.58579 9.58579 5.25 10 5.25C10.4142 5.25 10.75 5.58579 10.75 6V10C10.75 10.4142 10.4142 10.75 10 10.75H6C5.58579 10.75 5.25 10.4142 5.25 10C5.25 9.58579 5.58579 9.25 6 9.25H8.18934L3.46967 4.53033C3.17678 4.23744 3.17678 3.76256 3.46967 3.46967ZM14 13.25H18C18.4142 13.25 18.75 13.5858 18.75 14C18.75 14.4142 18.4142 14.75 18 14.75H15.8107L20.5303 19.4697C20.8232 19.7626 20.8232 20.2374 20.5303 20.5303C20.2374 20.8232 19.7626 20.8232 19.4697 20.5303L14.75 15.8107V18C14.75 18.4142 14.4142 18.75 14 18.75C13.5858 18.75 13.25 18.4142 13.25 18V14C13.25 13.5858 13.5858 13.25 14 13.25Z"
2291 }));
2292 });
2293 var _default = MinimizeDiagonalIcon;
2294 exports["default"] = _default;
2295
2296 /***/ }),
2297
2298 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
2299 /*!****************************************************************!*\
2300 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
2301 \****************************************************************/
2302 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2303
2304 "use strict";
2305
2306
2307 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2308 Object.defineProperty(exports, "__esModule", ({
2309 value: true
2310 }));
2311 exports["default"] = void 0;
2312 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2313 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2314 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2315 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
2316 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2317 viewBox: "0 0 24 24"
2318 }, props, {
2319 ref: ref
2320 }), /*#__PURE__*/_react.default.createElement("path", {
2321 d: "M12 2.69231C6.8595 2.69231 2.69231 6.8595 2.69231 12C2.69231 17.1405 6.8595 21.3077 12 21.3077C17.1405 21.3077 21.3077 17.1405 21.3077 12C21.3077 6.8595 17.1405 2.69231 12 2.69231ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 7.76923C12.4673 7.76923 12.8462 8.14807 12.8462 8.61538V11.1538H15.3846C15.8519 11.1538 16.2308 11.5327 16.2308 12C16.2308 12.4673 15.8519 12.8462 15.3846 12.8462H12.8462V15.3846C12.8462 15.8519 12.4673 16.2308 12 16.2308C11.5327 16.2308 11.1538 15.8519 11.1538 15.3846V12.8462H8.61538C8.14807 12.8462 7.76923 12.4673 7.76923 12C7.76923 11.5327 8.14807 11.1538 8.61538 11.1538H11.1538V8.61538C11.1538 8.14807 11.5327 7.76923 12 7.76923Z"
2322 }));
2323 });
2324 var _default = PlusCircleIcon;
2325 exports["default"] = _default;
2326
2327 /***/ }),
2328
2329 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
2330 /*!************************************************************!*\
2331 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
2332 \************************************************************/
2333 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2334
2335 "use strict";
2336
2337
2338 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2339 Object.defineProperty(exports, "__esModule", ({
2340 value: true
2341 }));
2342 exports["default"] = void 0;
2343 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2344 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2345 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2346 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
2347 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2348 viewBox: "0 0 24 24"
2349 }, props, {
2350 ref: ref
2351 }), /*#__PURE__*/_react.default.createElement("path", {
2352 fillRule: "evenodd",
2353 clipRule: "evenodd",
2354 d: "M7.55012 4.45178C9.23098 3.48072 11.1845 3.08925 13.1097 3.33767C15.035 3.58609 16.8251 4.46061 18.2045 5.82653C19.5838 7.19245 20.4757 8.97399 20.743 10.8967C20.8 11.307 20.5136 11.6858 20.1033 11.7428C19.6931 11.7998 19.3142 11.5135 19.2572 11.1032C19.0353 9.50635 18.2945 8.02677 17.149 6.89236C16.0035 5.75795 14.5167 5.03165 12.9178 4.82534C11.3189 4.61902 9.69644 4.94414 8.30047 5.75061C7.24361 6.36117 6.36093 7.22198 5.72541 8.24995H8.00009C8.41431 8.24995 8.75009 8.58574 8.75009 8.99995C8.75009 9.41417 8.41431 9.74995 8.00009 9.74995H4.51686C4.5055 9.75021 4.49412 9.75021 4.48272 9.74995H4.00009C3.58588 9.74995 3.25009 9.41417 3.25009 8.99995V4.99995C3.25009 4.58574 3.58588 4.24995 4.00009 4.24995C4.41431 4.24995 4.75009 4.58574 4.75009 4.99995V7.00691C5.48358 5.96916 6.43655 5.0951 7.55012 4.45178Z"
2355 }), /*#__PURE__*/_react.default.createElement("path", {
2356 fillRule: "evenodd",
2357 clipRule: "evenodd",
2358 d: "M3.89686 12.2571C4.30713 12.2001 4.68594 12.4864 4.74295 12.8967C4.96487 14.4936 5.70565 15.9731 6.85119 17.1075C7.99673 18.242 9.48347 18.9683 11.0824 19.1746C12.6813 19.3809 14.3037 19.0558 15.6997 18.2493C16.7566 17.6387 17.6393 16.7779 18.2748 15.75H16.0001C15.5859 15.75 15.2501 15.4142 15.2501 15C15.2501 14.5857 15.5859 14.25 16.0001 14.25H19.4833C19.4947 14.2497 19.5061 14.2497 19.5175 14.25H20.0001C20.4143 14.25 20.7501 14.5857 20.7501 15V19C20.7501 19.4142 20.4143 19.75 20.0001 19.75C19.5859 19.75 19.2501 19.4142 19.2501 19V16.993C18.5166 18.0307 17.5636 18.9048 16.4501 19.5481C14.7692 20.5192 12.8157 20.9107 10.8904 20.6622C8.9652 20.4138 7.17504 19.5393 5.79572 18.1734C4.4164 16.8074 3.52443 15.0259 3.25723 13.1032C3.20022 12.6929 3.48658 12.3141 3.89686 12.2571Z"
2359 }));
2360 });
2361 var _default = RefreshIcon;
2362 exports["default"] = _default;
2363
2364 /***/ }),
2365
2366 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
2367 /*!*********************************************************!*\
2368 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
2369 \*********************************************************/
2370 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2371
2372 "use strict";
2373
2374
2375 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2376 Object.defineProperty(exports, "__esModule", ({
2377 value: true
2378 }));
2379 exports["default"] = void 0;
2380 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2381 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2382 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2383 var WandIcon = _react.default.forwardRef(function (props, ref) {
2384 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2385 viewBox: "0 0 24 24"
2386 }, props, {
2387 ref: ref
2388 }), /*#__PURE__*/_react.default.createElement("path", {
2389 fillRule: "evenodd",
2390 clipRule: "evenodd",
2391 d: "M9 2.25C9.41421 2.25 9.75 2.58579 9.75 3C9.75 3.33152 9.8817 3.64946 10.1161 3.88388C10.3505 4.1183 10.6685 4.25 11 4.25C11.4142 4.25 11.75 4.58579 11.75 5C11.75 5.41421 11.4142 5.75 11 5.75C10.6685 5.75 10.3505 5.8817 10.1161 6.11612C9.8817 6.35054 9.75 6.66848 9.75 7C9.75 7.41421 9.41421 7.75 9 7.75C8.58579 7.75 8.25 7.41421 8.25 7C8.25 6.66848 8.1183 6.35054 7.88388 6.11612C7.64946 5.8817 7.33152 5.75 7 5.75C6.58579 5.75 6.25 5.41421 6.25 5C6.25 4.58579 6.58579 4.25 7 4.25C7.33152 4.25 7.64946 4.1183 7.88388 3.88388C8.1183 3.64946 8.25 3.33152 8.25 3C8.25 2.58579 8.58579 2.25 9 2.25ZM9 4.88746C8.98182 4.90673 8.96333 4.92576 8.94454 4.94454C8.92576 4.96333 8.90673 4.98182 8.88746 5C8.90673 5.01818 8.92576 5.03667 8.94454 5.05546C8.96333 5.07424 8.98182 5.09327 9 5.11254C9.01818 5.09327 9.03667 5.07424 9.05546 5.05546C9.07424 5.03667 9.09327 5.01818 9.11254 5C9.09327 4.98182 9.07424 4.96333 9.05546 4.94454C9.03667 4.92576 9.01818 4.90673 9 4.88746Z"
2392 }), /*#__PURE__*/_react.default.createElement("path", {
2393 fillRule: "evenodd",
2394 clipRule: "evenodd",
2395 d: "M18.5303 2.46967C18.2374 2.17678 17.7626 2.17678 17.4697 2.46967L2.46967 17.4697C2.17678 17.7626 2.17678 18.2374 2.46967 18.5303L5.46967 21.5303C5.76256 21.8232 6.23744 21.8232 6.53033 21.5303L21.5303 6.53033C21.8232 6.23744 21.8232 5.76256 21.5303 5.46967L18.5303 2.46967ZM18 7.93934L19.9393 6L18 4.06066L16.0607 6L18 7.93934ZM15 7.06066L16.9393 9L6 19.9393L4.06066 18L15 7.06066Z"
2396 }), /*#__PURE__*/_react.default.createElement("path", {
2397 fillRule: "evenodd",
2398 clipRule: "evenodd",
2399 d: "M19.75 13C19.75 12.5858 19.4142 12.25 19 12.25C18.5858 12.25 18.25 12.5858 18.25 13C18.25 13.3315 18.1183 13.6495 17.8839 13.8839C17.6495 14.1183 17.3315 14.25 17 14.25C16.5858 14.25 16.25 14.5858 16.25 15C16.25 15.4142 16.5858 15.75 17 15.75C17.3315 15.75 17.6495 15.8817 17.8839 16.1161C18.1183 16.3505 18.25 16.6685 18.25 17C18.25 17.4142 18.5858 17.75 19 17.75C19.4142 17.75 19.75 17.4142 19.75 17C19.75 16.6685 19.8817 16.3505 20.1161 16.1161C20.3505 15.8817 20.6685 15.75 21 15.75C21.4142 15.75 21.75 15.4142 21.75 15C21.75 14.5858 21.4142 14.25 21 14.25C20.6685 14.25 20.3505 14.1183 20.1161 13.8839C19.8817 13.6495 19.75 13.3315 19.75 13ZM18.9445 14.9445C18.9633 14.9258 18.9818 14.9067 19 14.8875C19.0182 14.9067 19.0367 14.9258 19.0555 14.9445C19.0742 14.9633 19.0933 14.9818 19.1125 15C19.0933 15.0182 19.0742 15.0367 19.0555 15.0555C19.0367 15.0742 19.0182 15.0933 19 15.1125C18.9818 15.0933 18.9633 15.0742 18.9445 15.0555C18.9258 15.0367 18.9067 15.0182 18.8875 15C18.9067 14.9818 18.9258 14.9633 18.9445 14.9445Z"
2400 }));
2401 });
2402 var _default = WandIcon;
2403 exports["default"] = _default;
2404
2405 /***/ }),
2406
2407 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
2408 /*!************************************************************!*\
2409 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
2410 \************************************************************/
2411 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2412
2413 "use strict";
2414
2415
2416 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2417 Object.defineProperty(exports, "__esModule", ({
2418 value: true
2419 }));
2420 exports["default"] = void 0;
2421 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2422 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2423 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2424 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
2425 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2426 viewBox: "0 0 24 24"
2427 }, props, {
2428 ref: ref
2429 }), /*#__PURE__*/_react.default.createElement("path", {
2430 fillRule: "evenodd",
2431 clipRule: "evenodd",
2432 d: "M4.16707 3.95837C4.11182 3.95837 4.05883 3.98032 4.01976 4.01939C3.98069 4.05846 3.95874 4.11145 3.95874 4.16671V6.04171H6.04207V3.95837H4.16707ZM4.16707 2.70837C3.7803 2.70837 3.40937 2.86202 3.13588 3.13551C2.86239 3.409 2.70874 3.77993 2.70874 4.16671V15.8334C2.70874 16.2201 2.86239 16.5911 3.13588 16.8646C3.40937 17.1381 3.7803 17.2917 4.16707 17.2917H15.8337C16.2205 17.2917 16.5914 17.1381 16.8649 16.8646C17.1384 16.5911 17.2921 16.2201 17.2921 15.8334V4.16671C17.2921 3.77993 17.1384 3.409 16.8649 3.13551C16.5914 2.86202 16.2205 2.70837 15.8337 2.70837H4.16707ZM7.29207 3.95837V6.04171H16.0421V4.16671C16.0421 4.11145 16.0201 4.05846 15.9811 4.01939C15.942 3.98032 15.889 3.95837 15.8337 3.95837H7.29207ZM16.0421 7.29171H3.95874V15.8334C3.95874 15.8886 3.98069 15.9416 4.01976 15.9807C4.05883 16.0198 4.11182 16.0417 4.16707 16.0417H15.8337C15.889 16.0417 15.942 16.0198 15.9811 15.9807C16.0201 15.9416 16.0421 15.8886 16.0421 15.8334V7.29171Z"
2433 }));
2434 });
2435 var _default = WebsiteIcon;
2436 exports["default"] = _default;
2437
2438 /***/ }),
2439
2440 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
2441 /*!*************************************************************!*\
2442 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
2443 \*************************************************************/
2444 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2445
2446 "use strict";
2447
2448
2449 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2450 Object.defineProperty(exports, "__esModule", ({
2451 value: true
2452 }));
2453 exports["default"] = void 0;
2454 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2455 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2456 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2457 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
2458 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
2459 viewBox: "0 0 24 24"
2460 }, props, {
2461 ref: ref
2462 }), /*#__PURE__*/_react.default.createElement("path", {
2463 d: "M12 2.69231C6.8595 2.69231 2.69231 6.8595 2.69231 12C2.69231 17.1405 6.8595 21.3077 12 21.3077C17.1405 21.3077 21.3077 17.1405 21.3077 12C21.3077 6.8595 17.1405 2.69231 12 2.69231ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM9.14527 9.14527C9.47571 8.81483 10.0115 8.81483 10.3419 9.14527L12 10.8034L13.6581 9.14527C13.9885 8.81483 14.5243 8.81483 14.8547 9.14527C15.1852 9.47571 15.1852 10.0115 14.8547 10.3419L13.1966 12L14.8547 13.6581C15.1852 13.9885 15.1852 14.5243 14.8547 14.8547C14.5243 15.1852 13.9885 15.1852 13.6581 14.8547L12 13.1966L10.3419 14.8547C10.0115 15.1852 9.47571 15.1852 9.14527 14.8547C8.81483 14.5243 8.81483 13.9885 9.14527 13.6581L10.8034 12L9.14527 10.3419C8.81483 10.0115 8.81483 9.47571 9.14527 9.14527Z"
2464 }));
2465 });
2466 var _default = XCircleIcon;
2467 exports["default"] = _default;
2468
2469 /***/ }),
2470
2471 /***/ "../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js":
2472 /*!********************************************************************************************!*\
2473 !*** ../modules/ai/assets/js/editor/integration/library/apply-template-for-ai-behavior.js ***!
2474 \********************************************************************************************/
2475 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
2476
2477 "use strict";
2478
2479
2480 var _require = __webpack_require__(/*! ../../utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js"),
2481 renderLayoutApp = _require.renderLayoutApp,
2482 importToEditor = _require.importToEditor;
2483 var _require2 = __webpack_require__(/*! ../../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js"),
2484 MODE_VARIATION = _require2.MODE_VARIATION;
2485 var _require3 = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n"),
2486 __ = _require3.__;
2487 var _require4 = __webpack_require__(/*! ../../pages/form-layout/components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"),
2488 ATTACHMENT_TYPE_JSON = _require4.ATTACHMENT_TYPE_JSON;
2489 var ApplyTemplateForAiBehavior;
2490 ApplyTemplateForAiBehavior = Marionette.Behavior.extend({
2491 ui: {
2492 applyButton: '.elementor-template-library-template-apply-ai',
2493 generateVariation: '.elementor-template-library-template-generate-variation'
2494 },
2495 events: {
2496 'click @ui.applyButton': 'onApplyButtonClick',
2497 'click @ui.generateVariation': 'onGenerateVariationClick'
2498 },
2499 onGenerateVariationClick: function onGenerateVariationClick() {
2500 var _libraryComponent$man, _libraryComponent$man2;
2501 var args = {
2502 model: this.view.model
2503 };
2504 var libraryComponent = $e.components.get('library');
2505 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;
2506 libraryComponent.downloadTemplate(args, function (data) {
2507 var model = args.model;
2508 var attachment = {
2509 type: ATTACHMENT_TYPE_JSON,
2510 previewHTML: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
2511 content: data.content[0],
2512 label: "".concat(model.get('template_id'), " - ").concat(model.get('title'))
2513 };
2514 renderLayoutApp({
2515 parentContainer: elementor.getPreviewContainer(),
2516 mode: MODE_VARIATION,
2517 at: at,
2518 attachments: [attachment],
2519 onInsert: function onInsert(template) {
2520 importToEditor({
2521 parentContainer: elementor.getPreviewContainer(),
2522 at: at,
2523 template: template,
2524 historyTitle: __('AI Variation from library', 'elementor')
2525 });
2526 }
2527 });
2528 $e.run('library/close');
2529 });
2530 },
2531 onApplyButtonClick: function onApplyButtonClick() {
2532 var args = {
2533 model: this.view.model
2534 };
2535 this.ui.applyButton.addClass('elementor-disabled');
2536 if ('remote' === args.model.get('source') && !elementor.config.library_connect.is_connected) {
2537 $e.route('library/connect', args);
2538 return;
2539 }
2540 $e.run('library/generate-ai-variation', args);
2541 }
2542 });
2543 module.exports = ApplyTemplateForAiBehavior;
2544
2545 /***/ }),
2546
2547 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
2548 /*!************************************************************!*\
2549 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
2550 \************************************************************/
2551 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2552
2553 "use strict";
2554
2555
2556 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2557 Object.defineProperty(exports, "__esModule", ({
2558 value: true
2559 }));
2560 exports["default"] = void 0;
2561 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2562 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2563 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2564 var LayoutAppWrapper = function LayoutAppWrapper(props) {
2565 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
2566 rtl: props.isRTL
2567 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
2568 colorScheme: props.colorScheme
2569 }, props.children));
2570 };
2571 LayoutAppWrapper.propTypes = {
2572 children: _propTypes.default.node,
2573 isRTL: _propTypes.default.bool,
2574 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
2575 };
2576 var _default = LayoutAppWrapper;
2577 exports["default"] = _default;
2578
2579 /***/ }),
2580
2581 /***/ "../modules/ai/assets/js/editor/layout-app.js":
2582 /*!****************************************************!*\
2583 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
2584 \****************************************************/
2585 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2586
2587 "use strict";
2588
2589
2590 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2591 Object.defineProperty(exports, "__esModule", ({
2592 value: true
2593 }));
2594 exports["default"] = void 0;
2595 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2596 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2597 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
2598 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2599 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2600 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
2601 var _generateIds = __webpack_require__(/*! ./utils/generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
2602 var LayoutApp = function LayoutApp(props) {
2603 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
2604 onError: props.onClose
2605 }, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
2606 mode: props.mode,
2607 attachmentsTypes: props.attachmentsTypes,
2608 onClose: props.onClose,
2609 onConnect: props.onConnect,
2610 onData: props.onData,
2611 onInsert: props.onInsert,
2612 onSelect: props.onSelect,
2613 onGenerate: props.onGenerate,
2614 currentContext: props.currentContext,
2615 hasPro: props.hasPro,
2616 sessionId: "session-".concat((0, _generateIds.getUniqueId)()),
2617 editorSessionId: props.editorSessionId
2618 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
2619 attachments: props.attachments
2620 })));
2621 };
2622 LayoutApp.propTypes = {
2623 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
2624 attachmentsTypes: _attachment.AttachmentsTypesPropType,
2625 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
2626 onClose: _propTypes.default.func.isRequired,
2627 onConnect: _propTypes.default.func.isRequired,
2628 onData: _propTypes.default.func.isRequired,
2629 onInsert: _propTypes.default.func.isRequired,
2630 onSelect: _propTypes.default.func.isRequired,
2631 onGenerate: _propTypes.default.func.isRequired,
2632 currentContext: _propTypes.default.object,
2633 hasPro: _propTypes.default.bool,
2634 sessionId: _propTypes.default.string,
2635 editorSessionId: _propTypes.default.string
2636 };
2637 var _default = LayoutApp;
2638 exports["default"] = _default;
2639
2640 /***/ }),
2641
2642 /***/ "../modules/ai/assets/js/editor/layout-content.js":
2643 /*!********************************************************!*\
2644 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
2645 \********************************************************/
2646 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2647
2648 "use strict";
2649
2650
2651 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2652 Object.defineProperty(exports, "__esModule", ({
2653 value: true
2654 }));
2655 exports["default"] = void 0;
2656 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2657 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
2658 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
2659 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
2660 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
2661 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
2662 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
2663 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
2664 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
2665 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2666 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2667 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
2668 var LayoutContent = function LayoutContent(props) {
2669 var _useUserInfo = (0, _useUserInfo2.default)(),
2670 isLoading = _useUserInfo.isLoading,
2671 isConnected = _useUserInfo.isConnected,
2672 isGetStarted = _useUserInfo.isGetStarted,
2673 connectUrl = _useUserInfo.connectUrl,
2674 fetchData = _useUserInfo.fetchData,
2675 hasSubscription = _useUserInfo.hasSubscription,
2676 usagePercentage = _useUserInfo.usagePercentage;
2677 var _useConfig = (0, _config.useConfig)(),
2678 onClose = _useConfig.onClose,
2679 onConnect = _useConfig.onConnect;
2680 if (isLoading) {
2681 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2682 onClose: onClose
2683 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
2684 onClose: onClose
2685 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
2686 dividers: true
2687 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
2688 BoxProps: {
2689 sx: {
2690 px: 3
2691 }
2692 }
2693 })));
2694 }
2695 if (!isConnected) {
2696 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2697 onClose: onClose
2698 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2699 onClose: onClose
2700 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2701 dividers: true
2702 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
2703 connectUrl: connectUrl,
2704 onSuccess: function onSuccess(data) {
2705 onConnect(data);
2706 fetchData();
2707 }
2708 })));
2709 }
2710 if (!isGetStarted) {
2711 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
2712 onClose: onClose
2713 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
2714 onClose: onClose
2715 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
2716 dividers: true
2717 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
2718 onSuccess: fetchData
2719 })));
2720 }
2721 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
2722 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
2723 attachments: props.attachments,
2724 DialogHeaderProps: {
2725 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
2726 hasSubscription: hasSubscription,
2727 usagePercentage: usagePercentage
2728 })
2729 }
2730 });
2731 };
2732 LayoutContent.propTypes = {
2733 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
2734 };
2735 var _default = LayoutContent;
2736 exports["default"] = _default;
2737
2738 /***/ }),
2739
2740 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
2741 /*!*************************************************************!*\
2742 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
2743 \*************************************************************/
2744 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2745
2746 "use strict";
2747
2748
2749 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2750 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2751 Object.defineProperty(exports, "__esModule", ({
2752 value: true
2753 }));
2754 exports["default"] = void 0;
2755 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2756 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2757 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2758 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2759 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2760 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); }
2761 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; }
2762 var Connect = function Connect(_ref) {
2763 var connectUrl = _ref.connectUrl,
2764 onSuccess = _ref.onSuccess;
2765 var approveButtonRef = (0, _react.useRef)();
2766 (0, _react.useEffect)(function () {
2767 // On local dev (as a standalone app), the connect lib is not loaded.
2768 if (!jQuery.fn.elementorConnect) {
2769 return;
2770 }
2771 jQuery(approveButtonRef.current).elementorConnect({
2772 success: function success(_, data) {
2773 return onSuccess(data);
2774 },
2775 error: function error() {
2776 throw new Error('Elementor AI: Failed to connect.');
2777 }
2778 });
2779 }, []);
2780 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2781 alignItems: "center",
2782 gap: 2
2783 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
2784 sx: {
2785 color: 'text.primary',
2786 fontSize: '60px',
2787 mb: 1
2788 }
2789 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2790 variant: "h4",
2791 sx: {
2792 color: 'text.primary'
2793 }
2794 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2795 variant: "body2"
2796 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2797 variant: "caption",
2798 sx: {
2799 maxWidth: 520,
2800 textAlign: 'center'
2801 }
2802 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
2803 href: "https://go.elementor.com/ai-terms/",
2804 target: "_blank",
2805 color: "info.main"
2806 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
2807 href: "https://go.elementor.com/ai-privacy-policy/",
2808 target: "_blank",
2809 color: "info.main"
2810 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
2811 ref: approveButtonRef,
2812 href: connectUrl,
2813 variant: "contained",
2814 sx: {
2815 mt: 1,
2816 '&:hover': {
2817 color: 'primary.contrastText'
2818 }
2819 }
2820 }, (0, _i18n.__)('Connect', 'elementor')));
2821 };
2822 Connect.propTypes = {
2823 connectUrl: _propTypes.default.string.isRequired,
2824 onSuccess: _propTypes.default.func.isRequired
2825 };
2826 var _default = Connect;
2827 exports["default"] = _default;
2828
2829 /***/ }),
2830
2831 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
2832 /*!**********************************************************************************!*\
2833 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
2834 \**********************************************************************************/
2835 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2836
2837 "use strict";
2838
2839
2840 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2841 Object.defineProperty(exports, "__esModule", ({
2842 value: true
2843 }));
2844 exports["default"] = exports.MENU_TYPE_LIBRARY = exports.ATTACHMENT_TYPE_URL = exports.ATTACHMENT_TYPE_JSON = void 0;
2845 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2846 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2847 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
2848 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
2849 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
2850 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
2851 var _copyPageIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/copy-page-icon */ "../modules/ai/assets/js/editor/icons/copy-page-icon.js"));
2852 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2853 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2854 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2855 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2856 var ATTACHMENT_TYPE_JSON = 'json';
2857 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
2858 var ATTACHMENT_TYPE_URL = 'url';
2859 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
2860 var MENU_TYPE_LIBRARY = 'library';
2861 exports.MENU_TYPE_LIBRARY = MENU_TYPE_LIBRARY;
2862 var Attachments = function Attachments(props) {
2863 if (!props.attachments.length) {
2864 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
2865 disabled: props.disabled,
2866 onAttach: props.onAttach,
2867 items: [{
2868 title: (0, _i18n.__)('Reference a website', 'elementor'),
2869 icon: _websiteIcon.default,
2870 type: ATTACHMENT_TYPE_URL
2871 }, {
2872 title: (0, _i18n.__)('Create variations from Template Library', 'elementor'),
2873 icon: _copyPageIcon.default,
2874 type: MENU_TYPE_LIBRARY
2875 }]
2876 });
2877 }
2878 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2879 direction: "row",
2880 spacing: 1
2881 }, props.attachments.map(function (attachment, index) {
2882 switch (attachment.type) {
2883 case ATTACHMENT_TYPE_JSON:
2884 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
2885 key: index
2886 }, props));
2887 case ATTACHMENT_TYPE_URL:
2888 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
2889 key: index
2890 }, props));
2891 default:
2892 return null;
2893 }
2894 }));
2895 };
2896 Attachments.propTypes = {
2897 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
2898 onAttach: _propTypes.default.func.isRequired,
2899 onDetach: _propTypes.default.func,
2900 disabled: _propTypes.default.bool
2901 };
2902 var _default = Attachments;
2903 exports["default"] = _default;
2904
2905 /***/ }),
2906
2907 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
2908 /*!************************************************************************************************!*\
2909 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
2910 \************************************************************************************************/
2911 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2912
2913 "use strict";
2914
2915
2916 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2917 Object.defineProperty(exports, "__esModule", ({
2918 value: true
2919 }));
2920 exports["default"] = exports.AttachDialog = void 0;
2921 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2922 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
2923 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2924 var _libraryDialog = __webpack_require__(/*! ./library-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js");
2925 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
2926 var AttachDialog = function AttachDialog(props) {
2927 var type = props.type;
2928 var url = props.url;
2929 switch (type) {
2930 case _attachments.ATTACHMENT_TYPE_URL:
2931 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
2932 url: url,
2933 onAttach: props.onAttach,
2934 onClose: props.onClose
2935 });
2936 case _attachments.MENU_TYPE_LIBRARY:
2937 return /*#__PURE__*/_react.default.createElement(_libraryDialog.LibraryDialog, {
2938 onAttach: props.onAttach
2939 });
2940 }
2941 return null;
2942 };
2943 exports.AttachDialog = AttachDialog;
2944 AttachDialog.propTypes = {
2945 type: _propTypes.default.string,
2946 onAttach: _propTypes.default.func,
2947 onClose: _propTypes.default.func,
2948 url: _propTypes.default.string
2949 };
2950 var _default = AttachDialog;
2951 exports["default"] = _default;
2952
2953 /***/ }),
2954
2955 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js":
2956 /*!*************************************************************************************************!*\
2957 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/library-dialog.js ***!
2958 \*************************************************************************************************/
2959 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2960
2961 "use strict";
2962
2963
2964 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2965 Object.defineProperty(exports, "__esModule", ({
2966 value: true
2967 }));
2968 exports.LibraryDialog = void 0;
2969 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2970 var _react = __webpack_require__(/*! react */ "react");
2971 var _attachments = __webpack_require__(/*! ../attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
2972 var LibraryDialog = function LibraryDialog(props) {
2973 (0, _react.useEffect)(function () {
2974 var onMessage = function onMessage(event) {
2975 var _event$data = event.data,
2976 type = _event$data.type,
2977 json = _event$data.json,
2978 html = _event$data.html,
2979 label = _event$data.label;
2980 if ('library/attach' !== type) {
2981 return;
2982 }
2983 props.onAttach([{
2984 type: _attachments.ATTACHMENT_TYPE_JSON,
2985 previewHTML: html,
2986 content: json,
2987 label: label
2988 }]);
2989 };
2990 window.addEventListener('message', onMessage);
2991 return function () {
2992 window.removeEventListener('message', onMessage);
2993 };
2994 });
2995 $e.run('library/open', {
2996 toDefault: true,
2997 mode: 'ai-attachment'
2998 });
2999 return null;
3000 };
3001 exports.LibraryDialog = LibraryDialog;
3002 LibraryDialog.propTypes = {
3003 onAttach: _propTypes.default.func.isRequired
3004 };
3005
3006 /***/ }),
3007
3008 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu-item.js":
3009 /*!********************************************************************************************!*\
3010 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu-item.js ***!
3011 \********************************************************************************************/
3012 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3013
3014 "use strict";
3015
3016
3017 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3018 Object.defineProperty(exports, "__esModule", ({
3019 value: true
3020 }));
3021 exports.MenuItem = void 0;
3022 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3023 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3024 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3025 var MenuItem = function MenuItem(props) {
3026 var IconComponent = props.icon;
3027 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3028 direction: "row",
3029 spacing: 1,
3030 sx: {
3031 cursor: 'pointer',
3032 alignItems: 'center',
3033 p: 2
3034 },
3035 variant: "body2",
3036 onClick: props.onClick
3037 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
3038 sx: {
3039 height: 18
3040 }
3041 }, /*#__PURE__*/_react.default.createElement(IconComponent, {
3042 sx: {
3043 me: 1
3044 }
3045 })), /*#__PURE__*/_react.default.createElement(_ui.Typography, null, props.title));
3046 };
3047 exports.MenuItem = MenuItem;
3048 MenuItem.propTypes = {
3049 title: _propTypes.default.string.isRequired,
3050 onClick: _propTypes.default.func.isRequired,
3051 icon: _propTypes.default.elementType
3052 };
3053
3054 /***/ }),
3055
3056 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
3057 /*!***************************************************************************************!*\
3058 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
3059 \***************************************************************************************/
3060 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3061
3062 "use strict";
3063
3064
3065 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3066 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3067 Object.defineProperty(exports, "__esModule", ({
3068 value: true
3069 }));
3070 exports.Menu = void 0;
3071 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3072 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3073 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3074 var _menuItem = __webpack_require__(/*! ./menu-item */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu-item.js");
3075 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
3076 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
3077 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3078 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
3079 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); }
3080 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; }
3081 var Menu = function Menu(props) {
3082 var _useState = (0, _react.useState)(false),
3083 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3084 isOpen = _useState2[0],
3085 setIsOpen = _useState2[1];
3086 var _useState3 = (0, _react.useState)(null),
3087 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3088 selectedType = _useState4[0],
3089 setSelectedType = _useState4[1];
3090 var _useTheme = (0, _ui.useTheme)(),
3091 direction = _useTheme.direction;
3092 var anchorRef = (0, _react.useRef)(null);
3093 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3094 size: "small",
3095 ref: anchorRef,
3096 disabled: props.disabled,
3097 onClick: function onClick() {
3098 return setIsOpen(true);
3099 },
3100 color: "secondary"
3101 }, isOpen ? /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
3102 fontSize: "small"
3103 }) : /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
3104 fontSize: "small"
3105 })), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
3106 open: isOpen,
3107 anchorEl: anchorRef.current,
3108 onClose: function onClose() {
3109 return setIsOpen(false);
3110 },
3111 anchorOrigin: {
3112 vertical: 'bottom',
3113 horizontal: 'rtl' === direction ? 'right' : 'left'
3114 },
3115 transformOrigin: {
3116 vertical: 'top',
3117 horizontal: 'rtl' === direction ? 'right' : 'left'
3118 }
3119 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3120 sx: {
3121 width: 440
3122 }
3123 }, props.items.map(function (item) {
3124 return /*#__PURE__*/_react.default.createElement(_menuItem.MenuItem, {
3125 key: item.type,
3126 title: item.title,
3127 icon: item.icon,
3128 onClick: function onClick() {
3129 setSelectedType(item.type);
3130 setIsOpen(false);
3131 }
3132 });
3133 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
3134 type: selectedType,
3135 onAttach: props.onAttach,
3136 onClose: function onClose() {
3137 setIsOpen(false);
3138 setSelectedType(null);
3139 }
3140 }));
3141 };
3142 exports.Menu = Menu;
3143 Menu.propTypes = {
3144 items: _propTypes.default.arrayOf(_propTypes.default.shape({
3145 title: _propTypes.default.string.isRequired,
3146 type: _propTypes.default.string.isRequired,
3147 icon: _propTypes.default.elementType
3148 })).isRequired,
3149 onAttach: _propTypes.default.func.isRequired,
3150 disabled: _propTypes.default.bool
3151 };
3152
3153 /***/ }),
3154
3155 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
3156 /*!******************************************************************************************************!*\
3157 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
3158 \******************************************************************************************************/
3159 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3160
3161 "use strict";
3162
3163
3164 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3165 Object.defineProperty(exports, "__esModule", ({
3166 value: true
3167 }));
3168 exports.PromptPowerNotice = void 0;
3169 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3170 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3171 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3172 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3173 var PromptPowerNotice = function PromptPowerNotice() {
3174 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
3175 isViewed = _useIntroduction.isViewed,
3176 markAsViewed = _useIntroduction.markAsViewed;
3177 if (isViewed) {
3178 return null;
3179 }
3180 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3181 sx: {
3182 pt: 2,
3183 px: 2,
3184 pb: 0
3185 }
3186 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3187 severity: "info",
3188 onClose: function onClose() {
3189 return markAsViewed();
3190 }
3191 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3192 variant: "body2",
3193 display: "inline-block",
3194 sx: {
3195 paddingInlineEnd: 1
3196 }
3197 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3198 variant: "body2",
3199 display: "inline-block"
3200 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
3201 };
3202 exports.PromptPowerNotice = PromptPowerNotice;
3203
3204 /***/ }),
3205
3206 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
3207 /*!*************************************************************************************************!*\
3208 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
3209 \*************************************************************************************************/
3210 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3211
3212 "use strict";
3213
3214
3215 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3216 Object.defineProperty(exports, "__esModule", ({
3217 value: true
3218 }));
3219 exports["default"] = exports.ThumbnailJson = void 0;
3220 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3221 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3222 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3223 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3224 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3225 var ThumbnailJson = function ThumbnailJson(props) {
3226 var _props$attachments;
3227 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3228 return 'json' === item.type;
3229 });
3230 if (!attachment) {
3231 return null;
3232 }
3233 if (!attachment.previewHTML) {
3234 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3235 animation: "wave",
3236 variant: "rounded",
3237 width: 60,
3238 height: 60
3239 });
3240 }
3241 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3242 html: attachment.previewHTML,
3243 disabled: props.disabled
3244 });
3245 };
3246 exports.ThumbnailJson = ThumbnailJson;
3247 ThumbnailJson.propTypes = {
3248 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3249 disabled: _propTypes.default.bool
3250 };
3251 var _default = ThumbnailJson;
3252 exports["default"] = _default;
3253
3254 /***/ }),
3255
3256 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
3257 /*!************************************************************************************************!*\
3258 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
3259 \************************************************************************************************/
3260 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3261
3262 "use strict";
3263
3264
3265 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3266 Object.defineProperty(exports, "__esModule", ({
3267 value: true
3268 }));
3269 exports["default"] = exports.ThumbnailUrl = void 0;
3270 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3271 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
3272 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3273 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3274 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3275 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3276 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3277 var ThumbnailUrl = function ThumbnailUrl(props) {
3278 var _props$attachments;
3279 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
3280 return 'url' === item.type;
3281 });
3282 if (!attachment) {
3283 return null;
3284 }
3285 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3286 sx: {
3287 position: 'relative',
3288 '&:hover::before': {
3289 content: '""',
3290 position: 'absolute',
3291 userSelect: 'none',
3292 inset: 0,
3293 backgroundColor: 'rgba(0,0,0,0.6)',
3294 borderRadius: 1,
3295 zIndex: 1
3296 },
3297 '&:hover .remove-attachment': {
3298 display: 'flex'
3299 }
3300 }
3301 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3302 className: "remove-attachment",
3303 size: "small",
3304 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
3305 disabled: props.disabled,
3306 onClick: function onClick(event) {
3307 event.stopPropagation();
3308 props.onDetach();
3309 },
3310 sx: {
3311 display: 'none',
3312 position: 'absolute',
3313 insetInlineEnd: 4,
3314 insetBlockStart: 4,
3315 backgroundColor: 'secondary.main',
3316 zIndex: 1,
3317 borderRadius: 1,
3318 p: '3px',
3319 '&:hover': {
3320 backgroundColor: 'secondary.dark'
3321 }
3322 }
3323 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
3324 sx: {
3325 fontSize: '1.125rem',
3326 color: 'common.white'
3327 }
3328 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
3329 disabled: props.disabled,
3330 html: attachment.previewHTML
3331 }));
3332 };
3333 exports.ThumbnailUrl = ThumbnailUrl;
3334 ThumbnailUrl.propTypes = {
3335 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
3336 disabled: _propTypes.default.bool,
3337 onDetach: _propTypes.default.func
3338 };
3339 var _default = ThumbnailUrl;
3340 exports["default"] = _default;
3341
3342 /***/ }),
3343
3344 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
3345 /*!********************************************************************************************!*\
3346 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
3347 \********************************************************************************************/
3348 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3349
3350 "use strict";
3351
3352
3353 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3354 Object.defineProperty(exports, "__esModule", ({
3355 value: true
3356 }));
3357 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
3358 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3359 var _taggedTemplateLiteral2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/taggedTemplateLiteral */ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js"));
3360 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3361 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3362 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3363 var _styledComponents = _interopRequireDefault(__webpack_require__(/*! styled-components */ "../node_modules/styled-components/dist/styled-components.browser.esm.js"));
3364 var _templateObject;
3365 var THUMBNAIL_SIZE = 64;
3366 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
3367 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);
3368 var Thumbnail = function Thumbnail(props) {
3369 var _props$html$match, _props$html$match$gro, _props$html$match2, _props$html$match2$gr;
3370 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;
3371 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;
3372 var width = dataWidth ? parseInt(dataWidth) : THUMBNAIL_SIZE;
3373 var height = dataHeight ? parseInt(dataHeight) : THUMBNAIL_SIZE;
3374 var scaleFactor = Math.min(height, width);
3375 var scale = THUMBNAIL_SIZE / scaleFactor;
3376
3377 // Center the preview
3378 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
3379 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
3380 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3381 dir: "ltr",
3382 sx: {
3383 position: 'relative',
3384 cursor: 'default',
3385 overflow: 'hidden',
3386 border: '1px solid',
3387 borderColor: 'grey.300',
3388 borderRadius: 1,
3389 boxSizing: 'border-box',
3390 width: THUMBNAIL_SIZE,
3391 height: THUMBNAIL_SIZE,
3392 opacity: props.disabled ? 0.5 : 1
3393 }
3394 }, /*#__PURE__*/_react.default.createElement("iframe", {
3395 title: (0, _i18n.__)('Preview', 'elementor'),
3396 sandbox: "",
3397 srcDoc: "<style>" + StyledBody.componentStyle.rules.join('') + "</style>" + props.html,
3398 style: {
3399 border: 'none',
3400 overflow: 'hidden',
3401 width: width,
3402 height: height,
3403 transform: "scale(".concat(scale, ")"),
3404 transformOrigin: "".concat(left, "px ").concat(top, "px")
3405 }
3406 }));
3407 };
3408 exports.Thumbnail = Thumbnail;
3409 Thumbnail.propTypes = {
3410 html: _propTypes.default.string.isRequired,
3411 disabled: _propTypes.default.bool
3412 };
3413
3414 /***/ }),
3415
3416 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
3417 /*!*********************************************************************************************!*\
3418 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
3419 \*********************************************************************************************/
3420 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3421
3422 "use strict";
3423
3424
3425 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3426 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3427 Object.defineProperty(exports, "__esModule", ({
3428 value: true
3429 }));
3430 exports.UrlDialog = void 0;
3431 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3432 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3433 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3434 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3435 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3436 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
3437 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
3438 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
3439 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); }
3440 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; }
3441 var UrlDialog = function UrlDialog(props) {
3442 var iframeRef = (0, _react.useRef)(null);
3443 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)({
3444 targetUrl: props.url
3445 }),
3446 iframeSource = _useAttachUrlService.iframeSource;
3447 var iframeOrigin = iframeSource ? new URL(iframeSource).origin : '';
3448 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
3449 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
3450 isTimeout = _useTimeout2[0],
3451 turnOffTimeout = _useTimeout2[1];
3452 (0, _react.useEffect)(function () {
3453 var onMessage = function onMessage(event) {
3454 if (event.origin !== iframeOrigin) {
3455 return;
3456 }
3457 var _event$data = event.data,
3458 type = _event$data.type,
3459 html = _event$data.html,
3460 url = _event$data.url;
3461 switch (type) {
3462 case 'element-selector/close':
3463 props.onClose();
3464 break;
3465 case 'element-selector/loaded':
3466 turnOffTimeout();
3467 break;
3468 case 'element-selector/attach':
3469 props.onAttach([{
3470 type: 'url',
3471 previewHTML: html,
3472 content: html,
3473 label: url ? new URL(url).host : ''
3474 }]);
3475 break;
3476 }
3477 };
3478 window.addEventListener('message', onMessage);
3479 return function () {
3480 window.removeEventListener('message', onMessage);
3481 };
3482 }, [iframeOrigin, iframeSource, props, turnOffTimeout]);
3483 if (!iframeSource) {
3484 return /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3485 message: (0, _i18n.__)('The app is not available. Please try again later.', 'elementor'),
3486 onClose: props.onClose
3487 });
3488 }
3489 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
3490 open: true,
3491 fullScreen: true,
3492 hideBackdrop: true,
3493 maxWidth: "md",
3494 sx: {
3495 '& .MuiPaper-root': {
3496 backgroundColor: 'transparent'
3497 }
3498 }
3499 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
3500 sx: {
3501 padding: 0
3502 }
3503 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
3504 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
3505 onClose: props.onClose
3506 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
3507 ref: iframeRef,
3508 title: (0, _i18n.__)('URL as a reference', 'elementor'),
3509 src: iframeSource,
3510 onLoad: function onLoad() {
3511 iframeRef.current.contentWindow.postMessage({
3512 type: 'referrer/info',
3513 info: {
3514 page: {
3515 url: window.location.href
3516 }
3517 }
3518 }, iframeOrigin);
3519 },
3520 style: {
3521 border: 'none',
3522 overflow: 'scroll',
3523 width: '100%',
3524 height: '100%',
3525 backgroundColor: 'rgba(255,255,255,0.6)'
3526 }
3527 })));
3528 };
3529 exports.UrlDialog = UrlDialog;
3530 UrlDialog.propTypes = {
3531 onAttach: _propTypes.default.func.isRequired,
3532 onClose: _propTypes.default.func.isRequired,
3533 url: _propTypes.default.string
3534 };
3535
3536 /***/ }),
3537
3538 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
3539 /*!************************************************************************************!*\
3540 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
3541 \************************************************************************************/
3542 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3543
3544 "use strict";
3545
3546
3547 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3548 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3549 Object.defineProperty(exports, "__esModule", ({
3550 value: true
3551 }));
3552 exports["default"] = void 0;
3553 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3554 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3555 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3556 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3557 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3558 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3559 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3560 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3561 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
3562 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
3563 var _excluded = ["sx", "PaperProps"];
3564 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); }
3565 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; }
3566 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; }
3567 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; }
3568 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
3569 return {
3570 '& .MuiDialog-container': {
3571 marginTop: 0,
3572 alignItems: 'flex-end',
3573 paddingBottom: '16vh'
3574 },
3575 '& .MuiPaper-root': {
3576 margin: 0,
3577 maxHeight: '55vh'
3578 }
3579 };
3580 });
3581 var DialogHeader = function DialogHeader(_ref) {
3582 var onClose = _ref.onClose,
3583 children = _ref.children;
3584 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
3585 sx: {
3586 fontWeight: 'normal'
3587 },
3588 color: "transparent",
3589 position: "relative"
3590 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
3591 variant: "dense"
3592 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
3593 sx: {
3594 mr: 1
3595 }
3596 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3597 component: "span",
3598 variant: "subtitle2",
3599 sx: {
3600 fontWeight: 'bold',
3601 textTransform: 'uppercase'
3602 }
3603 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3604 label: (0, _i18n.__)('Beta', 'elementor'),
3605 color: "default",
3606 size: "small",
3607 sx: {
3608 ml: 1
3609 }
3610 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3611 direction: "row",
3612 spacing: 1,
3613 alignItems: "center",
3614 sx: {
3615 ml: 'auto'
3616 }
3617 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3618 size: "small",
3619 "aria-label": "close",
3620 onClick: onClose,
3621 sx: {
3622 '&.MuiButtonBase-root': {
3623 mr: -1
3624 }
3625 }
3626 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
3627 };
3628 DialogHeader.propTypes = {
3629 children: _propTypes.default.node,
3630 onClose: _propTypes.default.func.isRequired
3631 };
3632 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
3633 return {
3634 '&.MuiDialogContent-root': {
3635 padding: 0
3636 }
3637 };
3638 });
3639 var LayoutDialog = function LayoutDialog(_ref2) {
3640 var _ref2$sx = _ref2.sx,
3641 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
3642 _ref2$PaperProps = _ref2.PaperProps,
3643 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
3644 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
3645 var _useState = (0, _react.useState)({
3646 pointerEvents: 'none'
3647 }),
3648 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3649 sxStyle = _useState2[0],
3650 setSxStyle = _useState2[1];
3651 var timeoutRef = (0, _react.useRef)(null);
3652
3653 /**
3654 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
3655 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
3656 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
3657 */
3658 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
3659 maxWidth: "md",
3660 PaperProps: _objectSpread({
3661 sx: {
3662 pointerEvents: 'auto'
3663 },
3664 onMouseEnter: function onMouseEnter() {
3665 clearTimeout(timeoutRef.current);
3666 setSxStyle({
3667 pointerEvents: 'all'
3668 });
3669 },
3670 onMouseLeave: function onMouseLeave() {
3671 clearTimeout(timeoutRef.current);
3672 timeoutRef.current = setTimeout(function () {
3673 setSxStyle({
3674 pointerEvents: 'none'
3675 });
3676 }, 200);
3677 }
3678 }, PaperProps)
3679 }, props, {
3680 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
3681 }));
3682 };
3683 LayoutDialog.propTypes = {
3684 sx: _propTypes.default.object,
3685 PaperProps: _propTypes.default.object
3686 };
3687 LayoutDialog.Header = DialogHeader;
3688 LayoutDialog.Content = StyledDialogContent;
3689 var _default = LayoutDialog;
3690 exports["default"] = _default;
3691
3692 /***/ }),
3693
3694 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
3695 /*!*********************************************************************************************!*\
3696 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
3697 \*********************************************************************************************/
3698 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3699
3700 "use strict";
3701
3702
3703 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3704 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3705 Object.defineProperty(exports, "__esModule", ({
3706 value: true
3707 }));
3708 exports.ProTemplateIndicator = void 0;
3709 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3710 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3711 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3712 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3713 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3714 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); }
3715 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; }
3716 var popoverId = 'e-pro-upgrade-popover';
3717 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
3718 var theme = _ref.theme;
3719 return {
3720 position: 'relative',
3721 padding: theme.spacing(3),
3722 boxShadow: theme.shadows[4],
3723 zIndex: '9999'
3724 };
3725 });
3726 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
3727 var theme = _ref2.theme;
3728 return {
3729 position: 'absolute',
3730 width: theme.spacing(5),
3731 height: theme.spacing(5),
3732 overflow: 'hidden',
3733 // Override Popper inline styles.
3734 left: '100% !important',
3735 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
3736 '&::after': {
3737 backgroundColor: theme.palette.background.paper,
3738 content: '""',
3739 display: 'block',
3740 position: 'absolute',
3741 width: theme.spacing(2.5),
3742 height: theme.spacing(2.5),
3743 top: '50%',
3744 left: '50%',
3745 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
3746 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
3747 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
3748 }
3749 };
3750 });
3751 var ProTemplateIndicator = function ProTemplateIndicator() {
3752 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
3753 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
3754 var _useState = (0, _react.useState)(false),
3755 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3756 isPopoverOpen = _useState2[0],
3757 setIsPopoverOpen = _useState2[1];
3758 var anchorEl = (0, _react.useRef)(null);
3759 var arrowEl = (0, _react.useRef)(null);
3760 var showPopover = function showPopover() {
3761 return setIsPopoverOpen(true);
3762 };
3763 var hidePopover = function hidePopover() {
3764 return setIsPopoverOpen(false);
3765 };
3766 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3767 flexDirection: "row-reverse",
3768 component: "span",
3769 display: "flex",
3770 onMouseLeave: hidePopover,
3771 alignItems: "center"
3772 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
3773 ref: anchorEl,
3774 onMouseEnter: showPopover,
3775 onClick: function onClick(e) {
3776 return e.stopPropagation();
3777 } /* Do nothing */,
3778 "aria-owns": isPopoverOpen ? popoverId : undefined,
3779 "aria-haspopup": "true",
3780 sx: {
3781 m: 1,
3782 '&:hover': {
3783 backgroundColor: 'action.selected'
3784 }
3785 }
3786 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
3787 sx: {
3788 color: 'text.primary'
3789 }
3790 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
3791 open: isPopoverOpen,
3792 popperOptions: {
3793 placement: 'left-start',
3794 modifiers: [{
3795 name: 'arrow',
3796 enabled: true,
3797 options: {
3798 element: arrowEl.current,
3799 padding: 5
3800 }
3801 }, {
3802 name: 'offset',
3803 options: {
3804 offset: [0, 10]
3805 }
3806 }]
3807 },
3808 anchorEl: anchorEl.current,
3809 sx: {
3810 zIndex: '9999',
3811 maxWidth: 300
3812 }
3813 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
3814 ref: arrowEl
3815 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3816 alignItems: "start",
3817 spacing: 2
3818 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
3819 color: "accent",
3820 variant: "outlined",
3821 size: "small",
3822 label: (0, _i18n.__)('Pro', 'elementor'),
3823 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
3824 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3825 variant: "body2"
3826 }, (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, {
3827 variant: "contained",
3828 color: "accent",
3829 size: "small",
3830 href: actionUrl,
3831 target: "_blank",
3832 sx: {
3833 alignSelf: 'flex-end'
3834 }
3835 }, actionLabel)))));
3836 };
3837 exports.ProTemplateIndicator = ProTemplateIndicator;
3838
3839 /***/ }),
3840
3841 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
3842 /*!*****************************************************************************************!*\
3843 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
3844 \*****************************************************************************************/
3845 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3846
3847 "use strict";
3848
3849
3850 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3851 Object.defineProperty(exports, "__esModule", ({
3852 value: true
3853 }));
3854 exports.ProWidgetsNotice = void 0;
3855 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3856 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3857 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3858 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
3859 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
3860 var ProWidgetsNotice = function ProWidgetsNotice() {
3861 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-pro-widget'),
3862 isViewed = _useIntroduction.isViewed,
3863 markAsViewed = _useIntroduction.markAsViewed;
3864 if (isViewed) {
3865 return null;
3866 }
3867 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3868 sx: {
3869 pt: 2,
3870 px: 2,
3871 pb: 0
3872 }
3873 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
3874 severity: "info",
3875 variant: "filled",
3876 color: "accent",
3877 onClose: function onClose() {
3878 return markAsViewed();
3879 },
3880 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
3881 sx: {
3882 '& .MuiAlert-message': {
3883 width: '100%'
3884 }
3885 }
3886 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3887 flexDirection: "row",
3888 alignItems: "baseline",
3889 justifyContent: "space-between"
3890 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3891 variant: "body2",
3892 component: "span",
3893 sx: {
3894 paddingInlineEnd: 0.5
3895 }
3896 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3897 variant: "body2",
3898 component: "span",
3899 sx: {
3900 paddingInlineEnd: 1
3901 }
3902 }, (0, _i18n.__)('Upgrade your plan for best results.', 'elementor')), (0, _i18n.__)('You won’t be able to use layouts with Elementor Pro widgets until you do.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3903 variant: "outlined",
3904 size: "small",
3905 href: "https://go.elementor.com/upgrade-pro/",
3906 target: "_blank",
3907 sx: {
3908 color: 'accent.contrastText',
3909 borderColor: 'accent.contrastText',
3910 '&:hover': {
3911 borderColor: 'accent.contrastText'
3912 }
3913 }
3914 }, (0, _i18n.__)('Go Pro', 'elementor')))));
3915 };
3916 exports.ProWidgetsNotice = ProWidgetsNotice;
3917
3918 /***/ }),
3919
3920 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
3921 /*!******************************************************************************************!*\
3922 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
3923 \******************************************************************************************/
3924 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3925
3926 "use strict";
3927
3928
3929 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3930 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3931 Object.defineProperty(exports, "__esModule", ({
3932 value: true
3933 }));
3934 exports["default"] = void 0;
3935 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3936 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3937 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3938 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3939 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3940 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3941 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3942 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3943 var _promptLibraryLink = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-library-link */ "../modules/ai/assets/js/editor/components/prompt-library-link.js"));
3944 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3945 var _excluded = ["onSubmit"];
3946 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); }
3947 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; }
3948 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; }
3949 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; }
3950 var TextInput = (0, _react.forwardRef)(function (props, ref) {
3951 return /*#__PURE__*/_react.default.createElement(_ui.TextField
3952 // eslint-disable-next-line jsx-a11y/no-autofocus
3953 , (0, _extends2.default)({
3954 autoFocus: true,
3955 multiline: true,
3956 size: "small",
3957 maxRows: 3,
3958 color: "secondary",
3959 variant: "standard"
3960 }, props, {
3961 inputRef: ref,
3962 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
3963 type: 'search',
3964 sx: {
3965 pt: 0
3966 }
3967 })
3968 }));
3969 });
3970 TextInput.propTypes = {
3971 InputProps: _propTypes.default.object
3972 };
3973 var PaperComponent = function PaperComponent(props) {
3974 var _useConfig = (0, _config.useConfig)(),
3975 mode = _useConfig.mode;
3976 var libraryLink = _config.MODE_VARIATION === mode ? 'https://go.elementor.com/ai-prompt-library-variations/' : 'https://go.elementor.com/ai-prompt-library-containers/';
3977 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
3978 elevation: 8,
3979 sx: {
3980 borderRadius: 2
3981 }
3982 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3983 component: _ui.Box,
3984 color: function color(theme) {
3985 return theme.palette.text.tertiary;
3986 },
3987 variant: "caption",
3988 paddingX: 2,
3989 paddingY: 1
3990 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3991 sx: {
3992 m: 2
3993 }
3994 }, /*#__PURE__*/_react.default.createElement(_promptLibraryLink.default, {
3995 libraryLink: libraryLink
3996 })));
3997 };
3998 PaperComponent.propTypes = {
3999 children: _propTypes.default.node
4000 };
4001 var PromptAutocomplete = function PromptAutocomplete(_ref) {
4002 var onSubmit = _ref.onSubmit,
4003 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4004 var _useState = (0, _react.useState)(false),
4005 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4006 showSuggestions = _useState2[0],
4007 setShowSuggestions = _useState2[1];
4008 var theme = (0, _ui.useTheme)();
4009 var itemHeight = parseInt(theme.spacing(4));
4010 var maxItems = 5;
4011 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
4012 PaperComponent: PaperComponent,
4013 ListboxProps: {
4014 sx: {
4015 maxHeight: maxItems * itemHeight
4016 }
4017 },
4018 renderOption: function renderOption(optionProps, option) {
4019 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
4020 title: option.text,
4021 noWrap: true,
4022 variant: "body2",
4023 component: _ui.Box,
4024 sx: {
4025 '&.MuiAutocomplete-option': {
4026 display: 'block',
4027 minHeight: itemHeight
4028 }
4029 }
4030 }), option.text);
4031 },
4032 freeSolo: true,
4033 fullWidth: true,
4034 disableClearable: true,
4035 open: showSuggestions,
4036 onClose: function onClose() {
4037 return setShowSuggestions(false);
4038 },
4039 onKeyDown: function onKeyDown(e) {
4040 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
4041 onSubmit(e);
4042 } else if ('/' === e.key && '' === e.target.value) {
4043 e.preventDefault();
4044 setShowSuggestions(true);
4045 }
4046 }
4047 }, props));
4048 };
4049 PromptAutocomplete.propTypes = {
4050 onSubmit: _propTypes.default.func.isRequired
4051 };
4052 PromptAutocomplete.TextInput = TextInput;
4053 var _default = PromptAutocomplete;
4054 exports["default"] = _default;
4055
4056 /***/ }),
4057
4058 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
4059 /*!**********************************************************************************!*\
4060 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
4061 \**********************************************************************************/
4062 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4063
4064 "use strict";
4065
4066
4067 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4068 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4069 Object.defineProperty(exports, "__esModule", ({
4070 value: true
4071 }));
4072 exports["default"] = void 0;
4073 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4074 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4075 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4076 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4077 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4078 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4079 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4080 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
4081 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
4082 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
4083 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
4084 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
4085 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
4086 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
4087 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4088 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4089 var _excluded = ["tooltip"];
4090 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); }
4091 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; }
4092 var PROMPT_SUGGESTIONS = Object.freeze([{
4093 text: (0, _i18n.__)('Services section with list layout, icons, and service descriptions for [topic]', 'elementor')
4094 }, {
4095 text: (0, _i18n.__)('Accordion-style FAQ block with clickable questions about [topic]', 'elementor')
4096 }, {
4097 text: (0, _i18n.__)('Hero section with image, heading, subheading, and CTA button about [topic]', 'elementor')
4098 }, {
4099 text: (0, _i18n.__)('Full-width call-to-action with background image and overlay text about [topic]', 'elementor')
4100 }, {
4101 text: (0, _i18n.__)('Carousel testimonial block with user images, names, and feedback about [topic]', 'elementor')
4102 }, {
4103 text: (0, _i18n.__)('Features block showcasing feature title and brief description about [topic]', 'elementor')
4104 }, {
4105 text: (0, _i18n.__)('Multi-column minimalistic About Us section with icons for [topic]', 'elementor')
4106 }, {
4107 text: (0, _i18n.__)('Section with contact form and social media icons for [topic]', 'elementor')
4108 }, {
4109 text: (0, _i18n.__)('Statistics display in a 3-column layout with numbers and icons for [topic]', 'elementor')
4110 }, {
4111 text: (0, _i18n.__)('Pricing table section with highlighted option for [topic]', 'elementor')
4112 }, {
4113 text: (0, _i18n.__)('About Us section combining company history and values for [topic]', 'elementor')
4114 }]);
4115 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
4116 var tooltip = _ref.tooltip,
4117 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4118 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4119 title: tooltip
4120 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4121 component: "span",
4122 sx: {
4123 cursor: props.disabled ? 'default' : 'pointer'
4124 }
4125 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
4126 };
4127 IconButtonWithTooltip.propTypes = {
4128 tooltip: _propTypes.default.string,
4129 disabled: _propTypes.default.bool
4130 };
4131 var BackButton = function BackButton(props) {
4132 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4133 size: "small",
4134 color: "secondary",
4135 tooltip: (0, _i18n.__)('Back to results', 'elementor')
4136 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
4137 };
4138 var EditButton = function EditButton(props) {
4139 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
4140 size: "small",
4141 color: "primary",
4142 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
4143 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
4144 };
4145 var GenerateButton = function GenerateButton(props) {
4146 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
4147 size: "small",
4148 fullWidth: false
4149 }, props), (0, _i18n.__)('Generate', 'elementor'));
4150 };
4151 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
4152 var _attachments$;
4153 var attachments = _ref2.attachments,
4154 isActive = _ref2.isActive,
4155 isLoading = _ref2.isLoading,
4156 _ref2$showActions = _ref2.showActions,
4157 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
4158 onAttach = _ref2.onAttach,
4159 onDetach = _ref2.onDetach,
4160 _onSubmit = _ref2.onSubmit,
4161 onBack = _ref2.onBack,
4162 onEdit = _ref2.onEdit;
4163 var _useState = (0, _react.useState)(''),
4164 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4165 prompt = _useState2[0],
4166 setPrompt = _useState2[1];
4167 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
4168 isEnhancing = _usePromptEnhancer.isEnhancing,
4169 enhance = _usePromptEnhancer.enhance;
4170 var previousPrompt = (0, _react.useRef)('');
4171 var _useConfig = (0, _config.useConfig)(),
4172 attachmentsTypes = _useConfig.attachmentsTypes;
4173 var isInputDisabled = isLoading || isEnhancing || !isActive;
4174 var isInputEmpty = '' === prompt && !attachments.length;
4175 var isGenerateDisabled = isInputDisabled || isInputEmpty;
4176 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
4177 var attachmentsConfig = attachmentsTypes[attachmentsType];
4178 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
4179 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');
4180 var handleBack = function handleBack() {
4181 setPrompt(previousPrompt.current);
4182 onBack();
4183 };
4184 var handleEdit = function handleEdit() {
4185 previousPrompt.current = prompt;
4186 onEdit();
4187 };
4188 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4189 component: "form",
4190 onSubmit: function onSubmit(e) {
4191 return _onSubmit(e, prompt);
4192 },
4193 direction: "row",
4194 sx: {
4195 p: 3
4196 },
4197 alignItems: "start",
4198 gap: 1
4199 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4200 direction: "row",
4201 alignItems: "start",
4202 flexGrow: 1,
4203 spacing: 2
4204 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
4205 disabled: isLoading || isEnhancing,
4206 onClick: handleBack
4207 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
4208 disabled: isLoading,
4209 onClick: handleEdit
4210 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
4211 attachments: attachments,
4212 onAttach: onAttach,
4213 onDetach: onDetach,
4214 disabled: isInputDisabled
4215 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
4216 value: prompt,
4217 disabled: isInputDisabled,
4218 onSubmit: function onSubmit(e) {
4219 return _onSubmit(e, prompt);
4220 },
4221 options: promptSuggestions,
4222 onChange: function onChange(_, selectedValue) {
4223 return setPrompt(selectedValue.text + ' ');
4224 },
4225 renderInput: function renderInput(params) {
4226 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
4227 ref: ref,
4228 onChange: function onChange(e) {
4229 return setPrompt(e.target.value);
4230 },
4231 placeholder: promptPlaceholder
4232 }));
4233 }
4234 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
4235 size: "small",
4236 disabled: isGenerateDisabled || '' === prompt,
4237 isLoading: isEnhancing,
4238 onClick: function onClick() {
4239 return enhance().then(function (_ref3) {
4240 var result = _ref3.result;
4241 return setPrompt(result);
4242 });
4243 }
4244 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
4245 disabled: isGenerateDisabled
4246 }));
4247 });
4248 PromptForm.propTypes = {
4249 isActive: _propTypes.default.bool,
4250 onAttach: _propTypes.default.func,
4251 onDetach: _propTypes.default.func,
4252 isLoading: _propTypes.default.bool,
4253 showActions: _propTypes.default.bool,
4254 onSubmit: _propTypes.default.func.isRequired,
4255 onBack: _propTypes.default.func.isRequired,
4256 onEdit: _propTypes.default.func.isRequired,
4257 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
4258 };
4259 var _default = PromptForm;
4260 exports["default"] = _default;
4261
4262 /***/ }),
4263
4264 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
4265 /*!*******************************************************************************************!*\
4266 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
4267 \*******************************************************************************************/
4268 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4269
4270 "use strict";
4271
4272
4273 Object.defineProperty(exports, "__esModule", ({
4274 value: true
4275 }));
4276 exports["default"] = void 0;
4277 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4278 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
4279 shouldForwardProp: function shouldForwardProp(prop) {
4280 return prop !== 'outlineOffset';
4281 }
4282 })(function (_ref) {
4283 var theme = _ref.theme,
4284 selected = _ref.selected,
4285 height = _ref.height,
4286 disabled = _ref.disabled,
4287 _ref$outlineOffset = _ref.outlineOffset,
4288 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
4289 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
4290 var outline = "2px solid ".concat(outlineColor);
4291 return {
4292 height: height,
4293 cursor: disabled ? 'default' : 'pointer',
4294 overflow: 'hidden',
4295 boxSizing: 'border-box',
4296 backgroundPosition: 'top center',
4297 backgroundSize: '100% auto',
4298 backgroundRepeat: 'no-repeat',
4299 backgroundColor: theme.palette.common.white,
4300 borderRadius: theme.shape.borderRadius * 0.5,
4301 outlineOffset: outlineOffset,
4302 outline: outline,
4303 opacity: disabled ? '0.4' : '1',
4304 transition: "all 50ms linear",
4305 '&:hover': disabled ? {} : {
4306 outlineColor: theme.palette.text.primary
4307 }
4308 };
4309 });
4310 var _default = ScreenshotContainer;
4311 exports["default"] = _default;
4312
4313 /***/ }),
4314
4315 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
4316 /*!*********************************************************************************************!*\
4317 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
4318 \*********************************************************************************************/
4319 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4320
4321 "use strict";
4322
4323
4324 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4325 Object.defineProperty(exports, "__esModule", ({
4326 value: true
4327 }));
4328 exports["default"] = ScreenshotUnavailable;
4329 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4330 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4331 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4332 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4333 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4334 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4335 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; }
4336 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; }
4337 function ScreenshotUnavailable(props) {
4338 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
4339 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
4340 display: 'flex',
4341 alignItems: 'center',
4342 justifyContent: 'center',
4343 backgroundColor: 'background.paper',
4344 color: 'text.tertiary',
4345 fontStyle: 'italic',
4346 fontSize: '12px',
4347 paddingInline: 12,
4348 textAlign: 'center',
4349 lineHeight: 1.5
4350 })
4351 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
4352 }
4353 ScreenshotUnavailable.propTypes = {
4354 sx: _propTypes.default.object
4355 };
4356
4357 /***/ }),
4358
4359 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
4360 /*!*********************************************************************************!*\
4361 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
4362 \*********************************************************************************/
4363 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4364
4365 "use strict";
4366
4367
4368 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4369 Object.defineProperty(exports, "__esModule", ({
4370 value: true
4371 }));
4372 exports["default"] = void 0;
4373 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4374 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
4375 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4376 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4377 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
4378 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
4379 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
4380 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; }
4381 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; }
4382 var SCREENSHOT_HEIGHT = '138px';
4383 var Screenshot = function Screenshot(_ref) {
4384 var url = _ref.url,
4385 type = _ref.type,
4386 _ref$isLoading = _ref.isLoading,
4387 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
4388 _ref$isSelected = _ref.isSelected,
4389 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
4390 isPlaceholder = _ref.isPlaceholder,
4391 disabled = _ref.disabled,
4392 onClick = _ref.onClick,
4393 _ref$sx = _ref.sx,
4394 sx = _ref$sx === void 0 ? {} : _ref$sx,
4395 outlineOffset = _ref.outlineOffset;
4396 if (isPlaceholder) {
4397 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
4398 sx: _objectSpread({
4399 height: SCREENSHOT_HEIGHT
4400 }, sx)
4401 });
4402 }
4403 if (isLoading) {
4404 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
4405 width: "100%",
4406 animation: "wave",
4407 variant: "rounded",
4408 height: SCREENSHOT_HEIGHT,
4409 sx: sx
4410 });
4411 }
4412 if (!url) {
4413 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
4414 selected: isSelected,
4415 disabled: disabled,
4416 sx: sx,
4417 onClick: onClick,
4418 height: SCREENSHOT_HEIGHT,
4419 outlineOffset: outlineOffset
4420 });
4421 }
4422 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
4423 selected: isSelected,
4424 disabled: disabled,
4425 sx: _objectSpread({
4426 backgroundImage: "url('".concat(url, "')")
4427 }, sx),
4428 onClick: onClick,
4429 height: SCREENSHOT_HEIGHT,
4430 outlineOffset: outlineOffset
4431 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
4432 type: type
4433 }));
4434 };
4435 Screenshot.propTypes = {
4436 isSelected: _propTypes.default.bool,
4437 isLoading: _propTypes.default.bool,
4438 isPlaceholder: _propTypes.default.bool,
4439 disabled: _propTypes.default.bool,
4440 onClick: _propTypes.default.func.isRequired,
4441 url: _propTypes.default.string,
4442 type: _propTypes.default.string,
4443 sx: _propTypes.default.object,
4444 outlineOffset: _propTypes.default.string
4445 };
4446 var _default = Screenshot;
4447 exports["default"] = _default;
4448
4449 /***/ }),
4450
4451 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
4452 /*!*************************************************************************************!*\
4453 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js ***!
4454 \*************************************************************************************/
4455 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4456
4457 "use strict";
4458
4459
4460 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4461 Object.defineProperty(exports, "__esModule", ({
4462 value: true
4463 }));
4464 exports["default"] = void 0;
4465 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4466 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4467 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4468 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
4469 var TemplateBadge = function TemplateBadge(props) {
4470 var _useConfig = (0, _config.useConfig)(),
4471 hasPro = _useConfig.hasPro;
4472 if ('Pro' === props.type && !hasPro) {
4473 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
4474 }
4475 return null;
4476 };
4477 var _default = TemplateBadge;
4478 exports["default"] = _default;
4479 TemplateBadge.propTypes = {
4480 type: _propTypes.default.string
4481 };
4482
4483 /***/ }),
4484
4485 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
4486 /*!********************************************************************************************!*\
4487 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
4488 \********************************************************************************************/
4489 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4490
4491 "use strict";
4492
4493
4494 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4495 Object.defineProperty(exports, "__esModule", ({
4496 value: true
4497 }));
4498 exports["default"] = void 0;
4499 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4500 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4501 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4502 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4503 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4504 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4505 var _excluded = ["onClose", "onCancel", "title", "text"];
4506 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
4507 var onClose = _ref.onClose,
4508 onCancel = _ref.onCancel,
4509 title = _ref.title,
4510 text = _ref.text,
4511 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4512 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
4513 "aria-labelledby": "unsaved-changes-alert-title",
4514 "aria-describedby": "unsaved-changes-alert-description"
4515 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
4516 id: "unsaved-changes-alert-title"
4517 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
4518 id: "unsaved-changes-alert-description"
4519 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
4520 onClick: onCancel,
4521 color: "secondary"
4522 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
4523 onClick: onClose,
4524 color: "error",
4525 variant: "contained"
4526 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
4527 };
4528 UnsavedChangesAlert.propTypes = {
4529 title: _propTypes.default.string,
4530 text: _propTypes.default.string,
4531 onCancel: _propTypes.default.func,
4532 onClose: _propTypes.default.func
4533 };
4534 var _default = UnsavedChangesAlert;
4535 exports["default"] = _default;
4536
4537 /***/ }),
4538
4539 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
4540 /*!**************************************************************************!*\
4541 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
4542 \**************************************************************************/
4543 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4544
4545 "use strict";
4546
4547
4548 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4549 Object.defineProperty(exports, "__esModule", ({
4550 value: true
4551 }));
4552 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
4553 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4554 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4555 var MODE_LAYOUT = 'layout';
4556 exports.MODE_LAYOUT = MODE_LAYOUT;
4557 var MODE_VARIATION = 'variation';
4558 exports.MODE_VARIATION = MODE_VARIATION;
4559 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
4560 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
4561 var ConfigContext = _react.default.createContext({});
4562 var useConfig = function useConfig() {
4563 return _react.default.useContext(ConfigContext);
4564 };
4565 exports.useConfig = useConfig;
4566 var ConfigProvider = function ConfigProvider(props) {
4567 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
4568 value: {
4569 mode: props.mode,
4570 attachmentsTypes: props.attachmentsTypes,
4571 onClose: props.onClose,
4572 onConnect: props.onConnect,
4573 onData: props.onData,
4574 onInsert: props.onInsert,
4575 onSelect: props.onSelect,
4576 onGenerate: props.onGenerate,
4577 currentContext: props.currentContext,
4578 hasPro: props.hasPro,
4579 sessionId: props.sessionId,
4580 editorSessionId: props.editorSessionId
4581 }
4582 }, props.children);
4583 };
4584 exports.ConfigProvider = ConfigProvider;
4585 ConfigProvider.propTypes = {
4586 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
4587 children: _propTypes.default.node.isRequired,
4588 attachmentsTypes: _propTypes.default.object.isRequired,
4589 onClose: _propTypes.default.func.isRequired,
4590 onConnect: _propTypes.default.func.isRequired,
4591 onData: _propTypes.default.func.isRequired,
4592 onInsert: _propTypes.default.func.isRequired,
4593 onSelect: _propTypes.default.func.isRequired,
4594 onGenerate: _propTypes.default.func.isRequired,
4595 currentContext: _propTypes.default.object,
4596 hasPro: _propTypes.default.bool,
4597 sessionId: _propTypes.default.string,
4598 editorSessionId: _propTypes.default.string
4599 };
4600 var _default = ConfigContext;
4601 exports["default"] = _default;
4602
4603 /***/ }),
4604
4605 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
4606 /*!*********************************************************************************!*\
4607 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
4608 \*********************************************************************************/
4609 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4610
4611 "use strict";
4612
4613
4614 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4615 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4616 Object.defineProperty(exports, "__esModule", ({
4617 value: true
4618 }));
4619 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
4620 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4621 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4622 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4623 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4624 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4625 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4626 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); }
4627 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; }
4628 var RemoteConfigContext = _react.default.createContext({});
4629 var useRemoteConfig = function useRemoteConfig() {
4630 return _react.default.useContext(RemoteConfigContext);
4631 };
4632 exports.useRemoteConfig = useRemoteConfig;
4633 var CONFIG_KEYS = {
4634 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl'
4635 };
4636 exports.CONFIG_KEYS = CONFIG_KEYS;
4637 var RemoteConfigProvider = function RemoteConfigProvider(props) {
4638 var _useState = (0, _react.useState)(false),
4639 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4640 isLoading = _useState2[0],
4641 setIsLoading = _useState2[1];
4642 var _useState3 = (0, _react.useState)(false),
4643 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4644 isLoaded = _useState4[0],
4645 setIsLoaded = _useState4[1];
4646 var _useState5 = (0, _react.useState)(false),
4647 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4648 isError = _useState6[0],
4649 setIsError = _useState6[1];
4650 var _useState7 = (0, _react.useState)({}),
4651 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4652 remoteConfig = _useState8[0],
4653 setRemoteConfig = _useState8[1];
4654 var fetchData = /*#__PURE__*/function () {
4655 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4656 var result;
4657 return _regenerator.default.wrap(function _callee$(_context) {
4658 while (1) switch (_context.prev = _context.next) {
4659 case 0:
4660 setIsLoading(true);
4661 _context.prev = 1;
4662 _context.next = 4;
4663 return (0, _api.getRemoteConfig)().finally(function () {
4664 setIsLoaded(true);
4665 setIsLoading(false);
4666 });
4667 case 4:
4668 result = _context.sent;
4669 if (result.config) {
4670 _context.next = 7;
4671 break;
4672 }
4673 throw new Error('Invalid remote config');
4674 case 7:
4675 setRemoteConfig(result.config);
4676 _context.next = 15;
4677 break;
4678 case 10:
4679 _context.prev = 10;
4680 _context.t0 = _context["catch"](1);
4681 setIsError(true);
4682 setIsLoaded(true);
4683 setIsLoading(false);
4684 case 15:
4685 case "end":
4686 return _context.stop();
4687 }
4688 }, _callee, null, [[1, 10]]);
4689 }));
4690 return function fetchData() {
4691 return _ref.apply(this, arguments);
4692 };
4693 }();
4694 if (!isLoaded && !isLoading) {
4695 fetchData();
4696 }
4697 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
4698 value: {
4699 isLoading: isLoading,
4700 isLoaded: isLoaded,
4701 isError: isError,
4702 remoteConfig: remoteConfig
4703 }
4704 }, props.children);
4705 };
4706 exports.RemoteConfigProvider = RemoteConfigProvider;
4707 RemoteConfigProvider.propTypes = {
4708 children: _propTypes.default.node.isRequired,
4709 onError: _propTypes.default.func.isRequired
4710 };
4711
4712 /***/ }),
4713
4714 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
4715 /*!****************************************************************************************!*\
4716 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
4717 \****************************************************************************************/
4718 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4719
4720 "use strict";
4721
4722
4723 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4724 Object.defineProperty(exports, "__esModule", ({
4725 value: true
4726 }));
4727 exports.useAttachUrlService = void 0;
4728 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4729 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4730 var _react = __webpack_require__(/*! react */ "react");
4731 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
4732 var useAttachUrlService = function useAttachUrlService(args) {
4733 var _window$elementorComm, _window$elementorComm2;
4734 var _useState = (0, _react.useState)(args.targetUrl),
4735 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4736 currentUrl = _useState2[0],
4737 setCurrentUrl = _useState2[1];
4738 var theme = (0, _ui.useTheme)();
4739 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
4740 isLoaded = _useRemoteConfig.isLoaded,
4741 isError = _useRemoteConfig.isError,
4742 remoteConfig = _useRemoteConfig.remoteConfig;
4743 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
4744 return {
4745 iframeSource: '',
4746 currentUrl: currentUrl,
4747 setCurrentUrl: setCurrentUrl
4748 };
4749 }
4750 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
4751 urlObject.searchParams.append('colorScheme', theme.palette.mode);
4752 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
4753 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);
4754 if (currentUrl) {
4755 urlObject.searchParams.append('url', currentUrl);
4756 }
4757 return {
4758 iframeSource: urlObject.toString(),
4759 currentUrl: currentUrl,
4760 setCurrentUrl: setCurrentUrl
4761 };
4762 };
4763 exports.useAttachUrlService = useAttachUrlService;
4764
4765 /***/ }),
4766
4767 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
4768 /*!***********************************************************************************!*\
4769 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
4770 \***********************************************************************************/
4771 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4772
4773 "use strict";
4774
4775
4776 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4777 Object.defineProperty(exports, "__esModule", ({
4778 value: true
4779 }));
4780 exports["default"] = void 0;
4781 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
4782 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
4783 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
4784 return (0, _usePrompt.default)(function (requestBody, signal) {
4785 requestBody.variationType = type;
4786 return (0, _api.generateLayout)(requestBody, signal);
4787 }, initialValue);
4788 };
4789 var _default = useLayoutPrompt;
4790 exports["default"] = _default;
4791
4792 /***/ }),
4793
4794 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
4795 /*!********************************************************************************!*\
4796 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
4797 \********************************************************************************/
4798 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4799
4800 "use strict";
4801
4802
4803 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4804 Object.defineProperty(exports, "__esModule", ({
4805 value: true
4806 }));
4807 exports["default"] = void 0;
4808 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4809 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4810 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4811 var _react = __webpack_require__(/*! react */ "react");
4812 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
4813 var ERROR_INITIAL_VALUE = '';
4814 var useScreenshot = function useScreenshot(type, onData) {
4815 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
4816 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4817 error = _useState2[0],
4818 setError = _useState2[1];
4819 var _useState3 = (0, _react.useState)(false),
4820 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4821 isLoading = _useState4[0],
4822 setIsLoading = _useState4[1];
4823 var layoutData = (0, _useLayoutPrompt.default)(type, null);
4824 var generate = function generate(requestBody, signal) {
4825 setIsLoading(true);
4826 setError(ERROR_INITIAL_VALUE);
4827 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
4828 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
4829 var createdScreenshot;
4830 return _regenerator.default.wrap(function _callee$(_context) {
4831 while (1) switch (_context.prev = _context.next) {
4832 case 0:
4833 _context.next = 2;
4834 return onData(data.result);
4835 case 2:
4836 createdScreenshot = _context.sent;
4837 createdScreenshot.sendUsageData = function () {
4838 return layoutData.sendUsageData(data);
4839 };
4840 createdScreenshot.baseTemplateId = data.baseTemplateId;
4841 createdScreenshot.type = data.type;
4842 return _context.abrupt("return", createdScreenshot);
4843 case 7:
4844 case "end":
4845 return _context.stop();
4846 }
4847 }, _callee);
4848 }));
4849 return function (_x) {
4850 return _ref.apply(this, arguments);
4851 };
4852 }()).catch(function (err) {
4853 setError(err.message || err);
4854 throw err;
4855 }).finally(function () {
4856 return setIsLoading(false);
4857 });
4858 };
4859 return {
4860 generate: generate,
4861 error: error,
4862 isLoading: isLoading
4863 };
4864 };
4865 var _default = useScreenshot;
4866 exports["default"] = _default;
4867
4868 /***/ }),
4869
4870 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
4871 /*!*********************************************************************************!*\
4872 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
4873 \*********************************************************************************/
4874 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4875
4876 "use strict";
4877
4878
4879 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4880 Object.defineProperty(exports, "__esModule", ({
4881 value: true
4882 }));
4883 exports["default"] = void 0;
4884 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4885 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
4886 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4887 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4888 var _react = __webpack_require__(/*! react */ "react");
4889 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
4890 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4891 var _generateIds = __webpack_require__(/*! ../../../utils/generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
4892 var PENDING_VALUE = {
4893 isPending: true
4894 };
4895 var useScreenshots = function useScreenshots(_ref) {
4896 var onData = _ref.onData;
4897 var _useState = (0, _react.useState)([]),
4898 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4899 screenshots = _useState2[0],
4900 setScreenshots = _useState2[1];
4901
4902 /**
4903 * The ids for each request are:
4904 * - editorSessionId: a unique id for each editor opening
4905 * - sessionId: a unique id for each session. (open the AI builder)
4906 * - generateId: a unique id for each generate request. (prompt change)
4907 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
4908 * - requestId: a unique id for each generate request.
4909 */
4910
4911 var _useConfig = (0, _config.useConfig)(),
4912 currentContext = _useConfig.currentContext,
4913 sessionId = _useConfig.sessionId,
4914 editorSessionId = _useConfig.editorSessionId;
4915 var generateIdRef = (0, _react.useRef)('');
4916 var batchId = "batch-".concat((0, _generateIds.getUniqueId)());
4917 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
4918 var screenshotsGroupCount = screenshotsData.length;
4919 var error = screenshotsData.every(function (s) {
4920 return s === null || s === void 0 ? void 0 : s.error;
4921 }) ? screenshotsData[0].error : '';
4922 var isLoading = screenshotsData.some(function (s) {
4923 return s === null || s === void 0 ? void 0 : s.isLoading;
4924 });
4925 var abortController = (0, _react.useRef)(null);
4926 var abort = function abort() {
4927 var _abortController$curr;
4928 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
4929 };
4930 var createScreenshots = /*#__PURE__*/function () {
4931 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
4932 var onGenerate, onError, promises, results, isAllFailed;
4933 return _regenerator.default.wrap(function _callee$(_context) {
4934 while (1) switch (_context.prev = _context.next) {
4935 case 0:
4936 abortController.current = new AbortController();
4937 onGenerate = function onGenerate(screenshot) {
4938 setScreenshots(function (prev) {
4939 var updatedData = (0, _toConsumableArray2.default)(prev);
4940 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
4941 updatedData[pendingIndex] = screenshot;
4942 return updatedData;
4943 });
4944 return true;
4945 };
4946 onError = function onError() {
4947 setScreenshots(function (prev) {
4948 var updatedData = (0, _toConsumableArray2.default)(prev);
4949 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
4950 updatedData[pendingIndex] = {
4951 isError: true
4952 };
4953 return updatedData;
4954 });
4955 return false;
4956 };
4957 promises = screenshotsData.map(function (_ref3) {
4958 var generate = _ref3.generate;
4959 var prevGeneratedIds = screenshots.map(function (screenshot) {
4960 return screenshot.baseTemplateId || '';
4961 });
4962 var requestBody = {
4963 prompt: prompt,
4964 prevGeneratedIds: prevGeneratedIds,
4965 currentContext: currentContext,
4966 ids: {
4967 editorSessionId: editorSessionId,
4968 sessionId: sessionId,
4969 generateId: generateIdRef.current,
4970 batchId: batchId,
4971 requestId: "request-".concat((0, _generateIds.getUniqueId)())
4972 },
4973 attachments: attachments.map(function (_ref4) {
4974 var type = _ref4.type,
4975 content = _ref4.content,
4976 label = _ref4.label;
4977 // Send only the data that is needed for the generation.
4978 return {
4979 type: type,
4980 content: content,
4981 label: label
4982 };
4983 })
4984 };
4985 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
4986 });
4987 _context.next = 6;
4988 return Promise.all(promises);
4989 case 6:
4990 results = _context.sent;
4991 isAllFailed = results.every(function (value) {
4992 return false === value;
4993 });
4994 if (isAllFailed) {
4995 setScreenshots(function (prev) {
4996 var updatedData = (0, _toConsumableArray2.default)(prev);
4997 updatedData.splice(screenshotsGroupCount * -1);
4998 return updatedData;
4999 });
5000 }
5001 case 9:
5002 case "end":
5003 return _context.stop();
5004 }
5005 }, _callee);
5006 }));
5007 return function createScreenshots(_x, _x2) {
5008 return _ref2.apply(this, arguments);
5009 };
5010 }();
5011 var generate = function generate(prompt, attachments) {
5012 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5013 generateIdRef.current = "generate-".concat((0, _generateIds.getUniqueId)());
5014 setScreenshots(placeholders);
5015 createScreenshots(prompt, attachments);
5016 };
5017 var regenerate = function regenerate(prompt, attachments) {
5018 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
5019 setScreenshots(function (prev) {
5020 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
5021 });
5022 createScreenshots(prompt, attachments);
5023 };
5024 return {
5025 generate: generate,
5026 regenerate: regenerate,
5027 screenshots: screenshots,
5028 isLoading: isLoading,
5029 error: error,
5030 abort: abort
5031 };
5032 };
5033 var _default = useScreenshots;
5034 exports["default"] = _default;
5035
5036 /***/ }),
5037
5038 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
5039 /*!****************************************************************************!*\
5040 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
5041 \****************************************************************************/
5042 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5043
5044 "use strict";
5045
5046
5047 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5048 Object.defineProperty(exports, "__esModule", ({
5049 value: true
5050 }));
5051 exports["default"] = exports.SCREENSHOTS_PER_PAGE = exports.MAX_PAGES = void 0;
5052 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5053 var _react = __webpack_require__(/*! react */ "react");
5054 var SCREENSHOTS_PER_PAGE = 3;
5055 exports.SCREENSHOTS_PER_PAGE = SCREENSHOTS_PER_PAGE;
5056 var MAX_PAGES = 5;
5057 exports.MAX_PAGES = MAX_PAGES;
5058 var useSlider = function useSlider() {
5059 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5060 _ref$slidesCount = _ref.slidesCount,
5061 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
5062 _ref$slidesPerPage = _ref.slidesPerPage,
5063 slidesPerPage = _ref$slidesPerPage === void 0 ? SCREENSHOTS_PER_PAGE : _ref$slidesPerPage,
5064 _ref$gapPercentage = _ref.gapPercentage,
5065 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
5066 var _useState = (0, _react.useState)(1),
5067 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5068 currentPage = _useState2[0],
5069 setCurrentPage = _useState2[1];
5070 var gapsCount = slidesPerPage - 1;
5071 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
5072 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
5073 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
5074 (0, _react.useEffect)(function () {
5075 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
5076 if (currentPage > 1 && currentPage > pagesCount) {
5077 setCurrentPage(pagesCount);
5078 }
5079 }, [pagesCount]);
5080 return {
5081 currentPage: currentPage,
5082 setCurrentPage: setCurrentPage,
5083 pagesCount: pagesCount,
5084 slidesPerPage: slidesPerPage,
5085 gapPercentage: gapPercentage,
5086 offsetXPercentage: offsetXPercentage,
5087 slideWidthPercentage: slideWidthPercentage
5088 };
5089 };
5090 var _default = useSlider;
5091 exports["default"] = _default;
5092
5093 /***/ }),
5094
5095 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
5096 /*!*****************************************************************!*\
5097 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
5098 \*****************************************************************/
5099 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5100
5101 "use strict";
5102
5103
5104 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5105 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5106 Object.defineProperty(exports, "__esModule", ({
5107 value: true
5108 }));
5109 exports["default"] = void 0;
5110 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5111 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5112 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5113 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5114 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5115 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5116 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5117 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5118 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
5119 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
5120 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
5121 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
5122 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
5123 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
5124 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
5125 var _useSlider2 = _interopRequireWildcard(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
5126 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
5127 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
5128 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
5129 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
5130 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
5131 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
5132 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
5133 var _attachDialog = _interopRequireDefault(__webpack_require__(/*! ./components/attachments/attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js"));
5134 var _isURL = _interopRequireDefault(__webpack_require__(/*! validator/lib/isURL */ "../node_modules/validator/lib/isURL.js"));
5135 var _excluded = ["children"];
5136 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); }
5137 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; }
5138 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
5139 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
5140
5141 /**
5142 * @typedef {Object} Attachment
5143 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
5144 * @property {string} previewHTML - HTML content as a string, representing a preview.
5145 * @property {string} content - Actual content of the attachment as a string.
5146 * @property {string} label - Label for the attachment.
5147 */
5148
5149 var RegenerateButton = function RegenerateButton(props) {
5150 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5151 size: "small",
5152 color: "secondary",
5153 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
5154 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
5155 };
5156 var UseLayoutButton = function UseLayoutButton(props) {
5157 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5158 size: "small",
5159 variant: "contained"
5160 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
5161 };
5162 UseLayoutButton.propTypes = {
5163 sx: _propTypes.default.object
5164 };
5165 var isRegenerateButtonDisabled = function isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive) {
5166 if (isLoading || isPromptFormActive) {
5167 return true;
5168 }
5169 return screenshots.length >= _useSlider2.SCREENSHOTS_PER_PAGE * _useSlider2.MAX_PAGES;
5170 };
5171 var FormLayout = function FormLayout(_ref) {
5172 var _screenshots$selected, _screenshots$2;
5173 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
5174 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
5175 _ref$DialogContentPro = _ref.DialogContentProps,
5176 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
5177 initialAttachments = _ref.attachments;
5178 var _useConfig = (0, _config.useConfig)(),
5179 attachmentsTypes = _useConfig.attachmentsTypes,
5180 onData = _useConfig.onData,
5181 onInsert = _useConfig.onInsert,
5182 onSelect = _useConfig.onSelect,
5183 onClose = _useConfig.onClose,
5184 onGenerate = _useConfig.onGenerate,
5185 hasPro = _useConfig.hasPro;
5186 var _useScreenshots = (0, _useScreenshots2.default)({
5187 onData: onData
5188 }),
5189 screenshots = _useScreenshots.screenshots,
5190 generate = _useScreenshots.generate,
5191 regenerate = _useScreenshots.regenerate,
5192 isLoading = _useScreenshots.isLoading,
5193 error = _useScreenshots.error,
5194 abort = _useScreenshots.abort;
5195 var screenshotOutlineOffset = '2px';
5196 var _useSlider = (0, _useSlider2.default)({
5197 slidesCount: screenshots.length
5198 }),
5199 currentPage = _useSlider.currentPage,
5200 setCurrentPage = _useSlider.setCurrentPage,
5201 pagesCount = _useSlider.pagesCount,
5202 gapPercentage = _useSlider.gapPercentage,
5203 slidesPerPage = _useSlider.slidesPerPage,
5204 offsetXPercentage = _useSlider.offsetXPercentage,
5205 slideWidthPercentage = _useSlider.slideWidthPercentage;
5206 var _useState = (0, _react.useState)(-1),
5207 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5208 selectedScreenshotIndex = _useState2[0],
5209 setSelectedScreenshotIndex = _useState2[1];
5210 var _useState3 = (0, _react.useState)(false),
5211 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
5212 showUnsavedChangesAlert = _useState4[0],
5213 setShowUnsavedChangesAlert = _useState4[1];
5214 var _useState5 = (0, _react.useState)(true),
5215 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
5216 isPromptEditable = _useState6[0],
5217 setIsPromptEditable = _useState6[1];
5218 var _useState7 = (0, _react.useState)([]),
5219 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
5220 attachments = _useState8[0],
5221 setAttachments = _useState8[1];
5222 var _useState9 = (0, _react.useState)(false),
5223 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
5224 shouldRenderWebApp = _useState10[0],
5225 setShouldRenderWebApp = _useState10[1];
5226 var _useState11 = (0, _react.useState)(false),
5227 _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
5228 isMinimized = _useState12[0],
5229 setIsMinimized = _useState12[1];
5230 var lastRun = (0, _react.useRef)(function () {});
5231 var promptInputRef = (0, _react.useRef)(null);
5232 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
5233 var dialogContentChildren = DialogContentProps.children,
5234 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
5235
5236 // When there are no screenshots the prompt field should be editable.
5237 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
5238 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
5239 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
5240 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
5241 });
5242 var abortAndClose = function abortAndClose() {
5243 abort();
5244 onClose();
5245 };
5246 var onCloseIntent = function onCloseIntent() {
5247 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
5248 if (hasUnsavedChanges) {
5249 return setShowUnsavedChangesAlert(true);
5250 }
5251 abortAndClose();
5252 };
5253 var handleGenerate = function handleGenerate(event, prompt) {
5254 event.preventDefault();
5255 if ('' === prompt.trim() && 0 === attachments.length) {
5256 return;
5257 }
5258 if ((0, _isURL.default)(prompt)) {
5259 setShouldRenderWebApp(true);
5260 return;
5261 }
5262 onGenerate();
5263 lastRun.current = function () {
5264 setSelectedScreenshotIndex(-1);
5265 generate(prompt, attachments);
5266 };
5267 lastRun.current();
5268 setIsPromptEditable(false);
5269 setCurrentPage(1);
5270 };
5271 var handleRegenerate = function handleRegenerate() {
5272 lastRun.current = function () {
5273 regenerate(promptInputRef.current.value, attachments);
5274 // Changing the current page to the next page number.
5275 setCurrentPage(pagesCount + 1);
5276 };
5277 lastRun.current();
5278 };
5279 var applyTemplate = function applyTemplate() {
5280 onInsert(selectedTemplate);
5281 screenshots[selectedScreenshotIndex].sendUsageData();
5282 abortAndClose();
5283 };
5284 var handleScreenshotClick = function handleScreenshotClick(index, template) {
5285 return function () {
5286 if (isPromptFormActive) {
5287 return;
5288 }
5289 setSelectedScreenshotIndex(index);
5290 onSelect(template);
5291 };
5292 };
5293
5294 /**
5295 * @param {Attachment[]} items
5296 */
5297 var onAttach = function onAttach(items) {
5298 items.forEach(function (item) {
5299 if (!attachmentsTypes[item.type]) {
5300 throw new Error("Invalid attachment type: ".concat(item.type));
5301 }
5302 var typeConfig = attachmentsTypes[item.type];
5303 if (!item.previewHTML && typeConfig.previewGenerator) {
5304 typeConfig.previewGenerator(item.content).then(function (html) {
5305 item.previewHTML = html;
5306 setAttachments(function (prev) {
5307 // Replace the attachment with the updated one.
5308 return prev.map(function (attachment) {
5309 if (attachment.content === item.content) {
5310 return item;
5311 }
5312 return attachment;
5313 });
5314 });
5315 });
5316 }
5317 });
5318 setAttachments(items);
5319 setIsPromptEditable(true);
5320 };
5321 (0, _react.useEffect)(function () {
5322 var _screenshots$;
5323 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
5324 if (isFirstTemplateExist) {
5325 onSelect(screenshots[0].template);
5326 setSelectedScreenshotIndex(0);
5327 }
5328 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
5329 (0, _react.useEffect)(function () {
5330 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
5331 onAttach(initialAttachments);
5332 }
5333 }, []);
5334 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
5335 onClose: onCloseIntent
5336 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
5337 onClose: onCloseIntent
5338 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5339 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
5340 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
5341 size: "small",
5342 "aria-label": "minimize",
5343 onClick: function onClick() {
5344 return setIsMinimized(function (prev) {
5345 return !prev;
5346 });
5347 }
5348 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
5349 dividers: true
5350 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
5351 in: !isMinimized
5352 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5353 sx: {
5354 pt: 2,
5355 px: 2,
5356 pb: 0
5357 }
5358 }, dialogContentChildren), mayContainProWidgets && !hasPro && /*#__PURE__*/_react.default.createElement(_proWidgetsNotice.ProWidgetsNotice, null), attachments.length > 0 && /*#__PURE__*/_react.default.createElement(_promptPowerNotice.PromptPowerNotice, null), error && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5359 sx: {
5360 pt: 2,
5361 px: 2,
5362 pb: 0
5363 }
5364 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
5365 error: error,
5366 onRetry: lastRun.current
5367 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
5368 open: showUnsavedChangesAlert,
5369 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
5370 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
5371 onClose: abortAndClose,
5372 onCancel: function onCancel() {
5373 return setShowUnsavedChangesAlert(false);
5374 }
5375 }), shouldRenderWebApp && /*#__PURE__*/_react.default.createElement(_attachDialog.default, {
5376 type: _attachments.ATTACHMENT_TYPE_URL,
5377 url: promptInputRef.current.value,
5378 onAttach: onAttach,
5379 onClose: function onClose() {
5380 setShouldRenderWebApp(false);
5381 }
5382 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
5383 ref: promptInputRef,
5384 isActive: isPromptFormActive,
5385 isLoading: isLoading,
5386 showActions: screenshots.length > 0 || isLoading,
5387 attachmentsTypes: attachmentsTypes,
5388 attachments: attachments,
5389 onAttach: onAttach,
5390 onDetach: function onDetach(index) {
5391 setAttachments(function (prev) {
5392 var newAttachments = (0, _toConsumableArray2.default)(prev);
5393 newAttachments.splice(index, 1);
5394 return newAttachments;
5395 });
5396 setIsPromptEditable(true);
5397 },
5398 onSubmit: handleGenerate,
5399 onBack: function onBack() {
5400 return setIsPromptEditable(false);
5401 },
5402 onEdit: function onEdit() {
5403 return setIsPromptEditable(true);
5404 }
5405 }), (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, {
5406 sx: {
5407 p: 1.5
5408 }
5409 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5410 sx: {
5411 overflow: 'hidden',
5412 p: 0.5
5413 }
5414 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5415 sx: {
5416 display: 'flex',
5417 transition: 'all 0.4s ease',
5418 gap: "".concat(gapPercentage, "%"),
5419 transform: "translateX(".concat(offsetXPercentage, "%)")
5420 }
5421 }, screenshots.map(function (_ref2, index) {
5422 var screenshot = _ref2.screenshot,
5423 type = _ref2.type,
5424 template = _ref2.template,
5425 isError = _ref2.isError,
5426 isPending = _ref2.isPending;
5427 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
5428 key: index,
5429 url: screenshot,
5430 type: type,
5431 disabled: isPromptFormActive,
5432 isPlaceholder: isError,
5433 isLoading: isPending,
5434 isSelected: selectedScreenshotIndex === index,
5435 onClick: handleScreenshotClick(index, template),
5436 outlineOffset: screenshotOutlineOffset,
5437 sx: {
5438 flex: "0 0 ".concat(slideWidthPercentage, "%")
5439 }
5440 });
5441 })))), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
5442 sx: {
5443 pt: 0,
5444 px: 2,
5445 pb: 2
5446 },
5447 display: "grid",
5448 gridTemplateColumns: "repeat(3, 1fr)",
5449 justifyItems: "center"
5450 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
5451 onClick: handleRegenerate,
5452 disabled: isRegenerateButtonDisabled(screenshots, isLoading, isPromptFormActive),
5453 sx: {
5454 justifySelf: 'start'
5455 }
5456 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
5457 page: currentPage,
5458 count: pagesCount,
5459 disabled: isPromptFormActive,
5460 onChange: function onChange(_, page) {
5461 return setCurrentPage(page);
5462 }
5463 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
5464 onClick: applyTemplate,
5465 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
5466 sx: {
5467 justifySelf: 'end',
5468 gridColumn: 3
5469 }
5470 }))))));
5471 };
5472 FormLayout.propTypes = {
5473 DialogHeaderProps: _propTypes.default.object,
5474 DialogContentProps: _propTypes.default.object,
5475 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
5476 };
5477 var _default = FormLayout;
5478 exports["default"] = _default;
5479
5480 /***/ }),
5481
5482 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
5483 /*!************************************************************************************!*\
5484 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
5485 \************************************************************************************/
5486 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5487
5488 "use strict";
5489
5490
5491 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5492 Object.defineProperty(exports, "__esModule", ({
5493 value: true
5494 }));
5495 exports["default"] = void 0;
5496 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5497 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5498 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
5499 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5500 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5501 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5502 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
5503 var _excluded = ["isLoading"];
5504 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
5505 var EnhanceButton = function EnhanceButton(_ref) {
5506 var isLoading = _ref.isLoading,
5507 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
5508 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
5509 title: (0, _i18n.__)('Enhance prompt', 'elementor')
5510 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
5511 component: "span",
5512 sx: {
5513 cursor: props.disabled ? 'default' : 'pointer'
5514 }
5515 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
5516 size: "small",
5517 color: "secondary"
5518 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
5519 color: "secondary",
5520 size: 20
5521 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
5522 fontSize: "small"
5523 }))));
5524 };
5525 EnhanceButton.propTypes = {
5526 disabled: _propTypes.default.bool,
5527 isLoading: _propTypes.default.bool
5528 };
5529 var _default = EnhanceButton;
5530 exports["default"] = _default;
5531
5532 /***/ }),
5533
5534 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
5535 /*!*************************************************************************************!*\
5536 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
5537 \*************************************************************************************/
5538 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5539
5540 "use strict";
5541
5542
5543 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5544 Object.defineProperty(exports, "__esModule", ({
5545 value: true
5546 }));
5547 exports["default"] = void 0;
5548 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5549 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
5550 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5551 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5552 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5553 var GenerateSubmit = function GenerateSubmit(props) {
5554 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
5555 fullWidth: true,
5556 size: "medium",
5557 type: "submit",
5558 variant: "contained"
5559 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
5560 };
5561 GenerateSubmit.propTypes = {
5562 children: _propTypes.default.node
5563 };
5564 var _default = GenerateSubmit;
5565 exports["default"] = _default;
5566
5567 /***/ }),
5568
5569 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
5570 /*!*****************************************************************!*\
5571 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
5572 \*****************************************************************/
5573 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5574
5575 "use strict";
5576
5577
5578 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5579 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
5580 Object.defineProperty(exports, "__esModule", ({
5581 value: true
5582 }));
5583 exports["default"] = void 0;
5584 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
5585 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5586 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5587 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
5588 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
5589 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5590 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5591 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
5592 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
5593 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); }
5594 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; }
5595 var GetStarted = function GetStarted(_ref) {
5596 var onSuccess = _ref.onSuccess;
5597 var _useState = (0, _react.useState)(false),
5598 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
5599 isTermsChecked = _useState2[0],
5600 setIsTermsChecked = _useState2[1];
5601 var onGetStartedClick = /*#__PURE__*/function () {
5602 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
5603 return _regenerator.default.wrap(function _callee$(_context) {
5604 while (1) switch (_context.prev = _context.next) {
5605 case 0:
5606 _context.next = 2;
5607 return (0, _api.setGetStarted)();
5608 case 2:
5609 onSuccess();
5610 case 3:
5611 case "end":
5612 return _context.stop();
5613 }
5614 }, _callee);
5615 }));
5616 return function onGetStartedClick() {
5617 return _ref2.apply(this, arguments);
5618 };
5619 }();
5620 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5621 alignItems: "center",
5622 gap: 1.5
5623 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
5624 sx: {
5625 color: 'text.primary',
5626 fontSize: '60px',
5627 mb: 1
5628 }
5629 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5630 variant: "h4",
5631 sx: {
5632 color: 'text.primary'
5633 }
5634 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5635 variant: "body2"
5636 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
5637 direction: "row",
5638 gap: 1.5,
5639 alignItems: "flex-start"
5640 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
5641 id: "e-ai-terms-approval",
5642 color: "secondary",
5643 sx: {
5644 p: 0
5645 },
5646 onChange: function onChange() {
5647 return setIsTermsChecked(function (prevState) {
5648 return !prevState;
5649 });
5650 }
5651 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
5652 variant: "caption",
5653 sx: {
5654 maxWidth: 520
5655 },
5656 component: "label",
5657 htmlFor: "e-ai-terms-approval"
5658 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
5659 href: "https://go.elementor.com/ai-terms/",
5660 target: "_blank",
5661 color: "info.main"
5662 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
5663 href: "https://go.elementor.com/ai-privacy-policy/",
5664 target: "_blank",
5665 color: "info.main"
5666 }, (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, {
5667 disabled: !isTermsChecked,
5668 variant: "contained",
5669 onClick: onGetStartedClick,
5670 sx: {
5671 mt: 1,
5672 '&:hover': {
5673 color: 'primary.contrastText'
5674 }
5675 }
5676 }, (0, _i18n.__)('Get Started', 'elementor')));
5677 };
5678 GetStarted.propTypes = {
5679 onSuccess: _propTypes.default.func.isRequired
5680 };
5681 var _default = GetStarted;
5682 exports["default"] = _default;
5683
5684 /***/ }),
5685
5686 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
5687 /*!**********************************************************!*\
5688 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
5689 \**********************************************************/
5690 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5691
5692 "use strict";
5693
5694
5695 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5696 Object.defineProperty(exports, "__esModule", ({
5697 value: true
5698 }));
5699 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
5700 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
5701 var AttachmentPropType = _propTypes.default.shape({
5702 type: _propTypes.default.string,
5703 previewHTML: _propTypes.default.string,
5704 content: _propTypes.default.string,
5705 label: _propTypes.default.string
5706 });
5707 exports.AttachmentPropType = AttachmentPropType;
5708 var AttachmentsTypesPropType = _propTypes.default.shape({
5709 type: _propTypes.default.shape({
5710 promptPlaceholder: _propTypes.default.string,
5711 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
5712 text: _propTypes.default.string.isRequired
5713 })),
5714 previewGenerator: _propTypes.default.func
5715 })
5716 });
5717 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
5718
5719 /***/ }),
5720
5721 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
5722 /*!******************************************************************!*\
5723 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
5724 \******************************************************************/
5725 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5726
5727 "use strict";
5728 /* provided dependency */ var ReactDOM = __webpack_require__(/*! react-dom */ "react-dom");
5729
5730
5731 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5732 Object.defineProperty(exports, "__esModule", ({
5733 value: true
5734 }));
5735 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
5736 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
5737 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5738 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5739 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
5740 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
5741 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
5742 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
5743 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
5744 var _generateIds = __webpack_require__(/*! ./generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
5745 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
5746 var closePanel = function closePanel() {
5747 $e.run('panel/close');
5748 $e.components.get('panel').blockUserInteractions();
5749 };
5750 exports.closePanel = closePanel;
5751 var openPanel = function openPanel() {
5752 $e.run('panel/open');
5753 $e.components.get('panel').unblockUserInteractions();
5754 };
5755 exports.openPanel = openPanel;
5756 var onConnect = function onConnect(data) {
5757 elementorCommon.config.library_connect.is_connected = true;
5758 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
5759 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
5760 };
5761 exports.onConnect = onConnect;
5762 var getUiConfig = function getUiConfig() {
5763 var _elementor, _elementor$getPrefere;
5764 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';
5765 var isRTL = elementorCommon.config.isRTL;
5766 return {
5767 colorScheme: colorScheme,
5768 isRTL: isRTL
5769 };
5770 };
5771 exports.getUiConfig = getUiConfig;
5772 var VARIATIONS_PROMPTS = [{
5773 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
5774 }, {
5775 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
5776 }, {
5777 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
5778 }, {
5779 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
5780 }, {
5781 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
5782 }, {
5783 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
5784 }, {
5785 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
5786 }, {
5787 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
5788 }, {
5789 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
5790 }];
5791 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
5792 var EDITOR_SESSION_ID = "editor-session-".concat((0, _generateIds.getUniqueId)());
5793 var renderLayoutApp = function renderLayoutApp() {
5794 var _options$onRenderApp;
5795 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
5796 parentContainer: null,
5797 mode: '',
5798 at: null,
5799 onClose: null,
5800 onGenerate: null,
5801 onInsert: null,
5802 onRenderApp: null,
5803 onSelect: null,
5804 attachments: []
5805 };
5806 closePanel();
5807 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
5808 // Create the container at the "drag widget here" area position.
5809 at: options.at
5810 });
5811 var _getUiConfig = getUiConfig(),
5812 colorScheme = _getUiConfig.colorScheme,
5813 isRTL = _getUiConfig.isRTL;
5814 var rootElement = document.createElement('div');
5815 document.body.append(rootElement);
5816 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
5817 ReactDOM.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
5818 isRTL: isRTL,
5819 colorScheme: colorScheme
5820 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
5821 mode: options.mode,
5822 currentContext: {
5823 body: {
5824 backgroundColor: bodyStyle.backgroundColor,
5825 backgroundImage: bodyStyle.backgroundImage
5826 }
5827 },
5828 attachmentsTypes: {
5829 json: {
5830 promptSuggestions: VARIATIONS_PROMPTS,
5831 promptPlaceholder: PROMPT_PLACEHOLDER,
5832 previewGenerator: function () {
5833 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
5834 var screenshot;
5835 return _regenerator.default.wrap(function _callee$(_context) {
5836 while (1) switch (_context.prev = _context.next) {
5837 case 0:
5838 _context.next = 2;
5839 return (0, _screenshot.takeScreenshot)(json);
5840 case 2:
5841 screenshot = _context.sent;
5842 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
5843 case 4:
5844 case "end":
5845 return _context.stop();
5846 }
5847 }, _callee);
5848 }));
5849 function previewGenerator(_x) {
5850 return _previewGenerator.apply(this, arguments);
5851 }
5852 return previewGenerator;
5853 }()
5854 },
5855 url: {
5856 promptPlaceholder: PROMPT_PLACEHOLDER,
5857 promptSuggestions: VARIATIONS_PROMPTS
5858 }
5859 },
5860 attachments: options.attachments || [],
5861 onClose: function onClose() {
5862 var _options$onClose;
5863 previewContainer.destroy();
5864 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
5865 ReactDOM.unmountComponentAtNode(rootElement);
5866 rootElement.remove();
5867 openPanel();
5868 },
5869 onConnect: onConnect,
5870 onGenerate: function onGenerate() {
5871 var _options$onGenerate;
5872 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
5873 previewContainer: previewContainer
5874 });
5875 },
5876 onData: /*#__PURE__*/function () {
5877 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
5878 var screenshot;
5879 return _regenerator.default.wrap(function _callee2$(_context2) {
5880 while (1) switch (_context2.prev = _context2.next) {
5881 case 0:
5882 _context2.next = 2;
5883 return (0, _screenshot.takeScreenshot)(template);
5884 case 2:
5885 screenshot = _context2.sent;
5886 return _context2.abrupt("return", {
5887 screenshot: screenshot,
5888 template: template
5889 });
5890 case 4:
5891 case "end":
5892 return _context2.stop();
5893 }
5894 }, _callee2);
5895 }));
5896 return function (_x2) {
5897 return _ref.apply(this, arguments);
5898 };
5899 }(),
5900 onSelect: function onSelect(template) {
5901 var _options$onSelect;
5902 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
5903 previewContainer.setContent(template);
5904 },
5905 onInsert: options.onInsert,
5906 hasPro: elementor.helpers.hasPro(),
5907 editorSessionId: EDITOR_SESSION_ID
5908 })), rootElement);
5909 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
5910 previewContainer: previewContainer
5911 });
5912 };
5913 exports.renderLayoutApp = renderLayoutApp;
5914 var importToEditor = function importToEditor(_ref2) {
5915 var parentContainer = _ref2.parentContainer,
5916 at = _ref2.at,
5917 template = _ref2.template,
5918 historyTitle = _ref2.historyTitle,
5919 _ref2$replace = _ref2.replace,
5920 replace = _ref2$replace === void 0 ? false : _ref2$replace;
5921 var endHistoryLog = (0, _history.startHistoryLog)({
5922 type: 'import',
5923 title: historyTitle
5924 });
5925 if (replace) {
5926 $e.run('document/elements/delete', {
5927 container: parentContainer.children.at(at)
5928 });
5929 }
5930 $e.run('document/elements/create', {
5931 container: parentContainer,
5932 model: (0, _generateIds.generateIds)(template),
5933 options: {
5934 at: at,
5935 edit: true
5936 }
5937 });
5938 endHistoryLog();
5939 };
5940 exports.importToEditor = importToEditor;
5941
5942 /***/ }),
5943
5944 /***/ "../modules/ai/assets/js/editor/utils/generate-ids.js":
5945 /*!************************************************************!*\
5946 !*** ../modules/ai/assets/js/editor/utils/generate-ids.js ***!
5947 \************************************************************/
5948 /***/ ((__unused_webpack_module, exports) => {
5949
5950 "use strict";
5951
5952
5953 Object.defineProperty(exports, "__esModule", ({
5954 value: true
5955 }));
5956 exports.generateIds = generateIds;
5957 exports.getUniqueId = void 0;
5958 // Create missing IDs for the elements.
5959 var getUniqueId = function getUniqueId() {
5960 return Math.random().toString(16).substr(2, 7);
5961 };
5962 exports.getUniqueId = getUniqueId;
5963 function generateIds(template) {
5964 var _template$elements;
5965 template.id = getUniqueId().toString();
5966 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
5967 template.elements.map(function (child) {
5968 return generateIds(child);
5969 });
5970 }
5971 return template;
5972 }
5973
5974 /***/ }),
5975
5976 /***/ "../modules/ai/assets/js/editor/utils/history.js":
5977 /*!*******************************************************!*\
5978 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
5979 \*******************************************************/
5980 /***/ ((__unused_webpack_module, exports) => {
5981
5982 "use strict";
5983
5984
5985 Object.defineProperty(exports, "__esModule", ({
5986 value: true
5987 }));
5988 exports.startHistoryLog = startHistoryLog;
5989 exports.toggleHistory = toggleHistory;
5990 function toggleHistory(isActive) {
5991 elementor.documents.getCurrent().history.setActive(isActive);
5992 }
5993
5994 /**
5995 * @param {Object} options
5996 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
5997 * @param { string } options.title
5998 *
5999 * @return {*}
6000 */
6001 function startHistoryLog(_ref) {
6002 var type = _ref.type,
6003 title = _ref.title;
6004 var id = $e.internal('document/history/start-log', {
6005 type: type,
6006 title: title
6007 });
6008 return function () {
6009 return $e.internal('document/history/end-log', {
6010 id: id
6011 });
6012 };
6013 }
6014
6015 /***/ }),
6016
6017 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
6018 /*!*****************************************************************!*\
6019 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
6020 \*****************************************************************/
6021 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6022
6023 "use strict";
6024
6025
6026 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6027 Object.defineProperty(exports, "__esModule", ({
6028 value: true
6029 }));
6030 exports.createPreviewContainer = createPreviewContainer;
6031 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
6032 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6033 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6034 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; }
6035 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; }
6036 /**
6037 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
6038 */
6039
6040 var PREFIX = 'e-ai-preview-container';
6041 var CLASS_HIDDEN = PREFIX + '--hidden';
6042 var CLASS_IDLE = PREFIX + '--idle';
6043
6044 /**
6045 * @param {Container} parentContainer
6046 * @param {{}} containerOptions
6047 * @return {{init, setContent, reset, destroy}}
6048 */
6049
6050 function createPreviewContainer(parentContainer) {
6051 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6052 var createdContainers = new Map();
6053 var idleContainer = createIdleContainer(parentContainer, containerOptions);
6054 function init() {
6055 showContainer(idleContainer);
6056 }
6057 function getAllContainers() {
6058 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
6059 }
6060 function reset() {
6061 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
6062 createdContainers.clear();
6063 showContainer(idleContainer);
6064 }
6065 function setContent(template) {
6066 if (!template) {
6067 return;
6068 }
6069 hideContainers(getAllContainers());
6070 if (!createdContainers.has(template)) {
6071 var newContainer = createContainer(parentContainer, template, containerOptions);
6072 createdContainers.set(template, newContainer);
6073 }
6074 showContainer(createdContainers.get(template));
6075 }
6076 function destroy() {
6077 deleteContainers(getAllContainers());
6078 createdContainers.clear();
6079 }
6080 return {
6081 init: init,
6082 reset: reset,
6083 setContent: setContent,
6084 destroy: destroy
6085 };
6086 }
6087
6088 /**
6089 * @param {Container} parentContainer
6090 * @param {{}} model
6091 * @param {{}} options
6092 * @return {*}
6093 */
6094 function createContainer(parentContainer, model) {
6095 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
6096 (0, _history.toggleHistory)(false);
6097 var container = $e.run('document/elements/create', {
6098 container: parentContainer,
6099 model: _objectSpread(_objectSpread({}, model), {}, {
6100 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
6101 }),
6102 options: _objectSpread(_objectSpread({}, options), {}, {
6103 edit: false
6104 })
6105 });
6106 (0, _history.toggleHistory)(true);
6107 container.view.$el.addClass(CLASS_HIDDEN);
6108 return container;
6109 }
6110
6111 /**
6112 * @param {Container} parentContainer
6113 * @param {{}} containerOptions
6114 * @return {*}
6115 */
6116 function createIdleContainer(parentContainer) {
6117 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6118 // Create an empty container that'll be used of UI purposes.
6119 var container = createContainer(parentContainer, {
6120 elType: 'container'
6121 }, containerOptions);
6122 container.view.$el.addClass(CLASS_IDLE);
6123 return container;
6124 }
6125 function hideContainers(containers) {
6126 containers.forEach(function (container) {
6127 container.view.$el.addClass(CLASS_HIDDEN);
6128 });
6129 }
6130 function showContainer(container) {
6131 container.view.$el.removeClass(CLASS_HIDDEN);
6132
6133 // Delay the scroll to avoid UI jumps when toggling between containers.
6134 setTimeout(function () {
6135 container.view.$el[0].scrollIntoView({
6136 behavior: 'smooth',
6137 block: 'start'
6138 });
6139 });
6140 }
6141 function deleteContainers(containers) {
6142 (0, _history.toggleHistory)(false);
6143 $e.run('document/elements/delete', {
6144 containers: containers
6145 });
6146 (0, _history.toggleHistory)(true);
6147 }
6148
6149 /***/ }),
6150
6151 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
6152 /*!**********************************************************!*\
6153 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
6154 \**********************************************************/
6155 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6156
6157 "use strict";
6158
6159
6160 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
6161 Object.defineProperty(exports, "__esModule", ({
6162 value: true
6163 }));
6164 exports.takeScreenshot = void 0;
6165 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
6166 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
6167 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
6168 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
6169 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
6170 var _generateIds = __webpack_require__(/*! ./generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
6171 var takeScreenshot = /*#__PURE__*/function () {
6172 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
6173 var hiddenWrapper, container, screenshot;
6174 return _regenerator.default.wrap(function _callee$(_context) {
6175 while (1) switch (_context.prev = _context.next) {
6176 case 0:
6177 if (template) {
6178 _context.next = 2;
6179 break;
6180 }
6181 return _context.abrupt("return", '');
6182 case 2:
6183 // Disable history so the Editor won't show our hidden container as a user action.
6184 (0, _history.toggleHistory)(false);
6185 hiddenWrapper = createHiddenWrapper();
6186 container = createContainer(template);
6187 wrapContainer(container, hiddenWrapper);
6188 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
6189
6190 // Wait for the container to render.
6191 _context.next = 9;
6192 return waitForContainer(container.id);
6193 case 9:
6194 if (!template.elements.length) {
6195 _context.next = 12;
6196 break;
6197 }
6198 _context.next = 12;
6199 return Promise.all(template.elements.map(function (child) {
6200 return waitForContainer(child.id);
6201 }));
6202 case 12:
6203 _context.prev = 12;
6204 _context.next = 15;
6205 return screenshotNode(container.view.$el[0]);
6206 case 15:
6207 screenshot = _context.sent;
6208 _context.next = 21;
6209 break;
6210 case 18:
6211 _context.prev = 18;
6212 _context.t0 = _context["catch"](12);
6213 // Return an empty image url if the screenshot failed.
6214 screenshot = '';
6215 case 21:
6216 deleteContainer(container);
6217 hiddenWrapper.remove();
6218 (0, _history.toggleHistory)(true);
6219 return _context.abrupt("return", screenshot);
6220 case 25:
6221 case "end":
6222 return _context.stop();
6223 }
6224 }, _callee, null, [[12, 18]]);
6225 }));
6226 return function takeScreenshot(_x) {
6227 return _ref.apply(this, arguments);
6228 };
6229 }();
6230 exports.takeScreenshot = takeScreenshot;
6231 function screenshotNode(node) {
6232 return toWebp(node, {
6233 quality: 0.01,
6234 // Transparent 1x1 pixel.
6235 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
6236 });
6237 }
6238 function toWebp(_x2) {
6239 return _toWebp.apply(this, arguments);
6240 }
6241 function _toWebp() {
6242 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
6243 var _options$quality;
6244 var options,
6245 canvas,
6246 _args3 = arguments;
6247 return _regenerator.default.wrap(function _callee3$(_context3) {
6248 while (1) switch (_context3.prev = _context3.next) {
6249 case 0:
6250 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
6251 _context3.next = 3;
6252 return (0, _htmlToImage.toCanvas)(node, options);
6253 case 3:
6254 canvas = _context3.sent;
6255 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
6256 case 5:
6257 case "end":
6258 return _context3.stop();
6259 }
6260 }, _callee3);
6261 }));
6262 return _toWebp.apply(this, arguments);
6263 }
6264 function createHiddenWrapper() {
6265 var wrapper = document.createElement('div');
6266 wrapper.style.position = 'fixed';
6267 wrapper.style.opacity = '0';
6268 wrapper.style.inset = '0';
6269 return wrapper;
6270 }
6271 function createContainer(template) {
6272 var model = (0, _generateIds.generateIds)(template);
6273
6274 // Set a custom ID, so it can be used later on in the backend.
6275 model.id = "e-ai-screenshot-container-".concat(model.id);
6276 return $e.run('document/elements/create', {
6277 container: elementor.getPreviewContainer(),
6278 model: model,
6279 options: {
6280 edit: false
6281 }
6282 });
6283 }
6284 function deleteContainer(container) {
6285 return $e.run('document/elements/delete', {
6286 container: container
6287 });
6288 }
6289 function waitForContainer(id) {
6290 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
6291 var timeoutPromise = sleep(timeout);
6292 var waitPromise = new Promise(function (resolve) {
6293 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
6294 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
6295 var images;
6296 return _regenerator.default.wrap(function _callee2$(_context2) {
6297 while (1) switch (_context2.prev = _context2.next) {
6298 case 0:
6299 if (!($element.data('id') === id)) {
6300 _context2.next = 5;
6301 break;
6302 }
6303 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
6304 _context2.next = 4;
6305 return Promise.all(images.map(waitForImage));
6306 case 4:
6307 resolve();
6308 case 5:
6309 case "end":
6310 return _context2.stop();
6311 }
6312 }, _callee2);
6313 }));
6314 return function (_x3) {
6315 return _ref2.apply(this, arguments);
6316 };
6317 }());
6318 });
6319 return Promise.any([timeoutPromise, waitPromise]);
6320 }
6321 function waitForImage(image) {
6322 if (image.complete) {
6323 return Promise.resolve();
6324 }
6325 return new Promise(function (resolve) {
6326 image.addEventListener('load', resolve);
6327 image.addEventListener('error', function () {
6328 // Remove the image to make sure it won't break the screenshot.
6329 image.remove();
6330 resolve();
6331 });
6332 });
6333 }
6334 function sleep(ms) {
6335 return new Promise(function (resolve) {
6336 return setTimeout(resolve, ms);
6337 });
6338 }
6339 function wrapContainer(container, wrapper) {
6340 var el = container.view.$el[0];
6341 el.parentNode.insertBefore(wrapper, el);
6342 wrapper.appendChild(el);
6343 }
6344
6345 /***/ }),
6346
6347 /***/ "../node_modules/clsx/dist/clsx.m.js":
6348 /*!*******************************************!*\
6349 !*** ../node_modules/clsx/dist/clsx.m.js ***!
6350 \*******************************************/
6351 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6352
6353 "use strict";
6354 __webpack_require__.r(__webpack_exports__);
6355 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6356 /* harmony export */ clsx: () => (/* binding */ clsx),
6357 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6358 /* harmony export */ });
6359 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);
6360
6361 /***/ }),
6362
6363 /***/ "../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js":
6364 /*!***********************************************************************************!*\
6365 !*** ../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
6366 \***********************************************************************************/
6367 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6368
6369 "use strict";
6370
6371
6372 var reactIs = __webpack_require__(/*! react-is */ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js");
6373
6374 /**
6375 * Copyright 2015, Yahoo! Inc.
6376 * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
6377 */
6378 var REACT_STATICS = {
6379 childContextTypes: true,
6380 contextType: true,
6381 contextTypes: true,
6382 defaultProps: true,
6383 displayName: true,
6384 getDefaultProps: true,
6385 getDerivedStateFromError: true,
6386 getDerivedStateFromProps: true,
6387 mixins: true,
6388 propTypes: true,
6389 type: true
6390 };
6391 var KNOWN_STATICS = {
6392 name: true,
6393 length: true,
6394 prototype: true,
6395 caller: true,
6396 callee: true,
6397 arguments: true,
6398 arity: true
6399 };
6400 var FORWARD_REF_STATICS = {
6401 '$$typeof': true,
6402 render: true,
6403 defaultProps: true,
6404 displayName: true,
6405 propTypes: true
6406 };
6407 var MEMO_STATICS = {
6408 '$$typeof': true,
6409 compare: true,
6410 defaultProps: true,
6411 displayName: true,
6412 propTypes: true,
6413 type: true
6414 };
6415 var TYPE_STATICS = {};
6416 TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;
6417 TYPE_STATICS[reactIs.Memo] = MEMO_STATICS;
6418
6419 function getStatics(component) {
6420 // React v16.11 and below
6421 if (reactIs.isMemo(component)) {
6422 return MEMO_STATICS;
6423 } // React v16.12 and above
6424
6425
6426 return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;
6427 }
6428
6429 var defineProperty = Object.defineProperty;
6430 var getOwnPropertyNames = Object.getOwnPropertyNames;
6431 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6432 var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
6433 var getPrototypeOf = Object.getPrototypeOf;
6434 var objectPrototype = Object.prototype;
6435 function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
6436 if (typeof sourceComponent !== 'string') {
6437 // don't hoist over string (html) components
6438 if (objectPrototype) {
6439 var inheritedComponent = getPrototypeOf(sourceComponent);
6440
6441 if (inheritedComponent && inheritedComponent !== objectPrototype) {
6442 hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
6443 }
6444 }
6445
6446 var keys = getOwnPropertyNames(sourceComponent);
6447
6448 if (getOwnPropertySymbols) {
6449 keys = keys.concat(getOwnPropertySymbols(sourceComponent));
6450 }
6451
6452 var targetStatics = getStatics(targetComponent);
6453 var sourceStatics = getStatics(sourceComponent);
6454
6455 for (var i = 0; i < keys.length; ++i) {
6456 var key = keys[i];
6457
6458 if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {
6459 var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
6460
6461 try {
6462 // Avoid failures from read-only properties
6463 defineProperty(targetComponent, key, descriptor);
6464 } catch (e) {}
6465 }
6466 }
6467 }
6468
6469 return targetComponent;
6470 }
6471
6472 module.exports = hoistNonReactStatics;
6473
6474
6475 /***/ }),
6476
6477 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js":
6478 /*!*************************************************************************************************!*\
6479 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js ***!
6480 \*************************************************************************************************/
6481 /***/ ((__unused_webpack_module, exports) => {
6482
6483 "use strict";
6484 /** @license React v16.13.1
6485 * react-is.development.js
6486 *
6487 * Copyright (c) Facebook, Inc. and its affiliates.
6488 *
6489 * This source code is licensed under the MIT license found in the
6490 * LICENSE file in the root directory of this source tree.
6491 */
6492
6493
6494
6495
6496
6497 if (true) {
6498 (function() {
6499 'use strict';
6500
6501 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
6502 // nor polyfill, then a plain number is used for performance.
6503 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
6504 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
6505 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
6506 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
6507 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
6508 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
6509 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
6510 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
6511 // (unstable) APIs that have been removed. Can we remove the symbols?
6512
6513 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
6514 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
6515 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
6516 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
6517 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
6518 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
6519 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
6520 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
6521 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
6522 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
6523 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
6524
6525 function isValidElementType(type) {
6526 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
6527 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);
6528 }
6529
6530 function typeOf(object) {
6531 if (typeof object === 'object' && object !== null) {
6532 var $$typeof = object.$$typeof;
6533
6534 switch ($$typeof) {
6535 case REACT_ELEMENT_TYPE:
6536 var type = object.type;
6537
6538 switch (type) {
6539 case REACT_ASYNC_MODE_TYPE:
6540 case REACT_CONCURRENT_MODE_TYPE:
6541 case REACT_FRAGMENT_TYPE:
6542 case REACT_PROFILER_TYPE:
6543 case REACT_STRICT_MODE_TYPE:
6544 case REACT_SUSPENSE_TYPE:
6545 return type;
6546
6547 default:
6548 var $$typeofType = type && type.$$typeof;
6549
6550 switch ($$typeofType) {
6551 case REACT_CONTEXT_TYPE:
6552 case REACT_FORWARD_REF_TYPE:
6553 case REACT_LAZY_TYPE:
6554 case REACT_MEMO_TYPE:
6555 case REACT_PROVIDER_TYPE:
6556 return $$typeofType;
6557
6558 default:
6559 return $$typeof;
6560 }
6561
6562 }
6563
6564 case REACT_PORTAL_TYPE:
6565 return $$typeof;
6566 }
6567 }
6568
6569 return undefined;
6570 } // AsyncMode is deprecated along with isAsyncMode
6571
6572 var AsyncMode = REACT_ASYNC_MODE_TYPE;
6573 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
6574 var ContextConsumer = REACT_CONTEXT_TYPE;
6575 var ContextProvider = REACT_PROVIDER_TYPE;
6576 var Element = REACT_ELEMENT_TYPE;
6577 var ForwardRef = REACT_FORWARD_REF_TYPE;
6578 var Fragment = REACT_FRAGMENT_TYPE;
6579 var Lazy = REACT_LAZY_TYPE;
6580 var Memo = REACT_MEMO_TYPE;
6581 var Portal = REACT_PORTAL_TYPE;
6582 var Profiler = REACT_PROFILER_TYPE;
6583 var StrictMode = REACT_STRICT_MODE_TYPE;
6584 var Suspense = REACT_SUSPENSE_TYPE;
6585 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
6586
6587 function isAsyncMode(object) {
6588 {
6589 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
6590 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
6591
6592 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.');
6593 }
6594 }
6595
6596 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
6597 }
6598 function isConcurrentMode(object) {
6599 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
6600 }
6601 function isContextConsumer(object) {
6602 return typeOf(object) === REACT_CONTEXT_TYPE;
6603 }
6604 function isContextProvider(object) {
6605 return typeOf(object) === REACT_PROVIDER_TYPE;
6606 }
6607 function isElement(object) {
6608 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
6609 }
6610 function isForwardRef(object) {
6611 return typeOf(object) === REACT_FORWARD_REF_TYPE;
6612 }
6613 function isFragment(object) {
6614 return typeOf(object) === REACT_FRAGMENT_TYPE;
6615 }
6616 function isLazy(object) {
6617 return typeOf(object) === REACT_LAZY_TYPE;
6618 }
6619 function isMemo(object) {
6620 return typeOf(object) === REACT_MEMO_TYPE;
6621 }
6622 function isPortal(object) {
6623 return typeOf(object) === REACT_PORTAL_TYPE;
6624 }
6625 function isProfiler(object) {
6626 return typeOf(object) === REACT_PROFILER_TYPE;
6627 }
6628 function isStrictMode(object) {
6629 return typeOf(object) === REACT_STRICT_MODE_TYPE;
6630 }
6631 function isSuspense(object) {
6632 return typeOf(object) === REACT_SUSPENSE_TYPE;
6633 }
6634
6635 exports.AsyncMode = AsyncMode;
6636 exports.ConcurrentMode = ConcurrentMode;
6637 exports.ContextConsumer = ContextConsumer;
6638 exports.ContextProvider = ContextProvider;
6639 exports.Element = Element;
6640 exports.ForwardRef = ForwardRef;
6641 exports.Fragment = Fragment;
6642 exports.Lazy = Lazy;
6643 exports.Memo = Memo;
6644 exports.Portal = Portal;
6645 exports.Profiler = Profiler;
6646 exports.StrictMode = StrictMode;
6647 exports.Suspense = Suspense;
6648 exports.isAsyncMode = isAsyncMode;
6649 exports.isConcurrentMode = isConcurrentMode;
6650 exports.isContextConsumer = isContextConsumer;
6651 exports.isContextProvider = isContextProvider;
6652 exports.isElement = isElement;
6653 exports.isForwardRef = isForwardRef;
6654 exports.isFragment = isFragment;
6655 exports.isLazy = isLazy;
6656 exports.isMemo = isMemo;
6657 exports.isPortal = isPortal;
6658 exports.isProfiler = isProfiler;
6659 exports.isStrictMode = isStrictMode;
6660 exports.isSuspense = isSuspense;
6661 exports.isValidElementType = isValidElementType;
6662 exports.typeOf = typeOf;
6663 })();
6664 }
6665
6666
6667 /***/ }),
6668
6669 /***/ "../node_modules/hoist-non-react-statics/node_modules/react-is/index.js":
6670 /*!******************************************************************************!*\
6671 !*** ../node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
6672 \******************************************************************************/
6673 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6674
6675 "use strict";
6676
6677
6678 if (false) {} else {
6679 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js");
6680 }
6681
6682
6683 /***/ }),
6684
6685 /***/ "../node_modules/html-to-image/es/apply-style.js":
6686 /*!*******************************************************!*\
6687 !*** ../node_modules/html-to-image/es/apply-style.js ***!
6688 \*******************************************************/
6689 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6690
6691 "use strict";
6692 __webpack_require__.r(__webpack_exports__);
6693 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6694 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
6695 /* harmony export */ });
6696 function applyStyle(node, options) {
6697 const { style } = node;
6698 if (options.backgroundColor) {
6699 style.backgroundColor = options.backgroundColor;
6700 }
6701 if (options.width) {
6702 style.width = `${options.width}px`;
6703 }
6704 if (options.height) {
6705 style.height = `${options.height}px`;
6706 }
6707 const manual = options.style;
6708 if (manual != null) {
6709 Object.keys(manual).forEach((key) => {
6710 style[key] = manual[key];
6711 });
6712 }
6713 return node;
6714 }
6715 //# sourceMappingURL=apply-style.js.map
6716
6717 /***/ }),
6718
6719 /***/ "../node_modules/html-to-image/es/clone-node.js":
6720 /*!******************************************************!*\
6721 !*** ../node_modules/html-to-image/es/clone-node.js ***!
6722 \******************************************************/
6723 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6724
6725 "use strict";
6726 __webpack_require__.r(__webpack_exports__);
6727 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6728 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
6729 /* harmony export */ });
6730 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
6731 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6732 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
6733 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
6734
6735
6736
6737
6738 async function cloneCanvasElement(canvas) {
6739 const dataURL = canvas.toDataURL();
6740 if (dataURL === 'data:,') {
6741 return canvas.cloneNode(false);
6742 }
6743 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6744 }
6745 async function cloneVideoElement(video, options) {
6746 if (video.currentSrc) {
6747 const canvas = document.createElement('canvas');
6748 const ctx = canvas.getContext('2d');
6749 canvas.width = video.clientWidth;
6750 canvas.height = video.clientHeight;
6751 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6752 const dataURL = canvas.toDataURL();
6753 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6754 }
6755 const poster = video.poster;
6756 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
6757 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
6758 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
6759 }
6760 async function cloneIFrameElement(iframe) {
6761 var _a;
6762 try {
6763 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
6764 return (await cloneNode(iframe.contentDocument.body, {}, true));
6765 }
6766 }
6767 catch (_b) {
6768 // Failed to clone iframe
6769 }
6770 return iframe.cloneNode(false);
6771 }
6772 async function cloneSingleNode(node, options) {
6773 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
6774 return cloneCanvasElement(node);
6775 }
6776 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
6777 return cloneVideoElement(node, options);
6778 }
6779 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
6780 return cloneIFrameElement(node);
6781 }
6782 return node.cloneNode(false);
6783 }
6784 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
6785 async function cloneChildren(nativeNode, clonedNode, options) {
6786 var _a, _b;
6787 let children = [];
6788 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
6789 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
6790 }
6791 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
6792 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
6793 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
6794 }
6795 else {
6796 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
6797 }
6798 if (children.length === 0 ||
6799 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
6800 return clonedNode;
6801 }
6802 await children.reduce((deferred, child) => deferred
6803 .then(() => cloneNode(child, options))
6804 .then((clonedChild) => {
6805 if (clonedChild) {
6806 clonedNode.appendChild(clonedChild);
6807 }
6808 }), Promise.resolve());
6809 return clonedNode;
6810 }
6811 function cloneCSSStyle(nativeNode, clonedNode) {
6812 const targetStyle = clonedNode.style;
6813 if (!targetStyle) {
6814 return;
6815 }
6816 const sourceStyle = window.getComputedStyle(nativeNode);
6817 if (sourceStyle.cssText) {
6818 targetStyle.cssText = sourceStyle.cssText;
6819 targetStyle.transformOrigin = sourceStyle.transformOrigin;
6820 }
6821 else {
6822 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
6823 let value = sourceStyle.getPropertyValue(name);
6824 if (name === 'font-size' && value.endsWith('px')) {
6825 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
6826 value = `${reducedFont}px`;
6827 }
6828 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
6829 name === 'display' &&
6830 value === 'inline') {
6831 value = 'block';
6832 }
6833 if (name === 'd' && clonedNode.getAttribute('d')) {
6834 value = `path(${clonedNode.getAttribute('d')})`;
6835 }
6836 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
6837 });
6838 }
6839 }
6840 function cloneInputValue(nativeNode, clonedNode) {
6841 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
6842 clonedNode.innerHTML = nativeNode.value;
6843 }
6844 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
6845 clonedNode.setAttribute('value', nativeNode.value);
6846 }
6847 }
6848 function cloneSelectValue(nativeNode, clonedNode) {
6849 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
6850 const clonedSelect = clonedNode;
6851 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
6852 if (selectedOption) {
6853 selectedOption.setAttribute('selected', '');
6854 }
6855 }
6856 }
6857 function decorate(nativeNode, clonedNode) {
6858 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
6859 cloneCSSStyle(nativeNode, clonedNode);
6860 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
6861 cloneInputValue(nativeNode, clonedNode);
6862 cloneSelectValue(nativeNode, clonedNode);
6863 }
6864 return clonedNode;
6865 }
6866 async function ensureSVGSymbols(clone, options) {
6867 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
6868 if (uses.length === 0) {
6869 return clone;
6870 }
6871 const processedDefs = {};
6872 for (let i = 0; i < uses.length; i++) {
6873 const use = uses[i];
6874 const id = use.getAttribute('xlink:href');
6875 if (id) {
6876 const exist = clone.querySelector(id);
6877 const definition = document.querySelector(id);
6878 if (!exist && definition && !processedDefs[id]) {
6879 // eslint-disable-next-line no-await-in-loop
6880 processedDefs[id] = (await cloneNode(definition, options, true));
6881 }
6882 }
6883 }
6884 const nodes = Object.values(processedDefs);
6885 if (nodes.length) {
6886 const ns = 'http://www.w3.org/1999/xhtml';
6887 const svg = document.createElementNS(ns, 'svg');
6888 svg.setAttribute('xmlns', ns);
6889 svg.style.position = 'absolute';
6890 svg.style.width = '0';
6891 svg.style.height = '0';
6892 svg.style.overflow = 'hidden';
6893 svg.style.display = 'none';
6894 const defs = document.createElementNS(ns, 'defs');
6895 svg.appendChild(defs);
6896 for (let i = 0; i < nodes.length; i++) {
6897 defs.appendChild(nodes[i]);
6898 }
6899 clone.appendChild(svg);
6900 }
6901 return clone;
6902 }
6903 async function cloneNode(node, options, isRoot) {
6904 if (!isRoot && options.filter && !options.filter(node)) {
6905 return null;
6906 }
6907 return Promise.resolve(node)
6908 .then((clonedNode) => cloneSingleNode(clonedNode, options))
6909 .then((clonedNode) => cloneChildren(node, clonedNode, options))
6910 .then((clonedNode) => decorate(node, clonedNode))
6911 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
6912 }
6913 //# sourceMappingURL=clone-node.js.map
6914
6915 /***/ }),
6916
6917 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
6918 /*!*********************************************************!*\
6919 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
6920 \*********************************************************/
6921 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6922
6923 "use strict";
6924 __webpack_require__.r(__webpack_exports__);
6925 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6926 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
6927 /* harmony export */ });
6928 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6929
6930 function formatCSSText(style) {
6931 const content = style.getPropertyValue('content');
6932 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
6933 }
6934 function formatCSSProperties(style) {
6935 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
6936 .map((name) => {
6937 const value = style.getPropertyValue(name);
6938 const priority = style.getPropertyPriority(name);
6939 return `${name}: ${value}${priority ? ' !important' : ''};`;
6940 })
6941 .join(' ');
6942 }
6943 function getPseudoElementStyle(className, pseudo, style) {
6944 const selector = `.${className}:${pseudo}`;
6945 const cssText = style.cssText
6946 ? formatCSSText(style)
6947 : formatCSSProperties(style);
6948 return document.createTextNode(`${selector}{${cssText}}`);
6949 }
6950 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
6951 const style = window.getComputedStyle(nativeNode, pseudo);
6952 const content = style.getPropertyValue('content');
6953 if (content === '' || content === 'none') {
6954 return;
6955 }
6956 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
6957 try {
6958 clonedNode.className = `${clonedNode.className} ${className}`;
6959 }
6960 catch (err) {
6961 return;
6962 }
6963 const styleElement = document.createElement('style');
6964 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
6965 clonedNode.appendChild(styleElement);
6966 }
6967 function clonePseudoElements(nativeNode, clonedNode) {
6968 clonePseudoElement(nativeNode, clonedNode, ':before');
6969 clonePseudoElement(nativeNode, clonedNode, ':after');
6970 }
6971 //# sourceMappingURL=clone-pseudos.js.map
6972
6973 /***/ }),
6974
6975 /***/ "../node_modules/html-to-image/es/dataurl.js":
6976 /*!***************************************************!*\
6977 !*** ../node_modules/html-to-image/es/dataurl.js ***!
6978 \***************************************************/
6979 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6980
6981 "use strict";
6982 __webpack_require__.r(__webpack_exports__);
6983 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6984 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
6985 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
6986 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
6987 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
6988 /* harmony export */ });
6989 function getContentFromDataUrl(dataURL) {
6990 return dataURL.split(/,/)[1];
6991 }
6992 function isDataUrl(url) {
6993 return url.search(/^(data:)/) !== -1;
6994 }
6995 function makeDataUrl(content, mimeType) {
6996 return `data:${mimeType};base64,${content}`;
6997 }
6998 async function fetchAsDataURL(url, init, process) {
6999 const res = await fetch(url, init);
7000 if (res.status === 404) {
7001 throw new Error(`Resource "${res.url}" not found`);
7002 }
7003 const blob = await res.blob();
7004 return new Promise((resolve, reject) => {
7005 const reader = new FileReader();
7006 reader.onerror = reject;
7007 reader.onloadend = () => {
7008 try {
7009 resolve(process({ res, result: reader.result }));
7010 }
7011 catch (error) {
7012 reject(error);
7013 }
7014 };
7015 reader.readAsDataURL(blob);
7016 });
7017 }
7018 const cache = {};
7019 function getCacheKey(url, contentType, includeQueryParams) {
7020 let key = url.replace(/\?.*/, '');
7021 if (includeQueryParams) {
7022 key = url;
7023 }
7024 // font resource
7025 if (/ttf|otf|eot|woff2?/i.test(key)) {
7026 key = key.replace(/.*\//, '');
7027 }
7028 return contentType ? `[${contentType}]${key}` : key;
7029 }
7030 async function resourceToDataURL(resourceUrl, contentType, options) {
7031 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
7032 if (cache[cacheKey] != null) {
7033 return cache[cacheKey];
7034 }
7035 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
7036 if (options.cacheBust) {
7037 // eslint-disable-next-line no-param-reassign
7038 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
7039 }
7040 let dataURL;
7041 try {
7042 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
7043 if (!contentType) {
7044 // eslint-disable-next-line no-param-reassign
7045 contentType = res.headers.get('Content-Type') || '';
7046 }
7047 return getContentFromDataUrl(result);
7048 });
7049 dataURL = makeDataUrl(content, contentType);
7050 }
7051 catch (error) {
7052 dataURL = options.imagePlaceholder || '';
7053 let msg = `Failed to fetch resource: ${resourceUrl}`;
7054 if (error) {
7055 msg = typeof error === 'string' ? error : error.message;
7056 }
7057 if (msg) {
7058 console.warn(msg);
7059 }
7060 }
7061 cache[cacheKey] = dataURL;
7062 return dataURL;
7063 }
7064 //# sourceMappingURL=dataurl.js.map
7065
7066 /***/ }),
7067
7068 /***/ "../node_modules/html-to-image/es/embed-images.js":
7069 /*!********************************************************!*\
7070 !*** ../node_modules/html-to-image/es/embed-images.js ***!
7071 \********************************************************/
7072 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7073
7074 "use strict";
7075 __webpack_require__.r(__webpack_exports__);
7076 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7077 /* harmony export */ embedImages: () => (/* binding */ embedImages)
7078 /* harmony export */ });
7079 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7080 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7081 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7082 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7083
7084
7085
7086
7087 async function embedProp(propName, node, options) {
7088 var _a;
7089 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
7090 if (propValue) {
7091 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
7092 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
7093 return true;
7094 }
7095 return false;
7096 }
7097 async function embedBackground(clonedNode, options) {
7098 if (!(await embedProp('background', clonedNode, options))) {
7099 await embedProp('background-image', clonedNode, options);
7100 }
7101 if (!(await embedProp('mask', clonedNode, options))) {
7102 await embedProp('mask-image', clonedNode, options);
7103 }
7104 }
7105 async function embedImageNode(clonedNode, options) {
7106 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
7107 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
7108 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
7109 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
7110 return;
7111 }
7112 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
7113 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
7114 await new Promise((resolve, reject) => {
7115 clonedNode.onload = resolve;
7116 clonedNode.onerror = reject;
7117 const image = clonedNode;
7118 if (image.decode) {
7119 image.decode = resolve;
7120 }
7121 if (image.loading === 'lazy') {
7122 image.loading = 'eager';
7123 }
7124 if (isImageElement) {
7125 clonedNode.srcset = '';
7126 clonedNode.src = dataURL;
7127 }
7128 else {
7129 clonedNode.href.baseVal = dataURL;
7130 }
7131 });
7132 }
7133 async function embedChildren(clonedNode, options) {
7134 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
7135 const deferreds = children.map((child) => embedImages(child, options));
7136 await Promise.all(deferreds).then(() => clonedNode);
7137 }
7138 async function embedImages(clonedNode, options) {
7139 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
7140 await embedBackground(clonedNode, options);
7141 await embedImageNode(clonedNode, options);
7142 await embedChildren(clonedNode, options);
7143 }
7144 }
7145 //# sourceMappingURL=embed-images.js.map
7146
7147 /***/ }),
7148
7149 /***/ "../node_modules/html-to-image/es/embed-resources.js":
7150 /*!***********************************************************!*\
7151 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
7152 \***********************************************************/
7153 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7154
7155 "use strict";
7156 __webpack_require__.r(__webpack_exports__);
7157 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7158 /* harmony export */ embed: () => (/* binding */ embed),
7159 /* harmony export */ embedResources: () => (/* binding */ embedResources),
7160 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
7161 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
7162 /* harmony export */ });
7163 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7164 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
7165 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7166
7167
7168
7169 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
7170 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
7171 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
7172 function toRegex(url) {
7173 // eslint-disable-next-line no-useless-escape
7174 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
7175 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
7176 }
7177 function parseURLs(cssText) {
7178 const urls = [];
7179 cssText.replace(URL_REGEX, (raw, quotation, url) => {
7180 urls.push(url);
7181 return raw;
7182 });
7183 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
7184 }
7185 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
7186 try {
7187 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
7188 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
7189 let dataURL;
7190 if (getContentFromUrl) {
7191 const content = await getContentFromUrl(resolvedURL);
7192 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
7193 }
7194 else {
7195 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
7196 }
7197 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
7198 }
7199 catch (error) {
7200 // pass
7201 }
7202 return cssText;
7203 }
7204 function filterPreferredFontFormat(str, { preferredFontFormat }) {
7205 return !preferredFontFormat
7206 ? str
7207 : str.replace(FONT_SRC_REGEX, (match) => {
7208 // eslint-disable-next-line no-constant-condition
7209 while (true) {
7210 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
7211 if (!format) {
7212 return '';
7213 }
7214 if (format === preferredFontFormat) {
7215 return `src: ${src};`;
7216 }
7217 }
7218 });
7219 }
7220 function shouldEmbed(url) {
7221 return url.search(URL_REGEX) !== -1;
7222 }
7223 async function embedResources(cssText, baseUrl, options) {
7224 if (!shouldEmbed(cssText)) {
7225 return cssText;
7226 }
7227 const filteredCSSText = filterPreferredFontFormat(cssText, options);
7228 const urls = parseURLs(filteredCSSText);
7229 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
7230 }
7231 //# sourceMappingURL=embed-resources.js.map
7232
7233 /***/ }),
7234
7235 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
7236 /*!**********************************************************!*\
7237 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
7238 \**********************************************************/
7239 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7240
7241 "use strict";
7242 __webpack_require__.r(__webpack_exports__);
7243 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7244 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
7245 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
7246 /* harmony export */ });
7247 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7248 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
7249 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
7250
7251
7252
7253 const cssFetchCache = {};
7254 async function fetchCSS(url) {
7255 let cache = cssFetchCache[url];
7256 if (cache != null) {
7257 return cache;
7258 }
7259 const res = await fetch(url);
7260 const cssText = await res.text();
7261 cache = { url, cssText };
7262 cssFetchCache[url] = cache;
7263 return cache;
7264 }
7265 async function embedFonts(data, options) {
7266 let cssText = data.cssText;
7267 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
7268 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
7269 const loadFonts = fontLocs.map(async (loc) => {
7270 let url = loc.replace(regexUrl, '$1');
7271 if (!url.startsWith('https://')) {
7272 url = new URL(url, data.url).href;
7273 }
7274 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
7275 cssText = cssText.replace(loc, `url(${result})`);
7276 return [loc, result];
7277 });
7278 });
7279 return Promise.all(loadFonts).then(() => cssText);
7280 }
7281 function parseCSS(source) {
7282 if (source == null) {
7283 return [];
7284 }
7285 const result = [];
7286 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
7287 // strip out comments
7288 let cssText = source.replace(commentsRegex, '');
7289 // eslint-disable-next-line prefer-regex-literals
7290 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
7291 // eslint-disable-next-line no-constant-condition
7292 while (true) {
7293 const matches = keyframesRegex.exec(cssText);
7294 if (matches === null) {
7295 break;
7296 }
7297 result.push(matches[0]);
7298 }
7299 cssText = cssText.replace(keyframesRegex, '');
7300 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
7301 // to match css & media queries together
7302 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
7303 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
7304 // unified regex
7305 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
7306 // eslint-disable-next-line no-constant-condition
7307 while (true) {
7308 let matches = importRegex.exec(cssText);
7309 if (matches === null) {
7310 matches = unifiedRegex.exec(cssText);
7311 if (matches === null) {
7312 break;
7313 }
7314 else {
7315 importRegex.lastIndex = unifiedRegex.lastIndex;
7316 }
7317 }
7318 else {
7319 unifiedRegex.lastIndex = importRegex.lastIndex;
7320 }
7321 result.push(matches[0]);
7322 }
7323 return result;
7324 }
7325 async function getCSSRules(styleSheets, options) {
7326 const ret = [];
7327 const deferreds = [];
7328 // First loop inlines imports
7329 styleSheets.forEach((sheet) => {
7330 if ('cssRules' in sheet) {
7331 try {
7332 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
7333 if (item.type === CSSRule.IMPORT_RULE) {
7334 let importIndex = index + 1;
7335 const url = item.href;
7336 const deferred = fetchCSS(url)
7337 .then((metadata) => embedFonts(metadata, options))
7338 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7339 try {
7340 sheet.insertRule(rule, rule.startsWith('@import')
7341 ? (importIndex += 1)
7342 : sheet.cssRules.length);
7343 }
7344 catch (error) {
7345 console.error('Error inserting rule from remote css', {
7346 rule,
7347 error,
7348 });
7349 }
7350 }))
7351 .catch((e) => {
7352 console.error('Error loading remote css', e.toString());
7353 });
7354 deferreds.push(deferred);
7355 }
7356 });
7357 }
7358 catch (e) {
7359 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
7360 if (sheet.href != null) {
7361 deferreds.push(fetchCSS(sheet.href)
7362 .then((metadata) => embedFonts(metadata, options))
7363 .then((cssText) => parseCSS(cssText).forEach((rule) => {
7364 inline.insertRule(rule, sheet.cssRules.length);
7365 }))
7366 .catch((err) => {
7367 console.error('Error loading remote stylesheet', err);
7368 }));
7369 }
7370 console.error('Error inlining remote css file', e);
7371 }
7372 }
7373 });
7374 return Promise.all(deferreds).then(() => {
7375 // Second loop parses rules
7376 styleSheets.forEach((sheet) => {
7377 if ('cssRules' in sheet) {
7378 try {
7379 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
7380 ret.push(item);
7381 });
7382 }
7383 catch (e) {
7384 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
7385 }
7386 }
7387 });
7388 return ret;
7389 });
7390 }
7391 function getWebFontRules(cssRules) {
7392 return cssRules
7393 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
7394 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
7395 }
7396 async function parseWebFontRules(node, options) {
7397 if (node.ownerDocument == null) {
7398 throw new Error('Provided element is not within a Document');
7399 }
7400 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
7401 const cssRules = await getCSSRules(styleSheets, options);
7402 return getWebFontRules(cssRules);
7403 }
7404 async function getWebFontCSS(node, options) {
7405 const rules = await parseWebFontRules(node, options);
7406 const cssTexts = await Promise.all(rules.map((rule) => {
7407 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
7408 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
7409 }));
7410 return cssTexts.join('\n');
7411 }
7412 async function embedWebFonts(clonedNode, options) {
7413 const cssText = options.fontEmbedCSS != null
7414 ? options.fontEmbedCSS
7415 : options.skipFonts
7416 ? null
7417 : await getWebFontCSS(clonedNode, options);
7418 if (cssText) {
7419 const styleNode = document.createElement('style');
7420 const sytleContent = document.createTextNode(cssText);
7421 styleNode.appendChild(sytleContent);
7422 if (clonedNode.firstChild) {
7423 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
7424 }
7425 else {
7426 clonedNode.appendChild(styleNode);
7427 }
7428 }
7429 }
7430 //# sourceMappingURL=embed-webfonts.js.map
7431
7432 /***/ }),
7433
7434 /***/ "../node_modules/html-to-image/es/index.js":
7435 /*!*************************************************!*\
7436 !*** ../node_modules/html-to-image/es/index.js ***!
7437 \*************************************************/
7438 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7439
7440 "use strict";
7441 __webpack_require__.r(__webpack_exports__);
7442 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7443 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
7444 /* harmony export */ toBlob: () => (/* binding */ toBlob),
7445 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
7446 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
7447 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
7448 /* harmony export */ toPng: () => (/* binding */ toPng),
7449 /* harmony export */ toSvg: () => (/* binding */ toSvg)
7450 /* harmony export */ });
7451 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
7452 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
7453 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
7454 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
7455 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
7456
7457
7458
7459
7460
7461 async function toSvg(node, options = {}) {
7462 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7463 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
7464 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
7465 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
7466 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
7467 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
7468 return datauri;
7469 }
7470 async function toCanvas(node, options = {}) {
7471 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7472 const svg = await toSvg(node, options);
7473 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
7474 const canvas = document.createElement('canvas');
7475 const context = canvas.getContext('2d');
7476 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
7477 const canvasWidth = options.canvasWidth || width;
7478 const canvasHeight = options.canvasHeight || height;
7479 canvas.width = canvasWidth * ratio;
7480 canvas.height = canvasHeight * ratio;
7481 if (!options.skipAutoScale) {
7482 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
7483 }
7484 canvas.style.width = `${canvasWidth}`;
7485 canvas.style.height = `${canvasHeight}`;
7486 if (options.backgroundColor) {
7487 context.fillStyle = options.backgroundColor;
7488 context.fillRect(0, 0, canvas.width, canvas.height);
7489 }
7490 context.drawImage(img, 0, 0, canvas.width, canvas.height);
7491 return canvas;
7492 }
7493 async function toPixelData(node, options = {}) {
7494 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
7495 const canvas = await toCanvas(node, options);
7496 const ctx = canvas.getContext('2d');
7497 return ctx.getImageData(0, 0, width, height).data;
7498 }
7499 async function toPng(node, options = {}) {
7500 const canvas = await toCanvas(node, options);
7501 return canvas.toDataURL();
7502 }
7503 async function toJpeg(node, options = {}) {
7504 const canvas = await toCanvas(node, options);
7505 return canvas.toDataURL('image/jpeg', options.quality || 1);
7506 }
7507 async function toBlob(node, options = {}) {
7508 const canvas = await toCanvas(node, options);
7509 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
7510 return blob;
7511 }
7512 async function getFontEmbedCSS(node, options = {}) {
7513 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
7514 }
7515 //# sourceMappingURL=index.js.map
7516
7517 /***/ }),
7518
7519 /***/ "../node_modules/html-to-image/es/mimes.js":
7520 /*!*************************************************!*\
7521 !*** ../node_modules/html-to-image/es/mimes.js ***!
7522 \*************************************************/
7523 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7524
7525 "use strict";
7526 __webpack_require__.r(__webpack_exports__);
7527 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7528 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
7529 /* harmony export */ });
7530 const WOFF = 'application/font-woff';
7531 const JPEG = 'image/jpeg';
7532 const mimes = {
7533 woff: WOFF,
7534 woff2: WOFF,
7535 ttf: 'application/font-truetype',
7536 eot: 'application/vnd.ms-fontobject',
7537 png: 'image/png',
7538 jpg: JPEG,
7539 jpeg: JPEG,
7540 gif: 'image/gif',
7541 tiff: 'image/tiff',
7542 svg: 'image/svg+xml',
7543 webp: 'image/webp',
7544 };
7545 function getExtension(url) {
7546 const match = /\.([^./]*?)$/g.exec(url);
7547 return match ? match[1] : '';
7548 }
7549 function getMimeType(url) {
7550 const extension = getExtension(url).toLowerCase();
7551 return mimes[extension] || '';
7552 }
7553 //# sourceMappingURL=mimes.js.map
7554
7555 /***/ }),
7556
7557 /***/ "../node_modules/html-to-image/es/util.js":
7558 /*!************************************************!*\
7559 !*** ../node_modules/html-to-image/es/util.js ***!
7560 \************************************************/
7561 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7562
7563 "use strict";
7564 __webpack_require__.r(__webpack_exports__);
7565 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7566 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
7567 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
7568 /* harmony export */ createImage: () => (/* binding */ createImage),
7569 /* harmony export */ delay: () => (/* binding */ delay),
7570 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
7571 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
7572 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
7573 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
7574 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
7575 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
7576 /* harmony export */ toArray: () => (/* binding */ toArray),
7577 /* harmony export */ uuid: () => (/* binding */ uuid)
7578 /* harmony export */ });
7579 function resolveUrl(url, baseUrl) {
7580 // url is absolute already
7581 if (url.match(/^[a-z]+:\/\//i)) {
7582 return url;
7583 }
7584 // url is absolute already, without protocol
7585 if (url.match(/^\/\//)) {
7586 return window.location.protocol + url;
7587 }
7588 // dataURI, mailto:, tel:, etc.
7589 if (url.match(/^[a-z]+:/i)) {
7590 return url;
7591 }
7592 const doc = document.implementation.createHTMLDocument();
7593 const base = doc.createElement('base');
7594 const a = doc.createElement('a');
7595 doc.head.appendChild(base);
7596 doc.body.appendChild(a);
7597 if (baseUrl) {
7598 base.href = baseUrl;
7599 }
7600 a.href = url;
7601 return a.href;
7602 }
7603 const uuid = (() => {
7604 // generate uuid for className of pseudo elements.
7605 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
7606 let counter = 0;
7607 // ref: http://stackoverflow.com/a/6248722/2519373
7608 const random = () =>
7609 // eslint-disable-next-line no-bitwise
7610 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
7611 return () => {
7612 counter += 1;
7613 return `u${random()}${counter}`;
7614 };
7615 })();
7616 function delay(ms) {
7617 return (args) => new Promise((resolve) => {
7618 setTimeout(() => resolve(args), ms);
7619 });
7620 }
7621 function toArray(arrayLike) {
7622 const arr = [];
7623 for (let i = 0, l = arrayLike.length; i < l; i++) {
7624 arr.push(arrayLike[i]);
7625 }
7626 return arr;
7627 }
7628 function px(node, styleProperty) {
7629 const win = node.ownerDocument.defaultView || window;
7630 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
7631 return val ? parseFloat(val.replace('px', '')) : 0;
7632 }
7633 function getNodeWidth(node) {
7634 const leftBorder = px(node, 'border-left-width');
7635 const rightBorder = px(node, 'border-right-width');
7636 return node.clientWidth + leftBorder + rightBorder;
7637 }
7638 function getNodeHeight(node) {
7639 const topBorder = px(node, 'border-top-width');
7640 const bottomBorder = px(node, 'border-bottom-width');
7641 return node.clientHeight + topBorder + bottomBorder;
7642 }
7643 function getImageSize(targetNode, options = {}) {
7644 const width = options.width || getNodeWidth(targetNode);
7645 const height = options.height || getNodeHeight(targetNode);
7646 return { width, height };
7647 }
7648 function getPixelRatio() {
7649 let ratio;
7650 let FINAL_PROCESS;
7651 try {
7652 FINAL_PROCESS = process;
7653 }
7654 catch (e) {
7655 // pass
7656 }
7657 const val = FINAL_PROCESS && FINAL_PROCESS.env
7658 ? FINAL_PROCESS.env.devicePixelRatio
7659 : null;
7660 if (val) {
7661 ratio = parseInt(val, 10);
7662 if (Number.isNaN(ratio)) {
7663 ratio = 1;
7664 }
7665 }
7666 return ratio || window.devicePixelRatio || 1;
7667 }
7668 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
7669 const canvasDimensionLimit = 16384;
7670 function checkCanvasDimensions(canvas) {
7671 if (canvas.width > canvasDimensionLimit ||
7672 canvas.height > canvasDimensionLimit) {
7673 if (canvas.width > canvasDimensionLimit &&
7674 canvas.height > canvasDimensionLimit) {
7675 if (canvas.width > canvas.height) {
7676 canvas.height *= canvasDimensionLimit / canvas.width;
7677 canvas.width = canvasDimensionLimit;
7678 }
7679 else {
7680 canvas.width *= canvasDimensionLimit / canvas.height;
7681 canvas.height = canvasDimensionLimit;
7682 }
7683 }
7684 else if (canvas.width > canvasDimensionLimit) {
7685 canvas.height *= canvasDimensionLimit / canvas.width;
7686 canvas.width = canvasDimensionLimit;
7687 }
7688 else {
7689 canvas.width *= canvasDimensionLimit / canvas.height;
7690 canvas.height = canvasDimensionLimit;
7691 }
7692 }
7693 }
7694 function canvasToBlob(canvas, options = {}) {
7695 if (canvas.toBlob) {
7696 return new Promise((resolve) => {
7697 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
7698 });
7699 }
7700 return new Promise((resolve) => {
7701 const binaryString = window.atob(canvas
7702 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
7703 .split(',')[1]);
7704 const len = binaryString.length;
7705 const binaryArray = new Uint8Array(len);
7706 for (let i = 0; i < len; i += 1) {
7707 binaryArray[i] = binaryString.charCodeAt(i);
7708 }
7709 resolve(new Blob([binaryArray], {
7710 type: options.type ? options.type : 'image/png',
7711 }));
7712 });
7713 }
7714 function createImage(url) {
7715 return new Promise((resolve, reject) => {
7716 const img = new Image();
7717 img.decode = () => resolve(img);
7718 img.onload = () => resolve(img);
7719 img.onerror = reject;
7720 img.crossOrigin = 'anonymous';
7721 img.decoding = 'async';
7722 img.src = url;
7723 });
7724 }
7725 async function svgToDataURL(svg) {
7726 return Promise.resolve()
7727 .then(() => new XMLSerializer().serializeToString(svg))
7728 .then(encodeURIComponent)
7729 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
7730 }
7731 async function nodeToDataURL(node, width, height) {
7732 const xmlns = 'http://www.w3.org/2000/svg';
7733 const svg = document.createElementNS(xmlns, 'svg');
7734 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
7735 svg.setAttribute('width', `${width}`);
7736 svg.setAttribute('height', `${height}`);
7737 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
7738 foreignObject.setAttribute('width', '100%');
7739 foreignObject.setAttribute('height', '100%');
7740 foreignObject.setAttribute('x', '0');
7741 foreignObject.setAttribute('y', '0');
7742 foreignObject.setAttribute('externalResourcesRequired', 'true');
7743 svg.appendChild(foreignObject);
7744 foreignObject.appendChild(node);
7745 return svgToDataURL(svg);
7746 }
7747 const isInstanceOfElement = (node, instance) => {
7748 if (node instanceof instance)
7749 return true;
7750 const nodePrototype = Object.getPrototypeOf(node);
7751 if (nodePrototype === null)
7752 return false;
7753 return (nodePrototype.constructor.name === instance.name ||
7754 isInstanceOfElement(nodePrototype, instance));
7755 };
7756 //# sourceMappingURL=util.js.map
7757
7758 /***/ }),
7759
7760 /***/ "../node_modules/object-assign/index.js":
7761 /*!**********************************************!*\
7762 !*** ../node_modules/object-assign/index.js ***!
7763 \**********************************************/
7764 /***/ ((module) => {
7765
7766 "use strict";
7767 /*
7768 object-assign
7769 (c) Sindre Sorhus
7770 @license MIT
7771 */
7772
7773
7774 /* eslint-disable no-unused-vars */
7775 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
7776 var hasOwnProperty = Object.prototype.hasOwnProperty;
7777 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
7778
7779 function toObject(val) {
7780 if (val === null || val === undefined) {
7781 throw new TypeError('Object.assign cannot be called with null or undefined');
7782 }
7783
7784 return Object(val);
7785 }
7786
7787 function shouldUseNative() {
7788 try {
7789 if (!Object.assign) {
7790 return false;
7791 }
7792
7793 // Detect buggy property enumeration order in older V8 versions.
7794
7795 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
7796 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
7797 test1[5] = 'de';
7798 if (Object.getOwnPropertyNames(test1)[0] === '5') {
7799 return false;
7800 }
7801
7802 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
7803 var test2 = {};
7804 for (var i = 0; i < 10; i++) {
7805 test2['_' + String.fromCharCode(i)] = i;
7806 }
7807 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
7808 return test2[n];
7809 });
7810 if (order2.join('') !== '0123456789') {
7811 return false;
7812 }
7813
7814 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
7815 var test3 = {};
7816 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
7817 test3[letter] = letter;
7818 });
7819 if (Object.keys(Object.assign({}, test3)).join('') !==
7820 'abcdefghijklmnopqrst') {
7821 return false;
7822 }
7823
7824 return true;
7825 } catch (err) {
7826 // We don't expect any of the above to throw, but better to be safe.
7827 return false;
7828 }
7829 }
7830
7831 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
7832 var from;
7833 var to = toObject(target);
7834 var symbols;
7835
7836 for (var s = 1; s < arguments.length; s++) {
7837 from = Object(arguments[s]);
7838
7839 for (var key in from) {
7840 if (hasOwnProperty.call(from, key)) {
7841 to[key] = from[key];
7842 }
7843 }
7844
7845 if (getOwnPropertySymbols) {
7846 symbols = getOwnPropertySymbols(from);
7847 for (var i = 0; i < symbols.length; i++) {
7848 if (propIsEnumerable.call(from, symbols[i])) {
7849 to[symbols[i]] = from[symbols[i]];
7850 }
7851 }
7852 }
7853 }
7854
7855 return to;
7856 };
7857
7858
7859 /***/ }),
7860
7861 /***/ "../node_modules/prop-types/checkPropTypes.js":
7862 /*!****************************************************!*\
7863 !*** ../node_modules/prop-types/checkPropTypes.js ***!
7864 \****************************************************/
7865 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7866
7867 "use strict";
7868 /**
7869 * Copyright (c) 2013-present, Facebook, Inc.
7870 *
7871 * This source code is licensed under the MIT license found in the
7872 * LICENSE file in the root directory of this source tree.
7873 */
7874
7875
7876
7877 var printWarning = function() {};
7878
7879 if (true) {
7880 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
7881 var loggedTypeFailures = {};
7882 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
7883
7884 printWarning = function(text) {
7885 var message = 'Warning: ' + text;
7886 if (typeof console !== 'undefined') {
7887 console.error(message);
7888 }
7889 try {
7890 // --- Welcome to debugging React ---
7891 // This error was thrown as a convenience so that you can use this stack
7892 // to find the callsite that caused this warning to fire.
7893 throw new Error(message);
7894 } catch (x) { /**/ }
7895 };
7896 }
7897
7898 /**
7899 * Assert that the values match with the type specs.
7900 * Error messages are memorized and will only be shown once.
7901 *
7902 * @param {object} typeSpecs Map of name to a ReactPropType
7903 * @param {object} values Runtime values that need to be type-checked
7904 * @param {string} location e.g. "prop", "context", "child context"
7905 * @param {string} componentName Name of the component for error messages.
7906 * @param {?Function} getStack Returns the component stack.
7907 * @private
7908 */
7909 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
7910 if (true) {
7911 for (var typeSpecName in typeSpecs) {
7912 if (has(typeSpecs, typeSpecName)) {
7913 var error;
7914 // Prop type validation may throw. In case they do, we don't want to
7915 // fail the render phase where it didn't fail before. So we log it.
7916 // After these have been cleaned up, we'll let them throw.
7917 try {
7918 // This is intentionally an invariant that gets caught. It's the same
7919 // behavior as without this statement except with a better message.
7920 if (typeof typeSpecs[typeSpecName] !== 'function') {
7921 var err = Error(
7922 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
7923 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
7924 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
7925 );
7926 err.name = 'Invariant Violation';
7927 throw err;
7928 }
7929 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
7930 } catch (ex) {
7931 error = ex;
7932 }
7933 if (error && !(error instanceof Error)) {
7934 printWarning(
7935 (componentName || 'React class') + ': type specification of ' +
7936 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
7937 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
7938 'You may have forgotten to pass an argument to the type checker ' +
7939 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
7940 'shape all require an argument).'
7941 );
7942 }
7943 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
7944 // Only monitor this failure once because there tends to be a lot of the
7945 // same error.
7946 loggedTypeFailures[error.message] = true;
7947
7948 var stack = getStack ? getStack() : '';
7949
7950 printWarning(
7951 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
7952 );
7953 }
7954 }
7955 }
7956 }
7957 }
7958
7959 /**
7960 * Resets warning cache when testing.
7961 *
7962 * @private
7963 */
7964 checkPropTypes.resetWarningCache = function() {
7965 if (true) {
7966 loggedTypeFailures = {};
7967 }
7968 }
7969
7970 module.exports = checkPropTypes;
7971
7972
7973 /***/ }),
7974
7975 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
7976 /*!*************************************************************!*\
7977 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
7978 \*************************************************************/
7979 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7980
7981 "use strict";
7982 /**
7983 * Copyright (c) 2013-present, Facebook, Inc.
7984 *
7985 * This source code is licensed under the MIT license found in the
7986 * LICENSE file in the root directory of this source tree.
7987 */
7988
7989
7990
7991 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
7992 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
7993
7994 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
7995 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
7996 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
7997
7998 var printWarning = function() {};
7999
8000 if (true) {
8001 printWarning = function(text) {
8002 var message = 'Warning: ' + text;
8003 if (typeof console !== 'undefined') {
8004 console.error(message);
8005 }
8006 try {
8007 // --- Welcome to debugging React ---
8008 // This error was thrown as a convenience so that you can use this stack
8009 // to find the callsite that caused this warning to fire.
8010 throw new Error(message);
8011 } catch (x) {}
8012 };
8013 }
8014
8015 function emptyFunctionThatReturnsNull() {
8016 return null;
8017 }
8018
8019 module.exports = function(isValidElement, throwOnDirectAccess) {
8020 /* global Symbol */
8021 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
8022 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
8023
8024 /**
8025 * Returns the iterator method function contained on the iterable object.
8026 *
8027 * Be sure to invoke the function with the iterable as context:
8028 *
8029 * var iteratorFn = getIteratorFn(myIterable);
8030 * if (iteratorFn) {
8031 * var iterator = iteratorFn.call(myIterable);
8032 * ...
8033 * }
8034 *
8035 * @param {?object} maybeIterable
8036 * @return {?function}
8037 */
8038 function getIteratorFn(maybeIterable) {
8039 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
8040 if (typeof iteratorFn === 'function') {
8041 return iteratorFn;
8042 }
8043 }
8044
8045 /**
8046 * Collection of methods that allow declaration and validation of props that are
8047 * supplied to React components. Example usage:
8048 *
8049 * var Props = require('ReactPropTypes');
8050 * var MyArticle = React.createClass({
8051 * propTypes: {
8052 * // An optional string prop named "description".
8053 * description: Props.string,
8054 *
8055 * // A required enum prop named "category".
8056 * category: Props.oneOf(['News','Photos']).isRequired,
8057 *
8058 * // A prop named "dialog" that requires an instance of Dialog.
8059 * dialog: Props.instanceOf(Dialog).isRequired
8060 * },
8061 * render: function() { ... }
8062 * });
8063 *
8064 * A more formal specification of how these methods are used:
8065 *
8066 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
8067 * decl := ReactPropTypes.{type}(.isRequired)?
8068 *
8069 * Each and every declaration produces a function with the same signature. This
8070 * allows the creation of custom validation functions. For example:
8071 *
8072 * var MyLink = React.createClass({
8073 * propTypes: {
8074 * // An optional string or URI prop named "href".
8075 * href: function(props, propName, componentName) {
8076 * var propValue = props[propName];
8077 * if (propValue != null && typeof propValue !== 'string' &&
8078 * !(propValue instanceof URI)) {
8079 * return new Error(
8080 * 'Expected a string or an URI for ' + propName + ' in ' +
8081 * componentName
8082 * );
8083 * }
8084 * }
8085 * },
8086 * render: function() {...}
8087 * });
8088 *
8089 * @internal
8090 */
8091
8092 var ANONYMOUS = '<<anonymous>>';
8093
8094 // Important!
8095 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
8096 var ReactPropTypes = {
8097 array: createPrimitiveTypeChecker('array'),
8098 bigint: createPrimitiveTypeChecker('bigint'),
8099 bool: createPrimitiveTypeChecker('boolean'),
8100 func: createPrimitiveTypeChecker('function'),
8101 number: createPrimitiveTypeChecker('number'),
8102 object: createPrimitiveTypeChecker('object'),
8103 string: createPrimitiveTypeChecker('string'),
8104 symbol: createPrimitiveTypeChecker('symbol'),
8105
8106 any: createAnyTypeChecker(),
8107 arrayOf: createArrayOfTypeChecker,
8108 element: createElementTypeChecker(),
8109 elementType: createElementTypeTypeChecker(),
8110 instanceOf: createInstanceTypeChecker,
8111 node: createNodeChecker(),
8112 objectOf: createObjectOfTypeChecker,
8113 oneOf: createEnumTypeChecker,
8114 oneOfType: createUnionTypeChecker,
8115 shape: createShapeTypeChecker,
8116 exact: createStrictShapeTypeChecker,
8117 };
8118
8119 /**
8120 * inlined Object.is polyfill to avoid requiring consumers ship their own
8121 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
8122 */
8123 /*eslint-disable no-self-compare*/
8124 function is(x, y) {
8125 // SameValue algorithm
8126 if (x === y) {
8127 // Steps 1-5, 7-10
8128 // Steps 6.b-6.e: +0 != -0
8129 return x !== 0 || 1 / x === 1 / y;
8130 } else {
8131 // Step 6.a: NaN == NaN
8132 return x !== x && y !== y;
8133 }
8134 }
8135 /*eslint-enable no-self-compare*/
8136
8137 /**
8138 * We use an Error-like object for backward compatibility as people may call
8139 * PropTypes directly and inspect their output. However, we don't use real
8140 * Errors anymore. We don't inspect their stack anyway, and creating them
8141 * is prohibitively expensive if they are created too often, such as what
8142 * happens in oneOfType() for any type before the one that matched.
8143 */
8144 function PropTypeError(message, data) {
8145 this.message = message;
8146 this.data = data && typeof data === 'object' ? data: {};
8147 this.stack = '';
8148 }
8149 // Make `instanceof Error` still work for returned errors.
8150 PropTypeError.prototype = Error.prototype;
8151
8152 function createChainableTypeChecker(validate) {
8153 if (true) {
8154 var manualPropTypeCallCache = {};
8155 var manualPropTypeWarningCount = 0;
8156 }
8157 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
8158 componentName = componentName || ANONYMOUS;
8159 propFullName = propFullName || propName;
8160
8161 if (secret !== ReactPropTypesSecret) {
8162 if (throwOnDirectAccess) {
8163 // New behavior only for users of `prop-types` package
8164 var err = new Error(
8165 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
8166 'Use `PropTypes.checkPropTypes()` to call them. ' +
8167 'Read more at http://fb.me/use-check-prop-types'
8168 );
8169 err.name = 'Invariant Violation';
8170 throw err;
8171 } else if ( true && typeof console !== 'undefined') {
8172 // Old behavior for people using React.PropTypes
8173 var cacheKey = componentName + ':' + propName;
8174 if (
8175 !manualPropTypeCallCache[cacheKey] &&
8176 // Avoid spamming the console because they are often not actionable except for lib authors
8177 manualPropTypeWarningCount < 3
8178 ) {
8179 printWarning(
8180 'You are manually calling a React.PropTypes validation ' +
8181 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
8182 'and will throw in the standalone `prop-types` package. ' +
8183 'You may be seeing this warning due to a third-party PropTypes ' +
8184 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
8185 );
8186 manualPropTypeCallCache[cacheKey] = true;
8187 manualPropTypeWarningCount++;
8188 }
8189 }
8190 }
8191 if (props[propName] == null) {
8192 if (isRequired) {
8193 if (props[propName] === null) {
8194 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
8195 }
8196 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
8197 }
8198 return null;
8199 } else {
8200 return validate(props, propName, componentName, location, propFullName);
8201 }
8202 }
8203
8204 var chainedCheckType = checkType.bind(null, false);
8205 chainedCheckType.isRequired = checkType.bind(null, true);
8206
8207 return chainedCheckType;
8208 }
8209
8210 function createPrimitiveTypeChecker(expectedType) {
8211 function validate(props, propName, componentName, location, propFullName, secret) {
8212 var propValue = props[propName];
8213 var propType = getPropType(propValue);
8214 if (propType !== expectedType) {
8215 // `propValue` being instance of, say, date/regexp, pass the 'object'
8216 // check, but we can offer a more precise error message here rather than
8217 // 'of type `object`'.
8218 var preciseType = getPreciseType(propValue);
8219
8220 return new PropTypeError(
8221 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
8222 {expectedType: expectedType}
8223 );
8224 }
8225 return null;
8226 }
8227 return createChainableTypeChecker(validate);
8228 }
8229
8230 function createAnyTypeChecker() {
8231 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
8232 }
8233
8234 function createArrayOfTypeChecker(typeChecker) {
8235 function validate(props, propName, componentName, location, propFullName) {
8236 if (typeof typeChecker !== 'function') {
8237 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
8238 }
8239 var propValue = props[propName];
8240 if (!Array.isArray(propValue)) {
8241 var propType = getPropType(propValue);
8242 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
8243 }
8244 for (var i = 0; i < propValue.length; i++) {
8245 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
8246 if (error instanceof Error) {
8247 return error;
8248 }
8249 }
8250 return null;
8251 }
8252 return createChainableTypeChecker(validate);
8253 }
8254
8255 function createElementTypeChecker() {
8256 function validate(props, propName, componentName, location, propFullName) {
8257 var propValue = props[propName];
8258 if (!isValidElement(propValue)) {
8259 var propType = getPropType(propValue);
8260 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
8261 }
8262 return null;
8263 }
8264 return createChainableTypeChecker(validate);
8265 }
8266
8267 function createElementTypeTypeChecker() {
8268 function validate(props, propName, componentName, location, propFullName) {
8269 var propValue = props[propName];
8270 if (!ReactIs.isValidElementType(propValue)) {
8271 var propType = getPropType(propValue);
8272 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
8273 }
8274 return null;
8275 }
8276 return createChainableTypeChecker(validate);
8277 }
8278
8279 function createInstanceTypeChecker(expectedClass) {
8280 function validate(props, propName, componentName, location, propFullName) {
8281 if (!(props[propName] instanceof expectedClass)) {
8282 var expectedClassName = expectedClass.name || ANONYMOUS;
8283 var actualClassName = getClassName(props[propName]);
8284 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
8285 }
8286 return null;
8287 }
8288 return createChainableTypeChecker(validate);
8289 }
8290
8291 function createEnumTypeChecker(expectedValues) {
8292 if (!Array.isArray(expectedValues)) {
8293 if (true) {
8294 if (arguments.length > 1) {
8295 printWarning(
8296 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
8297 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
8298 );
8299 } else {
8300 printWarning('Invalid argument supplied to oneOf, expected an array.');
8301 }
8302 }
8303 return emptyFunctionThatReturnsNull;
8304 }
8305
8306 function validate(props, propName, componentName, location, propFullName) {
8307 var propValue = props[propName];
8308 for (var i = 0; i < expectedValues.length; i++) {
8309 if (is(propValue, expectedValues[i])) {
8310 return null;
8311 }
8312 }
8313
8314 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
8315 var type = getPreciseType(value);
8316 if (type === 'symbol') {
8317 return String(value);
8318 }
8319 return value;
8320 });
8321 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
8322 }
8323 return createChainableTypeChecker(validate);
8324 }
8325
8326 function createObjectOfTypeChecker(typeChecker) {
8327 function validate(props, propName, componentName, location, propFullName) {
8328 if (typeof typeChecker !== 'function') {
8329 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
8330 }
8331 var propValue = props[propName];
8332 var propType = getPropType(propValue);
8333 if (propType !== 'object') {
8334 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
8335 }
8336 for (var key in propValue) {
8337 if (has(propValue, key)) {
8338 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8339 if (error instanceof Error) {
8340 return error;
8341 }
8342 }
8343 }
8344 return null;
8345 }
8346 return createChainableTypeChecker(validate);
8347 }
8348
8349 function createUnionTypeChecker(arrayOfTypeCheckers) {
8350 if (!Array.isArray(arrayOfTypeCheckers)) {
8351 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
8352 return emptyFunctionThatReturnsNull;
8353 }
8354
8355 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8356 var checker = arrayOfTypeCheckers[i];
8357 if (typeof checker !== 'function') {
8358 printWarning(
8359 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
8360 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
8361 );
8362 return emptyFunctionThatReturnsNull;
8363 }
8364 }
8365
8366 function validate(props, propName, componentName, location, propFullName) {
8367 var expectedTypes = [];
8368 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
8369 var checker = arrayOfTypeCheckers[i];
8370 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
8371 if (checkerResult == null) {
8372 return null;
8373 }
8374 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
8375 expectedTypes.push(checkerResult.data.expectedType);
8376 }
8377 }
8378 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
8379 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
8380 }
8381 return createChainableTypeChecker(validate);
8382 }
8383
8384 function createNodeChecker() {
8385 function validate(props, propName, componentName, location, propFullName) {
8386 if (!isNode(props[propName])) {
8387 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
8388 }
8389 return null;
8390 }
8391 return createChainableTypeChecker(validate);
8392 }
8393
8394 function invalidValidatorError(componentName, location, propFullName, key, type) {
8395 return new PropTypeError(
8396 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
8397 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
8398 );
8399 }
8400
8401 function createShapeTypeChecker(shapeTypes) {
8402 function validate(props, propName, componentName, location, propFullName) {
8403 var propValue = props[propName];
8404 var propType = getPropType(propValue);
8405 if (propType !== 'object') {
8406 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8407 }
8408 for (var key in shapeTypes) {
8409 var checker = shapeTypes[key];
8410 if (typeof checker !== 'function') {
8411 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8412 }
8413 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8414 if (error) {
8415 return error;
8416 }
8417 }
8418 return null;
8419 }
8420 return createChainableTypeChecker(validate);
8421 }
8422
8423 function createStrictShapeTypeChecker(shapeTypes) {
8424 function validate(props, propName, componentName, location, propFullName) {
8425 var propValue = props[propName];
8426 var propType = getPropType(propValue);
8427 if (propType !== 'object') {
8428 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
8429 }
8430 // We need to check all keys in case some are required but missing from props.
8431 var allKeys = assign({}, props[propName], shapeTypes);
8432 for (var key in allKeys) {
8433 var checker = shapeTypes[key];
8434 if (has(shapeTypes, key) && typeof checker !== 'function') {
8435 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
8436 }
8437 if (!checker) {
8438 return new PropTypeError(
8439 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
8440 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
8441 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
8442 );
8443 }
8444 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
8445 if (error) {
8446 return error;
8447 }
8448 }
8449 return null;
8450 }
8451
8452 return createChainableTypeChecker(validate);
8453 }
8454
8455 function isNode(propValue) {
8456 switch (typeof propValue) {
8457 case 'number':
8458 case 'string':
8459 case 'undefined':
8460 return true;
8461 case 'boolean':
8462 return !propValue;
8463 case 'object':
8464 if (Array.isArray(propValue)) {
8465 return propValue.every(isNode);
8466 }
8467 if (propValue === null || isValidElement(propValue)) {
8468 return true;
8469 }
8470
8471 var iteratorFn = getIteratorFn(propValue);
8472 if (iteratorFn) {
8473 var iterator = iteratorFn.call(propValue);
8474 var step;
8475 if (iteratorFn !== propValue.entries) {
8476 while (!(step = iterator.next()).done) {
8477 if (!isNode(step.value)) {
8478 return false;
8479 }
8480 }
8481 } else {
8482 // Iterator will provide entry [k,v] tuples rather than values.
8483 while (!(step = iterator.next()).done) {
8484 var entry = step.value;
8485 if (entry) {
8486 if (!isNode(entry[1])) {
8487 return false;
8488 }
8489 }
8490 }
8491 }
8492 } else {
8493 return false;
8494 }
8495
8496 return true;
8497 default:
8498 return false;
8499 }
8500 }
8501
8502 function isSymbol(propType, propValue) {
8503 // Native Symbol.
8504 if (propType === 'symbol') {
8505 return true;
8506 }
8507
8508 // falsy value can't be a Symbol
8509 if (!propValue) {
8510 return false;
8511 }
8512
8513 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
8514 if (propValue['@@toStringTag'] === 'Symbol') {
8515 return true;
8516 }
8517
8518 // Fallback for non-spec compliant Symbols which are polyfilled.
8519 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
8520 return true;
8521 }
8522
8523 return false;
8524 }
8525
8526 // Equivalent of `typeof` but with special handling for array and regexp.
8527 function getPropType(propValue) {
8528 var propType = typeof propValue;
8529 if (Array.isArray(propValue)) {
8530 return 'array';
8531 }
8532 if (propValue instanceof RegExp) {
8533 // Old webkits (at least until Android 4.0) return 'function' rather than
8534 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
8535 // passes PropTypes.object.
8536 return 'object';
8537 }
8538 if (isSymbol(propType, propValue)) {
8539 return 'symbol';
8540 }
8541 return propType;
8542 }
8543
8544 // This handles more types than `getPropType`. Only used for error messages.
8545 // See `createPrimitiveTypeChecker`.
8546 function getPreciseType(propValue) {
8547 if (typeof propValue === 'undefined' || propValue === null) {
8548 return '' + propValue;
8549 }
8550 var propType = getPropType(propValue);
8551 if (propType === 'object') {
8552 if (propValue instanceof Date) {
8553 return 'date';
8554 } else if (propValue instanceof RegExp) {
8555 return 'regexp';
8556 }
8557 }
8558 return propType;
8559 }
8560
8561 // Returns a string that is postfixed to a warning about an invalid type.
8562 // For example, "undefined" or "of type array"
8563 function getPostfixForTypeWarning(value) {
8564 var type = getPreciseType(value);
8565 switch (type) {
8566 case 'array':
8567 case 'object':
8568 return 'an ' + type;
8569 case 'boolean':
8570 case 'date':
8571 case 'regexp':
8572 return 'a ' + type;
8573 default:
8574 return type;
8575 }
8576 }
8577
8578 // Returns class name of the object, if any.
8579 function getClassName(propValue) {
8580 if (!propValue.constructor || !propValue.constructor.name) {
8581 return ANONYMOUS;
8582 }
8583 return propValue.constructor.name;
8584 }
8585
8586 ReactPropTypes.checkPropTypes = checkPropTypes;
8587 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
8588 ReactPropTypes.PropTypes = ReactPropTypes;
8589
8590 return ReactPropTypes;
8591 };
8592
8593
8594 /***/ }),
8595
8596 /***/ "../node_modules/prop-types/index.js":
8597 /*!*******************************************!*\
8598 !*** ../node_modules/prop-types/index.js ***!
8599 \*******************************************/
8600 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8601
8602 /**
8603 * Copyright (c) 2013-present, Facebook, Inc.
8604 *
8605 * This source code is licensed under the MIT license found in the
8606 * LICENSE file in the root directory of this source tree.
8607 */
8608
8609 if (true) {
8610 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
8611
8612 // By explicitly using `prop-types` you are opting into new development behavior.
8613 // http://fb.me/prop-types-in-prod
8614 var throwOnDirectAccess = true;
8615 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
8616 } else {}
8617
8618
8619 /***/ }),
8620
8621 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
8622 /*!**************************************************************!*\
8623 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
8624 \**************************************************************/
8625 /***/ ((module) => {
8626
8627 "use strict";
8628 /**
8629 * Copyright (c) 2013-present, Facebook, Inc.
8630 *
8631 * This source code is licensed under the MIT license found in the
8632 * LICENSE file in the root directory of this source tree.
8633 */
8634
8635
8636
8637 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
8638
8639 module.exports = ReactPropTypesSecret;
8640
8641
8642 /***/ }),
8643
8644 /***/ "../node_modules/prop-types/lib/has.js":
8645 /*!*********************************************!*\
8646 !*** ../node_modules/prop-types/lib/has.js ***!
8647 \*********************************************/
8648 /***/ ((module) => {
8649
8650 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
8651
8652
8653 /***/ }),
8654
8655 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
8656 /*!************************************************************************************!*\
8657 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
8658 \************************************************************************************/
8659 /***/ ((__unused_webpack_module, exports) => {
8660
8661 "use strict";
8662 /** @license React v16.13.1
8663 * react-is.development.js
8664 *
8665 * Copyright (c) Facebook, Inc. and its affiliates.
8666 *
8667 * This source code is licensed under the MIT license found in the
8668 * LICENSE file in the root directory of this source tree.
8669 */
8670
8671
8672
8673
8674
8675 if (true) {
8676 (function() {
8677 'use strict';
8678
8679 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
8680 // nor polyfill, then a plain number is used for performance.
8681 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
8682 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
8683 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
8684 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
8685 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
8686 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
8687 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
8688 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
8689 // (unstable) APIs that have been removed. Can we remove the symbols?
8690
8691 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
8692 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
8693 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
8694 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
8695 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
8696 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
8697 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
8698 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
8699 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
8700 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
8701 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
8702
8703 function isValidElementType(type) {
8704 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
8705 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);
8706 }
8707
8708 function typeOf(object) {
8709 if (typeof object === 'object' && object !== null) {
8710 var $$typeof = object.$$typeof;
8711
8712 switch ($$typeof) {
8713 case REACT_ELEMENT_TYPE:
8714 var type = object.type;
8715
8716 switch (type) {
8717 case REACT_ASYNC_MODE_TYPE:
8718 case REACT_CONCURRENT_MODE_TYPE:
8719 case REACT_FRAGMENT_TYPE:
8720 case REACT_PROFILER_TYPE:
8721 case REACT_STRICT_MODE_TYPE:
8722 case REACT_SUSPENSE_TYPE:
8723 return type;
8724
8725 default:
8726 var $$typeofType = type && type.$$typeof;
8727
8728 switch ($$typeofType) {
8729 case REACT_CONTEXT_TYPE:
8730 case REACT_FORWARD_REF_TYPE:
8731 case REACT_LAZY_TYPE:
8732 case REACT_MEMO_TYPE:
8733 case REACT_PROVIDER_TYPE:
8734 return $$typeofType;
8735
8736 default:
8737 return $$typeof;
8738 }
8739
8740 }
8741
8742 case REACT_PORTAL_TYPE:
8743 return $$typeof;
8744 }
8745 }
8746
8747 return undefined;
8748 } // AsyncMode is deprecated along with isAsyncMode
8749
8750 var AsyncMode = REACT_ASYNC_MODE_TYPE;
8751 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
8752 var ContextConsumer = REACT_CONTEXT_TYPE;
8753 var ContextProvider = REACT_PROVIDER_TYPE;
8754 var Element = REACT_ELEMENT_TYPE;
8755 var ForwardRef = REACT_FORWARD_REF_TYPE;
8756 var Fragment = REACT_FRAGMENT_TYPE;
8757 var Lazy = REACT_LAZY_TYPE;
8758 var Memo = REACT_MEMO_TYPE;
8759 var Portal = REACT_PORTAL_TYPE;
8760 var Profiler = REACT_PROFILER_TYPE;
8761 var StrictMode = REACT_STRICT_MODE_TYPE;
8762 var Suspense = REACT_SUSPENSE_TYPE;
8763 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
8764
8765 function isAsyncMode(object) {
8766 {
8767 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
8768 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
8769
8770 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.');
8771 }
8772 }
8773
8774 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
8775 }
8776 function isConcurrentMode(object) {
8777 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
8778 }
8779 function isContextConsumer(object) {
8780 return typeOf(object) === REACT_CONTEXT_TYPE;
8781 }
8782 function isContextProvider(object) {
8783 return typeOf(object) === REACT_PROVIDER_TYPE;
8784 }
8785 function isElement(object) {
8786 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
8787 }
8788 function isForwardRef(object) {
8789 return typeOf(object) === REACT_FORWARD_REF_TYPE;
8790 }
8791 function isFragment(object) {
8792 return typeOf(object) === REACT_FRAGMENT_TYPE;
8793 }
8794 function isLazy(object) {
8795 return typeOf(object) === REACT_LAZY_TYPE;
8796 }
8797 function isMemo(object) {
8798 return typeOf(object) === REACT_MEMO_TYPE;
8799 }
8800 function isPortal(object) {
8801 return typeOf(object) === REACT_PORTAL_TYPE;
8802 }
8803 function isProfiler(object) {
8804 return typeOf(object) === REACT_PROFILER_TYPE;
8805 }
8806 function isStrictMode(object) {
8807 return typeOf(object) === REACT_STRICT_MODE_TYPE;
8808 }
8809 function isSuspense(object) {
8810 return typeOf(object) === REACT_SUSPENSE_TYPE;
8811 }
8812
8813 exports.AsyncMode = AsyncMode;
8814 exports.ConcurrentMode = ConcurrentMode;
8815 exports.ContextConsumer = ContextConsumer;
8816 exports.ContextProvider = ContextProvider;
8817 exports.Element = Element;
8818 exports.ForwardRef = ForwardRef;
8819 exports.Fragment = Fragment;
8820 exports.Lazy = Lazy;
8821 exports.Memo = Memo;
8822 exports.Portal = Portal;
8823 exports.Profiler = Profiler;
8824 exports.StrictMode = StrictMode;
8825 exports.Suspense = Suspense;
8826 exports.isAsyncMode = isAsyncMode;
8827 exports.isConcurrentMode = isConcurrentMode;
8828 exports.isContextConsumer = isContextConsumer;
8829 exports.isContextProvider = isContextProvider;
8830 exports.isElement = isElement;
8831 exports.isForwardRef = isForwardRef;
8832 exports.isFragment = isFragment;
8833 exports.isLazy = isLazy;
8834 exports.isMemo = isMemo;
8835 exports.isPortal = isPortal;
8836 exports.isProfiler = isProfiler;
8837 exports.isStrictMode = isStrictMode;
8838 exports.isSuspense = isSuspense;
8839 exports.isValidElementType = isValidElementType;
8840 exports.typeOf = typeOf;
8841 })();
8842 }
8843
8844
8845 /***/ }),
8846
8847 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
8848 /*!*****************************************************************!*\
8849 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
8850 \*****************************************************************/
8851 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8852
8853 "use strict";
8854
8855
8856 if (false) {} else {
8857 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
8858 }
8859
8860
8861 /***/ }),
8862
8863 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
8864 /*!**************************************************************!*\
8865 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
8866 \**************************************************************/
8867 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8868
8869 "use strict";
8870
8871
8872 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); }
8873
8874 Object.defineProperty(exports, "__esModule", ({
8875 value: true
8876 }));
8877 Object.defineProperty(exports, "DraggableCore", ({
8878 enumerable: true,
8879 get: function get() {
8880 return _DraggableCore.default;
8881 }
8882 }));
8883 exports["default"] = void 0;
8884
8885 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8886
8887 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8888
8889 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
8890
8891 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
8892
8893 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
8894
8895 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
8896
8897 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
8898
8899 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
8900
8901 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
8902
8903 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
8904
8905 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8906
8907 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); }
8908
8909 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; }
8910
8911 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); }
8912
8913 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; }
8914
8915 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; }
8916
8917 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; }
8918
8919 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; }
8920
8921 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8922
8923 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."); }
8924
8925 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); }
8926
8927 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; }
8928
8929 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; }
8930
8931 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8932
8933 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8934
8935 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); } }
8936
8937 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8938
8939 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); }
8940
8941 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8942
8943 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); }; }
8944
8945 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); }
8946
8947 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
8948
8949 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; } }
8950
8951 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
8952
8953 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; }
8954
8955 //
8956 // Define <Draggable>
8957 //
8958 var Draggable = /*#__PURE__*/function (_React$Component) {
8959 _inherits(Draggable, _React$Component);
8960
8961 var _super = _createSuper(Draggable);
8962
8963 function Draggable(props
8964 /*: DraggableProps*/
8965 ) {
8966 var _this;
8967
8968 _classCallCheck(this, Draggable);
8969
8970 _this = _super.call(this, props);
8971
8972 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
8973 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
8974
8975 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.
8976
8977
8978 if (shouldStart === false) return false;
8979
8980 _this.setState({
8981 dragging: true,
8982 dragged: true
8983 });
8984 });
8985
8986 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
8987 if (!_this.state.dragging) return false;
8988 (0, _log.default)('Draggable: onDrag: %j', coreData);
8989 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
8990 var newState
8991 /*: $Shape<DraggableState>*/
8992 = {
8993 x: uiData.x,
8994 y: uiData.y
8995 }; // Keep within bounds.
8996
8997 if (_this.props.bounds) {
8998 // Save original x and y.
8999 var x = newState.x,
9000 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
9001 // we start removing slack, the element won't react to it right away until it's been
9002 // completely removed.
9003
9004 newState.x += _this.state.slackX;
9005 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
9006
9007 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
9008 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
9009 newStateX = _getBoundPosition2[0],
9010 newStateY = _getBoundPosition2[1];
9011
9012 newState.x = newStateX;
9013 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
9014
9015 newState.slackX = _this.state.slackX + (x - newState.x);
9016 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
9017
9018 uiData.x = newState.x;
9019 uiData.y = newState.y;
9020 uiData.deltaX = newState.x - _this.state.x;
9021 uiData.deltaY = newState.y - _this.state.y;
9022 } // Short-circuit if user's callback killed it.
9023
9024
9025 var shouldUpdate = _this.props.onDrag(e, uiData);
9026
9027 if (shouldUpdate === false) return false;
9028
9029 _this.setState(newState);
9030 });
9031
9032 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
9033 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
9034
9035 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
9036
9037 if (shouldContinue === false) return false;
9038 (0, _log.default)('Draggable: onDragStop: %j', coreData);
9039 var newState
9040 /*: $Shape<DraggableState>*/
9041 = {
9042 dragging: false,
9043 slackX: 0,
9044 slackY: 0
9045 }; // If this is a controlled component, the result of this operation will be to
9046 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
9047
9048 var controlled = Boolean(_this.props.position);
9049
9050 if (controlled) {
9051 var _this$props$position = _this.props.position,
9052 x = _this$props$position.x,
9053 y = _this$props$position.y;
9054 newState.x = x;
9055 newState.y = y;
9056 }
9057
9058 _this.setState(newState);
9059 });
9060
9061 _this.state = {
9062 // Whether or not we are currently dragging.
9063 dragging: false,
9064 // Whether or not we have been dragged before.
9065 dragged: false,
9066 // Current transform x and y.
9067 x: props.position ? props.position.x : props.defaultPosition.x,
9068 y: props.position ? props.position.y : props.defaultPosition.y,
9069 prevPropsPosition: _objectSpread({}, props.position),
9070 // Used for compensating for out-of-bounds drags
9071 slackX: 0,
9072 slackY: 0,
9073 // Can only determine if SVG after mounting
9074 isElementSVG: false
9075 };
9076
9077 if (props.position && !(props.onDrag || props.onStop)) {
9078 // eslint-disable-next-line no-console
9079 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.');
9080 }
9081
9082 return _this;
9083 }
9084
9085 _createClass(Draggable, [{
9086 key: "componentDidMount",
9087 value: function componentDidMount() {
9088 // Check to see if the element passed is an instanceof SVGElement
9089 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
9090 this.setState({
9091 isElementSVG: true
9092 });
9093 }
9094 }
9095 }, {
9096 key: "componentWillUnmount",
9097 value: function componentWillUnmount() {
9098 this.setState({
9099 dragging: false
9100 }); // prevents invariant if unmounted while dragging
9101 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9102 // the underlying DOM node ourselves. See the README for more information.
9103
9104 }, {
9105 key: "findDOMNode",
9106 value: function findDOMNode()
9107 /*: ?HTMLElement*/
9108 {
9109 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
9110
9111 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);
9112 }
9113 }, {
9114 key: "render",
9115 value: function render()
9116 /*: ReactElement<any>*/
9117 {
9118 var _clsx;
9119
9120 var _this$props2 = this.props,
9121 axis = _this$props2.axis,
9122 bounds = _this$props2.bounds,
9123 children = _this$props2.children,
9124 defaultPosition = _this$props2.defaultPosition,
9125 defaultClassName = _this$props2.defaultClassName,
9126 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
9127 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
9128 position = _this$props2.position,
9129 positionOffset = _this$props2.positionOffset,
9130 scale = _this$props2.scale,
9131 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
9132
9133 var style = {};
9134 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
9135
9136 var controlled = Boolean(position);
9137 var draggable = !controlled || this.state.dragging;
9138 var validPosition = position || defaultPosition;
9139 var transformOpts = {
9140 // Set left if horizontal drag is enabled
9141 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
9142 // Set top if vertical drag is enabled
9143 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
9144 }; // If this element was SVG, we use the `transform` attribute.
9145
9146 if (this.state.isElementSVG) {
9147 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
9148 } else {
9149 // Add a CSS transform to move the element around. This allows us to move the element around
9150 // without worrying about whether or not it is relatively or absolutely positioned.
9151 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
9152 // has a clean slate.
9153 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
9154 } // Mark with class while dragging
9155
9156
9157 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
9158 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9159
9160 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
9161 onStart: this.onDragStart,
9162 onDrag: this.onDrag,
9163 onStop: this.onDragStop
9164 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
9165 className: className,
9166 style: _objectSpread(_objectSpread({}, children.props.style), style),
9167 transform: svgTransform
9168 }));
9169 }
9170 }], [{
9171 key: "getDerivedStateFromProps",
9172 value: // React 16.3+
9173 // Arity (props, state)
9174 function getDerivedStateFromProps(_ref, _ref2)
9175 /*: ?$Shape<DraggableState>*/
9176 {
9177 var position = _ref.position;
9178 var prevPropsPosition = _ref2.prevPropsPosition;
9179
9180 // Set x/y if a new position is provided in props that is different than the previous.
9181 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
9182 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
9183 position: position,
9184 prevPropsPosition: prevPropsPosition
9185 });
9186 return {
9187 x: position.x,
9188 y: position.y,
9189 prevPropsPosition: _objectSpread({}, position)
9190 };
9191 }
9192
9193 return null;
9194 }
9195 }]);
9196
9197 return Draggable;
9198 }(React.Component);
9199
9200 exports["default"] = Draggable;
9201
9202 _defineProperty(Draggable, "displayName", 'Draggable');
9203
9204 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
9205 /**
9206 * `axis` determines which axis the draggable can move.
9207 *
9208 * Note that all callbacks will still return data as normal. This only
9209 * controls flushing to the DOM.
9210 *
9211 * 'both' allows movement horizontally and vertically.
9212 * 'x' limits movement to horizontal axis.
9213 * 'y' limits movement to vertical axis.
9214 * 'none' limits all movement.
9215 *
9216 * Defaults to 'both'.
9217 */
9218 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
9219
9220 /**
9221 * `bounds` determines the range of movement available to the element.
9222 * Available values are:
9223 *
9224 * 'parent' restricts movement within the Draggable's parent node.
9225 *
9226 * Alternatively, pass an object with the following properties, all of which are optional:
9227 *
9228 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
9229 *
9230 * All values are in px.
9231 *
9232 * Example:
9233 *
9234 * ```jsx
9235 * let App = React.createClass({
9236 * render: function () {
9237 * return (
9238 * <Draggable bounds={{right: 300, bottom: 300}}>
9239 * <div>Content</div>
9240 * </Draggable>
9241 * );
9242 * }
9243 * });
9244 * ```
9245 */
9246 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
9247 left: _propTypes.default.number,
9248 right: _propTypes.default.number,
9249 top: _propTypes.default.number,
9250 bottom: _propTypes.default.number
9251 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
9252 defaultClassName: _propTypes.default.string,
9253 defaultClassNameDragging: _propTypes.default.string,
9254 defaultClassNameDragged: _propTypes.default.string,
9255
9256 /**
9257 * `defaultPosition` specifies the x and y that the dragged item should start at
9258 *
9259 * Example:
9260 *
9261 * ```jsx
9262 * let App = React.createClass({
9263 * render: function () {
9264 * return (
9265 * <Draggable defaultPosition={{x: 25, y: 25}}>
9266 * <div>I start with transformX: 25px and transformY: 25px;</div>
9267 * </Draggable>
9268 * );
9269 * }
9270 * });
9271 * ```
9272 */
9273 defaultPosition: _propTypes.default.shape({
9274 x: _propTypes.default.number,
9275 y: _propTypes.default.number
9276 }),
9277 positionOffset: _propTypes.default.shape({
9278 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
9279 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
9280 }),
9281
9282 /**
9283 * `position`, if present, defines the current position of the element.
9284 *
9285 * This is similar to how form elements in React work - if no `position` is supplied, the component
9286 * is uncontrolled.
9287 *
9288 * Example:
9289 *
9290 * ```jsx
9291 * let App = React.createClass({
9292 * render: function () {
9293 * return (
9294 * <Draggable position={{x: 25, y: 25}}>
9295 * <div>I start with transformX: 25px and transformY: 25px;</div>
9296 * </Draggable>
9297 * );
9298 * }
9299 * });
9300 * ```
9301 */
9302 position: _propTypes.default.shape({
9303 x: _propTypes.default.number,
9304 y: _propTypes.default.number
9305 }),
9306
9307 /**
9308 * These properties should be defined on the child, not here.
9309 */
9310 className: _shims.dontSetMe,
9311 style: _shims.dontSetMe,
9312 transform: _shims.dontSetMe
9313 }));
9314
9315 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
9316 axis: 'both',
9317 bounds: false,
9318 defaultClassName: 'react-draggable',
9319 defaultClassNameDragging: 'react-draggable-dragging',
9320 defaultClassNameDragged: 'react-draggable-dragged',
9321 defaultPosition: {
9322 x: 0,
9323 y: 0
9324 },
9325 scale: 1
9326 }));
9327
9328 /***/ }),
9329
9330 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
9331 /*!******************************************************************!*\
9332 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
9333 \******************************************************************/
9334 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9335
9336 "use strict";
9337
9338
9339 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); }
9340
9341 Object.defineProperty(exports, "__esModule", ({
9342 value: true
9343 }));
9344 exports["default"] = void 0;
9345
9346 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
9347
9348 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
9349
9350 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
9351
9352 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9353
9354 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
9355
9356 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9357
9358 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
9359
9360 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9361
9362 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); }
9363
9364 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; }
9365
9366 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9367
9368 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."); }
9369
9370 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); }
9371
9372 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; }
9373
9374 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; }
9375
9376 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9377
9378 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9379
9380 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); } }
9381
9382 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
9383
9384 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); }
9385
9386 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
9387
9388 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); }; }
9389
9390 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); }
9391
9392 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
9393
9394 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; } }
9395
9396 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
9397
9398 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; }
9399
9400 // Simple abstraction for dragging events names.
9401 var eventsFor = {
9402 touch: {
9403 start: 'touchstart',
9404 move: 'touchmove',
9405 stop: 'touchend'
9406 },
9407 mouse: {
9408 start: 'mousedown',
9409 move: 'mousemove',
9410 stop: 'mouseup'
9411 }
9412 }; // Default to mouse events.
9413
9414 var dragEventFor = eventsFor.mouse;
9415 /*:: type DraggableCoreState = {
9416 dragging: boolean,
9417 lastX: number,
9418 lastY: number,
9419 touchIdentifier: ?number
9420 };*/
9421
9422 /*:: export type DraggableData = {
9423 node: HTMLElement,
9424 x: number, y: number,
9425 deltaX: number, deltaY: number,
9426 lastX: number, lastY: number,
9427 };*/
9428
9429 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
9430
9431 /*:: export type ControlPosition = {x: number, y: number};*/
9432
9433 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
9434
9435 /*:: export type DraggableCoreDefaultProps = {
9436 allowAnyClick: boolean,
9437 disabled: boolean,
9438 enableUserSelectHack: boolean,
9439 onStart: DraggableEventHandler,
9440 onDrag: DraggableEventHandler,
9441 onStop: DraggableEventHandler,
9442 onMouseDown: (e: MouseEvent) => void,
9443 scale: number,
9444 };*/
9445
9446 /*:: export type DraggableCoreProps = {
9447 ...DraggableCoreDefaultProps,
9448 cancel: string,
9449 children: ReactElement<any>,
9450 offsetParent: HTMLElement,
9451 grid: [number, number],
9452 handle: string,
9453 nodeRef?: ?React.ElementRef<any>,
9454 };*/
9455
9456 //
9457 // Define <DraggableCore>.
9458 //
9459 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
9460 // work well with libraries that require more control over the element.
9461 //
9462 var DraggableCore = /*#__PURE__*/function (_React$Component) {
9463 _inherits(DraggableCore, _React$Component);
9464
9465 var _super = _createSuper(DraggableCore);
9466
9467 function DraggableCore() {
9468 var _this;
9469
9470 _classCallCheck(this, DraggableCore);
9471
9472 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9473 args[_key] = arguments[_key];
9474 }
9475
9476 _this = _super.call.apply(_super, [this].concat(args));
9477
9478 _defineProperty(_assertThisInitialized(_this), "state", {
9479 dragging: false,
9480 // Used while dragging to determine deltas.
9481 lastX: NaN,
9482 lastY: NaN,
9483 touchIdentifier: null
9484 });
9485
9486 _defineProperty(_assertThisInitialized(_this), "mounted", false);
9487
9488 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
9489 // Make it possible to attach event handlers on top of this one.
9490 _this.props.onMouseDown(e); // Only accept left-clicks.
9491
9492
9493 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
9494
9495 var thisNode = _this.findDOMNode();
9496
9497 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
9498 throw new Error('<DraggableCore> not mounted on DragStart!');
9499 }
9500
9501 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
9502
9503 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)) {
9504 return;
9505 } // Prevent scrolling on mobile devices, like ipad/iphone.
9506 // Important that this is after handle/cancel.
9507
9508
9509 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
9510 // distinguish between individual touches on multitouch screens by identifying which
9511 // touchpoint was set to this element.
9512
9513 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
9514
9515 _this.setState({
9516 touchIdentifier: touchIdentifier
9517 }); // Get the current drag point from the event. This is used as the offset.
9518
9519
9520 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
9521 if (position == null) return; // not possible but satisfies flow
9522
9523 var x = position.x,
9524 y = position.y; // Create an event object with all the data parents need to make a decision here.
9525
9526 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9527 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
9528
9529 (0, _log.default)('calling', _this.props.onStart);
9530
9531 var shouldUpdate = _this.props.onStart(e, coreEvent);
9532
9533 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
9534 // being selected all over the page.
9535
9536 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
9537 // so we know how much we've moved during the drag. This allows us
9538 // to drag elements around even if they have been moved, without issue.
9539
9540 _this.setState({
9541 dragging: true,
9542 lastX: x,
9543 lastY: y
9544 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
9545 // this element. We use different events depending on whether or not we have detected that this
9546 // is a touch-capable device.
9547
9548
9549 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
9550 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
9551 });
9552
9553 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
9554 // Get the current drag point from the event. This is used as the offset.
9555 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9556 if (position == null) return;
9557 var x = position.x,
9558 y = position.y; // Snap to grid if prop has been provided
9559
9560 if (Array.isArray(_this.props.grid)) {
9561 var deltaX = x - _this.state.lastX,
9562 deltaY = y - _this.state.lastY;
9563
9564 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9565
9566 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
9567
9568 deltaX = _snapToGrid2[0];
9569 deltaY = _snapToGrid2[1];
9570 if (!deltaX && !deltaY) return; // skip useless drag
9571
9572 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9573 }
9574
9575 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
9576 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
9577
9578 var shouldUpdate = _this.props.onDrag(e, coreEvent);
9579
9580 if (shouldUpdate === false || _this.mounted === false) {
9581 try {
9582 // $FlowIgnore
9583 _this.handleDragStop(new MouseEvent('mouseup'));
9584 } catch (err) {
9585 // Old browsers
9586 var event = ((document.createEvent('MouseEvents')
9587 /*: any*/
9588 )
9589 /*: MouseTouchEvent*/
9590 ); // I see why this insanity was deprecated
9591 // $FlowIgnore
9592
9593 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
9594
9595 _this.handleDragStop(event);
9596 }
9597
9598 return;
9599 }
9600
9601 _this.setState({
9602 lastX: x,
9603 lastY: y
9604 });
9605 });
9606
9607 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
9608 if (!_this.state.dragging) return;
9609 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
9610 if (position == null) return;
9611 var x = position.x,
9612 y = position.y; // Snap to grid if prop has been provided
9613
9614 if (Array.isArray(_this.props.grid)) {
9615 var deltaX = x - _this.state.lastX || 0;
9616 var deltaY = y - _this.state.lastY || 0;
9617
9618 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
9619
9620 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
9621
9622 deltaX = _snapToGrid4[0];
9623 deltaY = _snapToGrid4[1];
9624 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
9625 }
9626
9627 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
9628
9629 var shouldContinue = _this.props.onStop(e, coreEvent);
9630
9631 if (shouldContinue === false || _this.mounted === false) return false;
9632
9633 var thisNode = _this.findDOMNode();
9634
9635 if (thisNode) {
9636 // Remove user-select hack
9637 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
9638 }
9639
9640 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
9641
9642 _this.setState({
9643 dragging: false,
9644 lastX: NaN,
9645 lastY: NaN
9646 });
9647
9648 if (thisNode) {
9649 // Remove event handlers
9650 (0, _log.default)('DraggableCore: Removing handlers');
9651 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
9652 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
9653 }
9654 });
9655
9656 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
9657 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
9658
9659 return _this.handleDragStart(e);
9660 });
9661
9662 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
9663 dragEventFor = eventsFor.mouse;
9664 return _this.handleDragStop(e);
9665 });
9666
9667 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
9668 // We're on a touch device now, so change the event handlers
9669 dragEventFor = eventsFor.touch;
9670 return _this.handleDragStart(e);
9671 });
9672
9673 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
9674 // We're on a touch device now, so change the event handlers
9675 dragEventFor = eventsFor.touch;
9676 return _this.handleDragStop(e);
9677 });
9678
9679 return _this;
9680 }
9681
9682 _createClass(DraggableCore, [{
9683 key: "componentDidMount",
9684 value: function componentDidMount() {
9685 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
9686 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9687
9688 var thisNode = this.findDOMNode();
9689
9690 if (thisNode) {
9691 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9692 passive: false
9693 });
9694 }
9695 }
9696 }, {
9697 key: "componentWillUnmount",
9698 value: function componentWillUnmount() {
9699 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
9700 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
9701
9702 var thisNode = this.findDOMNode();
9703
9704 if (thisNode) {
9705 var ownerDocument = thisNode.ownerDocument;
9706 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
9707 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
9708 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
9709 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
9710 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
9711 passive: false
9712 });
9713 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
9714 }
9715 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
9716 // the underlying DOM node ourselves. See the README for more information.
9717
9718 }, {
9719 key: "findDOMNode",
9720 value: function findDOMNode()
9721 /*: ?HTMLElement*/
9722 {
9723 var _this$props, _this$props2, _this$props2$nodeRef;
9724
9725 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);
9726 }
9727 }, {
9728 key: "render",
9729 value: function render()
9730 /*: React.Element<any>*/
9731 {
9732 // Reuse the child provided
9733 // This makes it flexible to use whatever element is wanted (div, ul, etc)
9734 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
9735 // Note: mouseMove handler is attached to document so it will still function
9736 // when the user drags quickly and leaves the bounds of the element.
9737 onMouseDown: this.onMouseDown,
9738 onMouseUp: this.onMouseUp,
9739 // onTouchStart is added on `componentDidMount` so they can be added with
9740 // {passive: false}, which allows it to cancel. See
9741 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
9742 onTouchEnd: this.onTouchEnd
9743 });
9744 }
9745 }]);
9746
9747 return DraggableCore;
9748 }(React.Component);
9749
9750 exports["default"] = DraggableCore;
9751
9752 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
9753
9754 _defineProperty(DraggableCore, "propTypes", {
9755 /**
9756 * `allowAnyClick` allows dragging using any mouse button.
9757 * By default, we only accept the left button.
9758 *
9759 * Defaults to `false`.
9760 */
9761 allowAnyClick: _propTypes.default.bool,
9762
9763 /**
9764 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
9765 * with the exception of `onMouseDown`, will not fire.
9766 */
9767 disabled: _propTypes.default.bool,
9768
9769 /**
9770 * By default, we add 'user-select:none' attributes to the document body
9771 * to prevent ugly text selection during drag. If this is causing problems
9772 * for your app, set this to `false`.
9773 */
9774 enableUserSelectHack: _propTypes.default.bool,
9775
9776 /**
9777 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
9778 * instead of using the parent node.
9779 */
9780 offsetParent: function offsetParent(props
9781 /*: DraggableCoreProps*/
9782 , propName
9783 /*: $Keys<DraggableCoreProps>*/
9784 ) {
9785 if (props[propName] && props[propName].nodeType !== 1) {
9786 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
9787 }
9788 },
9789
9790 /**
9791 * `grid` specifies the x and y that dragging should snap to.
9792 */
9793 grid: _propTypes.default.arrayOf(_propTypes.default.number),
9794
9795 /**
9796 * `handle` specifies a selector to be used as the handle that initiates drag.
9797 *
9798 * Example:
9799 *
9800 * ```jsx
9801 * let App = React.createClass({
9802 * render: function () {
9803 * return (
9804 * <Draggable handle=".handle">
9805 * <div>
9806 * <div className="handle">Click me to drag</div>
9807 * <div>This is some other content</div>
9808 * </div>
9809 * </Draggable>
9810 * );
9811 * }
9812 * });
9813 * ```
9814 */
9815 handle: _propTypes.default.string,
9816
9817 /**
9818 * `cancel` specifies a selector to be used to prevent drag initialization.
9819 *
9820 * Example:
9821 *
9822 * ```jsx
9823 * let App = React.createClass({
9824 * render: function () {
9825 * return(
9826 * <Draggable cancel=".cancel">
9827 * <div>
9828 * <div className="cancel">You can't drag from here</div>
9829 * <div>Dragging here works fine</div>
9830 * </div>
9831 * </Draggable>
9832 * );
9833 * }
9834 * });
9835 * ```
9836 */
9837 cancel: _propTypes.default.string,
9838
9839 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
9840 * Unfortunately, in order for <Draggable> to work properly, we need raw access
9841 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
9842 * as in this example:
9843 *
9844 * function MyComponent() {
9845 * const nodeRef = React.useRef(null);
9846 * return (
9847 * <Draggable nodeRef={nodeRef}>
9848 * <div ref={nodeRef}>Example Target</div>
9849 * </Draggable>
9850 * );
9851 * }
9852 *
9853 * This can be used for arbitrarily nested components, so long as the ref ends up
9854 * pointing to the actual child DOM node and not a custom component.
9855 */
9856 nodeRef: _propTypes.default.object,
9857
9858 /**
9859 * Called when dragging starts.
9860 * If this function returns the boolean false, dragging will be canceled.
9861 */
9862 onStart: _propTypes.default.func,
9863
9864 /**
9865 * Called while dragging.
9866 * If this function returns the boolean false, dragging will be canceled.
9867 */
9868 onDrag: _propTypes.default.func,
9869
9870 /**
9871 * Called when dragging stops.
9872 * If this function returns the boolean false, the drag will remain active.
9873 */
9874 onStop: _propTypes.default.func,
9875
9876 /**
9877 * A workaround option which can be passed if onMouseDown needs to be accessed,
9878 * since it'll always be blocked (as there is internal use of onMouseDown)
9879 */
9880 onMouseDown: _propTypes.default.func,
9881
9882 /**
9883 * `scale`, if set, applies scaling while dragging an element
9884 */
9885 scale: _propTypes.default.number,
9886
9887 /**
9888 * These properties should be defined on the child, not here.
9889 */
9890 className: _shims.dontSetMe,
9891 style: _shims.dontSetMe,
9892 transform: _shims.dontSetMe
9893 });
9894
9895 _defineProperty(DraggableCore, "defaultProps", {
9896 allowAnyClick: false,
9897 // by default only accept left click
9898 disabled: false,
9899 enableUserSelectHack: true,
9900 onStart: function onStart() {},
9901 onDrag: function onDrag() {},
9902 onStop: function onStop() {},
9903 onMouseDown: function onMouseDown() {},
9904 scale: 1
9905 });
9906
9907 /***/ }),
9908
9909 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
9910 /*!********************************************************!*\
9911 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
9912 \********************************************************/
9913 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9914
9915 "use strict";
9916
9917
9918 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
9919 Draggable = _require.default,
9920 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'.
9921 // See https://github.com/mzabriskie/react-draggable/pull/254
9922 // and https://github.com/mzabriskie/react-draggable/issues/266
9923
9924
9925 module.exports = Draggable;
9926 module.exports["default"] = Draggable;
9927 module.exports.DraggableCore = DraggableCore;
9928
9929 /***/ }),
9930
9931 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
9932 /*!*****************************************************************!*\
9933 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
9934 \*****************************************************************/
9935 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9936
9937 "use strict";
9938
9939
9940 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); }
9941
9942 Object.defineProperty(exports, "__esModule", ({
9943 value: true
9944 }));
9945 exports.addClassName = addClassName;
9946 exports.addEvent = addEvent;
9947 exports.addUserSelectStyles = addUserSelectStyles;
9948 exports.createCSSTransform = createCSSTransform;
9949 exports.createSVGTransform = createSVGTransform;
9950 exports.getTouch = getTouch;
9951 exports.getTouchIdentifier = getTouchIdentifier;
9952 exports.getTranslation = getTranslation;
9953 exports.innerHeight = innerHeight;
9954 exports.innerWidth = innerWidth;
9955 exports.matchesSelector = matchesSelector;
9956 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
9957 exports.offsetXYFromParent = offsetXYFromParent;
9958 exports.outerHeight = outerHeight;
9959 exports.outerWidth = outerWidth;
9960 exports.removeClassName = removeClassName;
9961 exports.removeEvent = removeEvent;
9962 exports.removeUserSelectStyles = removeUserSelectStyles;
9963
9964 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9965
9966 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
9967
9968 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); }
9969
9970 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; }
9971
9972 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; }
9973
9974 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; }
9975
9976 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; }
9977
9978 var matchesSelectorFunc = '';
9979
9980 function matchesSelector(el
9981 /*: Node*/
9982 , selector
9983 /*: string*/
9984 )
9985 /*: boolean*/
9986 {
9987 if (!matchesSelectorFunc) {
9988 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
9989 // $FlowIgnore: Doesn't think elements are indexable
9990 return (0, _shims.isFunction)(el[method]);
9991 });
9992 } // Might not be found entirely (not an Element?) - in that case, bail
9993 // $FlowIgnore: Doesn't think elements are indexable
9994
9995
9996 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
9997
9998 return el[matchesSelectorFunc](selector);
9999 } // Works up the tree to the draggable itself attempting to match selector.
10000
10001
10002 function matchesSelectorAndParentsTo(el
10003 /*: Node*/
10004 , selector
10005 /*: string*/
10006 , baseNode
10007 /*: Node*/
10008 )
10009 /*: boolean*/
10010 {
10011 var node = el;
10012
10013 do {
10014 if (matchesSelector(node, selector)) return true;
10015 if (node === baseNode) return false;
10016 node = node.parentNode;
10017 } while (node);
10018
10019 return false;
10020 }
10021
10022 function addEvent(el
10023 /*: ?Node*/
10024 , event
10025 /*: string*/
10026 , handler
10027 /*: Function*/
10028 , inputOptions
10029 /*: Object*/
10030 )
10031 /*: void*/
10032 {
10033 if (!el) return;
10034
10035 var options = _objectSpread({
10036 capture: true
10037 }, inputOptions); // $FlowIgnore[method-unbinding]
10038
10039
10040 if (el.addEventListener) {
10041 el.addEventListener(event, handler, options);
10042 } else if (el.attachEvent) {
10043 el.attachEvent('on' + event, handler);
10044 } else {
10045 // $FlowIgnore: Doesn't think elements are indexable
10046 el['on' + event] = handler;
10047 }
10048 }
10049
10050 function removeEvent(el
10051 /*: ?Node*/
10052 , event
10053 /*: string*/
10054 , handler
10055 /*: Function*/
10056 , inputOptions
10057 /*: Object*/
10058 )
10059 /*: void*/
10060 {
10061 if (!el) return;
10062
10063 var options = _objectSpread({
10064 capture: true
10065 }, inputOptions); // $FlowIgnore[method-unbinding]
10066
10067
10068 if (el.removeEventListener) {
10069 el.removeEventListener(event, handler, options);
10070 } else if (el.detachEvent) {
10071 el.detachEvent('on' + event, handler);
10072 } else {
10073 // $FlowIgnore: Doesn't think elements are indexable
10074 el['on' + event] = null;
10075 }
10076 }
10077
10078 function outerHeight(node
10079 /*: HTMLElement*/
10080 )
10081 /*: number*/
10082 {
10083 // This is deliberately excluding margin for our calculations, since we are using
10084 // offsetTop which is including margin. See getBoundPosition
10085 var height = node.clientHeight;
10086 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10087 height += (0, _shims.int)(computedStyle.borderTopWidth);
10088 height += (0, _shims.int)(computedStyle.borderBottomWidth);
10089 return height;
10090 }
10091
10092 function outerWidth(node
10093 /*: HTMLElement*/
10094 )
10095 /*: number*/
10096 {
10097 // This is deliberately excluding margin for our calculations, since we are using
10098 // offsetLeft which is including margin. See getBoundPosition
10099 var width = node.clientWidth;
10100 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10101 width += (0, _shims.int)(computedStyle.borderLeftWidth);
10102 width += (0, _shims.int)(computedStyle.borderRightWidth);
10103 return width;
10104 }
10105
10106 function innerHeight(node
10107 /*: HTMLElement*/
10108 )
10109 /*: number*/
10110 {
10111 var height = node.clientHeight;
10112 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10113 height -= (0, _shims.int)(computedStyle.paddingTop);
10114 height -= (0, _shims.int)(computedStyle.paddingBottom);
10115 return height;
10116 }
10117
10118 function innerWidth(node
10119 /*: HTMLElement*/
10120 )
10121 /*: number*/
10122 {
10123 var width = node.clientWidth;
10124 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
10125 width -= (0, _shims.int)(computedStyle.paddingLeft);
10126 width -= (0, _shims.int)(computedStyle.paddingRight);
10127 return width;
10128 }
10129 /*:: interface EventWithOffset {
10130 clientX: number, clientY: number
10131 }*/
10132
10133
10134 // Get from offsetParent
10135 function offsetXYFromParent(evt
10136 /*: EventWithOffset*/
10137 , offsetParent
10138 /*: HTMLElement*/
10139 , scale
10140 /*: number*/
10141 )
10142 /*: ControlPosition*/
10143 {
10144 var isBody = offsetParent === offsetParent.ownerDocument.body;
10145 var offsetParentRect = isBody ? {
10146 left: 0,
10147 top: 0
10148 } : offsetParent.getBoundingClientRect();
10149 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
10150 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
10151 return {
10152 x: x,
10153 y: y
10154 };
10155 }
10156
10157 function createCSSTransform(controlPos
10158 /*: ControlPosition*/
10159 , positionOffset
10160 /*: PositionOffsetControlPosition*/
10161 )
10162 /*: Object*/
10163 {
10164 var translation = getTranslation(controlPos, positionOffset, 'px');
10165 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
10166 }
10167
10168 function createSVGTransform(controlPos
10169 /*: ControlPosition*/
10170 , positionOffset
10171 /*: PositionOffsetControlPosition*/
10172 )
10173 /*: string*/
10174 {
10175 var translation = getTranslation(controlPos, positionOffset, '');
10176 return translation;
10177 }
10178
10179 function getTranslation(_ref2, positionOffset
10180 /*: PositionOffsetControlPosition*/
10181 , unitSuffix
10182 /*: string*/
10183 )
10184 /*: string*/
10185 {
10186 var x = _ref2.x,
10187 y = _ref2.y;
10188 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
10189
10190 if (positionOffset) {
10191 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
10192 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
10193 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
10194 }
10195
10196 return translation;
10197 }
10198
10199 function getTouch(e
10200 /*: MouseTouchEvent*/
10201 , identifier
10202 /*: number*/
10203 )
10204 /*: ?{clientX: number, clientY: number}*/
10205 {
10206 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
10207 return identifier === t.identifier;
10208 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
10209 return identifier === t.identifier;
10210 });
10211 }
10212
10213 function getTouchIdentifier(e
10214 /*: MouseTouchEvent*/
10215 )
10216 /*: ?number*/
10217 {
10218 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
10219 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
10220 } // User-select Hacks:
10221 //
10222 // Useful for preventing blue highlights all over everything when dragging.
10223 // Note we're passing `document` b/c we could be iframed
10224
10225
10226 function addUserSelectStyles(doc
10227 /*: ?Document*/
10228 ) {
10229 if (!doc) return;
10230 var styleEl = doc.getElementById('react-draggable-style-el');
10231
10232 if (!styleEl) {
10233 styleEl = doc.createElement('style');
10234 styleEl.type = 'text/css';
10235 styleEl.id = 'react-draggable-style-el';
10236 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
10237 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
10238 doc.getElementsByTagName('head')[0].appendChild(styleEl);
10239 }
10240
10241 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
10242 }
10243
10244 function removeUserSelectStyles(doc
10245 /*: ?Document*/
10246 ) {
10247 if (!doc) return;
10248
10249 try {
10250 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
10251
10252 if (doc.selection) {
10253 // $FlowIgnore: IE
10254 doc.selection.empty();
10255 } else {
10256 // Remove selection caused by scroll, unless it's a focused input
10257 // (we use doc.defaultView in case we're in an iframe)
10258 var selection = (doc.defaultView || window).getSelection();
10259
10260 if (selection && selection.type !== 'Caret') {
10261 selection.removeAllRanges();
10262 }
10263 }
10264 } catch (e) {// probably IE
10265 }
10266 }
10267
10268 function addClassName(el
10269 /*: HTMLElement*/
10270 , className
10271 /*: string*/
10272 ) {
10273 if (el.classList) {
10274 el.classList.add(className);
10275 } else {
10276 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
10277 el.className += " ".concat(className);
10278 }
10279 }
10280 }
10281
10282 function removeClassName(el
10283 /*: HTMLElement*/
10284 , className
10285 /*: string*/
10286 ) {
10287 if (el.classList) {
10288 el.classList.remove(className);
10289 } else {
10290 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
10291 }
10292 }
10293
10294 /***/ }),
10295
10296 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
10297 /*!********************************************************************!*\
10298 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
10299 \********************************************************************/
10300 /***/ ((__unused_webpack_module, exports) => {
10301
10302 "use strict";
10303
10304
10305 Object.defineProperty(exports, "__esModule", ({
10306 value: true
10307 }));
10308 exports.browserPrefixToKey = browserPrefixToKey;
10309 exports.browserPrefixToStyle = browserPrefixToStyle;
10310 exports["default"] = void 0;
10311 exports.getPrefix = getPrefix;
10312 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
10313
10314 function getPrefix()
10315 /*: string*/
10316 {
10317 var _window$document, _window$document$docu;
10318
10319 var prop
10320 /*: string*/
10321 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
10322 // Ensure we're running in an environment where there is actually a global
10323 // `window` obj
10324 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
10325 // path may not exist, so bail out if it doesn't.
10326
10327 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;
10328 if (!style) return '';
10329 if (prop in style) return '';
10330
10331 for (var i = 0; i < prefixes.length; i++) {
10332 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
10333 }
10334
10335 return '';
10336 }
10337
10338 function browserPrefixToKey(prop
10339 /*: string*/
10340 , prefix
10341 /*: string*/
10342 )
10343 /*: string*/
10344 {
10345 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
10346 }
10347
10348 function browserPrefixToStyle(prop
10349 /*: string*/
10350 , prefix
10351 /*: string*/
10352 )
10353 /*: string*/
10354 {
10355 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
10356 }
10357
10358 function kebabToTitleCase(str
10359 /*: string*/
10360 )
10361 /*: string*/
10362 {
10363 var out = '';
10364 var shouldCapitalize = true;
10365
10366 for (var i = 0; i < str.length; i++) {
10367 if (shouldCapitalize) {
10368 out += str[i].toUpperCase();
10369 shouldCapitalize = false;
10370 } else if (str[i] === '-') {
10371 shouldCapitalize = true;
10372 } else {
10373 out += str[i];
10374 }
10375 }
10376
10377 return out;
10378 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
10379 // Note that you may have to re-test for certain things; for instance, Chrome 50
10380 // can handle unprefixed `transform`, but not unprefixed `user-select`
10381
10382
10383 var _default = (getPrefix()
10384 /*: string*/
10385 );
10386
10387 exports["default"] = _default;
10388
10389 /***/ }),
10390
10391 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
10392 /*!**************************************************************!*\
10393 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
10394 \**************************************************************/
10395 /***/ ((__unused_webpack_module, exports) => {
10396
10397 "use strict";
10398
10399
10400 Object.defineProperty(exports, "__esModule", ({
10401 value: true
10402 }));
10403 exports["default"] = log;
10404
10405 /*eslint no-console:0*/
10406 function log() {
10407 var _console;
10408
10409 if (false) {}
10410 }
10411
10412 /***/ }),
10413
10414 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
10415 /*!**********************************************************************!*\
10416 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
10417 \**********************************************************************/
10418 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10419
10420 "use strict";
10421
10422
10423 Object.defineProperty(exports, "__esModule", ({
10424 value: true
10425 }));
10426 exports.canDragX = canDragX;
10427 exports.canDragY = canDragY;
10428 exports.createCoreData = createCoreData;
10429 exports.createDraggableData = createDraggableData;
10430 exports.getBoundPosition = getBoundPosition;
10431 exports.getControlPosition = getControlPosition;
10432 exports.snapToGrid = snapToGrid;
10433
10434 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
10435
10436 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
10437
10438 function getBoundPosition(draggable
10439 /*: Draggable*/
10440 , x
10441 /*: number*/
10442 , y
10443 /*: number*/
10444 )
10445 /*: [number, number]*/
10446 {
10447 // If no bounds, short-circuit and move on
10448 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
10449
10450 var bounds = draggable.props.bounds;
10451 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
10452 var node = findDOMNode(draggable);
10453
10454 if (typeof bounds === 'string') {
10455 var ownerDocument = node.ownerDocument;
10456 var ownerWindow = ownerDocument.defaultView;
10457 var boundNode;
10458
10459 if (bounds === 'parent') {
10460 boundNode = node.parentNode;
10461 } else {
10462 boundNode = ownerDocument.querySelector(bounds);
10463 }
10464
10465 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
10466 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
10467 }
10468
10469 var boundNodeEl
10470 /*: HTMLElement*/
10471 = boundNode; // for Flow, can't seem to refine correctly
10472
10473 var nodeStyle = ownerWindow.getComputedStyle(node);
10474 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
10475
10476 bounds = {
10477 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
10478 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
10479 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
10480 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
10481 };
10482 } // Keep x and y below right and bottom limits...
10483
10484
10485 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
10486 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
10487
10488 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
10489 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
10490 return [x, y];
10491 }
10492
10493 function snapToGrid(grid
10494 /*: [number, number]*/
10495 , pendingX
10496 /*: number*/
10497 , pendingY
10498 /*: number*/
10499 )
10500 /*: [number, number]*/
10501 {
10502 var x = Math.round(pendingX / grid[0]) * grid[0];
10503 var y = Math.round(pendingY / grid[1]) * grid[1];
10504 return [x, y];
10505 }
10506
10507 function canDragX(draggable
10508 /*: Draggable*/
10509 )
10510 /*: boolean*/
10511 {
10512 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
10513 }
10514
10515 function canDragY(draggable
10516 /*: Draggable*/
10517 )
10518 /*: boolean*/
10519 {
10520 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
10521 } // Get {x, y} positions from event.
10522
10523
10524 function getControlPosition(e
10525 /*: MouseTouchEvent*/
10526 , touchIdentifier
10527 /*: ?number*/
10528 , draggableCore
10529 /*: DraggableCore*/
10530 )
10531 /*: ?ControlPosition*/
10532 {
10533 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
10534 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
10535
10536 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
10537
10538 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
10539 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
10540 } // Create an data object exposed by <DraggableCore>'s events
10541
10542
10543 function createCoreData(draggable
10544 /*: DraggableCore*/
10545 , x
10546 /*: number*/
10547 , y
10548 /*: number*/
10549 )
10550 /*: DraggableData*/
10551 {
10552 var state = draggable.state;
10553 var isStart = !(0, _shims.isNum)(state.lastX);
10554 var node = findDOMNode(draggable);
10555
10556 if (isStart) {
10557 // If this is our first move, use the x and y as last coords.
10558 return {
10559 node: node,
10560 deltaX: 0,
10561 deltaY: 0,
10562 lastX: x,
10563 lastY: y,
10564 x: x,
10565 y: y
10566 };
10567 } else {
10568 // Otherwise calculate proper values.
10569 return {
10570 node: node,
10571 deltaX: x - state.lastX,
10572 deltaY: y - state.lastY,
10573 lastX: state.lastX,
10574 lastY: state.lastY,
10575 x: x,
10576 y: y
10577 };
10578 }
10579 } // Create an data exposed by <Draggable>'s events
10580
10581
10582 function createDraggableData(draggable
10583 /*: Draggable*/
10584 , coreData
10585 /*: DraggableData*/
10586 )
10587 /*: DraggableData*/
10588 {
10589 var scale = draggable.props.scale;
10590 return {
10591 node: coreData.node,
10592 x: draggable.state.x + coreData.deltaX / scale,
10593 y: draggable.state.y + coreData.deltaY / scale,
10594 deltaX: coreData.deltaX / scale,
10595 deltaY: coreData.deltaY / scale,
10596 lastX: draggable.state.x,
10597 lastY: draggable.state.y
10598 };
10599 } // A lot faster than stringify/parse
10600
10601
10602 function cloneBounds(bounds
10603 /*: Bounds*/
10604 )
10605 /*: Bounds*/
10606 {
10607 return {
10608 left: bounds.left,
10609 top: bounds.top,
10610 right: bounds.right,
10611 bottom: bounds.bottom
10612 };
10613 }
10614
10615 function findDOMNode(draggable
10616 /*: Draggable | DraggableCore*/
10617 )
10618 /*: HTMLElement*/
10619 {
10620 var node = draggable.findDOMNode();
10621
10622 if (!node) {
10623 throw new Error('<DraggableCore>: Unmounted during event!');
10624 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
10625
10626
10627 return node;
10628 }
10629
10630 /***/ }),
10631
10632 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
10633 /*!****************************************************************!*\
10634 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
10635 \****************************************************************/
10636 /***/ ((__unused_webpack_module, exports) => {
10637
10638 "use strict";
10639
10640
10641 Object.defineProperty(exports, "__esModule", ({
10642 value: true
10643 }));
10644 exports.dontSetMe = dontSetMe;
10645 exports.findInArray = findInArray;
10646 exports.int = int;
10647 exports.isFunction = isFunction;
10648 exports.isNum = isNum;
10649
10650 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
10651 function findInArray(array
10652 /*: Array<any> | TouchList*/
10653 , callback
10654 /*: Function*/
10655 )
10656 /*: any*/
10657 {
10658 for (var i = 0, length = array.length; i < length; i++) {
10659 if (callback.apply(callback, [array[i], i, array])) return array[i];
10660 }
10661 }
10662
10663 function isFunction(func
10664 /*: any*/
10665 )
10666 /*: boolean %checks*/
10667 {
10668 // $FlowIgnore[method-unbinding]
10669 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
10670 }
10671
10672 function isNum(num
10673 /*: any*/
10674 )
10675 /*: boolean %checks*/
10676 {
10677 return typeof num === 'number' && !isNaN(num);
10678 }
10679
10680 function int(a
10681 /*: string*/
10682 )
10683 /*: number*/
10684 {
10685 return parseInt(a, 10);
10686 }
10687
10688 function dontSetMe(props
10689 /*: Object*/
10690 , propName
10691 /*: string*/
10692 , componentName
10693 /*: string*/
10694 )
10695 /*: ?Error*/
10696 {
10697 if (props[propName]) {
10698 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
10699 }
10700 }
10701
10702 /***/ }),
10703
10704 /***/ "../node_modules/react-is/cjs/react-is.development.js":
10705 /*!************************************************************!*\
10706 !*** ../node_modules/react-is/cjs/react-is.development.js ***!
10707 \************************************************************/
10708 /***/ ((__unused_webpack_module, exports) => {
10709
10710 "use strict";
10711 /**
10712 * @license React
10713 * react-is.development.js
10714 *
10715 * Copyright (c) Facebook, Inc. and its affiliates.
10716 *
10717 * This source code is licensed under the MIT license found in the
10718 * LICENSE file in the root directory of this source tree.
10719 */
10720
10721
10722
10723 if (true) {
10724 (function() {
10725 'use strict';
10726
10727 // ATTENTION
10728 // When adding new symbols to this file,
10729 // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
10730 // The Symbol used to tag the ReactElement-like types.
10731 var REACT_ELEMENT_TYPE = Symbol.for('react.element');
10732 var REACT_PORTAL_TYPE = Symbol.for('react.portal');
10733 var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');
10734 var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');
10735 var REACT_PROFILER_TYPE = Symbol.for('react.profiler');
10736 var REACT_PROVIDER_TYPE = Symbol.for('react.provider');
10737 var REACT_CONTEXT_TYPE = Symbol.for('react.context');
10738 var REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');
10739 var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');
10740 var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');
10741 var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');
10742 var REACT_MEMO_TYPE = Symbol.for('react.memo');
10743 var REACT_LAZY_TYPE = Symbol.for('react.lazy');
10744 var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');
10745
10746 // -----------------------------------------------------------------------------
10747
10748 var enableScopeAPI = false; // Experimental Create Event Handle API.
10749 var enableCacheElement = false;
10750 var enableTransitionTracing = false; // No known bugs, but needs performance testing
10751
10752 var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber
10753 // stuff. Intended to enable React core members to more easily debug scheduling
10754 // issues in DEV builds.
10755
10756 var enableDebugTracing = false; // Track which Fiber(s) schedule render work.
10757
10758 var REACT_MODULE_REFERENCE;
10759
10760 {
10761 REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');
10762 }
10763
10764 function isValidElementType(type) {
10765 if (typeof type === 'string' || typeof type === 'function') {
10766 return true;
10767 } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).
10768
10769
10770 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 ) {
10771 return true;
10772 }
10773
10774 if (typeof type === 'object' && type !== null) {
10775 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
10776 // types supported by any Flight configuration anywhere since
10777 // we don't know which Flight build this will end up being used
10778 // with.
10779 type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {
10780 return true;
10781 }
10782 }
10783
10784 return false;
10785 }
10786
10787 function typeOf(object) {
10788 if (typeof object === 'object' && object !== null) {
10789 var $$typeof = object.$$typeof;
10790
10791 switch ($$typeof) {
10792 case REACT_ELEMENT_TYPE:
10793 var type = object.type;
10794
10795 switch (type) {
10796 case REACT_FRAGMENT_TYPE:
10797 case REACT_PROFILER_TYPE:
10798 case REACT_STRICT_MODE_TYPE:
10799 case REACT_SUSPENSE_TYPE:
10800 case REACT_SUSPENSE_LIST_TYPE:
10801 return type;
10802
10803 default:
10804 var $$typeofType = type && type.$$typeof;
10805
10806 switch ($$typeofType) {
10807 case REACT_SERVER_CONTEXT_TYPE:
10808 case REACT_CONTEXT_TYPE:
10809 case REACT_FORWARD_REF_TYPE:
10810 case REACT_LAZY_TYPE:
10811 case REACT_MEMO_TYPE:
10812 case REACT_PROVIDER_TYPE:
10813 return $$typeofType;
10814
10815 default:
10816 return $$typeof;
10817 }
10818
10819 }
10820
10821 case REACT_PORTAL_TYPE:
10822 return $$typeof;
10823 }
10824 }
10825
10826 return undefined;
10827 }
10828 var ContextConsumer = REACT_CONTEXT_TYPE;
10829 var ContextProvider = REACT_PROVIDER_TYPE;
10830 var Element = REACT_ELEMENT_TYPE;
10831 var ForwardRef = REACT_FORWARD_REF_TYPE;
10832 var Fragment = REACT_FRAGMENT_TYPE;
10833 var Lazy = REACT_LAZY_TYPE;
10834 var Memo = REACT_MEMO_TYPE;
10835 var Portal = REACT_PORTAL_TYPE;
10836 var Profiler = REACT_PROFILER_TYPE;
10837 var StrictMode = REACT_STRICT_MODE_TYPE;
10838 var Suspense = REACT_SUSPENSE_TYPE;
10839 var SuspenseList = REACT_SUSPENSE_LIST_TYPE;
10840 var hasWarnedAboutDeprecatedIsAsyncMode = false;
10841 var hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated
10842
10843 function isAsyncMode(object) {
10844 {
10845 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
10846 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
10847
10848 console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
10849 }
10850 }
10851
10852 return false;
10853 }
10854 function isConcurrentMode(object) {
10855 {
10856 if (!hasWarnedAboutDeprecatedIsConcurrentMode) {
10857 hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint
10858
10859 console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');
10860 }
10861 }
10862
10863 return false;
10864 }
10865 function isContextConsumer(object) {
10866 return typeOf(object) === REACT_CONTEXT_TYPE;
10867 }
10868 function isContextProvider(object) {
10869 return typeOf(object) === REACT_PROVIDER_TYPE;
10870 }
10871 function isElement(object) {
10872 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
10873 }
10874 function isForwardRef(object) {
10875 return typeOf(object) === REACT_FORWARD_REF_TYPE;
10876 }
10877 function isFragment(object) {
10878 return typeOf(object) === REACT_FRAGMENT_TYPE;
10879 }
10880 function isLazy(object) {
10881 return typeOf(object) === REACT_LAZY_TYPE;
10882 }
10883 function isMemo(object) {
10884 return typeOf(object) === REACT_MEMO_TYPE;
10885 }
10886 function isPortal(object) {
10887 return typeOf(object) === REACT_PORTAL_TYPE;
10888 }
10889 function isProfiler(object) {
10890 return typeOf(object) === REACT_PROFILER_TYPE;
10891 }
10892 function isStrictMode(object) {
10893 return typeOf(object) === REACT_STRICT_MODE_TYPE;
10894 }
10895 function isSuspense(object) {
10896 return typeOf(object) === REACT_SUSPENSE_TYPE;
10897 }
10898 function isSuspenseList(object) {
10899 return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;
10900 }
10901
10902 exports.ContextConsumer = ContextConsumer;
10903 exports.ContextProvider = ContextProvider;
10904 exports.Element = Element;
10905 exports.ForwardRef = ForwardRef;
10906 exports.Fragment = Fragment;
10907 exports.Lazy = Lazy;
10908 exports.Memo = Memo;
10909 exports.Portal = Portal;
10910 exports.Profiler = Profiler;
10911 exports.StrictMode = StrictMode;
10912 exports.Suspense = Suspense;
10913 exports.SuspenseList = SuspenseList;
10914 exports.isAsyncMode = isAsyncMode;
10915 exports.isConcurrentMode = isConcurrentMode;
10916 exports.isContextConsumer = isContextConsumer;
10917 exports.isContextProvider = isContextProvider;
10918 exports.isElement = isElement;
10919 exports.isForwardRef = isForwardRef;
10920 exports.isFragment = isFragment;
10921 exports.isLazy = isLazy;
10922 exports.isMemo = isMemo;
10923 exports.isPortal = isPortal;
10924 exports.isProfiler = isProfiler;
10925 exports.isStrictMode = isStrictMode;
10926 exports.isSuspense = isSuspense;
10927 exports.isSuspenseList = isSuspenseList;
10928 exports.isValidElementType = isValidElementType;
10929 exports.typeOf = typeOf;
10930 })();
10931 }
10932
10933
10934 /***/ }),
10935
10936 /***/ "../node_modules/react-is/index.js":
10937 /*!*****************************************!*\
10938 !*** ../node_modules/react-is/index.js ***!
10939 \*****************************************/
10940 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10941
10942 "use strict";
10943
10944
10945 if (false) {} else {
10946 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/react-is/cjs/react-is.development.js");
10947 }
10948
10949
10950 /***/ }),
10951
10952 /***/ "../node_modules/shallowequal/index.js":
10953 /*!*********************************************!*\
10954 !*** ../node_modules/shallowequal/index.js ***!
10955 \*********************************************/
10956 /***/ ((module) => {
10957
10958 //
10959
10960 module.exports = function shallowEqual(objA, objB, compare, compareContext) {
10961 var ret = compare ? compare.call(compareContext, objA, objB) : void 0;
10962
10963 if (ret !== void 0) {
10964 return !!ret;
10965 }
10966
10967 if (objA === objB) {
10968 return true;
10969 }
10970
10971 if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {
10972 return false;
10973 }
10974
10975 var keysA = Object.keys(objA);
10976 var keysB = Object.keys(objB);
10977
10978 if (keysA.length !== keysB.length) {
10979 return false;
10980 }
10981
10982 var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
10983
10984 // Test for A's keys different from B.
10985 for (var idx = 0; idx < keysA.length; idx++) {
10986 var key = keysA[idx];
10987
10988 if (!bHasOwnProperty(key)) {
10989 return false;
10990 }
10991
10992 var valueA = objA[key];
10993 var valueB = objB[key];
10994
10995 ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;
10996
10997 if (ret === false || (ret === void 0 && valueA !== valueB)) {
10998 return false;
10999 }
11000 }
11001
11002 return true;
11003 };
11004
11005
11006 /***/ }),
11007
11008 /***/ "../node_modules/styled-components/dist/styled-components.browser.esm.js":
11009 /*!*******************************************************************************!*\
11010 !*** ../node_modules/styled-components/dist/styled-components.browser.esm.js ***!
11011 \*******************************************************************************/
11012 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11013
11014 "use strict";
11015 __webpack_require__.r(__webpack_exports__);
11016 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11017 /* harmony export */ ServerStyleSheet: () => (/* binding */ Ue),
11018 /* harmony export */ StyleSheetConsumer: () => (/* binding */ ue),
11019 /* harmony export */ StyleSheetContext: () => (/* binding */ ce),
11020 /* harmony export */ StyleSheetManager: () => (/* binding */ me),
11021 /* harmony export */ ThemeConsumer: () => (/* binding */ Ge),
11022 /* harmony export */ ThemeContext: () => (/* binding */ Me),
11023 /* harmony export */ ThemeProvider: () => (/* binding */ Le),
11024 /* harmony export */ __PRIVATE__: () => (/* binding */ Ze),
11025 /* harmony export */ createGlobalStyle: () => (/* binding */ $e),
11026 /* harmony export */ css: () => (/* binding */ Ae),
11027 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
11028 /* harmony export */ isStyledComponent: () => (/* binding */ _),
11029 /* harmony export */ keyframes: () => (/* binding */ We),
11030 /* harmony export */ useTheme: () => (/* binding */ Xe),
11031 /* harmony export */ version: () => (/* binding */ A),
11032 /* harmony export */ withTheme: () => (/* binding */ Je)
11033 /* harmony export */ });
11034 /* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-is */ "../node_modules/react-is/index.js");
11035 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
11036 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
11037 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! shallowequal */ "../node_modules/shallowequal/index.js");
11038 /* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);
11039 /* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @emotion/stylis */ "../node_modules/@emotion/stylis/dist/stylis.browser.esm.js");
11040 /* 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");
11041 /* 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");
11042 /* 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");
11043 /* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);
11044 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);
11045 //# sourceMappingURL=styled-components.browser.esm.js.map
11046
11047
11048 /***/ }),
11049
11050 /***/ "../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js":
11051 /*!*****************************************************************************************************!*\
11052 !*** ../node_modules/styled-components/node_modules/@emotion/unitless/dist/unitless.browser.esm.js ***!
11053 \*****************************************************************************************************/
11054 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
11055
11056 "use strict";
11057 __webpack_require__.r(__webpack_exports__);
11058 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
11059 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
11060 /* harmony export */ });
11061 var unitlessKeys = {
11062 animationIterationCount: 1,
11063 borderImageOutset: 1,
11064 borderImageSlice: 1,
11065 borderImageWidth: 1,
11066 boxFlex: 1,
11067 boxFlexGroup: 1,
11068 boxOrdinalGroup: 1,
11069 columnCount: 1,
11070 columns: 1,
11071 flex: 1,
11072 flexGrow: 1,
11073 flexPositive: 1,
11074 flexShrink: 1,
11075 flexNegative: 1,
11076 flexOrder: 1,
11077 gridRow: 1,
11078 gridRowEnd: 1,
11079 gridRowSpan: 1,
11080 gridRowStart: 1,
11081 gridColumn: 1,
11082 gridColumnEnd: 1,
11083 gridColumnSpan: 1,
11084 gridColumnStart: 1,
11085 msGridRow: 1,
11086 msGridRowSpan: 1,
11087 msGridColumn: 1,
11088 msGridColumnSpan: 1,
11089 fontWeight: 1,
11090 lineHeight: 1,
11091 opacity: 1,
11092 order: 1,
11093 orphans: 1,
11094 tabSize: 1,
11095 widows: 1,
11096 zIndex: 1,
11097 zoom: 1,
11098 WebkitLineClamp: 1,
11099 // SVG-related properties
11100 fillOpacity: 1,
11101 floodOpacity: 1,
11102 stopOpacity: 1,
11103 strokeDasharray: 1,
11104 strokeDashoffset: 1,
11105 strokeMiterlimit: 1,
11106 strokeOpacity: 1,
11107 strokeWidth: 1
11108 };
11109
11110 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (unitlessKeys);
11111
11112
11113 /***/ }),
11114
11115 /***/ "../node_modules/validator/lib/isFQDN.js":
11116 /*!***********************************************!*\
11117 !*** ../node_modules/validator/lib/isFQDN.js ***!
11118 \***********************************************/
11119 /***/ ((module, exports, __webpack_require__) => {
11120
11121 "use strict";
11122
11123
11124 Object.defineProperty(exports, "__esModule", ({
11125 value: true
11126 }));
11127 exports["default"] = isFQDN;
11128
11129 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11130
11131 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11132
11133 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11134
11135 var default_fqdn_options = {
11136 require_tld: true,
11137 allow_underscores: false,
11138 allow_trailing_dot: false,
11139 allow_numeric_tld: false,
11140 allow_wildcard: false,
11141 ignore_max_length: false
11142 };
11143
11144 function isFQDN(str, options) {
11145 (0, _assertString.default)(str);
11146 options = (0, _merge.default)(options, default_fqdn_options);
11147 /* Remove the optional trailing dot before checking validity */
11148
11149 if (options.allow_trailing_dot && str[str.length - 1] === '.') {
11150 str = str.substring(0, str.length - 1);
11151 }
11152 /* Remove the optional wildcard before checking validity */
11153
11154
11155 if (options.allow_wildcard === true && str.indexOf('*.') === 0) {
11156 str = str.substring(2);
11157 }
11158
11159 var parts = str.split('.');
11160 var tld = parts[parts.length - 1];
11161
11162 if (options.require_tld) {
11163 // disallow fqdns without tld
11164 if (parts.length < 2) {
11165 return false;
11166 }
11167
11168 if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
11169 return false;
11170 } // disallow spaces
11171
11172
11173 if (/\s/.test(tld)) {
11174 return false;
11175 }
11176 } // reject numeric TLDs
11177
11178
11179 if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
11180 return false;
11181 }
11182
11183 return parts.every(function (part) {
11184 if (part.length > 63 && !options.ignore_max_length) {
11185 return false;
11186 }
11187
11188 if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
11189 return false;
11190 } // disallow full-width chars
11191
11192
11193 if (/[\uff01-\uff5e]/.test(part)) {
11194 return false;
11195 } // disallow parts starting or ending with hyphen
11196
11197
11198 if (/^-|-$/.test(part)) {
11199 return false;
11200 }
11201
11202 if (!options.allow_underscores && /_/.test(part)) {
11203 return false;
11204 }
11205
11206 return true;
11207 });
11208 }
11209
11210 module.exports = exports.default;
11211 module.exports["default"] = exports.default;
11212
11213 /***/ }),
11214
11215 /***/ "../node_modules/validator/lib/isIP.js":
11216 /*!*********************************************!*\
11217 !*** ../node_modules/validator/lib/isIP.js ***!
11218 \*********************************************/
11219 /***/ ((module, exports, __webpack_require__) => {
11220
11221 "use strict";
11222
11223
11224 Object.defineProperty(exports, "__esModule", ({
11225 value: true
11226 }));
11227 exports["default"] = isIP;
11228
11229 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11230
11231 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11232
11233 /**
11234 11.3. Examples
11235
11236 The following addresses
11237
11238 fe80::1234 (on the 1st link of the node)
11239 ff02::5678 (on the 5th link of the node)
11240 ff08::9abc (on the 10th organization of the node)
11241
11242 would be represented as follows:
11243
11244 fe80::1234%1
11245 ff02::5678%5
11246 ff08::9abc%10
11247
11248 (Here we assume a natural translation from a zone index to the
11249 <zone_id> part, where the Nth zone of any scope is translated into
11250 "N".)
11251
11252 If we use interface names as <zone_id>, those addresses could also be
11253 represented as follows:
11254
11255 fe80::1234%ne0
11256 ff02::5678%pvc1.3
11257 ff08::9abc%interface10
11258
11259 where the interface "ne0" belongs to the 1st link, "pvc1.3" belongs
11260 to the 5th link, and "interface10" belongs to the 10th organization.
11261 * * */
11262 var IPv4SegmentFormat = '(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])';
11263 var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
11264 var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
11265 var IPv6SegmentFormat = '(?:[0-9a-fA-F]{1,4})';
11266 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,})?$');
11267
11268 function isIP(str) {
11269 var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
11270 (0, _assertString.default)(str);
11271 version = String(version);
11272
11273 if (!version) {
11274 return isIP(str, 4) || isIP(str, 6);
11275 }
11276
11277 if (version === '4') {
11278 return IPv4AddressRegExp.test(str);
11279 }
11280
11281 if (version === '6') {
11282 return IPv6AddressRegExp.test(str);
11283 }
11284
11285 return false;
11286 }
11287
11288 module.exports = exports.default;
11289 module.exports["default"] = exports.default;
11290
11291 /***/ }),
11292
11293 /***/ "../node_modules/validator/lib/isURL.js":
11294 /*!**********************************************!*\
11295 !*** ../node_modules/validator/lib/isURL.js ***!
11296 \**********************************************/
11297 /***/ ((module, exports, __webpack_require__) => {
11298
11299 "use strict";
11300
11301
11302 Object.defineProperty(exports, "__esModule", ({
11303 value: true
11304 }));
11305 exports["default"] = isURL;
11306
11307 var _assertString = _interopRequireDefault(__webpack_require__(/*! ./util/assertString */ "../node_modules/validator/lib/util/assertString.js"));
11308
11309 var _isFQDN = _interopRequireDefault(__webpack_require__(/*! ./isFQDN */ "../node_modules/validator/lib/isFQDN.js"));
11310
11311 var _isIP = _interopRequireDefault(__webpack_require__(/*! ./isIP */ "../node_modules/validator/lib/isIP.js"));
11312
11313 var _merge = _interopRequireDefault(__webpack_require__(/*! ./util/merge */ "../node_modules/validator/lib/util/merge.js"));
11314
11315 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11316
11317 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11318
11319 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."); }
11320
11321 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); }
11322
11323 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; }
11324
11325 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; }
11326
11327 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11328
11329 /*
11330 options for isURL method
11331
11332 require_protocol - if set as true isURL will return false if protocol is not present in the URL
11333 require_valid_protocol - isURL will check if the URL's protocol is present in the protocols option
11334 protocols - valid protocols can be modified with this option
11335 require_host - if set as false isURL will not check if host is present in the URL
11336 require_port - if set as true isURL will check if port is present in the URL
11337 allow_protocol_relative_urls - if set as true protocol relative URLs will be allowed
11338 validate_length - if set as false isURL will skip string length validation (IE maximum is 2083)
11339
11340 */
11341 var default_url_options = {
11342 protocols: ['http', 'https', 'ftp'],
11343 require_tld: true,
11344 require_protocol: false,
11345 require_host: true,
11346 require_port: false,
11347 require_valid_protocol: true,
11348 allow_underscores: false,
11349 allow_trailing_dot: false,
11350 allow_protocol_relative_urls: false,
11351 allow_fragments: true,
11352 allow_query_components: true,
11353 validate_length: true
11354 };
11355 var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
11356
11357 function isRegExp(obj) {
11358 return Object.prototype.toString.call(obj) === '[object RegExp]';
11359 }
11360
11361 function checkHost(host, matches) {
11362 for (var i = 0; i < matches.length; i++) {
11363 var match = matches[i];
11364
11365 if (host === match || isRegExp(match) && match.test(host)) {
11366 return true;
11367 }
11368 }
11369
11370 return false;
11371 }
11372
11373 function isURL(url, options) {
11374 (0, _assertString.default)(url);
11375
11376 if (!url || /[\s<>]/.test(url)) {
11377 return false;
11378 }
11379
11380 if (url.indexOf('mailto:') === 0) {
11381 return false;
11382 }
11383
11384 options = (0, _merge.default)(options, default_url_options);
11385
11386 if (options.validate_length && url.length >= 2083) {
11387 return false;
11388 }
11389
11390 if (!options.allow_fragments && url.includes('#')) {
11391 return false;
11392 }
11393
11394 if (!options.allow_query_components && (url.includes('?') || url.includes('&'))) {
11395 return false;
11396 }
11397
11398 var protocol, auth, host, hostname, port, port_str, split, ipv6;
11399 split = url.split('#');
11400 url = split.shift();
11401 split = url.split('?');
11402 url = split.shift();
11403 split = url.split('://');
11404
11405 if (split.length > 1) {
11406 protocol = split.shift().toLowerCase();
11407
11408 if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
11409 return false;
11410 }
11411 } else if (options.require_protocol) {
11412 return false;
11413 } else if (url.slice(0, 2) === '//') {
11414 if (!options.allow_protocol_relative_urls) {
11415 return false;
11416 }
11417
11418 split[0] = url.slice(2);
11419 }
11420
11421 url = split.join('://');
11422
11423 if (url === '') {
11424 return false;
11425 }
11426
11427 split = url.split('/');
11428 url = split.shift();
11429
11430 if (url === '' && !options.require_host) {
11431 return true;
11432 }
11433
11434 split = url.split('@');
11435
11436 if (split.length > 1) {
11437 if (options.disallow_auth) {
11438 return false;
11439 }
11440
11441 if (split[0] === '') {
11442 return false;
11443 }
11444
11445 auth = split.shift();
11446
11447 if (auth.indexOf(':') >= 0 && auth.split(':').length > 2) {
11448 return false;
11449 }
11450
11451 var _auth$split = auth.split(':'),
11452 _auth$split2 = _slicedToArray(_auth$split, 2),
11453 user = _auth$split2[0],
11454 password = _auth$split2[1];
11455
11456 if (user === '' && password === '') {
11457 return false;
11458 }
11459 }
11460
11461 hostname = split.join('@');
11462 port_str = null;
11463 ipv6 = null;
11464 var ipv6_match = hostname.match(wrapped_ipv6);
11465
11466 if (ipv6_match) {
11467 host = '';
11468 ipv6 = ipv6_match[1];
11469 port_str = ipv6_match[2] || null;
11470 } else {
11471 split = hostname.split(':');
11472 host = split.shift();
11473
11474 if (split.length) {
11475 port_str = split.join(':');
11476 }
11477 }
11478
11479 if (port_str !== null && port_str.length > 0) {
11480 port = parseInt(port_str, 10);
11481
11482 if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
11483 return false;
11484 }
11485 } else if (options.require_port) {
11486 return false;
11487 }
11488
11489 if (options.host_whitelist) {
11490 return checkHost(host, options.host_whitelist);
11491 }
11492
11493 if (host === '' && !options.require_host) {
11494 return true;
11495 }
11496
11497 if (!(0, _isIP.default)(host) && !(0, _isFQDN.default)(host, options) && (!ipv6 || !(0, _isIP.default)(ipv6, 6))) {
11498 return false;
11499 }
11500
11501 host = host || ipv6;
11502
11503 if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
11504 return false;
11505 }
11506
11507 return true;
11508 }
11509
11510 module.exports = exports.default;
11511 module.exports["default"] = exports.default;
11512
11513 /***/ }),
11514
11515 /***/ "../node_modules/validator/lib/util/assertString.js":
11516 /*!**********************************************************!*\
11517 !*** ../node_modules/validator/lib/util/assertString.js ***!
11518 \**********************************************************/
11519 /***/ ((module, exports) => {
11520
11521 "use strict";
11522
11523
11524 Object.defineProperty(exports, "__esModule", ({
11525 value: true
11526 }));
11527 exports["default"] = assertString;
11528
11529 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); }
11530
11531 function assertString(input) {
11532 var isString = typeof input === 'string' || input instanceof String;
11533
11534 if (!isString) {
11535 var invalidType = _typeof(input);
11536
11537 if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;
11538 throw new TypeError("Expected a string but received a ".concat(invalidType));
11539 }
11540 }
11541
11542 module.exports = exports.default;
11543 module.exports["default"] = exports.default;
11544
11545 /***/ }),
11546
11547 /***/ "../node_modules/validator/lib/util/merge.js":
11548 /*!***************************************************!*\
11549 !*** ../node_modules/validator/lib/util/merge.js ***!
11550 \***************************************************/
11551 /***/ ((module, exports) => {
11552
11553 "use strict";
11554
11555
11556 Object.defineProperty(exports, "__esModule", ({
11557 value: true
11558 }));
11559 exports["default"] = merge;
11560
11561 function merge() {
11562 var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11563 var defaults = arguments.length > 1 ? arguments[1] : undefined;
11564
11565 for (var key in defaults) {
11566 if (typeof obj[key] === 'undefined') {
11567 obj[key] = defaults[key];
11568 }
11569 }
11570
11571 return obj;
11572 }
11573
11574 module.exports = exports.default;
11575 module.exports["default"] = exports.default;
11576
11577 /***/ }),
11578
11579 /***/ "react":
11580 /*!************************!*\
11581 !*** external "React" ***!
11582 \************************/
11583 /***/ ((module) => {
11584
11585 "use strict";
11586 module.exports = React;
11587
11588 /***/ }),
11589
11590 /***/ "react-dom":
11591 /*!***************************!*\
11592 !*** external "ReactDOM" ***!
11593 \***************************/
11594 /***/ ((module) => {
11595
11596 "use strict";
11597 module.exports = ReactDOM;
11598
11599 /***/ }),
11600
11601 /***/ "@elementor/icons":
11602 /*!************************************!*\
11603 !*** external "elementorV2.icons" ***!
11604 \************************************/
11605 /***/ ((module) => {
11606
11607 "use strict";
11608 module.exports = elementorV2.icons;
11609
11610 /***/ }),
11611
11612 /***/ "@elementor/ui":
11613 /*!*********************************!*\
11614 !*** external "elementorV2.ui" ***!
11615 \*********************************/
11616 /***/ ((module) => {
11617
11618 "use strict";
11619 module.exports = elementorV2.ui;
11620
11621 /***/ }),
11622
11623 /***/ "@wordpress/i18n":
11624 /*!**************************!*\
11625 !*** external "wp.i18n" ***!
11626 \**************************/
11627 /***/ ((module) => {
11628
11629 "use strict";
11630 module.exports = wp.i18n;
11631
11632 /***/ }),
11633
11634 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
11635 /*!******************************************************************!*\
11636 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
11637 \******************************************************************/
11638 /***/ ((module) => {
11639
11640 function _arrayLikeToArray(arr, len) {
11641 if (len == null || len > arr.length) len = arr.length;
11642 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
11643 return arr2;
11644 }
11645 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11646
11647 /***/ }),
11648
11649 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
11650 /*!****************************************************************!*\
11651 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
11652 \****************************************************************/
11653 /***/ ((module) => {
11654
11655 function _arrayWithHoles(arr) {
11656 if (Array.isArray(arr)) return arr;
11657 }
11658 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11659
11660 /***/ }),
11661
11662 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
11663 /*!*******************************************************************!*\
11664 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
11665 \*******************************************************************/
11666 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11667
11668 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
11669 function _arrayWithoutHoles(arr) {
11670 if (Array.isArray(arr)) return arrayLikeToArray(arr);
11671 }
11672 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
11673
11674 /***/ }),
11675
11676 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
11677 /*!***********************************************************************!*\
11678 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
11679 \***********************************************************************/
11680 /***/ ((module) => {
11681
11682 function _assertThisInitialized(self) {
11683 if (self === void 0) {
11684 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
11685 }
11686 return self;
11687 }
11688 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
11689
11690 /***/ }),
11691
11692 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
11693 /*!******************************************************************!*\
11694 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
11695 \******************************************************************/
11696 /***/ ((module) => {
11697
11698 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
11699 try {
11700 var info = gen[key](arg);
11701 var value = info.value;
11702 } catch (error) {
11703 reject(error);
11704 return;
11705 }
11706 if (info.done) {
11707 resolve(value);
11708 } else {
11709 Promise.resolve(value).then(_next, _throw);
11710 }
11711 }
11712 function _asyncToGenerator(fn) {
11713 return function () {
11714 var self = this,
11715 args = arguments;
11716 return new Promise(function (resolve, reject) {
11717 var gen = fn.apply(self, args);
11718 function _next(value) {
11719 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
11720 }
11721 function _throw(err) {
11722 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
11723 }
11724 _next(undefined);
11725 });
11726 };
11727 }
11728 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
11729
11730 /***/ }),
11731
11732 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
11733 /*!****************************************************************!*\
11734 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
11735 \****************************************************************/
11736 /***/ ((module) => {
11737
11738 function _classCallCheck(instance, Constructor) {
11739 if (!(instance instanceof Constructor)) {
11740 throw new TypeError("Cannot call a class as a function");
11741 }
11742 }
11743 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
11744
11745 /***/ }),
11746
11747 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
11748 /*!*************************************************************!*\
11749 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
11750 \*************************************************************/
11751 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11752
11753 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11754 function _defineProperties(target, props) {
11755 for (var i = 0; i < props.length; i++) {
11756 var descriptor = props[i];
11757 descriptor.enumerable = descriptor.enumerable || false;
11758 descriptor.configurable = true;
11759 if ("value" in descriptor) descriptor.writable = true;
11760 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
11761 }
11762 }
11763 function _createClass(Constructor, protoProps, staticProps) {
11764 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
11765 if (staticProps) _defineProperties(Constructor, staticProps);
11766 Object.defineProperty(Constructor, "prototype", {
11767 writable: false
11768 });
11769 return Constructor;
11770 }
11771 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
11772
11773 /***/ }),
11774
11775 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
11776 /*!****************************************************************!*\
11777 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
11778 \****************************************************************/
11779 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11780
11781 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
11782 function _defineProperty(obj, key, value) {
11783 key = toPropertyKey(key);
11784 if (key in obj) {
11785 Object.defineProperty(obj, key, {
11786 value: value,
11787 enumerable: true,
11788 configurable: true,
11789 writable: true
11790 });
11791 } else {
11792 obj[key] = value;
11793 }
11794 return obj;
11795 }
11796 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
11797
11798 /***/ }),
11799
11800 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
11801 /*!*********************************************************!*\
11802 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
11803 \*********************************************************/
11804 /***/ ((module) => {
11805
11806 function _extends() {
11807 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
11808 for (var i = 1; i < arguments.length; i++) {
11809 var source = arguments[i];
11810 for (var key in source) {
11811 if (Object.prototype.hasOwnProperty.call(source, key)) {
11812 target[key] = source[key];
11813 }
11814 }
11815 }
11816 return target;
11817 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
11818 return _extends.apply(this, arguments);
11819 }
11820 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
11821
11822 /***/ }),
11823
11824 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
11825 /*!****************************************************************!*\
11826 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
11827 \****************************************************************/
11828 /***/ ((module) => {
11829
11830 function _getPrototypeOf(o) {
11831 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
11832 return o.__proto__ || Object.getPrototypeOf(o);
11833 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
11834 return _getPrototypeOf(o);
11835 }
11836 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
11837
11838 /***/ }),
11839
11840 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
11841 /*!**********************************************************!*\
11842 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
11843 \**********************************************************/
11844 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11845
11846 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
11847 function _inherits(subClass, superClass) {
11848 if (typeof superClass !== "function" && superClass !== null) {
11849 throw new TypeError("Super expression must either be null or a function");
11850 }
11851 subClass.prototype = Object.create(superClass && superClass.prototype, {
11852 constructor: {
11853 value: subClass,
11854 writable: true,
11855 configurable: true
11856 }
11857 });
11858 Object.defineProperty(subClass, "prototype", {
11859 writable: false
11860 });
11861 if (superClass) setPrototypeOf(subClass, superClass);
11862 }
11863 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
11864
11865 /***/ }),
11866
11867 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
11868 /*!***********************************************************************!*\
11869 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
11870 \***********************************************************************/
11871 /***/ ((module) => {
11872
11873 function _interopRequireDefault(obj) {
11874 return obj && obj.__esModule ? obj : {
11875 "default": obj
11876 };
11877 }
11878 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
11879
11880 /***/ }),
11881
11882 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
11883 /*!*****************************************************************!*\
11884 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
11885 \*****************************************************************/
11886 /***/ ((module) => {
11887
11888 function _iterableToArray(iter) {
11889 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
11890 }
11891 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
11892
11893 /***/ }),
11894
11895 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
11896 /*!**********************************************************************!*\
11897 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
11898 \**********************************************************************/
11899 /***/ ((module) => {
11900
11901 function _iterableToArrayLimit(r, l) {
11902 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
11903 if (null != t) {
11904 var e,
11905 n,
11906 i,
11907 u,
11908 a = [],
11909 f = !0,
11910 o = !1;
11911 try {
11912 if (i = (t = t.call(r)).next, 0 === l) {
11913 if (Object(t) !== t) return;
11914 f = !1;
11915 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
11916 } catch (r) {
11917 o = !0, n = r;
11918 } finally {
11919 try {
11920 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
11921 } finally {
11922 if (o) throw n;
11923 }
11924 }
11925 return a;
11926 }
11927 }
11928 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
11929
11930 /***/ }),
11931
11932 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
11933 /*!*****************************************************************!*\
11934 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
11935 \*****************************************************************/
11936 /***/ ((module) => {
11937
11938 function _nonIterableRest() {
11939 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11940 }
11941 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
11942
11943 /***/ }),
11944
11945 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
11946 /*!*******************************************************************!*\
11947 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
11948 \*******************************************************************/
11949 /***/ ((module) => {
11950
11951 function _nonIterableSpread() {
11952 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
11953 }
11954 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
11955
11956 /***/ }),
11957
11958 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
11959 /*!*************************************************************************!*\
11960 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
11961 \*************************************************************************/
11962 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
11963
11964 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
11965 function _objectWithoutProperties(source, excluded) {
11966 if (source == null) return {};
11967 var target = objectWithoutPropertiesLoose(source, excluded);
11968 var key, i;
11969 if (Object.getOwnPropertySymbols) {
11970 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
11971 for (i = 0; i < sourceSymbolKeys.length; i++) {
11972 key = sourceSymbolKeys[i];
11973 if (excluded.indexOf(key) >= 0) continue;
11974 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
11975 target[key] = source[key];
11976 }
11977 }
11978 return target;
11979 }
11980 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
11981
11982 /***/ }),
11983
11984 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
11985 /*!******************************************************************************!*\
11986 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
11987 \******************************************************************************/
11988 /***/ ((module) => {
11989
11990 function _objectWithoutPropertiesLoose(source, excluded) {
11991 if (source == null) return {};
11992 var target = {};
11993 var sourceKeys = Object.keys(source);
11994 var key, i;
11995 for (i = 0; i < sourceKeys.length; i++) {
11996 key = sourceKeys[i];
11997 if (excluded.indexOf(key) >= 0) continue;
11998 target[key] = source[key];
11999 }
12000 return target;
12001 }
12002 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
12003
12004 /***/ }),
12005
12006 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
12007 /*!***************************************************************************!*\
12008 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
12009 \***************************************************************************/
12010 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12011
12012 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12013 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
12014 function _possibleConstructorReturn(self, call) {
12015 if (call && (_typeof(call) === "object" || typeof call === "function")) {
12016 return call;
12017 } else if (call !== void 0) {
12018 throw new TypeError("Derived constructors may only return object or undefined");
12019 }
12020 return assertThisInitialized(self);
12021 }
12022 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
12023
12024 /***/ }),
12025
12026 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
12027 /*!********************************************************************!*\
12028 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
12029 \********************************************************************/
12030 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12031
12032 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12033 function _regeneratorRuntime() {
12034 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
12035 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
12036 return e;
12037 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12038 var t,
12039 e = {},
12040 r = Object.prototype,
12041 n = r.hasOwnProperty,
12042 o = Object.defineProperty || function (t, e, r) {
12043 t[e] = r.value;
12044 },
12045 i = "function" == typeof Symbol ? Symbol : {},
12046 a = i.iterator || "@@iterator",
12047 c = i.asyncIterator || "@@asyncIterator",
12048 u = i.toStringTag || "@@toStringTag";
12049 function define(t, e, r) {
12050 return Object.defineProperty(t, e, {
12051 value: r,
12052 enumerable: !0,
12053 configurable: !0,
12054 writable: !0
12055 }), t[e];
12056 }
12057 try {
12058 define({}, "");
12059 } catch (t) {
12060 define = function define(t, e, r) {
12061 return t[e] = r;
12062 };
12063 }
12064 function wrap(t, e, r, n) {
12065 var i = e && e.prototype instanceof Generator ? e : Generator,
12066 a = Object.create(i.prototype),
12067 c = new Context(n || []);
12068 return o(a, "_invoke", {
12069 value: makeInvokeMethod(t, r, c)
12070 }), a;
12071 }
12072 function tryCatch(t, e, r) {
12073 try {
12074 return {
12075 type: "normal",
12076 arg: t.call(e, r)
12077 };
12078 } catch (t) {
12079 return {
12080 type: "throw",
12081 arg: t
12082 };
12083 }
12084 }
12085 e.wrap = wrap;
12086 var h = "suspendedStart",
12087 l = "suspendedYield",
12088 f = "executing",
12089 s = "completed",
12090 y = {};
12091 function Generator() {}
12092 function GeneratorFunction() {}
12093 function GeneratorFunctionPrototype() {}
12094 var p = {};
12095 define(p, a, function () {
12096 return this;
12097 });
12098 var d = Object.getPrototypeOf,
12099 v = d && d(d(values([])));
12100 v && v !== r && n.call(v, a) && (p = v);
12101 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
12102 function defineIteratorMethods(t) {
12103 ["next", "throw", "return"].forEach(function (e) {
12104 define(t, e, function (t) {
12105 return this._invoke(e, t);
12106 });
12107 });
12108 }
12109 function AsyncIterator(t, e) {
12110 function invoke(r, o, i, a) {
12111 var c = tryCatch(t[r], t, o);
12112 if ("throw" !== c.type) {
12113 var u = c.arg,
12114 h = u.value;
12115 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
12116 invoke("next", t, i, a);
12117 }, function (t) {
12118 invoke("throw", t, i, a);
12119 }) : e.resolve(h).then(function (t) {
12120 u.value = t, i(u);
12121 }, function (t) {
12122 return invoke("throw", t, i, a);
12123 });
12124 }
12125 a(c.arg);
12126 }
12127 var r;
12128 o(this, "_invoke", {
12129 value: function value(t, n) {
12130 function callInvokeWithMethodAndArg() {
12131 return new e(function (e, r) {
12132 invoke(t, n, e, r);
12133 });
12134 }
12135 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
12136 }
12137 });
12138 }
12139 function makeInvokeMethod(e, r, n) {
12140 var o = h;
12141 return function (i, a) {
12142 if (o === f) throw new Error("Generator is already running");
12143 if (o === s) {
12144 if ("throw" === i) throw a;
12145 return {
12146 value: t,
12147 done: !0
12148 };
12149 }
12150 for (n.method = i, n.arg = a;;) {
12151 var c = n.delegate;
12152 if (c) {
12153 var u = maybeInvokeDelegate(c, n);
12154 if (u) {
12155 if (u === y) continue;
12156 return u;
12157 }
12158 }
12159 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
12160 if (o === h) throw o = s, n.arg;
12161 n.dispatchException(n.arg);
12162 } else "return" === n.method && n.abrupt("return", n.arg);
12163 o = f;
12164 var p = tryCatch(e, r, n);
12165 if ("normal" === p.type) {
12166 if (o = n.done ? s : l, p.arg === y) continue;
12167 return {
12168 value: p.arg,
12169 done: n.done
12170 };
12171 }
12172 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
12173 }
12174 };
12175 }
12176 function maybeInvokeDelegate(e, r) {
12177 var n = r.method,
12178 o = e.iterator[n];
12179 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;
12180 var i = tryCatch(o, e.iterator, r.arg);
12181 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
12182 var a = i.arg;
12183 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);
12184 }
12185 function pushTryEntry(t) {
12186 var e = {
12187 tryLoc: t[0]
12188 };
12189 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
12190 }
12191 function resetTryEntry(t) {
12192 var e = t.completion || {};
12193 e.type = "normal", delete e.arg, t.completion = e;
12194 }
12195 function Context(t) {
12196 this.tryEntries = [{
12197 tryLoc: "root"
12198 }], t.forEach(pushTryEntry, this), this.reset(!0);
12199 }
12200 function values(e) {
12201 if (e || "" === e) {
12202 var r = e[a];
12203 if (r) return r.call(e);
12204 if ("function" == typeof e.next) return e;
12205 if (!isNaN(e.length)) {
12206 var o = -1,
12207 i = function next() {
12208 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
12209 return next.value = t, next.done = !0, next;
12210 };
12211 return i.next = i;
12212 }
12213 }
12214 throw new TypeError(_typeof(e) + " is not iterable");
12215 }
12216 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
12217 value: GeneratorFunctionPrototype,
12218 configurable: !0
12219 }), o(GeneratorFunctionPrototype, "constructor", {
12220 value: GeneratorFunction,
12221 configurable: !0
12222 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
12223 var e = "function" == typeof t && t.constructor;
12224 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
12225 }, e.mark = function (t) {
12226 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
12227 }, e.awrap = function (t) {
12228 return {
12229 __await: t
12230 };
12231 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
12232 return this;
12233 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
12234 void 0 === i && (i = Promise);
12235 var a = new AsyncIterator(wrap(t, r, n, o), i);
12236 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
12237 return t.done ? t.value : a.next();
12238 });
12239 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
12240 return this;
12241 }), define(g, "toString", function () {
12242 return "[object Generator]";
12243 }), e.keys = function (t) {
12244 var e = Object(t),
12245 r = [];
12246 for (var n in e) r.push(n);
12247 return r.reverse(), function next() {
12248 for (; r.length;) {
12249 var t = r.pop();
12250 if (t in e) return next.value = t, next.done = !1, next;
12251 }
12252 return next.done = !0, next;
12253 };
12254 }, e.values = values, Context.prototype = {
12255 constructor: Context,
12256 reset: function reset(e) {
12257 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);
12258 },
12259 stop: function stop() {
12260 this.done = !0;
12261 var t = this.tryEntries[0].completion;
12262 if ("throw" === t.type) throw t.arg;
12263 return this.rval;
12264 },
12265 dispatchException: function dispatchException(e) {
12266 if (this.done) throw e;
12267 var r = this;
12268 function handle(n, o) {
12269 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
12270 }
12271 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
12272 var i = this.tryEntries[o],
12273 a = i.completion;
12274 if ("root" === i.tryLoc) return handle("end");
12275 if (i.tryLoc <= this.prev) {
12276 var c = n.call(i, "catchLoc"),
12277 u = n.call(i, "finallyLoc");
12278 if (c && u) {
12279 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12280 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12281 } else if (c) {
12282 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
12283 } else {
12284 if (!u) throw new Error("try statement without catch or finally");
12285 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
12286 }
12287 }
12288 }
12289 },
12290 abrupt: function abrupt(t, e) {
12291 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
12292 var o = this.tryEntries[r];
12293 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
12294 var i = o;
12295 break;
12296 }
12297 }
12298 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
12299 var a = i ? i.completion : {};
12300 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
12301 },
12302 complete: function complete(t, e) {
12303 if ("throw" === t.type) throw t.arg;
12304 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;
12305 },
12306 finish: function finish(t) {
12307 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12308 var r = this.tryEntries[e];
12309 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
12310 }
12311 },
12312 "catch": function _catch(t) {
12313 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
12314 var r = this.tryEntries[e];
12315 if (r.tryLoc === t) {
12316 var n = r.completion;
12317 if ("throw" === n.type) {
12318 var o = n.arg;
12319 resetTryEntry(r);
12320 }
12321 return o;
12322 }
12323 }
12324 throw new Error("illegal catch attempt");
12325 },
12326 delegateYield: function delegateYield(e, r, n) {
12327 return this.delegate = {
12328 iterator: values(e),
12329 resultName: r,
12330 nextLoc: n
12331 }, "next" === this.method && (this.arg = t), y;
12332 }
12333 }, e;
12334 }
12335 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
12336
12337 /***/ }),
12338
12339 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
12340 /*!****************************************************************!*\
12341 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
12342 \****************************************************************/
12343 /***/ ((module) => {
12344
12345 function _setPrototypeOf(o, p) {
12346 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
12347 o.__proto__ = p;
12348 return o;
12349 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
12350 return _setPrototypeOf(o, p);
12351 }
12352 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
12353
12354 /***/ }),
12355
12356 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
12357 /*!***************************************************************!*\
12358 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
12359 \***************************************************************/
12360 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12361
12362 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
12363 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
12364 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12365 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
12366 function _slicedToArray(arr, i) {
12367 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
12368 }
12369 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12370
12371 /***/ }),
12372
12373 /***/ "../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js":
12374 /*!***********************************************************************!*\
12375 !*** ../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js ***!
12376 \***********************************************************************/
12377 /***/ ((module) => {
12378
12379 function _taggedTemplateLiteral(strings, raw) {
12380 if (!raw) {
12381 raw = strings.slice(0);
12382 }
12383 return Object.freeze(Object.defineProperties(strings, {
12384 raw: {
12385 value: Object.freeze(raw)
12386 }
12387 }));
12388 }
12389 module.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports["default"] = module.exports;
12390
12391 /***/ }),
12392
12393 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
12394 /*!*******************************************************************!*\
12395 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
12396 \*******************************************************************/
12397 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12398
12399 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
12400 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
12401 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
12402 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
12403 function _toConsumableArray(arr) {
12404 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
12405 }
12406 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12407
12408 /***/ }),
12409
12410 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
12411 /*!*************************************************************!*\
12412 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
12413 \*************************************************************/
12414 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12415
12416 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12417 function _toPrimitive(input, hint) {
12418 if (_typeof(input) !== "object" || input === null) return input;
12419 var prim = input[Symbol.toPrimitive];
12420 if (prim !== undefined) {
12421 var res = prim.call(input, hint || "default");
12422 if (_typeof(res) !== "object") return res;
12423 throw new TypeError("@@toPrimitive must return a primitive value.");
12424 }
12425 return (hint === "string" ? String : Number)(input);
12426 }
12427 module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
12428
12429 /***/ }),
12430
12431 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
12432 /*!***************************************************************!*\
12433 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
12434 \***************************************************************/
12435 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12436
12437 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
12438 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
12439 function _toPropertyKey(arg) {
12440 var key = toPrimitive(arg, "string");
12441 return _typeof(key) === "symbol" ? key : String(key);
12442 }
12443 module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
12444
12445 /***/ }),
12446
12447 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
12448 /*!********************************************************!*\
12449 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
12450 \********************************************************/
12451 /***/ ((module) => {
12452
12453 function _typeof(o) {
12454 "@babel/helpers - typeof";
12455
12456 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
12457 return typeof o;
12458 } : function (o) {
12459 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12460 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
12461 }
12462 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
12463
12464 /***/ }),
12465
12466 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
12467 /*!****************************************************************************!*\
12468 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
12469 \****************************************************************************/
12470 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12471
12472 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
12473 function _unsupportedIterableToArray(o, minLen) {
12474 if (!o) return;
12475 if (typeof o === "string") return arrayLikeToArray(o, minLen);
12476 var n = Object.prototype.toString.call(o).slice(8, -1);
12477 if (n === "Object" && o.constructor) n = o.constructor.name;
12478 if (n === "Map" || n === "Set") return Array.from(o);
12479 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
12480 }
12481 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
12482
12483 /***/ }),
12484
12485 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
12486 /*!***********************************************************!*\
12487 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
12488 \***********************************************************/
12489 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
12490
12491 // TODO(Babel 8): Remove this file.
12492
12493 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
12494 module.exports = runtime;
12495
12496 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
12497 try {
12498 regeneratorRuntime = runtime;
12499 } catch (accidentalStrictMode) {
12500 if (typeof globalThis === "object") {
12501 globalThis.regeneratorRuntime = runtime;
12502 } else {
12503 Function("r", "regeneratorRuntime = r")(runtime);
12504 }
12505 }
12506
12507
12508 /***/ })
12509
12510 /******/ });
12511 /************************************************************************/
12512 /******/ // The module cache
12513 /******/ var __webpack_module_cache__ = {};
12514 /******/
12515 /******/ // The require function
12516 /******/ function __webpack_require__(moduleId) {
12517 /******/ // Check if module is in cache
12518 /******/ var cachedModule = __webpack_module_cache__[moduleId];
12519 /******/ if (cachedModule !== undefined) {
12520 /******/ return cachedModule.exports;
12521 /******/ }
12522 /******/ // Create a new module (and put it into the cache)
12523 /******/ var module = __webpack_module_cache__[moduleId] = {
12524 /******/ // no module.id needed
12525 /******/ // no module.loaded needed
12526 /******/ exports: {}
12527 /******/ };
12528 /******/
12529 /******/ // Execute the module function
12530 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
12531 /******/
12532 /******/ // Return the exports of the module
12533 /******/ return module.exports;
12534 /******/ }
12535 /******/
12536 /************************************************************************/
12537 /******/ /* webpack/runtime/compat get default export */
12538 /******/ (() => {
12539 /******/ // getDefaultExport function for compatibility with non-harmony modules
12540 /******/ __webpack_require__.n = (module) => {
12541 /******/ var getter = module && module.__esModule ?
12542 /******/ () => (module['default']) :
12543 /******/ () => (module);
12544 /******/ __webpack_require__.d(getter, { a: getter });
12545 /******/ return getter;
12546 /******/ };
12547 /******/ })();
12548 /******/
12549 /******/ /* webpack/runtime/define property getters */
12550 /******/ (() => {
12551 /******/ // define getter functions for harmony exports
12552 /******/ __webpack_require__.d = (exports, definition) => {
12553 /******/ for(var key in definition) {
12554 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12555 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
12556 /******/ }
12557 /******/ }
12558 /******/ };
12559 /******/ })();
12560 /******/
12561 /******/ /* webpack/runtime/hasOwnProperty shorthand */
12562 /******/ (() => {
12563 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
12564 /******/ })();
12565 /******/
12566 /******/ /* webpack/runtime/make namespace object */
12567 /******/ (() => {
12568 /******/ // define __esModule on exports
12569 /******/ __webpack_require__.r = (exports) => {
12570 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12571 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
12572 /******/ }
12573 /******/ Object.defineProperty(exports, '__esModule', { value: true });
12574 /******/ };
12575 /******/ })();
12576 /******/
12577 /******/ /* webpack/runtime/nonce */
12578 /******/ (() => {
12579 /******/ __webpack_require__.nc = undefined;
12580 /******/ })();
12581 /******/
12582 /************************************************************************/
12583 var __webpack_exports__ = {};
12584 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
12585 (() => {
12586 "use strict";
12587 var exports = __webpack_exports__;
12588 /*!*******************************************************!*\
12589 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
12590 \*******************************************************/
12591
12592
12593 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12594 Object.defineProperty(exports, "__esModule", ({
12595 value: true
12596 }));
12597 exports["default"] = exports.AI_ATTACHMENT = void 0;
12598 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
12599 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12600 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
12601 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
12602 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
12603 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
12604 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
12605 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
12606 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
12607 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
12608 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
12609 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
12610 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
12611 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"));
12612 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); }; }
12613 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; } }
12614 var AI_ATTACHMENT = 'ai-attachment';
12615 exports.AI_ATTACHMENT = AI_ATTACHMENT;
12616 var Module = /*#__PURE__*/function (_elementorModules$edi) {
12617 (0, _inherits2.default)(Module, _elementorModules$edi);
12618 var _super = _createSuper(Module);
12619 function Module() {
12620 var _this;
12621 (0, _classCallCheck2.default)(this, Module);
12622 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12623 args[_key] = arguments[_key];
12624 }
12625 _this = _super.call.apply(_super, [this].concat(args));
12626 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
12627 var _ElementorAiConfig, _ElementorAiConfig$us;
12628 var saveGroup = groups.find(function (group) {
12629 return 'save' === group.name;
12630 });
12631 if (!saveGroup) {
12632 return groups;
12633 }
12634 var contextMenu = {
12635 name: 'ai',
12636 icon: 'eicon-ai',
12637 isEnabled: function isEnabled() {
12638 return 0 !== currentElement.getContainer().children.length;
12639 },
12640 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
12641 callback: function () {
12642 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
12643 var container, json, attachments;
12644 return _regenerator.default.wrap(function _callee$(_context) {
12645 while (1) switch (_context.prev = _context.next) {
12646 case 0:
12647 container = currentElement.getContainer();
12648 json = container.model.toJSON({
12649 remove: ['default']
12650 });
12651 attachments = [{
12652 type: 'json',
12653 previewHTML: '',
12654 content: json,
12655 label: container.model.get('title')
12656 }];
12657 (0, _editorIntegration.renderLayoutApp)({
12658 parentContainer: container.parent,
12659 mode: _config.MODE_VARIATION,
12660 at: container.view._index,
12661 attachments: attachments,
12662 onSelect: function onSelect() {
12663 container.view.$el.hide();
12664 },
12665 onClose: function onClose() {
12666 container.view.$el.show();
12667 },
12668 onInsert: function onInsert(template) {
12669 (0, _editorIntegration.importToEditor)({
12670 parentContainer: container.parent,
12671 at: container.view._index,
12672 template: template,
12673 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
12674 replace: true
12675 });
12676 }
12677 });
12678 case 4:
12679 case "end":
12680 return _context.stop();
12681 }
12682 }, _callee);
12683 }));
12684 function callback() {
12685 return _callback.apply(this, arguments);
12686 }
12687 return callback;
12688 }()
12689 };
12690 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
12691 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>";
12692 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
12693 }
12694
12695 // Add on top of save group actions
12696 saveGroup.actions.unshift(contextMenu);
12697 return groups;
12698 });
12699 return _this;
12700 }
12701 (0, _createClass2.default)(Module, [{
12702 key: "onElementorInit",
12703 value: function onElementorInit() {
12704 var _this2 = this;
12705 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
12706 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
12707 elementor.hooks.addFilter('elementor/editor/template-library/template/behaviors', this.registerLibraryActionButtonBehavior);
12708 elementor.hooks.addFilter('elementor/editor/template-library/template/action-button', this.filterLibraryActionButtonTemplate, 11);
12709 $e.commands.register('library', 'generate-ai-variation', function (args) {
12710 return _this2.applyTemplate(args);
12711 });
12712 }
12713 }, {
12714 key: "applyTemplate",
12715 value: function applyTemplate(args) {
12716 $e.components.get('library').downloadTemplate(args, function (data) {
12717 var model = args.model;
12718 window.postMessage({
12719 type: 'library/attach',
12720 json: data.content[0],
12721 html: "<img src=\"".concat(model.get('thumbnail'), "\" />"),
12722 label: "".concat(model.get('template_id'), " - ").concat(model.get('title'))
12723 }, window.location.origin);
12724 });
12725 }
12726 }, {
12727 key: "registerLibraryActionButtonBehavior",
12728 value: function registerLibraryActionButtonBehavior(behaviors) {
12729 behaviors.applyAiTemplate = {
12730 behaviorClass: _applyTemplateForAiBehavior.default
12731 };
12732 return behaviors;
12733 }
12734 }, {
12735 key: "registerAiLayoutBehavior",
12736 value: function registerAiLayoutBehavior(behaviors) {
12737 behaviors.ai = {
12738 behaviorClass: _aiLayoutBehavior.default
12739 };
12740 return behaviors;
12741 }
12742 }, {
12743 key: "filterLibraryActionButtonTemplate",
12744 value: function filterLibraryActionButtonTemplate(viewId) {
12745 var modalConfig = $e.components.get('library').manager.modalConfig;
12746 var originalCoreViewId = '#tmpl-elementor-template-library-insert-button';
12747 if (originalCoreViewId !== viewId) {
12748 return viewId;
12749 }
12750 if ($e.routes.current.library !== 'library/templates/blocks') {
12751 return viewId;
12752 }
12753 if (AI_ATTACHMENT === modalConfig.mode) {
12754 viewId = '#tmpl-elementor-template-library-apply-ai-button';
12755 } else {
12756 viewId = '#tmpl-elementor-template-library-insert-and-ai-variations-buttons';
12757 }
12758 return viewId;
12759 }
12760 }]);
12761 return Module;
12762 }(elementorModules.editor.utils.Module);
12763 exports["default"] = Module;
12764 new Module();
12765 })();
12766
12767 /******/ })()
12768 ;
12769 //# sourceMappingURL=ai-layout.js.map