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

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

10,542 lines 460.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*! elementor - v3.18.0 - 20-12-2023 */
2 /******/ (() => { // webpackBootstrap
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../modules/ai/assets/js/editor/ai-layout-behavior.js":
6 /*!************************************************************!*\
7 !*** ../modules/ai/assets/js/editor/ai-layout-behavior.js ***!
8 \************************************************************/
9 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
10
11 "use strict";
12
13
14 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
15 Object.defineProperty(exports, "__esModule", ({
16 value: true
17 }));
18 exports["default"] = void 0;
19 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
20 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
21 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
22 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
23 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
24 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
25 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
26 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
27 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
28 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
29 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); }; }
30 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; } }
31 var AiLayoutBehavior = /*#__PURE__*/function (_Marionette$Behavior) {
32 (0, _inherits2.default)(AiLayoutBehavior, _Marionette$Behavior);
33 var _super = _createSuper(AiLayoutBehavior);
34 function AiLayoutBehavior() {
35 var _this;
36 (0, _classCallCheck2.default)(this, AiLayoutBehavior);
37 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
38 args[_key] = arguments[_key];
39 }
40 _this = _super.call.apply(_super, [this].concat(args));
41 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "previewContainer", null);
42 return _this;
43 }
44 (0, _createClass2.default)(AiLayoutBehavior, [{
45 key: "ui",
46 value: function ui() {
47 return {
48 aiButton: '.e-ai-layout-button',
49 addTemplateButton: '.elementor-add-template-button'
50 };
51 }
52 }, {
53 key: "events",
54 value: function events() {
55 return {
56 'click @ui.aiButton': 'onAiButtonClick'
57 };
58 }
59 }, {
60 key: "onAiButtonClick",
61 value: function onAiButtonClick(e) {
62 e.stopPropagation();
63 (0, _editorIntegration.renderLayoutApp)({
64 parentContainer: elementor.getPreviewContainer(),
65 mode: _config.MODE_LAYOUT,
66 at: this.view.getOption('at'),
67 onInsert: this.onInsert.bind(this),
68 onRenderApp: function onRenderApp(args) {
69 args.previewContainer.init();
70 },
71 onGenerate: function onGenerate(args) {
72 args.previewContainer.reset();
73 }
74 });
75 }
76 }, {
77 key: "hideDropArea",
78 value: function hideDropArea() {
79 this.view.onCloseButtonClick();
80 }
81 }, {
82 key: "onInsert",
83 value: function onInsert(template) {
84 this.hideDropArea();
85 (0, _editorIntegration.importToEditor)({
86 parentContainer: elementor.getPreviewContainer(),
87 at: this.view.getOption('at'),
88 template: template,
89 historyTitle: (0, _i18n.__)('AI Layout', 'elementor')
90 });
91 }
92 }, {
93 key: "onRender",
94 value: function onRender() {
95 var $button = jQuery('<div>', {
96 class: 'e-ai-layout-button elementor-add-section-area-button e-button-primary',
97 title: (0, _i18n.__)('Build with AI', 'elementor'),
98 role: 'button'
99 });
100 $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");
101 this.ui.addTemplateButton.after($button);
102 }
103 }]);
104 return AiLayoutBehavior;
105 }(Marionette.Behavior);
106 exports["default"] = AiLayoutBehavior;
107
108 /***/ }),
109
110 /***/ "../modules/ai/assets/js/editor/api/index.js":
111 /*!***************************************************!*\
112 !*** ../modules/ai/assets/js/editor/api/index.js ***!
113 \***************************************************/
114 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
115
116 "use strict";
117
118
119 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
120 Object.defineProperty(exports, "__esModule", ({
121 value: true
122 }));
123 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;
124 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
125 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; }
126 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; }
127 var request = function request(endpoint) {
128 var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
129 var immediately = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
130 var signal = arguments.length > 3 ? arguments[3] : undefined;
131 if (Object.keys(data).length) {
132 data.context = window.elementorAiCurrentContext;
133 }
134 return new Promise(function (resolve, reject) {
135 var ajaxData = elementorCommon.ajax.addRequest(endpoint, {
136 success: resolve,
137 error: reject,
138 data: data
139 }, immediately);
140 if (signal && ajaxData.jqXhr) {
141 signal.addEventListener('abort', ajaxData.jqXhr.abort);
142 }
143 });
144 };
145 var getUserInformation = function getUserInformation() {
146 return request('ai_get_user_information');
147 };
148 exports.getUserInformation = getUserInformation;
149 var getRemoteConfig = function getRemoteConfig() {
150 return request('ai_get_remote_config');
151 };
152 exports.getRemoteConfig = getRemoteConfig;
153 var getCompletionText = function getCompletionText(prompt) {
154 return request('ai_get_completion_text', {
155 prompt: prompt
156 });
157 };
158 exports.getCompletionText = getCompletionText;
159 var getEditText = function getEditText(input, instruction) {
160 return request('ai_get_edit_text', {
161 input: input,
162 instruction: instruction
163 });
164 };
165 exports.getEditText = getEditText;
166 var getCustomCode = function getCustomCode(prompt, language) {
167 return request('ai_get_custom_code', {
168 prompt: prompt,
169 language: language
170 });
171 };
172 exports.getCustomCode = getCustomCode;
173 var getCustomCSS = function getCustomCSS(prompt, htmlMarkup, elementId) {
174 return request('ai_get_custom_css', {
175 prompt: prompt,
176 html_markup: htmlMarkup,
177 element_id: elementId
178 });
179 };
180 exports.getCustomCSS = getCustomCSS;
181 var setGetStarted = function setGetStarted() {
182 return request('ai_set_get_started');
183 };
184 exports.setGetStarted = setGetStarted;
185 var setStatusFeedback = function setStatusFeedback(responseId) {
186 return request('ai_set_status_feedback', {
187 response_id: responseId
188 });
189 };
190 exports.setStatusFeedback = setStatusFeedback;
191 var getTextToImageGeneration = function getTextToImageGeneration(prompt, promptSettings) {
192 return request('ai_get_text_to_image', {
193 prompt: prompt,
194 promptSettings: promptSettings
195 });
196 };
197 exports.getTextToImageGeneration = getTextToImageGeneration;
198 var getImageToImageGeneration = function getImageToImageGeneration(prompt, promptSettings, image) {
199 return request('ai_get_image_to_image', {
200 prompt: prompt,
201 promptSettings: promptSettings,
202 image: image
203 });
204 };
205 exports.getImageToImageGeneration = getImageToImageGeneration;
206 var getImageToImageMaskGeneration = function getImageToImageMaskGeneration(prompt, promptSettings, image, mask) {
207 return request('ai_get_image_to_image_mask', {
208 prompt: prompt,
209 promptSettings: promptSettings,
210 image: image,
211 mask: mask
212 });
213 };
214 exports.getImageToImageMaskGeneration = getImageToImageMaskGeneration;
215 var getImageToImageOutPainting = function getImageToImageOutPainting(prompt, promptSettings, image, mask) {
216 return request('ai_get_image_to_image_outpainting', {
217 prompt: prompt,
218 promptSettings: promptSettings,
219 mask: mask
220 });
221 };
222 exports.getImageToImageOutPainting = getImageToImageOutPainting;
223 var getImageToImageUpscale = function getImageToImageUpscale(prompt, promptSettings, image) {
224 return request('ai_get_image_to_image_upscale', {
225 prompt: prompt,
226 promptSettings: promptSettings,
227 image: image
228 });
229 };
230 exports.getImageToImageUpscale = getImageToImageUpscale;
231 var getImageToImageRemoveBackground = function getImageToImageRemoveBackground(image) {
232 return request('ai_get_image_to_image_remove_background', {
233 image: image
234 });
235 };
236 exports.getImageToImageRemoveBackground = getImageToImageRemoveBackground;
237 var getImageToImageReplaceBackground = function getImageToImageReplaceBackground(prompt, image) {
238 return request('ai_get_image_to_image_replace_background', {
239 prompt: prompt,
240 image: image
241 });
242 };
243 exports.getImageToImageReplaceBackground = getImageToImageReplaceBackground;
244 var getImageToImageRemoveText = function getImageToImageRemoveText(image) {
245 return request('ai_get_image_to_image_remove_text', {
246 image: image
247 });
248 };
249 exports.getImageToImageRemoveText = getImageToImageRemoveText;
250 var getImagePromptEnhanced = function getImagePromptEnhanced(prompt) {
251 return request('ai_get_image_prompt_enhancer', {
252 prompt: prompt
253 });
254 };
255 exports.getImagePromptEnhanced = getImagePromptEnhanced;
256 var uploadImage = function uploadImage(image) {
257 return request('ai_upload_image', _objectSpread({}, image));
258 };
259
260 /**
261 * @typedef {Object} AttachmentPropType - See ./types/attachment.js
262 * @typedef {Object} requestBody
263 * @property {string} prompt - Prompt to generate the layout from.
264 * @property {0|1|2} [variationType] - Type of the layout to generate (actually it's a position).
265 * @property {string[]} [prevGeneratedIds] - Previously generated ids for exclusion on regeneration.
266 * @property {AttachmentPropType[]} [attachments] - Attachments to use for the generation. currently only `json` type is supported - a container JSON to generate variations from.
267 */
268
269 /**
270 * @param {requestBody} requestBody
271 * @param {AbortSignal} [signal]
272 */
273 exports.uploadImage = uploadImage;
274 var generateLayout = function generateLayout(requestBody, signal) {
275 return request('ai_generate_layout', requestBody, true, signal);
276 };
277 exports.generateLayout = generateLayout;
278 var getLayoutPromptEnhanced = function getLayoutPromptEnhanced(prompt, enhanceType) {
279 return request('ai_get_layout_prompt_enhancer', {
280 prompt: prompt,
281 enhance_type: enhanceType
282 });
283 };
284 exports.getLayoutPromptEnhanced = getLayoutPromptEnhanced;
285 var getHistory = function getHistory(type, page, limit) {
286 return request('ai_get_history', {
287 type: type,
288 page: page,
289 limit: limit
290 });
291 };
292 exports.getHistory = getHistory;
293 var deleteHistoryItem = function deleteHistoryItem(id) {
294 return request('ai_delete_history_item', {
295 id: id
296 });
297 };
298 exports.deleteHistoryItem = deleteHistoryItem;
299 var toggleFavoriteHistoryItem = function toggleFavoriteHistoryItem(id) {
300 return request('ai_toggle_favorite_history_item', {
301 id: id
302 });
303 };
304 exports.toggleFavoriteHistoryItem = toggleFavoriteHistoryItem;
305
306 /***/ }),
307
308 /***/ "../modules/ai/assets/js/editor/components/alert-dialog.js":
309 /*!*****************************************************************!*\
310 !*** ../modules/ai/assets/js/editor/components/alert-dialog.js ***!
311 \*****************************************************************/
312 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
313
314 "use strict";
315
316
317 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
318 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
319 Object.defineProperty(exports, "__esModule", ({
320 value: true
321 }));
322 exports.AlertDialog = void 0;
323 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
324 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
325 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
326 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
327 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
328 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); }
329 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; }
330 var AlertDialog = function AlertDialog(props) {
331 var _useState = (0, _react.useState)(true),
332 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
333 isShown = _useState2[0],
334 setIsShown = _useState2[1];
335 if (!isShown) {
336 return null;
337 }
338 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
339 open: true,
340 maxWidth: "lg"
341 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
342 sx: {
343 padding: 0
344 }
345 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
346 sx: {
347 textAlign: 'center',
348 padding: 3
349 }
350 }, props.message), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
351 alignItems: "center",
352 spacing: 2,
353 marginBottom: 2
354 }, /*#__PURE__*/_react.default.createElement(_ui.Button, {
355 variant: "contained",
356 type: "button",
357 color: "primary",
358 onClick: function onClick() {
359 var _props$onClose;
360 setIsShown(false);
361 (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
362 }
363 }, (0, _i18n.__)('Close', 'elementor')))));
364 };
365 exports.AlertDialog = AlertDialog;
366 AlertDialog.propTypes = {
367 message: _propTypes.default.string.isRequired,
368 onClose: _propTypes.default.func
369 };
370
371 /***/ }),
372
373 /***/ "../modules/ai/assets/js/editor/components/dialog-header.js":
374 /*!******************************************************************!*\
375 !*** ../modules/ai/assets/js/editor/components/dialog-header.js ***!
376 \******************************************************************/
377 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
378
379 "use strict";
380
381
382 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
383 Object.defineProperty(exports, "__esModule", ({
384 value: true
385 }));
386 exports["default"] = void 0;
387 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
388 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
389 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
390 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
391 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
392 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
393 var ElementorLogo = function ElementorLogo(props) {
394 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
395 viewBox: "0 0 32 32"
396 }, props), /*#__PURE__*/_react.default.createElement("path", {
397 fillRule: "evenodd",
398 clipRule: "evenodd",
399 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"
400 }));
401 };
402 var StyledElementorLogo = (0, _ui.styled)(ElementorLogo)(function (_ref) {
403 var theme = _ref.theme;
404 return {
405 width: theme.spacing(3),
406 height: theme.spacing(3),
407 '& path': {
408 fill: theme.palette.text.primary
409 }
410 };
411 });
412 var DialogHeader = function DialogHeader(props) {
413 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
414 sx: {
415 fontWeight: 'normal'
416 },
417 color: "transparent",
418 position: "relative"
419 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
420 variant: "dense"
421 }, /*#__PURE__*/_react.default.createElement(StyledElementorLogo, {
422 sx: {
423 mr: 1
424 }
425 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
426 component: "span",
427 variant: "subtitle2",
428 sx: {
429 fontWeight: 'bold',
430 textTransform: 'uppercase'
431 }
432 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
433 label: (0, _i18n.__)('Beta', 'elementor'),
434 color: "default",
435 size: "small",
436 sx: {
437 ml: 1
438 }
439 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
440 direction: "row",
441 spacing: 1,
442 alignItems: "center",
443 sx: {
444 ml: 'auto'
445 }
446 }, props.children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
447 size: "small",
448 "aria-label": "close",
449 onClick: props.onClose,
450 sx: {
451 '&.MuiButtonBase-root': {
452 mr: -1
453 }
454 }
455 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
456 };
457 DialogHeader.propTypes = {
458 onClose: _propTypes.default.func.isRequired,
459 children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node])
460 };
461 var _default = DialogHeader;
462 exports["default"] = _default;
463
464 /***/ }),
465
466 /***/ "../modules/ai/assets/js/editor/components/loader.js":
467 /*!***********************************************************!*\
468 !*** ../modules/ai/assets/js/editor/components/loader.js ***!
469 \***********************************************************/
470 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
471
472 "use strict";
473
474
475 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
476 Object.defineProperty(exports, "__esModule", ({
477 value: true
478 }));
479 exports["default"] = void 0;
480 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
481 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
482 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
483 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
484 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
485 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
486 var _excluded = ["sx", "BoxProps"];
487 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; }
488 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; }
489 var Loader = function Loader(_ref) {
490 var _ref$sx = _ref.sx,
491 sx = _ref$sx === void 0 ? {} : _ref$sx,
492 _ref$BoxProps = _ref.BoxProps,
493 BoxProps = _ref$BoxProps === void 0 ? {} : _ref$BoxProps,
494 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
495 return /*#__PURE__*/_react.default.createElement(_ui.Box, (0, _extends2.default)({
496 width: "100%",
497 display: "flex",
498 alignItems: "center"
499 }, BoxProps, {
500 sx: _objectSpread({
501 px: 1.5,
502 minHeight: function minHeight(theme) {
503 return theme.spacing(5);
504 }
505 }, BoxProps.sx || {})
506 }), /*#__PURE__*/_react.default.createElement(_ui.LinearProgress, (0, _extends2.default)({
507 color: "secondary"
508 }, props, {
509 sx: _objectSpread({
510 width: '100%'
511 }, sx)
512 })));
513 };
514 Loader.propTypes = {
515 sx: _propTypes.default.object,
516 BoxProps: _propTypes.default.object
517 };
518 var _default = Loader;
519 exports["default"] = _default;
520
521 /***/ }),
522
523 /***/ "../modules/ai/assets/js/editor/components/prompt-dialog.js":
524 /*!******************************************************************!*\
525 !*** ../modules/ai/assets/js/editor/components/prompt-dialog.js ***!
526 \******************************************************************/
527 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
528
529 "use strict";
530
531
532 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
533 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
534 Object.defineProperty(exports, "__esModule", ({
535 value: true
536 }));
537 exports["default"] = void 0;
538 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
539 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
540 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
541 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
542 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
543 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
544 var _reactDraggable = _interopRequireDefault(__webpack_require__(/*! react-draggable */ "../node_modules/react-draggable/build/cjs/cjs.js"));
545 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
546 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); }
547 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; }
548 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; }
549 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; }
550 var DraggablePaper = function DraggablePaper(props) {
551 var _useState = (0, _react.useState)({
552 x: 0,
553 y: 0
554 }),
555 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
556 position = _useState2[0],
557 setPosition = _useState2[1];
558 var paperRef = (0, _react.useRef)(null);
559 var timeout = (0, _react.useRef)(null);
560 var onDrag = function onDrag(_e, _ref) {
561 var x = _ref.x,
562 y = _ref.y;
563 return setPosition({
564 x: x,
565 y: y
566 });
567 };
568 var handlePositionBoundaries = function handlePositionBoundaries() {
569 clearTimeout(timeout.current);
570
571 // Ensuring the dialog header, which is used as the dialog dragging handle, does not exceed the screen.
572 timeout.current = setTimeout(function () {
573 var _paperRef$current;
574 var dialogTop = (_paperRef$current = paperRef.current) === null || _paperRef$current === void 0 ? void 0 : _paperRef$current.getBoundingClientRect().top;
575 if (dialogTop < 0) {
576 setPosition(function (prev) {
577 return _objectSpread(_objectSpread({}, prev), {}, {
578 y: prev.y - dialogTop
579 });
580 });
581 }
582 }, 50);
583 };
584 (0, _react.useEffect)(function () {
585 var resizeObserver = new ResizeObserver(handlePositionBoundaries);
586 resizeObserver.observe(paperRef.current);
587 return function () {
588 resizeObserver.disconnect();
589 };
590 }, []);
591 return /*#__PURE__*/_react.default.createElement(_reactDraggable.default, {
592 position: position,
593 onDrag: onDrag,
594 handle: ".MuiAppBar-root",
595 cancel: '[class*="MuiDialogContent-root"]',
596 bounds: "parent"
597 }, /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
598 ref: paperRef
599 })));
600 };
601 var PromptDialog = function PromptDialog(props) {
602 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
603 scroll: "paper",
604 open: true,
605 fullWidth: true,
606 hideBackdrop: true,
607 PaperComponent: DraggablePaper,
608 disableScrollLock: true,
609 sx: {
610 '& .MuiDialog-container': {
611 alignItems: 'flex-start',
612 mt: '18vh'
613 }
614 },
615 PaperProps: {
616 sx: {
617 m: 0,
618 maxHeight: '76vh'
619 }
620 }
621 }, props), props.children);
622 };
623 PromptDialog.propTypes = {
624 onClose: _propTypes.default.func.isRequired,
625 children: _propTypes.default.node,
626 maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false])
627 };
628 PromptDialog.Header = _dialogHeader.default;
629 PromptDialog.Content = _ui.DialogContent;
630 var _default = PromptDialog;
631 exports["default"] = _default;
632
633 /***/ }),
634
635 /***/ "../modules/ai/assets/js/editor/components/prompt-error-message.js":
636 /*!*************************************************************************!*\
637 !*** ../modules/ai/assets/js/editor/components/prompt-error-message.js ***!
638 \*************************************************************************/
639 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
640
641 "use strict";
642
643
644 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
645 Object.defineProperty(exports, "__esModule", ({
646 value: true
647 }));
648 exports["default"] = void 0;
649 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
650 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
651 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
652 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
653 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
654 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
655 var _excluded = ["error", "onRetry", "actionPosition"];
656 var PromptErrorMessage = function PromptErrorMessage(_ref) {
657 var error = _ref.error,
658 _ref$onRetry = _ref.onRetry,
659 onRetry = _ref$onRetry === void 0 ? function () {} : _ref$onRetry,
660 _ref$actionPosition = _ref.actionPosition,
661 actionPosition = _ref$actionPosition === void 0 ? 'default' : _ref$actionPosition,
662 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
663 var messages = {
664 default: {
665 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Unknown error. Please try again later.', 'elementor')),
666 description: (0, _i18n.__)('Error code:', 'elementor') + ' ' + error,
667 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
668 buttonAction: onRetry
669 },
670 service_outage_internal: {
671 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Elementor AI is temporarily unavailable', 'elementor')),
672 description: (0, _i18n.__)('Seems like we are experiencing technical difficulty. We should be up and running shortly.', 'elementor'),
673 buttonText: (0, _i18n.__)('Try Again', 'elementor'),
674 buttonAction: onRetry
675 },
676 invalid_connect_data: {
677 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Reconnect your account', 'elementor')),
678 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", {
679 href: "https://elementor.com/help/disconnecting-reconnecting-your-elementor-account/",
680 target: "_blank",
681 rel: "noreferrer"
682 }, (0, _i18n.__)('Show me how', 'elementor'))),
683 buttonText: (0, _i18n.__)('Reconnect', 'elementor'),
684 buttonAction: function buttonAction() {
685 return window.open(window.ElementorAiConfig.connect_url);
686 }
687 },
688 not_connected: {
689 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('You aren\'t connected to Elementor AI.', 'elementor')),
690 description: (0, _i18n.__)('Elementor AI is just a few clicks away. Connect your account to instantly create texts and custom code.', 'elementor'),
691 buttonText: (0, _i18n.__)('Connect', 'elementor'),
692 buttonAction: function buttonAction() {
693 return window.open(window.ElementorAiConfig.connect_url);
694 }
695 },
696 quota_reached_trail: {
697 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
698 description: (0, _i18n.__)('Enjoy the free trial? Upgrade now for unlimited access to built-in image, text and custom code generators.', 'elementor'),
699 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
700 buttonAction: function buttonAction() {
701 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
702 }
703 },
704 quota_reached_subscription: {
705 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('It\'s time to upgrade.', 'elementor')),
706 description: (0, _i18n.__)('Love Elementor AI? Upgrade to continue creating with built-in image, text and custom code generators.', 'elementor'),
707 buttonText: (0, _i18n.__)('Upgrade', 'elementor'),
708 buttonAction: function buttonAction() {
709 return window.open('https://go.elementor.com/ai-popup-purchase-limit-reached/', '_blank');
710 }
711 },
712 rate_limit_network: {
713 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('Whoa! Slow down there.', 'elementor')),
714 description: (0, _i18n.__)('We can’t process that many requests so fast. Try again in 15 minutes.', 'elementor')
715 },
716 invalid_prompts: {
717 text: /*#__PURE__*/_react.default.createElement(_ui.AlertTitle, null, (0, _i18n.__)('We were unable to generate that prompt.', 'elementor')),
718 description: (0, _i18n.__)('Seems like the prompt contains words that could generate harmful content. Write a different prompt to continue.', 'elementor')
719 }
720 };
721 var message = messages[error] || messages.default;
722 var action = (message === null || message === void 0 ? void 0 : message.buttonText) && /*#__PURE__*/_react.default.createElement(_ui.Button, {
723 color: "inherit",
724 size: "small",
725 variant: "outlined",
726 onClick: message.buttonAction
727 }, message.buttonText);
728 return /*#__PURE__*/_react.default.createElement(_ui.Alert, (0, _extends2.default)({
729 severity: message.severity || 'error',
730 action: 'default' === actionPosition && action
731 }, props), message.text, message.description, 'bottom' === actionPosition && /*#__PURE__*/_react.default.createElement(_ui.Box, {
732 sx: {
733 mt: 1
734 }
735 }, action));
736 };
737 PromptErrorMessage.propTypes = {
738 error: _propTypes.default.string,
739 onRetry: _propTypes.default.func,
740 actionPosition: _propTypes.default.oneOf(['default', 'bottom'])
741 };
742 var _default = PromptErrorMessage;
743 exports["default"] = _default;
744
745 /***/ }),
746
747 /***/ "../modules/ai/assets/js/editor/components/upgrade-chip.js":
748 /*!*****************************************************************!*\
749 !*** ../modules/ai/assets/js/editor/components/upgrade-chip.js ***!
750 \*****************************************************************/
751 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
752
753 "use strict";
754
755
756 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
757 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
758 Object.defineProperty(exports, "__esModule", ({
759 value: true
760 }));
761 exports["default"] = void 0;
762 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
763 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
764 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
765 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
766 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
767 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
768 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); }
769 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; }
770 var popoverId = 'e-ai-upgrade-popover';
771 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
772 var theme = _ref.theme;
773 return {
774 position: 'relative',
775 '[data-popper-placement="top"] &': {
776 marginBottom: theme.spacing(2.5)
777 },
778 '[data-popper-placement="bottom"] &': {
779 marginTop: theme.spacing(2.5)
780 },
781 padding: theme.spacing(3),
782 boxShadow: theme.shadows[4],
783 zIndex: '9999'
784 };
785 });
786 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
787 var theme = _ref2.theme;
788 return {
789 width: theme.spacing(5),
790 height: theme.spacing(2.5),
791 position: 'absolute',
792 overflow: 'hidden',
793 // Override Popper inline styles.
794 left: '50% !important',
795 transform: 'translateX(-50%) rotate(var(--rotate, 0deg)) !important',
796 '[data-popper-placement="top"] &': {
797 top: '100%'
798 },
799 '[data-popper-placement="bottom"] &': {
800 '--rotate': '180deg',
801 top: "calc(".concat(theme.spacing(2.5), " * -1)")
802 },
803 '&::after': {
804 backgroundColor: theme.palette.background.paper,
805 content: '""',
806 display: 'block',
807 position: 'absolute',
808 width: theme.spacing(2.5),
809 height: theme.spacing(2.5),
810 top: 0,
811 left: '50%',
812 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
813 boxShadow: '1px 1px 5px 0px rgba(0, 0, 0, 0.2)',
814 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
815 }
816 };
817 });
818 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')];
819 var Chip = (0, _ui.styled)(_ui.Chip)(function () {
820 return {
821 '& .MuiChip-label': {
822 lineHeight: 1.5
823 },
824 '& .MuiSvgIcon-root.MuiChip-icon': {
825 fontSize: '1.25rem'
826 }
827 };
828 });
829 var UpgradeChip = function UpgradeChip(_ref3) {
830 var _ref3$hasSubscription = _ref3.hasSubscription,
831 hasSubscription = _ref3$hasSubscription === void 0 ? false : _ref3$hasSubscription,
832 _ref3$usagePercentage = _ref3.usagePercentage,
833 usagePercentage = _ref3$usagePercentage === void 0 ? 0 : _ref3$usagePercentage;
834 var _useState = (0, _react.useState)(false),
835 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
836 isPopoverOpen = _useState2[0],
837 setIsPopoverOpen = _useState2[1];
838 var anchorEl = (0, _react.useRef)(null);
839 var arrowEl = (0, _react.useRef)(null);
840 var showPopover = function showPopover() {
841 return setIsPopoverOpen(true);
842 };
843 var hidePopover = function hidePopover() {
844 return setIsPopoverOpen(false);
845 };
846 var actionUrl = 'https://go.elementor.com/ai-popup-purchase-dropdown/';
847 if (hasSubscription) {
848 actionUrl = usagePercentage >= 100 ? 'https://go.elementor.com/ai-popup-upgrade-limit-reached/' : 'https://go.elementor.com/ai-popup-upgrade-limit-reached-80-percent/';
849 }
850 var actionLabel = hasSubscription ? (0, _i18n.__)('Upgrade Elementor AI', 'elementor') : (0, _i18n.__)('Get Elementor AI', 'elementor');
851 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
852 component: "span",
853 "aria-owns": isPopoverOpen ? popoverId : undefined,
854 "aria-haspopup": "true",
855 onMouseEnter: showPopover,
856 onMouseLeave: hidePopover,
857 ref: anchorEl,
858 display: "flex",
859 alignItems: "center"
860 }, /*#__PURE__*/_react.default.createElement(Chip, {
861 color: "accent",
862 label: (0, _i18n.__)('Upgrade', 'elementor'),
863 icon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
864 size: "small"
865 }), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
866 open: isPopoverOpen,
867 anchorEl: anchorEl.current,
868 sx: {
869 zIndex: '9999',
870 maxWidth: 300
871 },
872 modifiers: [{
873 name: 'arrow',
874 enabled: true,
875 options: {
876 element: arrowEl.current
877 }
878 }]
879 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
880 ref: arrowEl
881 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
882 variant: "h5",
883 color: "text.primary"
884 }, (0, _i18n.__)('Maximize Your Access to Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.List, {
885 sx: {
886 mb: 1
887 }
888 }, upgradeBullets.map(function (bullet, index) {
889 return /*#__PURE__*/_react.default.createElement(_ui.ListItem, {
890 key: index,
891 disableGutters: true,
892 sx: {
893 alignItems: 'flex-start'
894 }
895 }, /*#__PURE__*/_react.default.createElement(_ui.ListItemIcon, null, /*#__PURE__*/_react.default.createElement(_icons.CheckedCircleIcon, null)), /*#__PURE__*/_react.default.createElement(_ui.ListItemText, {
896 sx: {
897 m: 0
898 }
899 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
900 variant: "body2"
901 }, bullet)));
902 })), /*#__PURE__*/_react.default.createElement(_ui.Button, {
903 variant: "contained",
904 color: "accent",
905 size: "small",
906 href: actionUrl,
907 target: "_blank",
908 startIcon: /*#__PURE__*/_react.default.createElement(_icons.AIIcon, null),
909 sx: {
910 '&:hover': {
911 color: 'accent.contrastText'
912 }
913 }
914 }, actionLabel))));
915 };
916 var _default = UpgradeChip;
917 exports["default"] = _default;
918 UpgradeChip.propTypes = {
919 hasSubscription: _propTypes.default.bool,
920 usagePercentage: _propTypes.default.number
921 };
922
923 /***/ }),
924
925 /***/ "../modules/ai/assets/js/editor/components/wizard-dialog.js":
926 /*!******************************************************************!*\
927 !*** ../modules/ai/assets/js/editor/components/wizard-dialog.js ***!
928 \******************************************************************/
929 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
930
931 "use strict";
932
933
934 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
935 Object.defineProperty(exports, "__esModule", ({
936 value: true
937 }));
938 exports["default"] = void 0;
939 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
940 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
941 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
942 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
943 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
944 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
945 var _dialogHeader = _interopRequireDefault(__webpack_require__(/*! ./dialog-header */ "../modules/ai/assets/js/editor/components/dialog-header.js"));
946 var _excluded = ["sx"];
947 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; }
948 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; }
949 var WizardDialog = function WizardDialog(props) {
950 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
951 open: true,
952 onClose: props.onClose,
953 fullWidth: true,
954 hideBackdrop: true,
955 maxWidth: "lg",
956 PaperProps: {
957 sx: {
958 height: '88vh'
959 }
960 },
961 sx: {
962 zIndex: 9999
963 }
964 }, props.children);
965 };
966 WizardDialog.propTypes = {
967 onClose: _propTypes.default.func.isRequired,
968 children: _propTypes.default.node.isRequired
969 };
970 var WizardDialogContent = function WizardDialogContent(_ref) {
971 var _ref$sx = _ref.sx,
972 sx = _ref$sx === void 0 ? {} : _ref$sx,
973 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
974 return /*#__PURE__*/_react.default.createElement(_ui.DialogContent, (0, _extends2.default)({}, props, {
975 sx: _objectSpread({
976 display: 'flex',
977 flexDirection: 'column',
978 justifyContent: 'center'
979 }, sx)
980 }));
981 };
982 WizardDialogContent.propTypes = {
983 sx: _propTypes.default.object
984 };
985 WizardDialog.Header = _dialogHeader.default;
986 WizardDialog.Content = WizardDialogContent;
987 var _default = WizardDialog;
988 exports["default"] = _default;
989
990 /***/ }),
991
992 /***/ "../modules/ai/assets/js/editor/hooks/use-introduction.js":
993 /*!****************************************************************!*\
994 !*** ../modules/ai/assets/js/editor/hooks/use-introduction.js ***!
995 \****************************************************************/
996 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
997
998 "use strict";
999
1000
1001 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1002 Object.defineProperty(exports, "__esModule", ({
1003 value: true
1004 }));
1005 exports["default"] = useIntroduction;
1006 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1007 var _react = __webpack_require__(/*! react */ "react");
1008 function useIntroduction(key) {
1009 var _window$elementor$con, _window$elementorAdmi, _window$elementorAdmi2, _globalConfig$introdu;
1010 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;
1011 var _useState = (0, _react.useState)(!!(globalConfig !== null && globalConfig !== void 0 && (_globalConfig$introdu = globalConfig.introduction) !== null && _globalConfig$introdu !== void 0 && _globalConfig$introdu[key])),
1012 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1013 isViewed = _useState2[0],
1014 setIsViewed = _useState2[1];
1015 function markAsViewed() {
1016 if (!key) {
1017 return Promise.reject();
1018 }
1019 return new Promise(function (resolve, reject) {
1020 if (isViewed) {
1021 reject();
1022 }
1023 setIsViewed(true);
1024 elementorCommon.ajax.addRequest('introduction_viewed', {
1025 data: {
1026 introductionKey: key
1027 },
1028 error: function error() {
1029 setIsViewed(false);
1030 reject();
1031 },
1032 success: function success() {
1033 setIsViewed(true);
1034 if (globalConfig !== null && globalConfig !== void 0 && globalConfig.introduction) {
1035 globalConfig.introduction[key] = true;
1036 }
1037 resolve();
1038 }
1039 });
1040 });
1041 }
1042 return {
1043 isViewed: isViewed,
1044 markAsViewed: markAsViewed
1045 };
1046 }
1047
1048 /***/ }),
1049
1050 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js":
1051 /*!*******************************************************************!*\
1052 !*** ../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js ***!
1053 \*******************************************************************/
1054 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1055
1056 "use strict";
1057
1058
1059 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1060 Object.defineProperty(exports, "__esModule", ({
1061 value: true
1062 }));
1063 exports["default"] = void 0;
1064 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1065 var _usePrompt2 = _interopRequireDefault(__webpack_require__(/*! ./use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
1066 var _config = __webpack_require__(/*! ../pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1067 var enhancePromptMap = new Map([['media', _api.getImagePromptEnhanced], ['layout', _api.getLayoutPromptEnhanced]]);
1068 var getResult = function getResult(prompt, type, enhanceType) {
1069 if (!enhancePromptMap.has(type)) {
1070 throw new Error("Invalid prompt type: ".concat(type));
1071 }
1072 return enhancePromptMap.get(type)(prompt, enhanceType);
1073 };
1074
1075 /**
1076 * Hook to enhance a prompt.
1077 *
1078 * @param {string} prompt
1079 * @param {'media' | 'layout'} type
1080 * @return {{enhancedPrompt: string | undefined, isEnhancing: boolean, enhance: (function(...[*]): Promise)}}
1081 */
1082 var usePromptEnhancer = function usePromptEnhancer(prompt, type) {
1083 var _useConfig = (0, _config.useConfig)(),
1084 mode = _useConfig.mode;
1085 var _usePrompt = (0, _usePrompt2.default)(function () {
1086 return getResult(prompt, type, mode);
1087 }, prompt),
1088 enhancedData = _usePrompt.data,
1089 isEnhancing = _usePrompt.isLoading,
1090 enhance = _usePrompt.send;
1091 return {
1092 enhance: enhance,
1093 isEnhancing: isEnhancing,
1094 enhancedPrompt: enhancedData === null || enhancedData === void 0 ? void 0 : enhancedData.result
1095 };
1096 };
1097 var _default = usePromptEnhancer;
1098 exports["default"] = _default;
1099
1100 /***/ }),
1101
1102 /***/ "../modules/ai/assets/js/editor/hooks/use-prompt.js":
1103 /*!**********************************************************!*\
1104 !*** ../modules/ai/assets/js/editor/hooks/use-prompt.js ***!
1105 \**********************************************************/
1106 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1107
1108 "use strict";
1109
1110
1111 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1112 Object.defineProperty(exports, "__esModule", ({
1113 value: true
1114 }));
1115 exports["default"] = void 0;
1116 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1117 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1118 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1119 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1120 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
1121 var _react = __webpack_require__(/*! react */ "react");
1122 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1123 var _excluded = ["text", "response_id", "usage", "images"];
1124 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; }
1125 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; }
1126 var normalizeResponse = function normalizeResponse(_ref) {
1127 var text = _ref.text,
1128 responseId = _ref.response_id,
1129 usage = _ref.usage,
1130 images = _ref.images,
1131 optional = (0, _objectWithoutProperties2.default)(_ref, _excluded);
1132 var creditsData = usage ? usage.quota - usage.usedQuota : 0;
1133 var credits = Math.max(creditsData, 0);
1134 var result = text || images;
1135 var normalized = {
1136 result: result,
1137 responseId: responseId,
1138 credits: credits
1139 };
1140 if (optional.base_template_id) {
1141 normalized.baseTemplateId = optional.base_template_id;
1142 }
1143 normalized.type = optional.template_type;
1144 return normalized;
1145 };
1146 var usePrompt = function usePrompt(fetchData, initialState) {
1147 var _useState = (0, _react.useState)(false),
1148 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1149 isLoading = _useState2[0],
1150 setIsLoading = _useState2[1];
1151 var _useState3 = (0, _react.useState)(''),
1152 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1153 error = _useState4[0],
1154 setError = _useState4[1];
1155 var _useState5 = (0, _react.useState)(initialState),
1156 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1157 data = _useState6[0],
1158 setData = _useState6[1];
1159 var send = /*#__PURE__*/function () {
1160 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
1161 var _len,
1162 args,
1163 _key,
1164 _args = arguments;
1165 return _regenerator.default.wrap(function _callee$(_context) {
1166 while (1) switch (_context.prev = _context.next) {
1167 case 0:
1168 for (_len = _args.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1169 args[_key] = _args[_key];
1170 }
1171 return _context.abrupt("return", new Promise(function (resolve, reject) {
1172 setError('');
1173 setIsLoading(true);
1174 fetchData.apply(void 0, args).then(function (result) {
1175 var normalizedData = normalizeResponse(result);
1176 setData(normalizedData);
1177 resolve(normalizedData);
1178 }).catch(function (err) {
1179 var finalError = (err === null || err === void 0 ? void 0 : err.responseText) || err;
1180 setError(finalError);
1181 reject(finalError);
1182 }).finally(function () {
1183 return setIsLoading(false);
1184 });
1185 }));
1186 case 2:
1187 case "end":
1188 return _context.stop();
1189 }
1190 }, _callee);
1191 }));
1192 return function send() {
1193 return _ref2.apply(this, arguments);
1194 };
1195 }();
1196 var sendUsageData = function sendUsageData() {
1197 var usageData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : data;
1198 return usageData.responseId && (0, _api.setStatusFeedback)(usageData.responseId);
1199 };
1200 var reset = function reset() {
1201 setData(function (_ref3) {
1202 var credits = _ref3.credits;
1203 return {
1204 credits: credits,
1205 result: '',
1206 responseId: ''
1207 };
1208 });
1209 setError('');
1210 setIsLoading(false);
1211 };
1212 var setResult = function setResult(result) {
1213 var responseId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1214 var updatedResult = _objectSpread({}, data);
1215 updatedResult.result = result;
1216 if (responseId) {
1217 updatedResult.responseId = responseId;
1218 }
1219 setData(updatedResult);
1220 };
1221 return {
1222 isLoading: isLoading,
1223 error: error,
1224 data: data,
1225 setResult: setResult,
1226 reset: reset,
1227 send: send,
1228 sendUsageData: sendUsageData
1229 };
1230 };
1231 var _default = usePrompt;
1232 exports["default"] = _default;
1233
1234 /***/ }),
1235
1236 /***/ "../modules/ai/assets/js/editor/hooks/use-timeout.js":
1237 /*!***********************************************************!*\
1238 !*** ../modules/ai/assets/js/editor/hooks/use-timeout.js ***!
1239 \***********************************************************/
1240 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1241
1242 "use strict";
1243
1244
1245 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1246 Object.defineProperty(exports, "__esModule", ({
1247 value: true
1248 }));
1249 exports.useTimeout = void 0;
1250 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1251 var _react = __webpack_require__(/*! react */ "react");
1252 var useTimeout = function useTimeout(delay) {
1253 var _useState = (0, _react.useState)(false),
1254 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1255 isTimeout = _useState2[0],
1256 setIsTimeout = _useState2[1];
1257 var timeoutIdRef = (0, _react.useRef)(null);
1258 var turnOffTimeout = function turnOffTimeout() {
1259 clearTimeout(timeoutIdRef.current);
1260 setIsTimeout(false);
1261 };
1262 (0, _react.useEffect)(function () {
1263 timeoutIdRef.current = setTimeout(function () {
1264 setIsTimeout(true);
1265 }, delay);
1266 return function () {
1267 clearTimeout(timeoutIdRef.current);
1268 };
1269 }, [delay]);
1270 return [isTimeout, turnOffTimeout];
1271 };
1272 exports.useTimeout = useTimeout;
1273
1274 /***/ }),
1275
1276 /***/ "../modules/ai/assets/js/editor/hooks/use-user-info.js":
1277 /*!*************************************************************!*\
1278 !*** ../modules/ai/assets/js/editor/hooks/use-user-info.js ***!
1279 \*************************************************************/
1280 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1281
1282 "use strict";
1283
1284
1285 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1286 Object.defineProperty(exports, "__esModule", ({
1287 value: true
1288 }));
1289 exports["default"] = void 0;
1290 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
1291 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
1292 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
1293 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
1294 var _react = __webpack_require__(/*! react */ "react");
1295 var _api = __webpack_require__(/*! ../api */ "../modules/ai/assets/js/editor/api/index.js");
1296 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; }
1297 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; }
1298 var useUserInfo = function useUserInfo() {
1299 var _useState = (0, _react.useState)(false),
1300 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
1301 isLoaded = _useState2[0],
1302 setIsLoaded = _useState2[1];
1303 var _useState3 = (0, _react.useState)(false),
1304 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
1305 isLoading = _useState4[0],
1306 setIsLoading = _useState4[1];
1307 var _useState5 = (0, _react.useState)({
1308 is_connected: false,
1309 is_get_started: false,
1310 connect_url: '',
1311 builder_url: '',
1312 usage: {
1313 hasAiSubscription: false,
1314 quota: 0,
1315 usedQuota: 0
1316 }
1317 }),
1318 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
1319 userInfo = _useState6[0],
1320 setUserInfo = _useState6[1];
1321 var credits = userInfo.usage.quota - userInfo.usage.usedQuota;
1322 var usagePercentage = userInfo.usage.usedQuota / userInfo.usage.quota * 100;
1323 var fetchData = /*#__PURE__*/function () {
1324 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
1325 var userInfoResult;
1326 return _regenerator.default.wrap(function _callee$(_context) {
1327 while (1) switch (_context.prev = _context.next) {
1328 case 0:
1329 setIsLoading(true);
1330 _context.next = 3;
1331 return (0, _api.getUserInformation)();
1332 case 3:
1333 userInfoResult = _context.sent;
1334 setUserInfo(function (prevState) {
1335 return _objectSpread(_objectSpread({}, prevState), userInfoResult);
1336 });
1337 setIsLoaded(true);
1338 setIsLoading(false);
1339 case 7:
1340 case "end":
1341 return _context.stop();
1342 }
1343 }, _callee);
1344 }));
1345 return function fetchData() {
1346 return _ref.apply(this, arguments);
1347 };
1348 }();
1349 if (!isLoaded && !isLoading) {
1350 fetchData();
1351 }
1352 return {
1353 isLoading: isLoading,
1354 isLoaded: isLoaded,
1355 isConnected: userInfo.is_connected,
1356 isGetStarted: userInfo.is_get_started,
1357 connectUrl: userInfo.connect_url,
1358 builderUrl: userInfo.usage.builderUrl,
1359 hasSubscription: userInfo.usage.hasAiSubscription,
1360 credits: credits < 0 ? 0 : credits,
1361 usagePercentage: Math.round(usagePercentage),
1362 fetchData: fetchData
1363 };
1364 };
1365 var _default = useUserInfo;
1366 exports["default"] = _default;
1367
1368 /***/ }),
1369
1370 /***/ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js":
1371 /*!***************************************************************!*\
1372 !*** ../modules/ai/assets/js/editor/icons/arrow-left-icon.js ***!
1373 \***************************************************************/
1374 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1375
1376 "use strict";
1377
1378
1379 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1380 Object.defineProperty(exports, "__esModule", ({
1381 value: true
1382 }));
1383 exports["default"] = void 0;
1384 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1385 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1386 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1387 var ArrowLeftIcon = _react.default.forwardRef(function (props, ref) {
1388 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1389 viewBox: "0 0 24 24"
1390 }, props, {
1391 ref: ref
1392 }), /*#__PURE__*/_react.default.createElement("path", {
1393 fillRule: "evenodd",
1394 clipRule: "evenodd",
1395 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"
1396 }));
1397 });
1398 var _default = ArrowLeftIcon;
1399 exports["default"] = _default;
1400
1401 /***/ }),
1402
1403 /***/ "../modules/ai/assets/js/editor/icons/edit-icon.js":
1404 /*!*********************************************************!*\
1405 !*** ../modules/ai/assets/js/editor/icons/edit-icon.js ***!
1406 \*********************************************************/
1407 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1408
1409 "use strict";
1410
1411
1412 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1413 Object.defineProperty(exports, "__esModule", ({
1414 value: true
1415 }));
1416 exports["default"] = void 0;
1417 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1418 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1419 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1420 var EditIcon = _react.default.forwardRef(function (props, ref) {
1421 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1422 viewBox: "0 0 24 24"
1423 }, props, {
1424 ref: ref
1425 }), /*#__PURE__*/_react.default.createElement("path", {
1426 fillRule: "evenodd",
1427 clipRule: "evenodd",
1428 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"
1429 }), /*#__PURE__*/_react.default.createElement("path", {
1430 fillRule: "evenodd",
1431 clipRule: "evenodd",
1432 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"
1433 }));
1434 });
1435 var _default = EditIcon;
1436 exports["default"] = _default;
1437
1438 /***/ }),
1439
1440 /***/ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js":
1441 /*!********************************************************************!*\
1442 !*** ../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js ***!
1443 \********************************************************************/
1444 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1445
1446 "use strict";
1447
1448
1449 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1450 Object.defineProperty(exports, "__esModule", ({
1451 value: true
1452 }));
1453 exports["default"] = void 0;
1454 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1455 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1456 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1457 var ExpandDiagonalIcon = _react.default.forwardRef(function (props, ref) {
1458 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1459 viewBox: "0 0 24 24"
1460 }, props, {
1461 ref: ref
1462 }), /*#__PURE__*/_react.default.createElement("path", {
1463 fillRule: "evenodd",
1464 clipRule: "evenodd",
1465 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"
1466 }));
1467 });
1468 var _default = ExpandDiagonalIcon;
1469 exports["default"] = _default;
1470
1471 /***/ }),
1472
1473 /***/ "../modules/ai/assets/js/editor/icons/lock-icon.js":
1474 /*!*********************************************************!*\
1475 !*** ../modules/ai/assets/js/editor/icons/lock-icon.js ***!
1476 \*********************************************************/
1477 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1478
1479 "use strict";
1480
1481
1482 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1483 Object.defineProperty(exports, "__esModule", ({
1484 value: true
1485 }));
1486 exports["default"] = void 0;
1487 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1488 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1489 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1490 var LockIcon = _react.default.forwardRef(function (props, ref) {
1491 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1492 viewBox: "0 0 24 24"
1493 }, props, {
1494 ref: ref
1495 }), /*#__PURE__*/_react.default.createElement("path", {
1496 fillRule: "evenodd",
1497 clipRule: "evenodd",
1498 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"
1499 }), /*#__PURE__*/_react.default.createElement("path", {
1500 fillRule: "evenodd",
1501 clipRule: "evenodd",
1502 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"
1503 }), /*#__PURE__*/_react.default.createElement("path", {
1504 d: "M6 12H19V20H6V12Z"
1505 }));
1506 });
1507 var _default = LockIcon;
1508 exports["default"] = _default;
1509
1510 /***/ }),
1511
1512 /***/ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js":
1513 /*!**********************************************************************!*\
1514 !*** ../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js ***!
1515 \**********************************************************************/
1516 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1517
1518 "use strict";
1519
1520
1521 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1522 Object.defineProperty(exports, "__esModule", ({
1523 value: true
1524 }));
1525 exports["default"] = void 0;
1526 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1527 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1528 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1529 var MinimizeDiagonalIcon = _react.default.forwardRef(function (props, ref) {
1530 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1531 viewBox: "0 0 24 24"
1532 }, props, {
1533 ref: ref
1534 }), /*#__PURE__*/_react.default.createElement("path", {
1535 fillRule: "evenodd",
1536 clipRule: "evenodd",
1537 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"
1538 }));
1539 });
1540 var _default = MinimizeDiagonalIcon;
1541 exports["default"] = _default;
1542
1543 /***/ }),
1544
1545 /***/ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js":
1546 /*!****************************************************************!*\
1547 !*** ../modules/ai/assets/js/editor/icons/plus-circle-icon.js ***!
1548 \****************************************************************/
1549 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1550
1551 "use strict";
1552
1553
1554 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1555 Object.defineProperty(exports, "__esModule", ({
1556 value: true
1557 }));
1558 exports["default"] = void 0;
1559 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1560 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1561 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1562 var PlusCircleIcon = _react.default.forwardRef(function (props, ref) {
1563 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1564 viewBox: "0 0 24 24"
1565 }, props, {
1566 ref: ref
1567 }), /*#__PURE__*/_react.default.createElement("path", {
1568 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"
1569 }));
1570 });
1571 var _default = PlusCircleIcon;
1572 exports["default"] = _default;
1573
1574 /***/ }),
1575
1576 /***/ "../modules/ai/assets/js/editor/icons/refresh-icon.js":
1577 /*!************************************************************!*\
1578 !*** ../modules/ai/assets/js/editor/icons/refresh-icon.js ***!
1579 \************************************************************/
1580 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1581
1582 "use strict";
1583
1584
1585 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1586 Object.defineProperty(exports, "__esModule", ({
1587 value: true
1588 }));
1589 exports["default"] = void 0;
1590 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1591 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1592 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1593 var RefreshIcon = _react.default.forwardRef(function (props, ref) {
1594 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1595 viewBox: "0 0 24 24"
1596 }, props, {
1597 ref: ref
1598 }), /*#__PURE__*/_react.default.createElement("path", {
1599 fillRule: "evenodd",
1600 clipRule: "evenodd",
1601 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"
1602 }), /*#__PURE__*/_react.default.createElement("path", {
1603 fillRule: "evenodd",
1604 clipRule: "evenodd",
1605 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"
1606 }));
1607 });
1608 var _default = RefreshIcon;
1609 exports["default"] = _default;
1610
1611 /***/ }),
1612
1613 /***/ "../modules/ai/assets/js/editor/icons/wand-icon.js":
1614 /*!*********************************************************!*\
1615 !*** ../modules/ai/assets/js/editor/icons/wand-icon.js ***!
1616 \*********************************************************/
1617 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1618
1619 "use strict";
1620
1621
1622 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1623 Object.defineProperty(exports, "__esModule", ({
1624 value: true
1625 }));
1626 exports["default"] = void 0;
1627 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1628 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1629 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1630 var WandIcon = _react.default.forwardRef(function (props, ref) {
1631 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1632 viewBox: "0 0 24 24"
1633 }, props, {
1634 ref: ref
1635 }), /*#__PURE__*/_react.default.createElement("path", {
1636 fillRule: "evenodd",
1637 clipRule: "evenodd",
1638 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"
1639 }), /*#__PURE__*/_react.default.createElement("path", {
1640 fillRule: "evenodd",
1641 clipRule: "evenodd",
1642 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"
1643 }), /*#__PURE__*/_react.default.createElement("path", {
1644 fillRule: "evenodd",
1645 clipRule: "evenodd",
1646 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"
1647 }));
1648 });
1649 var _default = WandIcon;
1650 exports["default"] = _default;
1651
1652 /***/ }),
1653
1654 /***/ "../modules/ai/assets/js/editor/icons/website-icon.js":
1655 /*!************************************************************!*\
1656 !*** ../modules/ai/assets/js/editor/icons/website-icon.js ***!
1657 \************************************************************/
1658 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1659
1660 "use strict";
1661
1662
1663 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1664 Object.defineProperty(exports, "__esModule", ({
1665 value: true
1666 }));
1667 exports["default"] = void 0;
1668 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1669 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1670 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1671 var WebsiteIcon = _react.default.forwardRef(function (props, ref) {
1672 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1673 viewBox: "0 0 24 24"
1674 }, props, {
1675 ref: ref
1676 }), /*#__PURE__*/_react.default.createElement("path", {
1677 fillRule: "evenodd",
1678 clipRule: "evenodd",
1679 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"
1680 }));
1681 });
1682 var _default = WebsiteIcon;
1683 exports["default"] = _default;
1684
1685 /***/ }),
1686
1687 /***/ "../modules/ai/assets/js/editor/icons/x-circle-icon.js":
1688 /*!*************************************************************!*\
1689 !*** ../modules/ai/assets/js/editor/icons/x-circle-icon.js ***!
1690 \*************************************************************/
1691 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1692
1693 "use strict";
1694
1695
1696 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1697 Object.defineProperty(exports, "__esModule", ({
1698 value: true
1699 }));
1700 exports["default"] = void 0;
1701 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
1702 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1703 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1704 var XCircleIcon = _react.default.forwardRef(function (props, ref) {
1705 return /*#__PURE__*/_react.default.createElement(_ui.SvgIcon, (0, _extends2.default)({
1706 viewBox: "0 0 24 24"
1707 }, props, {
1708 ref: ref
1709 }), /*#__PURE__*/_react.default.createElement("path", {
1710 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"
1711 }));
1712 });
1713 var _default = XCircleIcon;
1714 exports["default"] = _default;
1715
1716 /***/ }),
1717
1718 /***/ "../modules/ai/assets/js/editor/layout-app-wrapper.js":
1719 /*!************************************************************!*\
1720 !*** ../modules/ai/assets/js/editor/layout-app-wrapper.js ***!
1721 \************************************************************/
1722 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1723
1724 "use strict";
1725
1726
1727 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1728 Object.defineProperty(exports, "__esModule", ({
1729 value: true
1730 }));
1731 exports["default"] = void 0;
1732 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1733 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1734 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1735 var LayoutAppWrapper = function LayoutAppWrapper(props) {
1736 return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, {
1737 rtl: props.isRTL
1738 }, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
1739 colorScheme: props.colorScheme
1740 }, props.children));
1741 };
1742 LayoutAppWrapper.propTypes = {
1743 children: _propTypes.default.node,
1744 isRTL: _propTypes.default.bool,
1745 colorScheme: _propTypes.default.oneOf(['auto', 'light', 'dark'])
1746 };
1747 var _default = LayoutAppWrapper;
1748 exports["default"] = _default;
1749
1750 /***/ }),
1751
1752 /***/ "../modules/ai/assets/js/editor/layout-app.js":
1753 /*!****************************************************!*\
1754 !*** ../modules/ai/assets/js/editor/layout-app.js ***!
1755 \****************************************************/
1756 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1757
1758 "use strict";
1759
1760
1761 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1762 Object.defineProperty(exports, "__esModule", ({
1763 value: true
1764 }));
1765 exports["default"] = void 0;
1766 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1767 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1768 var _layoutContent = _interopRequireDefault(__webpack_require__(/*! ./layout-content */ "../modules/ai/assets/js/editor/layout-content.js"));
1769 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
1770 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1771 var _remoteConfig = __webpack_require__(/*! ./pages/form-layout/context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
1772 var _generateIds = __webpack_require__(/*! ./utils/generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
1773 var LayoutApp = function LayoutApp(props) {
1774 return /*#__PURE__*/_react.default.createElement(_remoteConfig.RemoteConfigProvider, {
1775 onError: props.onClose
1776 }, /*#__PURE__*/_react.default.createElement(_config.ConfigProvider, {
1777 mode: props.mode,
1778 attachmentsTypes: props.attachmentsTypes,
1779 onClose: props.onClose,
1780 onConnect: props.onConnect,
1781 onData: props.onData,
1782 onInsert: props.onInsert,
1783 onSelect: props.onSelect,
1784 onGenerate: props.onGenerate,
1785 currentContext: props.currentContext,
1786 hasPro: props.hasPro,
1787 sessionId: "session-".concat((0, _generateIds.getUniqueId)()),
1788 editorSessionId: props.editorSessionId
1789 }, /*#__PURE__*/_react.default.createElement(_layoutContent.default, {
1790 attachments: props.attachments
1791 })));
1792 };
1793 LayoutApp.propTypes = {
1794 mode: _propTypes.default.oneOf(_config.LAYOUT_APP_MODES).isRequired,
1795 attachmentsTypes: _attachment.AttachmentsTypesPropType,
1796 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType),
1797 onClose: _propTypes.default.func.isRequired,
1798 onConnect: _propTypes.default.func.isRequired,
1799 onData: _propTypes.default.func.isRequired,
1800 onInsert: _propTypes.default.func.isRequired,
1801 onSelect: _propTypes.default.func.isRequired,
1802 onGenerate: _propTypes.default.func.isRequired,
1803 currentContext: _propTypes.default.object,
1804 hasPro: _propTypes.default.bool,
1805 sessionId: _propTypes.default.string,
1806 editorSessionId: _propTypes.default.string
1807 };
1808 var _default = LayoutApp;
1809 exports["default"] = _default;
1810
1811 /***/ }),
1812
1813 /***/ "../modules/ai/assets/js/editor/layout-content.js":
1814 /*!********************************************************!*\
1815 !*** ../modules/ai/assets/js/editor/layout-content.js ***!
1816 \********************************************************/
1817 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1818
1819 "use strict";
1820
1821
1822 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1823 Object.defineProperty(exports, "__esModule", ({
1824 value: true
1825 }));
1826 exports["default"] = void 0;
1827 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
1828 var _connect = _interopRequireDefault(__webpack_require__(/*! ./pages/connect */ "../modules/ai/assets/js/editor/pages/connect/index.js"));
1829 var _formLayout = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout */ "../modules/ai/assets/js/editor/pages/form-layout/index.js"));
1830 var _getStarted = _interopRequireDefault(__webpack_require__(/*! ./pages/get-started */ "../modules/ai/assets/js/editor/pages/get-started/index.js"));
1831 var _loader = _interopRequireDefault(__webpack_require__(/*! ./components/loader */ "../modules/ai/assets/js/editor/components/loader.js"));
1832 var _upgradeChip = _interopRequireDefault(__webpack_require__(/*! ./components/upgrade-chip */ "../modules/ai/assets/js/editor/components/upgrade-chip.js"));
1833 var _useUserInfo2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-user-info */ "../modules/ai/assets/js/editor/hooks/use-user-info.js"));
1834 var _wizardDialog = _interopRequireDefault(__webpack_require__(/*! ./components/wizard-dialog */ "../modules/ai/assets/js/editor/components/wizard-dialog.js"));
1835 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./pages/form-layout/components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
1836 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1837 var _attachment = __webpack_require__(/*! ./types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
1838 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
1839 var LayoutContent = function LayoutContent(props) {
1840 var _useUserInfo = (0, _useUserInfo2.default)(),
1841 isLoading = _useUserInfo.isLoading,
1842 isConnected = _useUserInfo.isConnected,
1843 isGetStarted = _useUserInfo.isGetStarted,
1844 connectUrl = _useUserInfo.connectUrl,
1845 fetchData = _useUserInfo.fetchData,
1846 hasSubscription = _useUserInfo.hasSubscription,
1847 usagePercentage = _useUserInfo.usagePercentage;
1848 var _useConfig = (0, _config.useConfig)(),
1849 onClose = _useConfig.onClose,
1850 onConnect = _useConfig.onConnect;
1851 if (isLoading) {
1852 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
1853 onClose: onClose
1854 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, {
1855 onClose: onClose
1856 }), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, {
1857 dividers: true
1858 }, /*#__PURE__*/_react.default.createElement(_loader.default, {
1859 BoxProps: {
1860 sx: {
1861 px: 3
1862 }
1863 }
1864 })));
1865 }
1866 if (!isConnected) {
1867 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
1868 onClose: onClose
1869 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
1870 onClose: onClose
1871 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
1872 dividers: true
1873 }, /*#__PURE__*/_react.default.createElement(_connect.default, {
1874 connectUrl: connectUrl,
1875 onSuccess: function onSuccess(data) {
1876 onConnect(data);
1877 fetchData();
1878 }
1879 })));
1880 }
1881 if (!isGetStarted) {
1882 return /*#__PURE__*/_react.default.createElement(_wizardDialog.default, {
1883 onClose: onClose
1884 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
1885 onClose: onClose
1886 }), /*#__PURE__*/_react.default.createElement(_wizardDialog.default.Content, {
1887 dividers: true
1888 }, /*#__PURE__*/_react.default.createElement(_getStarted.default, {
1889 onSuccess: fetchData
1890 })));
1891 }
1892 var showUpgradeChip = !hasSubscription || 80 <= usagePercentage;
1893 return /*#__PURE__*/_react.default.createElement(_formLayout.default, {
1894 attachments: props.attachments,
1895 DialogHeaderProps: {
1896 children: showUpgradeChip && /*#__PURE__*/_react.default.createElement(_upgradeChip.default, {
1897 hasSubscription: hasSubscription,
1898 usagePercentage: usagePercentage
1899 })
1900 }
1901 });
1902 };
1903 LayoutContent.propTypes = {
1904 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
1905 };
1906 var _default = LayoutContent;
1907 exports["default"] = _default;
1908
1909 /***/ }),
1910
1911 /***/ "../modules/ai/assets/js/editor/pages/connect/index.js":
1912 /*!*************************************************************!*\
1913 !*** ../modules/ai/assets/js/editor/pages/connect/index.js ***!
1914 \*************************************************************/
1915 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1916
1917 "use strict";
1918
1919
1920 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
1921 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
1922 Object.defineProperty(exports, "__esModule", ({
1923 value: true
1924 }));
1925 exports["default"] = void 0;
1926 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
1927 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
1928 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1929 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
1930 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
1931 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); }
1932 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; }
1933 var Connect = function Connect(_ref) {
1934 var connectUrl = _ref.connectUrl,
1935 onSuccess = _ref.onSuccess;
1936 var approveButtonRef = (0, _react.useRef)();
1937 (0, _react.useEffect)(function () {
1938 // On local dev (as a standalone app), the connect lib is not loaded.
1939 if (!jQuery.fn.elementorConnect) {
1940 return;
1941 }
1942 jQuery(approveButtonRef.current).elementorConnect({
1943 success: function success(_, data) {
1944 return onSuccess(data);
1945 },
1946 error: function error() {
1947 throw new Error('Elementor AI: Failed to connect.');
1948 }
1949 });
1950 }, []);
1951 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
1952 alignItems: "center",
1953 gap: 2
1954 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
1955 sx: {
1956 color: 'text.primary',
1957 fontSize: '60px',
1958 mb: 1
1959 }
1960 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1961 variant: "h4",
1962 sx: {
1963 color: 'text.primary'
1964 }
1965 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1966 variant: "body2"
1967 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
1968 variant: "caption",
1969 sx: {
1970 maxWidth: 520,
1971 textAlign: 'center'
1972 }
1973 }, (0, _i18n.__)('By clicking "Connect", I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
1974 href: "https://go.elementor.com/ai-terms/",
1975 target: "_blank",
1976 color: "info.main"
1977 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
1978 href: "https://go.elementor.com/ai-privacy-policy/",
1979 target: "_blank",
1980 color: "info.main"
1981 }, (0, _i18n.__)('Privacy Policy', 'elementor')), (0, _i18n.__)(' of the Elementor AI service.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
1982 ref: approveButtonRef,
1983 href: connectUrl,
1984 variant: "contained",
1985 sx: {
1986 mt: 1,
1987 '&:hover': {
1988 color: 'primary.contrastText'
1989 }
1990 }
1991 }, (0, _i18n.__)('Connect', 'elementor')));
1992 };
1993 Connect.propTypes = {
1994 connectUrl: _propTypes.default.string.isRequired,
1995 onSuccess: _propTypes.default.func.isRequired
1996 };
1997 var _default = Connect;
1998 exports["default"] = _default;
1999
2000 /***/ }),
2001
2002 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js":
2003 /*!**********************************************************************************!*\
2004 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js ***!
2005 \**********************************************************************************/
2006 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2007
2008 "use strict";
2009
2010
2011 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2012 Object.defineProperty(exports, "__esModule", ({
2013 value: true
2014 }));
2015 exports["default"] = exports.ATTACHMENT_TYPE_URL = exports.ATTACHMENT_TYPE_JSON = void 0;
2016 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2017 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2018 var _menu = __webpack_require__(/*! ./attachments/menu */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js");
2019 var _thumbnailJson = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-json */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js"));
2020 var _thumbnailUrl = _interopRequireDefault(__webpack_require__(/*! ./attachments/thumbnail-url */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js"));
2021 var _websiteIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/website-icon */ "../modules/ai/assets/js/editor/icons/website-icon.js"));
2022 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2023 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2024 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2025 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2026 var ATTACHMENT_TYPE_JSON = 'json';
2027 exports.ATTACHMENT_TYPE_JSON = ATTACHMENT_TYPE_JSON;
2028 var ATTACHMENT_TYPE_URL = 'url';
2029 exports.ATTACHMENT_TYPE_URL = ATTACHMENT_TYPE_URL;
2030 var Attachments = function Attachments(props) {
2031 if (!props.attachments.length) {
2032 return /*#__PURE__*/_react.default.createElement(_menu.Menu, {
2033 disabled: props.disabled,
2034 onAttach: props.onAttach,
2035 items: [{
2036 title: (0, _i18n.__)('Reference a website', 'elementor'),
2037 icon: _websiteIcon.default,
2038 type: ATTACHMENT_TYPE_URL
2039 }]
2040 });
2041 }
2042 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2043 direction: "row",
2044 spacing: 1
2045 }, props.attachments.map(function (attachment, index) {
2046 switch (attachment.type) {
2047 case ATTACHMENT_TYPE_JSON:
2048 return /*#__PURE__*/_react.default.createElement(_thumbnailJson.default, (0, _extends2.default)({
2049 key: index
2050 }, props));
2051 case ATTACHMENT_TYPE_URL:
2052 return /*#__PURE__*/_react.default.createElement(_thumbnailUrl.default, (0, _extends2.default)({
2053 key: index
2054 }, props));
2055 default:
2056 return null;
2057 }
2058 }));
2059 };
2060 Attachments.propTypes = {
2061 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
2062 onAttach: _propTypes.default.func.isRequired,
2063 onDetach: _propTypes.default.func,
2064 disabled: _propTypes.default.bool
2065 };
2066 var _default = Attachments;
2067 exports["default"] = _default;
2068
2069 /***/ }),
2070
2071 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js":
2072 /*!************************************************************************************************!*\
2073 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js ***!
2074 \************************************************************************************************/
2075 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2076
2077 "use strict";
2078
2079
2080 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2081 Object.defineProperty(exports, "__esModule", ({
2082 value: true
2083 }));
2084 exports["default"] = exports.AttachDialog = void 0;
2085 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2086 var _urlDialog = __webpack_require__(/*! ./url-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js");
2087 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2088 var ATTACHMENT_TYPE_URL = 'url';
2089 var AttachDialog = function AttachDialog(props) {
2090 var type = props.type;
2091 switch (type) {
2092 case ATTACHMENT_TYPE_URL:
2093 return /*#__PURE__*/_react.default.createElement(_urlDialog.UrlDialog, {
2094 onAttach: props.onAttach,
2095 onClose: props.onClose
2096 });
2097 }
2098 return null;
2099 };
2100 exports.AttachDialog = AttachDialog;
2101 AttachDialog.propTypes = {
2102 type: _propTypes.default.string,
2103 onAttach: _propTypes.default.func,
2104 onClose: _propTypes.default.func
2105 };
2106 var _default = AttachDialog;
2107 exports["default"] = _default;
2108
2109 /***/ }),
2110
2111 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu-item.js":
2112 /*!********************************************************************************************!*\
2113 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu-item.js ***!
2114 \********************************************************************************************/
2115 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2116
2117 "use strict";
2118
2119
2120 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2121 Object.defineProperty(exports, "__esModule", ({
2122 value: true
2123 }));
2124 exports.MenuItem = void 0;
2125 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2126 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2127 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2128 var MenuItem = function MenuItem(props) {
2129 var IconComponent = props.icon;
2130 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2131 direction: "row",
2132 spacing: 1,
2133 sx: {
2134 cursor: 'pointer',
2135 alignItems: 'center',
2136 p: 2
2137 },
2138 variant: "body2",
2139 onClick: props.onClick
2140 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
2141 sx: {
2142 height: 18
2143 }
2144 }, /*#__PURE__*/_react.default.createElement(IconComponent, {
2145 sx: {
2146 me: 1
2147 }
2148 })), /*#__PURE__*/_react.default.createElement(_ui.Typography, null, props.title));
2149 };
2150 exports.MenuItem = MenuItem;
2151 MenuItem.propTypes = {
2152 title: _propTypes.default.string.isRequired,
2153 onClick: _propTypes.default.func.isRequired,
2154 icon: _propTypes.default.elementType
2155 };
2156
2157 /***/ }),
2158
2159 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js":
2160 /*!***************************************************************************************!*\
2161 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu.js ***!
2162 \***************************************************************************************/
2163 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2164
2165 "use strict";
2166
2167
2168 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2169 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2170 Object.defineProperty(exports, "__esModule", ({
2171 value: true
2172 }));
2173 exports.Menu = void 0;
2174 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2175 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2176 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2177 var _menuItem = __webpack_require__(/*! ./menu-item */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/menu-item.js");
2178 var _xCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/x-circle-icon */ "../modules/ai/assets/js/editor/icons/x-circle-icon.js"));
2179 var _plusCircleIcon = _interopRequireDefault(__webpack_require__(/*! ../../../../icons/plus-circle-icon */ "../modules/ai/assets/js/editor/icons/plus-circle-icon.js"));
2180 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2181 var _attachDialog = __webpack_require__(/*! ./attach-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/attach-dialog.js");
2182 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); }
2183 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; }
2184 var Menu = function Menu(props) {
2185 var _useState = (0, _react.useState)(false),
2186 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2187 isOpen = _useState2[0],
2188 setIsOpen = _useState2[1];
2189 var _useState3 = (0, _react.useState)(null),
2190 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
2191 selectedType = _useState4[0],
2192 setSelectedType = _useState4[1];
2193 var _useTheme = (0, _ui.useTheme)(),
2194 direction = _useTheme.direction;
2195 var anchorRef = (0, _react.useRef)(null);
2196 return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
2197 size: "small",
2198 ref: anchorRef,
2199 disabled: props.disabled,
2200 onClick: function onClick() {
2201 return setIsOpen(true);
2202 },
2203 color: "secondary"
2204 }, isOpen ? /*#__PURE__*/_react.default.createElement(_xCircleIcon.default, {
2205 fontSize: "small"
2206 }) : /*#__PURE__*/_react.default.createElement(_plusCircleIcon.default, {
2207 fontSize: "small"
2208 })), /*#__PURE__*/_react.default.createElement(_ui.Popover, {
2209 open: isOpen,
2210 anchorEl: anchorRef.current,
2211 onClose: function onClose() {
2212 return setIsOpen(false);
2213 },
2214 anchorOrigin: {
2215 vertical: 'bottom',
2216 horizontal: 'rtl' === direction ? 'right' : 'left'
2217 },
2218 transformOrigin: {
2219 vertical: 'top',
2220 horizontal: 'rtl' === direction ? 'right' : 'left'
2221 }
2222 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2223 spacing: 2,
2224 sx: {
2225 width: 440
2226 }
2227 }, props.items.map(function (item) {
2228 return /*#__PURE__*/_react.default.createElement(_menuItem.MenuItem, {
2229 key: item.type,
2230 title: item.title,
2231 icon: item.icon,
2232 onClick: function onClick() {
2233 return setSelectedType(item.type);
2234 }
2235 });
2236 }))), /*#__PURE__*/_react.default.createElement(_attachDialog.AttachDialog, {
2237 type: selectedType,
2238 onAttach: props.onAttach,
2239 onClose: function onClose() {
2240 setIsOpen(false);
2241 setSelectedType(null);
2242 }
2243 }));
2244 };
2245 exports.Menu = Menu;
2246 Menu.propTypes = {
2247 items: _propTypes.default.arrayOf(_propTypes.default.shape({
2248 title: _propTypes.default.string.isRequired,
2249 type: _propTypes.default.string.isRequired,
2250 icon: _propTypes.default.elementType
2251 })).isRequired,
2252 onAttach: _propTypes.default.func.isRequired,
2253 disabled: _propTypes.default.bool
2254 };
2255
2256 /***/ }),
2257
2258 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js":
2259 /*!******************************************************************************************************!*\
2260 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js ***!
2261 \******************************************************************************************************/
2262 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2263
2264 "use strict";
2265
2266
2267 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2268 Object.defineProperty(exports, "__esModule", ({
2269 value: true
2270 }));
2271 exports.PromptPowerNotice = void 0;
2272 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2273 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2274 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2275 var _useIntroduction2 = _interopRequireDefault(__webpack_require__(/*! ../../../../hooks/use-introduction */ "../modules/ai/assets/js/editor/hooks/use-introduction.js"));
2276 var PromptPowerNotice = function PromptPowerNotice() {
2277 var _useIntroduction = (0, _useIntroduction2.default)('e-ai-builder-attachments-power'),
2278 isViewed = _useIntroduction.isViewed,
2279 markAsViewed = _useIntroduction.markAsViewed;
2280 if (isViewed) {
2281 return null;
2282 }
2283 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
2284 sx: {
2285 pt: 2,
2286 px: 2,
2287 pb: 0
2288 }
2289 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
2290 severity: "info",
2291 onClose: function onClose() {
2292 return markAsViewed();
2293 }
2294 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2295 variant: "body2",
2296 display: "inline-block",
2297 sx: {
2298 paddingInlineEnd: 1
2299 }
2300 }, (0, _i18n.__)('You’ve got the power.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2301 variant: "body2",
2302 display: "inline-block"
2303 }, (0, _i18n.__)('Craft your prompt to affect content, images and/or colors - whichever you decide.', 'elementor'))));
2304 };
2305 exports.PromptPowerNotice = PromptPowerNotice;
2306
2307 /***/ }),
2308
2309 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js":
2310 /*!*************************************************************************************************!*\
2311 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-json.js ***!
2312 \*************************************************************************************************/
2313 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2314
2315 "use strict";
2316
2317
2318 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2319 Object.defineProperty(exports, "__esModule", ({
2320 value: true
2321 }));
2322 exports["default"] = exports.ThumbnailJson = void 0;
2323 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2324 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
2325 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2326 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2327 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2328 var ThumbnailJson = function ThumbnailJson(props) {
2329 var _props$attachments;
2330 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
2331 return 'json' === item.type;
2332 });
2333 if (!attachment) {
2334 return null;
2335 }
2336 if (!attachment.previewHTML) {
2337 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
2338 animation: "wave",
2339 variant: "rounded",
2340 width: 60,
2341 height: 60
2342 });
2343 }
2344 return /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
2345 html: attachment.previewHTML,
2346 disabled: props.disabled
2347 });
2348 };
2349 exports.ThumbnailJson = ThumbnailJson;
2350 ThumbnailJson.propTypes = {
2351 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
2352 disabled: _propTypes.default.bool
2353 };
2354 var _default = ThumbnailJson;
2355 exports["default"] = _default;
2356
2357 /***/ }),
2358
2359 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js":
2360 /*!************************************************************************************************!*\
2361 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail-url.js ***!
2362 \************************************************************************************************/
2363 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2364
2365 "use strict";
2366
2367
2368 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2369 Object.defineProperty(exports, "__esModule", ({
2370 value: true
2371 }));
2372 exports["default"] = exports.ThumbnailUrl = void 0;
2373 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
2374 var _thumbnail = __webpack_require__(/*! ./thumbnail */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js");
2375 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2376 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2377 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2378 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2379 var _attachment = __webpack_require__(/*! ../../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
2380 var ThumbnailUrl = function ThumbnailUrl(props) {
2381 var _props$attachments;
2382 var attachment = (_props$attachments = props.attachments) === null || _props$attachments === void 0 ? void 0 : _props$attachments.find(function (item) {
2383 return 'url' === item.type;
2384 });
2385 if (!attachment) {
2386 return null;
2387 }
2388 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
2389 sx: {
2390 position: 'relative',
2391 borderRadius: 1,
2392 overflow: 'hidden',
2393 minWidth: _thumbnail.THUMBNAIL_SIZE,
2394 maxHeight: _thumbnail.THUMBNAIL_SIZE,
2395 '&:hover::before': {
2396 content: '""',
2397 position: 'absolute',
2398 userSelect: 'none',
2399 inset: 0,
2400 backgroundColor: 'rgba(0,0,0,0.6)',
2401 zIndex: 1
2402 },
2403 '&:hover .remove-attachment': {
2404 display: 'flex'
2405 }
2406 }
2407 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
2408 className: "remove-attachment",
2409 size: "small",
2410 "aria-label": (0, _i18n.__)('Remove', 'elementor'),
2411 disabled: props.disabled,
2412 onClick: function onClick(event) {
2413 event.stopPropagation();
2414 props.onDetach();
2415 },
2416 sx: {
2417 display: 'none',
2418 position: 'absolute',
2419 insetInlineEnd: 4,
2420 insetBlockStart: 4,
2421 backgroundColor: 'secondary.main',
2422 zIndex: 1,
2423 borderRadius: 1,
2424 p: '3px',
2425 '&:hover': {
2426 backgroundColor: 'secondary.dark'
2427 }
2428 }
2429 }, /*#__PURE__*/_react.default.createElement(_icons.TrashIcon, {
2430 sx: {
2431 fontSize: '1.125rem',
2432 color: 'common.white'
2433 }
2434 })), /*#__PURE__*/_react.default.createElement(_thumbnail.Thumbnail, {
2435 disabled: props.disabled,
2436 html: attachment.previewHTML
2437 }));
2438 };
2439 exports.ThumbnailUrl = ThumbnailUrl;
2440 ThumbnailUrl.propTypes = {
2441 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType).isRequired,
2442 disabled: _propTypes.default.bool,
2443 onDetach: _propTypes.default.func
2444 };
2445 var _default = ThumbnailUrl;
2446 exports["default"] = _default;
2447
2448 /***/ }),
2449
2450 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js":
2451 /*!********************************************************************************************!*\
2452 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/thumbnail.js ***!
2453 \********************************************************************************************/
2454 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2455
2456 "use strict";
2457
2458
2459 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2460 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2461 Object.defineProperty(exports, "__esModule", ({
2462 value: true
2463 }));
2464 exports.Thumbnail = exports.THUMBNAIL_SIZE = void 0;
2465 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2466 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2467 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2468 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); }
2469 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; }
2470 var THUMBNAIL_SIZE = 64;
2471 exports.THUMBNAIL_SIZE = THUMBNAIL_SIZE;
2472 var Thumbnail = function Thumbnail(props) {
2473 var previewRef = (0, _react.useRef)(null);
2474 (0, _react.useEffect)(function () {
2475 if (previewRef.current) {
2476 var previewRoot = previewRef.current.firstElementChild;
2477 var isImage = 'IMG' === (previewRoot === null || previewRoot === void 0 ? void 0 : previewRoot.tagName);
2478 if (!isImage) {
2479 var width = (previewRoot === null || previewRoot === void 0 ? void 0 : previewRoot.offsetWidth) || THUMBNAIL_SIZE;
2480 var height = (previewRoot === null || previewRoot === void 0 ? void 0 : previewRoot.offsetHeight) || THUMBNAIL_SIZE;
2481
2482 // Keep the aspect ratio
2483 previewRoot.style.width = "".concat(width, "px");
2484 previewRoot.style.height = "".concat(height, "px");
2485 var scaleFactor = Math.min(height, width);
2486 var scale = THUMBNAIL_SIZE / scaleFactor;
2487 previewRef.current.style.transform = "scale(".concat(scale, ")");
2488
2489 // Center the preview
2490 var top = height > width ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (height / width)) / 2 : 0;
2491 var left = width > height ? (THUMBNAIL_SIZE - THUMBNAIL_SIZE * (width / height)) / 2 : 0;
2492 previewRef.current.style.transformOrigin = "".concat(left, "px ").concat(top, "px");
2493 }
2494
2495 // Set the preview size only after the transform is applied
2496 previewRef.current.style.width = "".concat(THUMBNAIL_SIZE, "px");
2497 previewRef.current.style.height = "".concat(THUMBNAIL_SIZE, "px");
2498 }
2499 }, [previewRef.current]);
2500 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
2501 dir: "ltr",
2502 sx: {
2503 border: '1px solid',
2504 borderColor: 'grey.300',
2505 position: 'relative',
2506 cursor: 'default',
2507 overflow: 'hidden',
2508 borderRadius: 1,
2509 opacity: props.disabled ? 0.5 : 1,
2510 '& img': {
2511 width: '100%',
2512 height: '100%',
2513 objectFit: 'cover'
2514 }
2515 }
2516 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
2517 ref: previewRef,
2518 sx: {
2519 pointerEvents: 'none',
2520 transformOrigin: 'center'
2521 },
2522 dangerouslySetInnerHTML: {
2523 __html: props.html
2524 }
2525 }));
2526 };
2527 exports.Thumbnail = Thumbnail;
2528 Thumbnail.propTypes = {
2529 html: _propTypes.default.string.isRequired,
2530 disabled: _propTypes.default.bool
2531 };
2532
2533 /***/ }),
2534
2535 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js":
2536 /*!*********************************************************************************************!*\
2537 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/attachments/url-dialog.js ***!
2538 \*********************************************************************************************/
2539 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2540
2541 "use strict";
2542
2543
2544 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2545 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2546 Object.defineProperty(exports, "__esModule", ({
2547 value: true
2548 }));
2549 exports.UrlDialog = void 0;
2550 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2551 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2552 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2553 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2554 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2555 var _useAttachUrlService2 = __webpack_require__(/*! ../../hooks/use-attach-url-service */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js");
2556 var _alertDialog = __webpack_require__(/*! ../../../../components/alert-dialog */ "../modules/ai/assets/js/editor/components/alert-dialog.js");
2557 var _useTimeout3 = __webpack_require__(/*! ../../../../hooks/use-timeout */ "../modules/ai/assets/js/editor/hooks/use-timeout.js");
2558 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); }
2559 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; }
2560 var UrlDialog = function UrlDialog(props) {
2561 var _useAttachUrlService = (0, _useAttachUrlService2.useAttachUrlService)(),
2562 iframeSource = _useAttachUrlService.iframeSource;
2563 var _useTimeout = (0, _useTimeout3.useTimeout)(10000),
2564 _useTimeout2 = (0, _slicedToArray2.default)(_useTimeout, 2),
2565 isTimeout = _useTimeout2[0],
2566 turnOffTimeout = _useTimeout2[1];
2567 (0, _react.useEffect)(function () {
2568 var onMessage = function onMessage(event) {
2569 var _event$data = event.data,
2570 type = _event$data.type,
2571 html = _event$data.html,
2572 url = _event$data.url;
2573 switch (type) {
2574 case 'element-selector/close':
2575 props.onClose();
2576 break;
2577 case 'element-selector/loaded':
2578 turnOffTimeout();
2579 break;
2580 case 'element-selector/attach':
2581 props.onAttach([{
2582 type: 'url',
2583 previewHTML: html,
2584 content: html,
2585 label: url ? new URL(url).host : ''
2586 }]);
2587 break;
2588 }
2589 };
2590 window.addEventListener('message', onMessage);
2591 return function () {
2592 window.removeEventListener('message', onMessage);
2593 };
2594 }, [turnOffTimeout]);
2595 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, {
2596 open: true,
2597 fullScreen: true,
2598 hideBackdrop: true,
2599 maxWidth: "md",
2600 sx: {
2601 '& .MuiPaper-root': {
2602 backgroundColor: 'transparent'
2603 }
2604 }
2605 }, /*#__PURE__*/_react.default.createElement(_ui.DialogContent, {
2606 sx: {
2607 padding: 0
2608 }
2609 }, isTimeout && /*#__PURE__*/_react.default.createElement(_alertDialog.AlertDialog, {
2610 message: (0, _i18n.__)('The app is not responding. Please try again later.', 'elementor'),
2611 onClose: props.onClose
2612 }), !isTimeout && /*#__PURE__*/_react.default.createElement("iframe", {
2613 title: (0, _i18n.__)('URL as a reference', 'elementor'),
2614 src: iframeSource,
2615 style: {
2616 border: 'none',
2617 overflow: 'scroll',
2618 width: '100%',
2619 height: '100%',
2620 backgroundColor: 'rgba(255,255,255,0.6)'
2621 }
2622 })));
2623 };
2624 exports.UrlDialog = UrlDialog;
2625 UrlDialog.propTypes = {
2626 onAttach: _propTypes.default.func.isRequired,
2627 onClose: _propTypes.default.func.isRequired
2628 };
2629
2630 /***/ }),
2631
2632 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js":
2633 /*!************************************************************************************!*\
2634 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js ***!
2635 \************************************************************************************/
2636 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2637
2638 "use strict";
2639
2640
2641 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2642 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2643 Object.defineProperty(exports, "__esModule", ({
2644 value: true
2645 }));
2646 exports["default"] = void 0;
2647 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2648 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
2649 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
2650 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2651 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
2652 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2653 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2654 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
2655 var _promptDialog = _interopRequireDefault(__webpack_require__(/*! ../../../components/prompt-dialog */ "../modules/ai/assets/js/editor/components/prompt-dialog.js"));
2656 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
2657 var _excluded = ["sx", "PaperProps"];
2658 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); }
2659 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; }
2660 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; }
2661 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; }
2662 var StyledDialog = (0, _ui.styled)(_promptDialog.default)(function () {
2663 return {
2664 '& .MuiDialog-container': {
2665 marginTop: 0,
2666 alignItems: 'flex-end',
2667 paddingBottom: '16vh'
2668 },
2669 '& .MuiPaper-root': {
2670 margin: 0,
2671 maxHeight: '55vh'
2672 }
2673 };
2674 });
2675 var DialogHeader = function DialogHeader(_ref) {
2676 var onClose = _ref.onClose,
2677 children = _ref.children;
2678 return /*#__PURE__*/_react.default.createElement(_ui.AppBar, {
2679 sx: {
2680 fontWeight: 'normal'
2681 },
2682 color: "transparent",
2683 position: "relative"
2684 }, /*#__PURE__*/_react.default.createElement(_ui.Toolbar, {
2685 variant: "dense"
2686 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
2687 sx: {
2688 mr: 1
2689 }
2690 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2691 component: "span",
2692 variant: "subtitle2",
2693 sx: {
2694 fontWeight: 'bold',
2695 textTransform: 'uppercase'
2696 }
2697 }, (0, _i18n.__)('AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Chip, {
2698 label: (0, _i18n.__)('Beta', 'elementor'),
2699 color: "default",
2700 size: "small",
2701 sx: {
2702 ml: 1
2703 }
2704 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2705 direction: "row",
2706 spacing: 1,
2707 alignItems: "center",
2708 sx: {
2709 ml: 'auto'
2710 }
2711 }, children, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
2712 size: "small",
2713 "aria-label": "close",
2714 onClick: onClose,
2715 sx: {
2716 '&.MuiButtonBase-root': {
2717 mr: -1
2718 }
2719 }
2720 }, /*#__PURE__*/_react.default.createElement(_icons.XIcon, null)))));
2721 };
2722 DialogHeader.propTypes = {
2723 children: _propTypes.default.node,
2724 onClose: _propTypes.default.func.isRequired
2725 };
2726 var StyledDialogContent = (0, _ui.styled)(_promptDialog.default.Content)(function () {
2727 return {
2728 '&.MuiDialogContent-root': {
2729 padding: 0
2730 }
2731 };
2732 });
2733 var LayoutDialog = function LayoutDialog(_ref2) {
2734 var _ref2$sx = _ref2.sx,
2735 sx = _ref2$sx === void 0 ? {} : _ref2$sx,
2736 _ref2$PaperProps = _ref2.PaperProps,
2737 PaperProps = _ref2$PaperProps === void 0 ? {} : _ref2$PaperProps,
2738 props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
2739 var _useState = (0, _react.useState)({
2740 pointerEvents: 'none'
2741 }),
2742 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2743 sxStyle = _useState2[0],
2744 setSxStyle = _useState2[1];
2745 var timeoutRef = (0, _react.useRef)(null);
2746
2747 /**
2748 * The PromptDialog is using disableScrollLock in order to allow scrolling the page when the Dialog is opened.
2749 * When using the react-draggable library inside the editor, the background page scroll is not working smoothly.
2750 * Therefore, we need to delay the pointerEvents: none, which allowing to scroll the page content.
2751 */
2752 return /*#__PURE__*/_react.default.createElement(StyledDialog, (0, _extends2.default)({
2753 maxWidth: "md",
2754 PaperProps: _objectSpread({
2755 sx: {
2756 pointerEvents: 'auto'
2757 },
2758 onMouseEnter: function onMouseEnter() {
2759 clearTimeout(timeoutRef.current);
2760 setSxStyle({
2761 pointerEvents: 'all'
2762 });
2763 },
2764 onMouseLeave: function onMouseLeave() {
2765 clearTimeout(timeoutRef.current);
2766 timeoutRef.current = setTimeout(function () {
2767 setSxStyle({
2768 pointerEvents: 'none'
2769 });
2770 }, 200);
2771 }
2772 }, PaperProps)
2773 }, props, {
2774 sx: _objectSpread(_objectSpread({}, sxStyle), sx)
2775 }));
2776 };
2777 LayoutDialog.propTypes = {
2778 sx: _propTypes.default.object,
2779 PaperProps: _propTypes.default.object
2780 };
2781 LayoutDialog.Header = DialogHeader;
2782 LayoutDialog.Content = StyledDialogContent;
2783 var _default = LayoutDialog;
2784 exports["default"] = _default;
2785
2786 /***/ }),
2787
2788 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js":
2789 /*!*********************************************************************************************!*\
2790 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js ***!
2791 \*********************************************************************************************/
2792 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2793
2794 "use strict";
2795
2796
2797 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2798 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2799 Object.defineProperty(exports, "__esModule", ({
2800 value: true
2801 }));
2802 exports.ProTemplateIndicator = void 0;
2803 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2804 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2805 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2806 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2807 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
2808 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); }
2809 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; }
2810 var popoverId = 'e-pro-upgrade-popover';
2811 var StyledContent = (0, _ui.styled)(_ui.Paper)(function (_ref) {
2812 var theme = _ref.theme;
2813 return {
2814 position: 'relative',
2815 padding: theme.spacing(3),
2816 boxShadow: theme.shadows[4],
2817 zIndex: '9999'
2818 };
2819 });
2820 var StyledArrow = (0, _ui.styled)(_ui.Box)(function (_ref2) {
2821 var theme = _ref2.theme;
2822 return {
2823 position: 'absolute',
2824 width: theme.spacing(5),
2825 height: theme.spacing(5),
2826 overflow: 'hidden',
2827 // Override Popper inline styles.
2828 left: '100% !important',
2829 transform: 'translateX(-50%) translateY(-50%) rotate(var(--rotate, 0deg)) !important',
2830 '&::after': {
2831 backgroundColor: theme.palette.background.paper,
2832 content: '""',
2833 display: 'block',
2834 position: 'absolute',
2835 width: theme.spacing(2.5),
2836 height: theme.spacing(2.5),
2837 top: '50%',
2838 left: '50%',
2839 transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',
2840 boxShadow: '5px -5px 5px 0px rgba(0, 0, 0, 0.2)',
2841 backgroundImage: 'linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))'
2842 }
2843 };
2844 });
2845 var ProTemplateIndicator = function ProTemplateIndicator() {
2846 var actionUrl = 'https://go.elementor.com/go-pro-ai/';
2847 var actionLabel = (0, _i18n.__)('Go Pro', 'elementor');
2848 var _useState = (0, _react.useState)(false),
2849 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2850 isPopoverOpen = _useState2[0],
2851 setIsPopoverOpen = _useState2[1];
2852 var anchorEl = (0, _react.useRef)(null);
2853 var arrowEl = (0, _react.useRef)(null);
2854 var showPopover = function showPopover() {
2855 return setIsPopoverOpen(true);
2856 };
2857 var hidePopover = function hidePopover() {
2858 return setIsPopoverOpen(false);
2859 };
2860 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
2861 flexDirection: "row-reverse",
2862 component: "span",
2863 display: "flex",
2864 onMouseLeave: hidePopover,
2865 alignItems: "center"
2866 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
2867 ref: anchorEl,
2868 onMouseEnter: showPopover,
2869 onClick: function onClick(e) {
2870 return e.stopPropagation();
2871 } /* Do nothing */,
2872 "aria-owns": isPopoverOpen ? popoverId : undefined,
2873 "aria-haspopup": "true",
2874 sx: {
2875 m: 1,
2876 '&:hover': {
2877 backgroundColor: 'action.selected'
2878 }
2879 }
2880 }, /*#__PURE__*/_react.default.createElement(_lockIcon.default, {
2881 sx: {
2882 color: 'text.primary'
2883 }
2884 })), /*#__PURE__*/_react.default.createElement(_ui.Popper, {
2885 open: isPopoverOpen,
2886 popperOptions: {
2887 placement: 'left-start',
2888 modifiers: [{
2889 name: 'arrow',
2890 enabled: true,
2891 options: {
2892 element: arrowEl.current,
2893 padding: 5
2894 }
2895 }, {
2896 name: 'offset',
2897 options: {
2898 offset: [0, 10]
2899 }
2900 }]
2901 },
2902 anchorEl: anchorEl.current,
2903 sx: {
2904 zIndex: '9999',
2905 maxWidth: 300
2906 }
2907 }, /*#__PURE__*/_react.default.createElement(StyledContent, null, /*#__PURE__*/_react.default.createElement(StyledArrow, {
2908 ref: arrowEl
2909 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2910 alignItems: "start",
2911 spacing: 2
2912 }, /*#__PURE__*/_react.default.createElement(_ui.Chip, {
2913 color: "accent",
2914 variant: "outlined",
2915 size: "small",
2916 label: (0, _i18n.__)('Pro', 'elementor'),
2917 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null)
2918 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2919 variant: "body2"
2920 }, (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, {
2921 variant: "contained",
2922 color: "accent",
2923 size: "small",
2924 href: actionUrl,
2925 target: "_blank",
2926 sx: {
2927 alignSelf: 'flex-end'
2928 }
2929 }, actionLabel)))));
2930 };
2931 exports.ProTemplateIndicator = ProTemplateIndicator;
2932
2933 /***/ }),
2934
2935 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js":
2936 /*!*****************************************************************************************!*\
2937 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js ***!
2938 \*****************************************************************************************/
2939 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
2940
2941 "use strict";
2942
2943
2944 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
2945 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
2946 Object.defineProperty(exports, "__esModule", ({
2947 value: true
2948 }));
2949 exports.ProWidgetsNotice = void 0;
2950 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
2951 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
2952 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
2953 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
2954 var _lockIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/lock-icon */ "../modules/ai/assets/js/editor/icons/lock-icon.js"));
2955 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); }
2956 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; }
2957 var ProWidgetsNotice = function ProWidgetsNotice() {
2958 var _useState = (0, _react.useState)(false),
2959 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
2960 isViewed = _useState2[0],
2961 setIsViewed = _useState2[1];
2962 if (isViewed) {
2963 return null;
2964 }
2965 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
2966 sx: {
2967 pt: 2,
2968 px: 2,
2969 pb: 0
2970 }
2971 }, /*#__PURE__*/_react.default.createElement(_ui.Alert, {
2972 severity: "info",
2973 variant: "filled",
2974 color: "accent",
2975 onClose: function onClose() {
2976 return setIsViewed(true);
2977 },
2978 icon: /*#__PURE__*/_react.default.createElement(_lockIcon.default, null),
2979 sx: {
2980 '& .MuiAlert-message': {
2981 width: '100%'
2982 }
2983 }
2984 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
2985 flexDirection: "row",
2986 alignItems: "baseline",
2987 justifyContent: "space-between"
2988 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2989 variant: "body2",
2990 component: "span",
2991 sx: {
2992 paddingInlineEnd: 0.5
2993 }
2994 }, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
2995 variant: "body2",
2996 component: "span",
2997 sx: {
2998 paddingInlineEnd: 1
2999 }
3000 }, (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, {
3001 variant: "outlined",
3002 size: "small",
3003 href: "https://go.elementor.com/upgrade-pro/",
3004 target: "_blank",
3005 sx: {
3006 color: 'accent.contrastText',
3007 borderColor: 'accent.contrastText',
3008 '&:hover': {
3009 borderColor: 'accent.contrastText'
3010 }
3011 }
3012 }, (0, _i18n.__)('Go Pro', 'elementor')))));
3013 };
3014 exports.ProWidgetsNotice = ProWidgetsNotice;
3015
3016 /***/ }),
3017
3018 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js":
3019 /*!******************************************************************************************!*\
3020 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js ***!
3021 \******************************************************************************************/
3022 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3023
3024 "use strict";
3025
3026
3027 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3028 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3029 Object.defineProperty(exports, "__esModule", ({
3030 value: true
3031 }));
3032 exports["default"] = void 0;
3033 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3034 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3035 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3036 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3037 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3038 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3039 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3040 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3041 var _excluded = ["onSubmit"];
3042 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); }
3043 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; }
3044 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; }
3045 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; }
3046 var TextInput = (0, _react.forwardRef)(function (props, ref) {
3047 return /*#__PURE__*/_react.default.createElement(_ui.TextField
3048 // eslint-disable-next-line jsx-a11y/no-autofocus
3049 , (0, _extends2.default)({
3050 autoFocus: true,
3051 multiline: true,
3052 size: "small",
3053 maxRows: 3,
3054 color: "secondary",
3055 variant: "standard"
3056 }, props, {
3057 inputRef: ref,
3058 InputProps: _objectSpread(_objectSpread({}, props.InputProps), {}, {
3059 type: 'search',
3060 sx: {
3061 pt: 0
3062 }
3063 })
3064 }));
3065 });
3066 TextInput.propTypes = {
3067 InputProps: _propTypes.default.object
3068 };
3069 var PaperComponent = function PaperComponent(props) {
3070 return /*#__PURE__*/_react.default.createElement(_ui.Paper, (0, _extends2.default)({}, props, {
3071 elevation: 8,
3072 sx: {
3073 borderRadius: 2
3074 }
3075 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
3076 component: _ui.Box,
3077 color: function color(theme) {
3078 return theme.palette.text.tertiary;
3079 },
3080 variant: "caption",
3081 paddingX: 2,
3082 paddingY: 1
3083 }, (0, _i18n.__)('Suggested Prompts', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Divider, null), props.children);
3084 };
3085 PaperComponent.propTypes = {
3086 children: _propTypes.default.node
3087 };
3088 var PromptAutocomplete = function PromptAutocomplete(_ref) {
3089 var onSubmit = _ref.onSubmit,
3090 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3091 var _useState = (0, _react.useState)(false),
3092 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3093 showSuggestions = _useState2[0],
3094 setShowSuggestions = _useState2[1];
3095 var theme = (0, _ui.useTheme)();
3096 var itemHeight = parseInt(theme.spacing(4));
3097 var maxItems = 5;
3098 return /*#__PURE__*/_react.default.createElement(_ui.Autocomplete, (0, _extends2.default)({
3099 PaperComponent: PaperComponent,
3100 ListboxProps: {
3101 sx: {
3102 maxHeight: maxItems * itemHeight
3103 }
3104 },
3105 renderOption: function renderOption(optionProps, option) {
3106 return /*#__PURE__*/_react.default.createElement(_ui.Typography, (0, _extends2.default)({}, optionProps, {
3107 title: option.text,
3108 noWrap: true,
3109 variant: "body2",
3110 component: _ui.Box,
3111 sx: {
3112 '&.MuiAutocomplete-option': {
3113 display: 'block',
3114 minHeight: itemHeight
3115 }
3116 }
3117 }), option.text);
3118 },
3119 freeSolo: true,
3120 fullWidth: true,
3121 disableClearable: true,
3122 open: showSuggestions,
3123 onClose: function onClose() {
3124 return setShowSuggestions(false);
3125 },
3126 onKeyDown: function onKeyDown(e) {
3127 if ('Enter' === e.key && !e.shiftKey && !showSuggestions) {
3128 onSubmit(e);
3129 } else if ('/' === e.key && '' === e.target.value) {
3130 e.preventDefault();
3131 setShowSuggestions(true);
3132 }
3133 }
3134 }, props));
3135 };
3136 PromptAutocomplete.propTypes = {
3137 onSubmit: _propTypes.default.func.isRequired
3138 };
3139 PromptAutocomplete.TextInput = TextInput;
3140 var _default = PromptAutocomplete;
3141 exports["default"] = _default;
3142
3143 /***/ }),
3144
3145 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js":
3146 /*!**********************************************************************************!*\
3147 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js ***!
3148 \**********************************************************************************/
3149 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3150
3151 "use strict";
3152
3153
3154 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3155 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3156 Object.defineProperty(exports, "__esModule", ({
3157 value: true
3158 }));
3159 exports["default"] = void 0;
3160 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3161 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3162 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3163 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3164 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3165 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3166 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3167 var _promptAutocomplete = _interopRequireDefault(__webpack_require__(/*! ./prompt-autocomplete */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-autocomplete.js"));
3168 var _enhanceButton = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/enhance-button */ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js"));
3169 var _generateSubmit = _interopRequireDefault(__webpack_require__(/*! ../../form-media/components/generate-submit */ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js"));
3170 var _arrowLeftIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/arrow-left-icon */ "../modules/ai/assets/js/editor/icons/arrow-left-icon.js"));
3171 var _editIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/edit-icon */ "../modules/ai/assets/js/editor/icons/edit-icon.js"));
3172 var _usePromptEnhancer2 = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt-enhancer */ "../modules/ai/assets/js/editor/hooks/use-prompt-enhancer.js"));
3173 var _attachments = _interopRequireDefault(__webpack_require__(/*! ./attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js"));
3174 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3175 var _attachment = __webpack_require__(/*! ../../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
3176 var _excluded = ["tooltip"];
3177 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); }
3178 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; }
3179 var PROMPT_SUGGESTIONS = Object.freeze([{
3180 text: (0, _i18n.__)('A services section with a list layout, icons, and corresponding service descriptions for', 'elementor')
3181 }, {
3182 text: (0, _i18n.__)('An accordion-style FAQ block, with clickable questions revealing detailed answers about', 'elementor')
3183 }, {
3184 text: (0, _i18n.__)('A hero section combining an image, heading, subheading, and call-to-action button about', 'elementor')
3185 }, {
3186 text: (0, _i18n.__)('A full-width call-to-action with a background image, overlaid text, and a standout button about', 'elementor')
3187 }, {
3188 text: (0, _i18n.__)('A carousel testimonial block displaying user images, names, and their feedback on', 'elementor')
3189 }, {
3190 text: (0, _i18n.__)('A features block, showcasing the feature title, and brief description about', 'elementor')
3191 }, {
3192 text: (0, _i18n.__)('Multi column minimalistic About us section with icons showcasing', 'elementor')
3193 }, {
3194 text: (0, _i18n.__)('A section with contact form and social media icons representing alternative contact methods for', 'elementor')
3195 }, {
3196 text: (0, _i18n.__)('Statistics display in a 3-column layout, with numbers and icons about', 'elementor')
3197 }, {
3198 text: (0, _i18n.__)('Pricing table section with highlighted option for', 'elementor')
3199 }, {
3200 text: (0, _i18n.__)('About us section, combining company history and values about', 'elementor')
3201 }]);
3202 var IconButtonWithTooltip = function IconButtonWithTooltip(_ref) {
3203 var tooltip = _ref.tooltip,
3204 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3205 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
3206 title: tooltip
3207 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
3208 component: "span",
3209 sx: {
3210 cursor: props.disabled ? 'default' : 'pointer'
3211 }
3212 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, props)));
3213 };
3214 IconButtonWithTooltip.propTypes = {
3215 tooltip: _propTypes.default.string,
3216 disabled: _propTypes.default.bool
3217 };
3218 var BackButton = function BackButton(props) {
3219 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
3220 size: "small",
3221 color: "secondary",
3222 tooltip: (0, _i18n.__)('Back to results', 'elementor')
3223 }, props), /*#__PURE__*/_react.default.createElement(_arrowLeftIcon.default, null));
3224 };
3225 var EditButton = function EditButton(props) {
3226 return /*#__PURE__*/_react.default.createElement(IconButtonWithTooltip, (0, _extends2.default)({
3227 size: "small",
3228 color: "primary",
3229 tooltip: (0, _i18n.__)('Edit prompt', 'elementor')
3230 }, props), /*#__PURE__*/_react.default.createElement(_editIcon.default, null));
3231 };
3232 var GenerateButton = function GenerateButton(props) {
3233 return /*#__PURE__*/_react.default.createElement(_generateSubmit.default, (0, _extends2.default)({
3234 size: "small",
3235 fullWidth: false
3236 }, props), (0, _i18n.__)('Generate', 'elementor'));
3237 };
3238 var PromptForm = (0, _react.forwardRef)(function (_ref2, ref) {
3239 var _attachments$;
3240 var attachments = _ref2.attachments,
3241 isActive = _ref2.isActive,
3242 isLoading = _ref2.isLoading,
3243 _ref2$showActions = _ref2.showActions,
3244 showActions = _ref2$showActions === void 0 ? false : _ref2$showActions,
3245 onAttach = _ref2.onAttach,
3246 onDetach = _ref2.onDetach,
3247 _onSubmit = _ref2.onSubmit,
3248 onBack = _ref2.onBack,
3249 onEdit = _ref2.onEdit;
3250 var _useState = (0, _react.useState)(''),
3251 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3252 prompt = _useState2[0],
3253 setPrompt = _useState2[1];
3254 var _usePromptEnhancer = (0, _usePromptEnhancer2.default)(prompt, 'layout'),
3255 isEnhancing = _usePromptEnhancer.isEnhancing,
3256 enhance = _usePromptEnhancer.enhance;
3257 var previousPrompt = (0, _react.useRef)('');
3258 var _useConfig = (0, _config.useConfig)(),
3259 attachmentsTypes = _useConfig.attachmentsTypes;
3260 var isInputDisabled = isLoading || isEnhancing || !isActive;
3261 var isInputEmpty = '' === prompt && !attachments.length;
3262 var isGenerateDisabled = isInputDisabled || isInputEmpty;
3263 var attachmentsType = ((_attachments$ = attachments[0]) === null || _attachments$ === void 0 ? void 0 : _attachments$.type) || '';
3264 var attachmentsConfig = attachmentsTypes[attachmentsType];
3265 var promptSuggestions = (attachmentsConfig === null || attachmentsConfig === void 0 ? void 0 : attachmentsConfig.promptSuggestions) || PROMPT_SUGGESTIONS;
3266 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');
3267 var handleBack = function handleBack() {
3268 setPrompt(previousPrompt.current);
3269 onBack();
3270 };
3271 var handleEdit = function handleEdit() {
3272 previousPrompt.current = prompt;
3273 onEdit();
3274 };
3275 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3276 component: "form",
3277 onSubmit: function onSubmit(e) {
3278 return _onSubmit(e, prompt);
3279 },
3280 direction: "row",
3281 sx: {
3282 p: 3
3283 },
3284 alignItems: "start",
3285 gap: 1
3286 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, {
3287 direction: "row",
3288 alignItems: "start",
3289 flexGrow: 1,
3290 spacing: 2
3291 }, showActions && (isActive ? /*#__PURE__*/_react.default.createElement(BackButton, {
3292 disabled: isLoading || isEnhancing,
3293 onClick: handleBack
3294 }) : /*#__PURE__*/_react.default.createElement(EditButton, {
3295 disabled: isLoading,
3296 onClick: handleEdit
3297 })), /*#__PURE__*/_react.default.createElement(_attachments.default, {
3298 attachments: attachments,
3299 onAttach: onAttach,
3300 onDetach: onDetach,
3301 disabled: isInputDisabled
3302 }), /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default, {
3303 value: prompt,
3304 disabled: isInputDisabled,
3305 onSubmit: function onSubmit(e) {
3306 return _onSubmit(e, prompt);
3307 },
3308 options: promptSuggestions,
3309 onChange: function onChange(_, selectedValue) {
3310 return setPrompt(selectedValue.text + ' ');
3311 },
3312 renderInput: function renderInput(params) {
3313 return /*#__PURE__*/_react.default.createElement(_promptAutocomplete.default.TextInput, (0, _extends2.default)({}, params, {
3314 ref: ref,
3315 onChange: function onChange(e) {
3316 return setPrompt(e.target.value);
3317 },
3318 placeholder: promptPlaceholder
3319 }));
3320 }
3321 })), /*#__PURE__*/_react.default.createElement(_enhanceButton.default, {
3322 size: "small",
3323 disabled: isGenerateDisabled || '' === prompt,
3324 isLoading: isEnhancing,
3325 onClick: function onClick() {
3326 return enhance().then(function (_ref3) {
3327 var result = _ref3.result;
3328 return setPrompt(result);
3329 });
3330 }
3331 }), /*#__PURE__*/_react.default.createElement(GenerateButton, {
3332 disabled: isGenerateDisabled
3333 }));
3334 });
3335 PromptForm.propTypes = {
3336 isActive: _propTypes.default.bool,
3337 onAttach: _propTypes.default.func,
3338 onDetach: _propTypes.default.func,
3339 isLoading: _propTypes.default.bool,
3340 showActions: _propTypes.default.bool,
3341 onSubmit: _propTypes.default.func.isRequired,
3342 onBack: _propTypes.default.func.isRequired,
3343 onEdit: _propTypes.default.func.isRequired,
3344 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
3345 };
3346 var _default = PromptForm;
3347 exports["default"] = _default;
3348
3349 /***/ }),
3350
3351 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js":
3352 /*!*******************************************************************************************!*\
3353 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js ***!
3354 \*******************************************************************************************/
3355 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3356
3357 "use strict";
3358
3359
3360 Object.defineProperty(exports, "__esModule", ({
3361 value: true
3362 }));
3363 exports["default"] = void 0;
3364 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3365 var ScreenshotContainer = (0, _ui.styled)(_ui.Box, {
3366 shouldForwardProp: function shouldForwardProp(prop) {
3367 return prop !== 'outlineOffset';
3368 }
3369 })(function (_ref) {
3370 var theme = _ref.theme,
3371 selected = _ref.selected,
3372 height = _ref.height,
3373 disabled = _ref.disabled,
3374 _ref$outlineOffset = _ref.outlineOffset,
3375 outlineOffset = _ref$outlineOffset === void 0 ? '0px' : _ref$outlineOffset;
3376 var outlineColor = selected ? theme.palette.text.primary : theme.palette.text.disabled;
3377 var outline = "2px solid ".concat(outlineColor);
3378 return {
3379 height: height,
3380 cursor: disabled ? 'default' : 'pointer',
3381 overflow: 'hidden',
3382 boxSizing: 'border-box',
3383 backgroundPosition: 'top center',
3384 backgroundSize: '100% auto',
3385 backgroundRepeat: 'no-repeat',
3386 backgroundColor: theme.palette.common.white,
3387 borderRadius: theme.shape.borderRadius * 0.5,
3388 outlineOffset: outlineOffset,
3389 outline: outline,
3390 opacity: disabled ? '0.4' : '1',
3391 transition: "all 50ms linear",
3392 '&:hover': disabled ? {} : {
3393 outlineColor: theme.palette.text.primary
3394 }
3395 };
3396 });
3397 var _default = ScreenshotContainer;
3398 exports["default"] = _default;
3399
3400 /***/ }),
3401
3402 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js":
3403 /*!*********************************************************************************************!*\
3404 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js ***!
3405 \*********************************************************************************************/
3406 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3407
3408 "use strict";
3409
3410
3411 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3412 Object.defineProperty(exports, "__esModule", ({
3413 value: true
3414 }));
3415 exports["default"] = ScreenshotUnavailable;
3416 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3417 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3418 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3419 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3420 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3421 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
3422 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; }
3423 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; }
3424 function ScreenshotUnavailable(props) {
3425 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, (0, _extends2.default)({}, props, {
3426 sx: _objectSpread(_objectSpread({}, props.sx || {}), {}, {
3427 display: 'flex',
3428 alignItems: 'center',
3429 justifyContent: 'center',
3430 backgroundColor: 'background.paper',
3431 color: 'text.tertiary',
3432 fontStyle: 'italic',
3433 fontSize: '12px',
3434 paddingInline: 12,
3435 textAlign: 'center',
3436 lineHeight: 1.5
3437 })
3438 }), (0, _i18n.__)('Preview unavailable', 'elementor'));
3439 }
3440 ScreenshotUnavailable.propTypes = {
3441 sx: _propTypes.default.object
3442 };
3443
3444 /***/ }),
3445
3446 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js":
3447 /*!*********************************************************************************!*\
3448 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js ***!
3449 \*********************************************************************************/
3450 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3451
3452 "use strict";
3453
3454
3455 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3456 Object.defineProperty(exports, "__esModule", ({
3457 value: true
3458 }));
3459 exports["default"] = void 0;
3460 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3461 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
3462 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3463 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3464 var _screenshotContainer = _interopRequireDefault(__webpack_require__(/*! ./screenshot-container */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-container.js"));
3465 var _screenshotUnavailable = _interopRequireDefault(__webpack_require__(/*! ./screenshot-unavailable */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot-unavailable.js"));
3466 var _templateBadge = _interopRequireDefault(__webpack_require__(/*! ./template-badge */ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js"));
3467 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; }
3468 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; }
3469 var SCREENSHOT_HEIGHT = '138px';
3470 var Screenshot = function Screenshot(_ref) {
3471 var url = _ref.url,
3472 type = _ref.type,
3473 _ref$isLoading = _ref.isLoading,
3474 isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
3475 _ref$isSelected = _ref.isSelected,
3476 isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
3477 isPlaceholder = _ref.isPlaceholder,
3478 disabled = _ref.disabled,
3479 onClick = _ref.onClick,
3480 _ref$sx = _ref.sx,
3481 sx = _ref$sx === void 0 ? {} : _ref$sx,
3482 outlineOffset = _ref.outlineOffset;
3483 if (isPlaceholder) {
3484 return /*#__PURE__*/_react.default.createElement(_ui.Box, {
3485 sx: _objectSpread({
3486 height: SCREENSHOT_HEIGHT
3487 }, sx)
3488 });
3489 }
3490 if (isLoading) {
3491 return /*#__PURE__*/_react.default.createElement(_ui.Skeleton, {
3492 width: "100%",
3493 animation: "wave",
3494 variant: "rounded",
3495 height: SCREENSHOT_HEIGHT,
3496 sx: sx
3497 });
3498 }
3499 if (!url) {
3500 return /*#__PURE__*/_react.default.createElement(_screenshotUnavailable.default, {
3501 selected: isSelected,
3502 disabled: disabled,
3503 sx: sx,
3504 onClick: onClick,
3505 height: SCREENSHOT_HEIGHT,
3506 outlineOffset: outlineOffset
3507 });
3508 }
3509 return /*#__PURE__*/_react.default.createElement(_screenshotContainer.default, {
3510 selected: isSelected,
3511 disabled: disabled,
3512 sx: _objectSpread({
3513 backgroundImage: "url('".concat(url, "')")
3514 }, sx),
3515 onClick: onClick,
3516 height: SCREENSHOT_HEIGHT,
3517 outlineOffset: outlineOffset
3518 }, /*#__PURE__*/_react.default.createElement(_templateBadge.default, {
3519 type: type
3520 }));
3521 };
3522 Screenshot.propTypes = {
3523 isSelected: _propTypes.default.bool,
3524 isLoading: _propTypes.default.bool,
3525 isPlaceholder: _propTypes.default.bool,
3526 disabled: _propTypes.default.bool,
3527 onClick: _propTypes.default.func.isRequired,
3528 url: _propTypes.default.string,
3529 type: _propTypes.default.string,
3530 sx: _propTypes.default.object,
3531 outlineOffset: _propTypes.default.string
3532 };
3533 var _default = Screenshot;
3534 exports["default"] = _default;
3535
3536 /***/ }),
3537
3538 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.js":
3539 /*!*************************************************************************************!*\
3540 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/template-badge.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 Object.defineProperty(exports, "__esModule", ({
3549 value: true
3550 }));
3551 exports["default"] = void 0;
3552 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3553 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3554 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3555 var _proTemplateIndicator = __webpack_require__(/*! ./pro-template-indicator */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-template-indicator.js");
3556 var TemplateBadge = function TemplateBadge(props) {
3557 var _useConfig = (0, _config.useConfig)(),
3558 hasPro = _useConfig.hasPro;
3559 if ('Pro' === props.type && !hasPro) {
3560 return /*#__PURE__*/_react.default.createElement(_proTemplateIndicator.ProTemplateIndicator, null);
3561 }
3562 return null;
3563 };
3564 var _default = TemplateBadge;
3565 exports["default"] = _default;
3566 TemplateBadge.propTypes = {
3567 type: _propTypes.default.string
3568 };
3569
3570 /***/ }),
3571
3572 /***/ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js":
3573 /*!********************************************************************************************!*\
3574 !*** ../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js ***!
3575 \********************************************************************************************/
3576 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3577
3578 "use strict";
3579
3580
3581 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3582 Object.defineProperty(exports, "__esModule", ({
3583 value: true
3584 }));
3585 exports["default"] = void 0;
3586 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3587 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
3588 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
3589 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3590 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
3591 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3592 var _excluded = ["onClose", "onCancel", "title", "text"];
3593 var UnsavedChangesAlert = function UnsavedChangesAlert(_ref) {
3594 var onClose = _ref.onClose,
3595 onCancel = _ref.onCancel,
3596 title = _ref.title,
3597 text = _ref.text,
3598 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
3599 return /*#__PURE__*/_react.default.createElement(_ui.Dialog, (0, _extends2.default)({
3600 "aria-labelledby": "unsaved-changes-alert-title",
3601 "aria-describedby": "unsaved-changes-alert-description"
3602 }, props), /*#__PURE__*/_react.default.createElement(_ui.DialogTitle, {
3603 id: "unsaved-changes-alert-title"
3604 }, title), /*#__PURE__*/_react.default.createElement(_ui.DialogContent, null, /*#__PURE__*/_react.default.createElement(_ui.DialogContentText, {
3605 id: "unsaved-changes-alert-description"
3606 }, text)), /*#__PURE__*/_react.default.createElement(_ui.DialogActions, null, /*#__PURE__*/_react.default.createElement(_ui.Button, {
3607 onClick: onCancel,
3608 color: "secondary"
3609 }, (0, _i18n.__)('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Button, {
3610 onClick: onClose,
3611 color: "error",
3612 variant: "contained"
3613 }, (0, _i18n.__)('Yes, leave', 'elementor'))));
3614 };
3615 UnsavedChangesAlert.propTypes = {
3616 title: _propTypes.default.string,
3617 text: _propTypes.default.string,
3618 onCancel: _propTypes.default.func,
3619 onClose: _propTypes.default.func
3620 };
3621 var _default = UnsavedChangesAlert;
3622 exports["default"] = _default;
3623
3624 /***/ }),
3625
3626 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js":
3627 /*!**************************************************************************!*\
3628 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/config.js ***!
3629 \**************************************************************************/
3630 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3631
3632 "use strict";
3633
3634
3635 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3636 Object.defineProperty(exports, "__esModule", ({
3637 value: true
3638 }));
3639 exports.useConfig = exports["default"] = exports.MODE_VARIATION = exports.MODE_LAYOUT = exports.LAYOUT_APP_MODES = exports.ConfigProvider = void 0;
3640 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
3641 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3642 var MODE_LAYOUT = 'layout';
3643 exports.MODE_LAYOUT = MODE_LAYOUT;
3644 var MODE_VARIATION = 'variation';
3645 exports.MODE_VARIATION = MODE_VARIATION;
3646 var LAYOUT_APP_MODES = [MODE_LAYOUT, MODE_VARIATION];
3647 exports.LAYOUT_APP_MODES = LAYOUT_APP_MODES;
3648 var ConfigContext = _react.default.createContext({});
3649 var useConfig = function useConfig() {
3650 return _react.default.useContext(ConfigContext);
3651 };
3652 exports.useConfig = useConfig;
3653 var ConfigProvider = function ConfigProvider(props) {
3654 return /*#__PURE__*/_react.default.createElement(ConfigContext.Provider, {
3655 value: {
3656 mode: props.mode,
3657 attachmentsTypes: props.attachmentsTypes,
3658 onClose: props.onClose,
3659 onConnect: props.onConnect,
3660 onData: props.onData,
3661 onInsert: props.onInsert,
3662 onSelect: props.onSelect,
3663 onGenerate: props.onGenerate,
3664 currentContext: props.currentContext,
3665 hasPro: props.hasPro,
3666 sessionId: props.sessionId,
3667 editorSessionId: props.editorSessionId
3668 }
3669 }, props.children);
3670 };
3671 exports.ConfigProvider = ConfigProvider;
3672 ConfigProvider.propTypes = {
3673 mode: _propTypes.default.oneOf(LAYOUT_APP_MODES).isRequired,
3674 children: _propTypes.default.node.isRequired,
3675 attachmentsTypes: _propTypes.default.object.isRequired,
3676 onClose: _propTypes.default.func.isRequired,
3677 onConnect: _propTypes.default.func.isRequired,
3678 onData: _propTypes.default.func.isRequired,
3679 onInsert: _propTypes.default.func.isRequired,
3680 onSelect: _propTypes.default.func.isRequired,
3681 onGenerate: _propTypes.default.func.isRequired,
3682 currentContext: _propTypes.default.object,
3683 hasPro: _propTypes.default.bool,
3684 sessionId: _propTypes.default.string,
3685 editorSessionId: _propTypes.default.string
3686 };
3687 var _default = ConfigContext;
3688 exports["default"] = _default;
3689
3690 /***/ }),
3691
3692 /***/ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js":
3693 /*!*********************************************************************************!*\
3694 !*** ../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js ***!
3695 \*********************************************************************************/
3696 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3697
3698 "use strict";
3699
3700
3701 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3702 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
3703 Object.defineProperty(exports, "__esModule", ({
3704 value: true
3705 }));
3706 exports.useRemoteConfig = exports.RemoteConfigProvider = exports.CONFIG_KEYS = void 0;
3707 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3708 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3709 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3710 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
3711 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
3712 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
3713 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); }
3714 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; }
3715 var RemoteConfigContext = _react.default.createContext({});
3716 var useRemoteConfig = function useRemoteConfig() {
3717 return _react.default.useContext(RemoteConfigContext);
3718 };
3719 exports.useRemoteConfig = useRemoteConfig;
3720 var CONFIG_KEYS = {
3721 WEB_BASED_BUILDER_URL: 'webBasedBuilderUrl'
3722 };
3723 exports.CONFIG_KEYS = CONFIG_KEYS;
3724 var RemoteConfigProvider = function RemoteConfigProvider(props) {
3725 var _useState = (0, _react.useState)(false),
3726 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3727 isLoading = _useState2[0],
3728 setIsLoading = _useState2[1];
3729 var _useState3 = (0, _react.useState)(false),
3730 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3731 isLoaded = _useState4[0],
3732 setIsLoaded = _useState4[1];
3733 var _useState5 = (0, _react.useState)(false),
3734 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
3735 isError = _useState6[0],
3736 setIsError = _useState6[1];
3737 var _useState7 = (0, _react.useState)({}),
3738 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
3739 remoteConfig = _useState8[0],
3740 setRemoteConfig = _useState8[1];
3741 var fetchData = /*#__PURE__*/function () {
3742 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
3743 var result;
3744 return _regenerator.default.wrap(function _callee$(_context) {
3745 while (1) switch (_context.prev = _context.next) {
3746 case 0:
3747 setIsLoading(true);
3748 _context.prev = 1;
3749 _context.next = 4;
3750 return (0, _api.getRemoteConfig)().finally(function () {
3751 setIsLoaded(true);
3752 setIsLoading(false);
3753 });
3754 case 4:
3755 result = _context.sent;
3756 if (result.config) {
3757 _context.next = 7;
3758 break;
3759 }
3760 throw new Error('Invalid remote config');
3761 case 7:
3762 setRemoteConfig(result.config);
3763 _context.next = 15;
3764 break;
3765 case 10:
3766 _context.prev = 10;
3767 _context.t0 = _context["catch"](1);
3768 setIsError(true);
3769 setIsLoaded(true);
3770 setIsLoading(false);
3771 case 15:
3772 case "end":
3773 return _context.stop();
3774 }
3775 }, _callee, null, [[1, 10]]);
3776 }));
3777 return function fetchData() {
3778 return _ref.apply(this, arguments);
3779 };
3780 }();
3781 if (!isLoaded && !isLoading) {
3782 fetchData();
3783 }
3784 return /*#__PURE__*/_react.default.createElement(RemoteConfigContext.Provider, {
3785 value: {
3786 isLoading: isLoading,
3787 isLoaded: isLoaded,
3788 isError: isError,
3789 remoteConfig: remoteConfig
3790 }
3791 }, props.children);
3792 };
3793 exports.RemoteConfigProvider = RemoteConfigProvider;
3794 RemoteConfigProvider.propTypes = {
3795 children: _propTypes.default.node.isRequired,
3796 onError: _propTypes.default.func.isRequired
3797 };
3798
3799 /***/ }),
3800
3801 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js":
3802 /*!****************************************************************************************!*\
3803 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-attach-url-service.js ***!
3804 \****************************************************************************************/
3805 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3806
3807 "use strict";
3808
3809
3810 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3811 Object.defineProperty(exports, "__esModule", ({
3812 value: true
3813 }));
3814 exports.useAttachUrlService = void 0;
3815 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3816 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
3817 var _react = __webpack_require__(/*! react */ "react");
3818 var _remoteConfig = __webpack_require__(/*! ../context/remote-config */ "../modules/ai/assets/js/editor/pages/form-layout/context/remote-config.js");
3819 var useAttachUrlService = function useAttachUrlService() {
3820 var _useState = (0, _react.useState)(''),
3821 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3822 currentUrl = _useState2[0],
3823 setCurrentUrl = _useState2[1];
3824 var theme = (0, _ui.useTheme)();
3825 var _useRemoteConfig = (0, _remoteConfig.useRemoteConfig)(),
3826 isLoaded = _useRemoteConfig.isLoaded,
3827 isError = _useRemoteConfig.isError,
3828 remoteConfig = _useRemoteConfig.remoteConfig;
3829 if (!isLoaded || isError || !remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]) {
3830 return {
3831 iframeSource: '',
3832 currentUrl: currentUrl,
3833 setCurrentUrl: setCurrentUrl
3834 };
3835 }
3836 var urlObject = new URL(remoteConfig[_remoteConfig.CONFIG_KEYS.WEB_BASED_BUILDER_URL]);
3837 urlObject.searchParams.append('colorScheme', theme.palette.mode);
3838 urlObject.searchParams.append('isRTL', 'rtl' === theme.direction ? 'true' : 'false');
3839 if (currentUrl) {
3840 urlObject.searchParams.append('url', currentUrl);
3841 }
3842 return {
3843 iframeSource: urlObject.toString(),
3844 currentUrl: currentUrl,
3845 setCurrentUrl: setCurrentUrl
3846 };
3847 };
3848 exports.useAttachUrlService = useAttachUrlService;
3849
3850 /***/ }),
3851
3852 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js":
3853 /*!***********************************************************************************!*\
3854 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js ***!
3855 \***********************************************************************************/
3856 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3857
3858 "use strict";
3859
3860
3861 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3862 Object.defineProperty(exports, "__esModule", ({
3863 value: true
3864 }));
3865 exports["default"] = void 0;
3866 var _api = __webpack_require__(/*! ../../../api */ "../modules/ai/assets/js/editor/api/index.js");
3867 var _usePrompt = _interopRequireDefault(__webpack_require__(/*! ../../../hooks/use-prompt */ "../modules/ai/assets/js/editor/hooks/use-prompt.js"));
3868 var useLayoutPrompt = function useLayoutPrompt(type, initialValue) {
3869 return (0, _usePrompt.default)(function (requestBody, signal) {
3870 requestBody.variationType = type;
3871 return (0, _api.generateLayout)(requestBody, signal);
3872 }, initialValue);
3873 };
3874 var _default = useLayoutPrompt;
3875 exports["default"] = _default;
3876
3877 /***/ }),
3878
3879 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js":
3880 /*!********************************************************************************!*\
3881 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js ***!
3882 \********************************************************************************/
3883 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3884
3885 "use strict";
3886
3887
3888 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3889 Object.defineProperty(exports, "__esModule", ({
3890 value: true
3891 }));
3892 exports["default"] = void 0;
3893 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3894 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3895 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3896 var _react = __webpack_require__(/*! react */ "react");
3897 var _useLayoutPrompt = _interopRequireDefault(__webpack_require__(/*! ./use-layout-prompt */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-layout-prompt.js"));
3898 var ERROR_INITIAL_VALUE = '';
3899 var useScreenshot = function useScreenshot(type, onData) {
3900 var _useState = (0, _react.useState)(ERROR_INITIAL_VALUE),
3901 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3902 error = _useState2[0],
3903 setError = _useState2[1];
3904 var _useState3 = (0, _react.useState)(false),
3905 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
3906 isLoading = _useState4[0],
3907 setIsLoading = _useState4[1];
3908 var layoutData = (0, _useLayoutPrompt.default)(type, null);
3909 var generate = function generate(requestBody, signal) {
3910 setIsLoading(true);
3911 setError(ERROR_INITIAL_VALUE);
3912 return layoutData.send(requestBody, signal).then( /*#__PURE__*/function () {
3913 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(data) {
3914 var createdScreenshot;
3915 return _regenerator.default.wrap(function _callee$(_context) {
3916 while (1) switch (_context.prev = _context.next) {
3917 case 0:
3918 _context.next = 2;
3919 return onData(data.result);
3920 case 2:
3921 createdScreenshot = _context.sent;
3922 createdScreenshot.sendUsageData = function () {
3923 return layoutData.sendUsageData(data);
3924 };
3925 createdScreenshot.baseTemplateId = data.baseTemplateId;
3926 createdScreenshot.type = data.type;
3927 return _context.abrupt("return", createdScreenshot);
3928 case 7:
3929 case "end":
3930 return _context.stop();
3931 }
3932 }, _callee);
3933 }));
3934 return function (_x) {
3935 return _ref.apply(this, arguments);
3936 };
3937 }()).catch(function (err) {
3938 setError(err.message || err);
3939 throw err;
3940 }).finally(function () {
3941 return setIsLoading(false);
3942 });
3943 };
3944 return {
3945 generate: generate,
3946 error: error,
3947 isLoading: isLoading
3948 };
3949 };
3950 var _default = useScreenshot;
3951 exports["default"] = _default;
3952
3953 /***/ }),
3954
3955 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js":
3956 /*!*********************************************************************************!*\
3957 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js ***!
3958 \*********************************************************************************/
3959 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
3960
3961 "use strict";
3962
3963
3964 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
3965 Object.defineProperty(exports, "__esModule", ({
3966 value: true
3967 }));
3968 exports["default"] = void 0;
3969 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
3970 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
3971 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
3972 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
3973 var _react = __webpack_require__(/*! react */ "react");
3974 var _useScreenshot = _interopRequireDefault(__webpack_require__(/*! ./use-screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshot.js"));
3975 var _config = __webpack_require__(/*! ../context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
3976 var _generateIds = __webpack_require__(/*! ../../../utils/generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
3977 var PENDING_VALUE = {
3978 isPending: true
3979 };
3980 var useScreenshots = function useScreenshots(_ref) {
3981 var onData = _ref.onData;
3982 var _useState = (0, _react.useState)([]),
3983 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
3984 screenshots = _useState2[0],
3985 setScreenshots = _useState2[1];
3986
3987 /**
3988 * The ids for each request are:
3989 * - editorSessionId: a unique id for each editor opening
3990 * - sessionId: a unique id for each session. (open the AI builder)
3991 * - generateId: a unique id for each generate request. (prompt change)
3992 * - batchId: a unique id for each batch of generate requests. (generate, regenerate)
3993 * - requestId: a unique id for each generate request.
3994 */
3995
3996 var _useConfig = (0, _config.useConfig)(),
3997 currentContext = _useConfig.currentContext,
3998 sessionId = _useConfig.sessionId,
3999 editorSessionId = _useConfig.editorSessionId;
4000 var generateIdRef = (0, _react.useRef)('');
4001 var batchId = "batch-".concat((0, _generateIds.getUniqueId)());
4002 var screenshotsData = [(0, _useScreenshot.default)(0, onData), (0, _useScreenshot.default)(1, onData), (0, _useScreenshot.default)(2, onData)];
4003 var screenshotsGroupCount = screenshotsData.length;
4004 var error = screenshotsData.every(function (s) {
4005 return s === null || s === void 0 ? void 0 : s.error;
4006 }) ? screenshotsData[0].error : '';
4007 var isLoading = screenshotsData.some(function (s) {
4008 return s === null || s === void 0 ? void 0 : s.isLoading;
4009 });
4010 var abortController = (0, _react.useRef)(null);
4011 var abort = function abort() {
4012 var _abortController$curr;
4013 return (_abortController$curr = abortController.current) === null || _abortController$curr === void 0 ? void 0 : _abortController$curr.abort();
4014 };
4015 var createScreenshots = /*#__PURE__*/function () {
4016 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(prompt, attachments) {
4017 var onGenerate, onError, promises, results, isAllFailed;
4018 return _regenerator.default.wrap(function _callee$(_context) {
4019 while (1) switch (_context.prev = _context.next) {
4020 case 0:
4021 abortController.current = new AbortController();
4022 onGenerate = function onGenerate(screenshot) {
4023 setScreenshots(function (prev) {
4024 var updatedData = (0, _toConsumableArray2.default)(prev);
4025 var pendingIndex = updatedData.indexOf(PENDING_VALUE);
4026 updatedData[pendingIndex] = screenshot;
4027 return updatedData;
4028 });
4029 return true;
4030 };
4031 onError = function onError() {
4032 setScreenshots(function (prev) {
4033 var updatedData = (0, _toConsumableArray2.default)(prev);
4034 var pendingIndex = updatedData.lastIndexOf(PENDING_VALUE);
4035 updatedData[pendingIndex] = {
4036 isError: true
4037 };
4038 return updatedData;
4039 });
4040 return false;
4041 };
4042 promises = screenshotsData.map(function (_ref3) {
4043 var generate = _ref3.generate;
4044 var prevGeneratedIds = screenshots.map(function (screenshot) {
4045 return screenshot.baseTemplateId || '';
4046 });
4047 var requestBody = {
4048 prompt: prompt,
4049 prevGeneratedIds: prevGeneratedIds,
4050 currentContext: currentContext,
4051 ids: {
4052 editorSessionId: editorSessionId,
4053 sessionId: sessionId,
4054 generateId: generateIdRef.current,
4055 batchId: batchId,
4056 requestId: "request-".concat((0, _generateIds.getUniqueId)())
4057 },
4058 attachments: attachments.map(function (_ref4) {
4059 var type = _ref4.type,
4060 content = _ref4.content,
4061 label = _ref4.label;
4062 // Send only the data that is needed for the generation.
4063 return {
4064 type: type,
4065 content: content,
4066 label: label
4067 };
4068 })
4069 };
4070 return generate(requestBody, abortController.current.signal).then(onGenerate).catch(onError);
4071 });
4072 _context.next = 6;
4073 return Promise.all(promises);
4074 case 6:
4075 results = _context.sent;
4076 isAllFailed = results.every(function (value) {
4077 return false === value;
4078 });
4079 if (isAllFailed) {
4080 setScreenshots(function (prev) {
4081 var updatedData = (0, _toConsumableArray2.default)(prev);
4082 updatedData.splice(screenshotsGroupCount * -1);
4083 return updatedData;
4084 });
4085 }
4086 case 9:
4087 case "end":
4088 return _context.stop();
4089 }
4090 }, _callee);
4091 }));
4092 return function createScreenshots(_x, _x2) {
4093 return _ref2.apply(this, arguments);
4094 };
4095 }();
4096 var generate = function generate(prompt, attachments) {
4097 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
4098 generateIdRef.current = "generate-".concat((0, _generateIds.getUniqueId)());
4099 setScreenshots(placeholders);
4100 createScreenshots(prompt, attachments);
4101 };
4102 var regenerate = function regenerate(prompt, attachments) {
4103 var placeholders = Array(screenshotsGroupCount).fill(PENDING_VALUE);
4104 setScreenshots(function (prev) {
4105 return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(placeholders));
4106 });
4107 createScreenshots(prompt, attachments);
4108 };
4109 return {
4110 generate: generate,
4111 regenerate: regenerate,
4112 screenshots: screenshots,
4113 isLoading: isLoading,
4114 error: error,
4115 abort: abort
4116 };
4117 };
4118 var _default = useScreenshots;
4119 exports["default"] = _default;
4120
4121 /***/ }),
4122
4123 /***/ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js":
4124 /*!****************************************************************************!*\
4125 !*** ../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js ***!
4126 \****************************************************************************/
4127 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4128
4129 "use strict";
4130
4131
4132 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4133 Object.defineProperty(exports, "__esModule", ({
4134 value: true
4135 }));
4136 exports["default"] = void 0;
4137 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4138 var _react = __webpack_require__(/*! react */ "react");
4139 var useSlider = function useSlider() {
4140 var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
4141 _ref$slidesCount = _ref.slidesCount,
4142 slidesCount = _ref$slidesCount === void 0 ? 0 : _ref$slidesCount,
4143 _ref$slidesPerPage = _ref.slidesPerPage,
4144 slidesPerPage = _ref$slidesPerPage === void 0 ? 3 : _ref$slidesPerPage,
4145 _ref$gapPercentage = _ref.gapPercentage,
4146 gapPercentage = _ref$gapPercentage === void 0 ? 2 : _ref$gapPercentage;
4147 var _useState = (0, _react.useState)(1),
4148 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4149 currentPage = _useState2[0],
4150 setCurrentPage = _useState2[1];
4151 var gapsCount = slidesPerPage - 1;
4152 var slideWidthPercentage = (100 - gapPercentage * gapsCount) / slidesPerPage;
4153 var offsetXPercentage = (slideWidthPercentage + gapPercentage) * slidesPerPage * (currentPage - 1) * -1;
4154 var pagesCount = Math.ceil(slidesCount / slidesPerPage);
4155 (0, _react.useEffect)(function () {
4156 // In cases when the slidesCount value was reduced, we need to navigate to the last page.
4157 if (currentPage > 1 && currentPage > pagesCount) {
4158 setCurrentPage(pagesCount);
4159 }
4160 }, [pagesCount]);
4161 return {
4162 currentPage: currentPage,
4163 setCurrentPage: setCurrentPage,
4164 pagesCount: pagesCount,
4165 slidesPerPage: slidesPerPage,
4166 gapPercentage: gapPercentage,
4167 offsetXPercentage: offsetXPercentage,
4168 slideWidthPercentage: slideWidthPercentage
4169 };
4170 };
4171 var _default = useSlider;
4172 exports["default"] = _default;
4173
4174 /***/ }),
4175
4176 /***/ "../modules/ai/assets/js/editor/pages/form-layout/index.js":
4177 /*!*****************************************************************!*\
4178 !*** ../modules/ai/assets/js/editor/pages/form-layout/index.js ***!
4179 \*****************************************************************/
4180 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4181
4182 "use strict";
4183
4184
4185 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4186 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4187 Object.defineProperty(exports, "__esModule", ({
4188 value: true
4189 }));
4190 exports["default"] = void 0;
4191 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4192 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
4193 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4194 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4195 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4196 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4197 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4198 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4199 var _promptErrorMessage = _interopRequireDefault(__webpack_require__(/*! ../../components/prompt-error-message */ "../modules/ai/assets/js/editor/components/prompt-error-message.js"));
4200 var _unsavedChangesAlert = _interopRequireDefault(__webpack_require__(/*! ./components/unsaved-changes-alert */ "../modules/ai/assets/js/editor/pages/form-layout/components/unsaved-changes-alert.js"));
4201 var _layoutDialog = _interopRequireDefault(__webpack_require__(/*! ./components/layout-dialog */ "../modules/ai/assets/js/editor/pages/form-layout/components/layout-dialog.js"));
4202 var _promptForm = _interopRequireDefault(__webpack_require__(/*! ./components/prompt-form */ "../modules/ai/assets/js/editor/pages/form-layout/components/prompt-form.js"));
4203 var _refreshIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/refresh-icon */ "../modules/ai/assets/js/editor/icons/refresh-icon.js"));
4204 var _screenshot = _interopRequireDefault(__webpack_require__(/*! ./components/screenshot */ "../modules/ai/assets/js/editor/pages/form-layout/components/screenshot.js"));
4205 var _useScreenshots2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-screenshots */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-screenshots.js"));
4206 var _useSlider2 = _interopRequireDefault(__webpack_require__(/*! ./hooks/use-slider */ "../modules/ai/assets/js/editor/pages/form-layout/hooks/use-slider.js"));
4207 var _minimizeDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/minimize-diagonal-icon */ "../modules/ai/assets/js/editor/icons/minimize-diagonal-icon.js"));
4208 var _expandDiagonalIcon = _interopRequireDefault(__webpack_require__(/*! ../../icons/expand-diagonal-icon */ "../modules/ai/assets/js/editor/icons/expand-diagonal-icon.js"));
4209 var _config = __webpack_require__(/*! ./context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
4210 var _attachment = __webpack_require__(/*! ../../types/attachment */ "../modules/ai/assets/js/editor/types/attachment.js");
4211 var _promptPowerNotice = __webpack_require__(/*! ./components/attachments/prompt-power-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments/prompt-power-notice.js");
4212 var _proWidgetsNotice = __webpack_require__(/*! ./components/pro-widgets-notice */ "../modules/ai/assets/js/editor/pages/form-layout/components/pro-widgets-notice.js");
4213 var _attachments = __webpack_require__(/*! ./components/attachments */ "../modules/ai/assets/js/editor/pages/form-layout/components/attachments.js");
4214 var _excluded = ["children"];
4215 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); }
4216 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; }
4217 var DirectionalMinimizeDiagonalIcon = (0, _ui.withDirection)(_minimizeDiagonalIcon.default);
4218 var DirectionalExpandDiagonalIcon = (0, _ui.withDirection)(_expandDiagonalIcon.default);
4219
4220 /**
4221 * @typedef {Object} Attachment
4222 * @property {('json')} type - The type of the attachment, currently only `json` is supported.
4223 * @property {string} previewHTML - HTML content as a string, representing a preview.
4224 * @property {string} content - Actual content of the attachment as a string.
4225 * @property {string} label - Label for the attachment.
4226 */
4227
4228 var RegenerateButton = function RegenerateButton(props) {
4229 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
4230 size: "small",
4231 color: "secondary",
4232 startIcon: /*#__PURE__*/_react.default.createElement(_refreshIcon.default, null)
4233 }, props), (0, _i18n.__)('Regenerate', 'elementor'));
4234 };
4235 var UseLayoutButton = function UseLayoutButton(props) {
4236 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
4237 size: "small",
4238 variant: "contained"
4239 }, props), (0, _i18n.__)('Use Layout', 'elementor'));
4240 };
4241 UseLayoutButton.propTypes = {
4242 sx: _propTypes.default.object
4243 };
4244 var FormLayout = function FormLayout(_ref) {
4245 var _screenshots$selected, _screenshots$2;
4246 var _ref$DialogHeaderProp = _ref.DialogHeaderProps,
4247 DialogHeaderProps = _ref$DialogHeaderProp === void 0 ? {} : _ref$DialogHeaderProp,
4248 _ref$DialogContentPro = _ref.DialogContentProps,
4249 DialogContentProps = _ref$DialogContentPro === void 0 ? {} : _ref$DialogContentPro,
4250 initialAttachments = _ref.attachments;
4251 var _useConfig = (0, _config.useConfig)(),
4252 attachmentsTypes = _useConfig.attachmentsTypes,
4253 onData = _useConfig.onData,
4254 onInsert = _useConfig.onInsert,
4255 onSelect = _useConfig.onSelect,
4256 onClose = _useConfig.onClose,
4257 onGenerate = _useConfig.onGenerate,
4258 hasPro = _useConfig.hasPro;
4259 var _useScreenshots = (0, _useScreenshots2.default)({
4260 onData: onData
4261 }),
4262 screenshots = _useScreenshots.screenshots,
4263 generate = _useScreenshots.generate,
4264 regenerate = _useScreenshots.regenerate,
4265 isLoading = _useScreenshots.isLoading,
4266 error = _useScreenshots.error,
4267 abort = _useScreenshots.abort;
4268 var screenshotOutlineOffset = '2px';
4269 var _useSlider = (0, _useSlider2.default)({
4270 slidesCount: screenshots.length
4271 }),
4272 currentPage = _useSlider.currentPage,
4273 setCurrentPage = _useSlider.setCurrentPage,
4274 pagesCount = _useSlider.pagesCount,
4275 gapPercentage = _useSlider.gapPercentage,
4276 slidesPerPage = _useSlider.slidesPerPage,
4277 offsetXPercentage = _useSlider.offsetXPercentage,
4278 slideWidthPercentage = _useSlider.slideWidthPercentage;
4279 var _useState = (0, _react.useState)(-1),
4280 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4281 selectedScreenshotIndex = _useState2[0],
4282 setSelectedScreenshotIndex = _useState2[1];
4283 var _useState3 = (0, _react.useState)(false),
4284 _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
4285 showUnsavedChangesAlert = _useState4[0],
4286 setShowUnsavedChangesAlert = _useState4[1];
4287 var _useState5 = (0, _react.useState)(true),
4288 _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
4289 isPromptEditable = _useState6[0],
4290 setIsPromptEditable = _useState6[1];
4291 var _useState7 = (0, _react.useState)([]),
4292 _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
4293 attachments = _useState8[0],
4294 setAttachments = _useState8[1];
4295 var _useState9 = (0, _react.useState)(false),
4296 _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
4297 isMinimized = _useState10[0],
4298 setIsMinimized = _useState10[1];
4299 var lastRun = (0, _react.useRef)(function () {});
4300 var promptInputRef = (0, _react.useRef)(null);
4301 var selectedTemplate = (_screenshots$selected = screenshots[selectedScreenshotIndex]) === null || _screenshots$selected === void 0 ? void 0 : _screenshots$selected.template;
4302 var dialogContentChildren = DialogContentProps.children,
4303 dialogContentProps = (0, _objectWithoutProperties2.default)(DialogContentProps, _excluded);
4304
4305 // When there are no screenshots the prompt field should be editable.
4306 var shouldFallbackToEditPrompt = !!(error && 0 === screenshots.length);
4307 var isPromptFormActive = isPromptEditable || shouldFallbackToEditPrompt;
4308 var mayContainProWidgets = 0 === attachments.length || attachments.some(function (attachment) {
4309 return _attachments.ATTACHMENT_TYPE_URL === attachment.type;
4310 });
4311 var abortAndClose = function abortAndClose() {
4312 abort();
4313 onClose();
4314 };
4315 var onCloseIntent = function onCloseIntent() {
4316 var hasUnsavedChanges = promptInputRef.current.value.trim() !== '' || screenshots.length > 0;
4317 if (hasUnsavedChanges) {
4318 return setShowUnsavedChangesAlert(true);
4319 }
4320 abortAndClose();
4321 };
4322 var handleGenerate = function handleGenerate(event, prompt) {
4323 event.preventDefault();
4324 if ('' === prompt.trim() && 0 === attachments.length) {
4325 return;
4326 }
4327 onGenerate();
4328 lastRun.current = function () {
4329 setSelectedScreenshotIndex(-1);
4330 generate(prompt, attachments);
4331 };
4332 lastRun.current();
4333 setIsPromptEditable(false);
4334 setCurrentPage(1);
4335 };
4336 var handleRegenerate = function handleRegenerate() {
4337 lastRun.current = function () {
4338 regenerate(promptInputRef.current.value, attachments);
4339 // Changing the current page to the next page number.
4340 setCurrentPage(pagesCount + 1);
4341 };
4342 lastRun.current();
4343 };
4344 var applyTemplate = function applyTemplate() {
4345 onInsert(selectedTemplate);
4346 screenshots[selectedScreenshotIndex].sendUsageData();
4347 abortAndClose();
4348 };
4349 var handleScreenshotClick = function handleScreenshotClick(index, template) {
4350 return function () {
4351 if (isPromptFormActive) {
4352 return;
4353 }
4354 setSelectedScreenshotIndex(index);
4355 onSelect(template);
4356 };
4357 };
4358
4359 /**
4360 * @param {Attachment[]} items
4361 */
4362 var onAttach = function onAttach(items) {
4363 items.forEach(function (item) {
4364 if (!attachmentsTypes[item.type]) {
4365 throw new Error("Invalid attachment type: ".concat(item.type));
4366 }
4367 var typeConfig = attachmentsTypes[item.type];
4368 if (!item.previewHTML && typeConfig.previewGenerator) {
4369 typeConfig.previewGenerator(item.content).then(function (html) {
4370 item.previewHTML = html;
4371 setAttachments(function (prev) {
4372 // Replace the attachment with the updated one.
4373 return prev.map(function (attachment) {
4374 if (attachment.content === item.content) {
4375 return item;
4376 }
4377 return attachment;
4378 });
4379 });
4380 });
4381 }
4382 });
4383 setAttachments(items);
4384 setIsPromptEditable(true);
4385 };
4386 (0, _react.useEffect)(function () {
4387 var _screenshots$;
4388 var isFirstTemplateExist = (_screenshots$ = screenshots[0]) === null || _screenshots$ === void 0 ? void 0 : _screenshots$.template;
4389 if (isFirstTemplateExist) {
4390 onSelect(screenshots[0].template);
4391 setSelectedScreenshotIndex(0);
4392 }
4393 }, [(_screenshots$2 = screenshots[0]) === null || _screenshots$2 === void 0 ? void 0 : _screenshots$2.template]);
4394 (0, _react.useEffect)(function () {
4395 if (initialAttachments !== null && initialAttachments !== void 0 && initialAttachments.length) {
4396 onAttach(initialAttachments);
4397 }
4398 }, []);
4399 return /*#__PURE__*/_react.default.createElement(_layoutDialog.default, {
4400 onClose: onCloseIntent
4401 }, /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Header, (0, _extends2.default)({
4402 onClose: onCloseIntent
4403 }, DialogHeaderProps), DialogHeaderProps.children, /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4404 title: isMinimized ? (0, _i18n.__)('Expand', 'elementor') : (0, _i18n.__)('Minimize', 'elementor')
4405 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, {
4406 size: "small",
4407 "aria-label": "minimize",
4408 onClick: function onClick() {
4409 return setIsMinimized(function (prev) {
4410 return !prev;
4411 });
4412 }
4413 }, isMinimized ? /*#__PURE__*/_react.default.createElement(DirectionalExpandDiagonalIcon, null) : /*#__PURE__*/_react.default.createElement(DirectionalMinimizeDiagonalIcon, null)))), /*#__PURE__*/_react.default.createElement(_layoutDialog.default.Content, (0, _extends2.default)({
4414 dividers: true
4415 }, dialogContentProps), /*#__PURE__*/_react.default.createElement(_ui.Collapse, {
4416 in: !isMinimized
4417 }, dialogContentChildren && /*#__PURE__*/_react.default.createElement(_ui.Box, {
4418 sx: {
4419 pt: 2,
4420 px: 2,
4421 pb: 0
4422 }
4423 }, 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, {
4424 sx: {
4425 pt: 2,
4426 px: 2,
4427 pb: 0
4428 }
4429 }, /*#__PURE__*/_react.default.createElement(_promptErrorMessage.default, {
4430 error: error,
4431 onRetry: lastRun.current
4432 })), showUnsavedChangesAlert && /*#__PURE__*/_react.default.createElement(_unsavedChangesAlert.default, {
4433 open: showUnsavedChangesAlert,
4434 title: (0, _i18n.__)('Leave Elementor AI?', 'elementor'),
4435 text: (0, _i18n.__)("Your progress will be deleted, and can't be recovered.", 'elementor'),
4436 onClose: abortAndClose,
4437 onCancel: function onCancel() {
4438 return setShowUnsavedChangesAlert(false);
4439 }
4440 }), /*#__PURE__*/_react.default.createElement(_promptForm.default, {
4441 ref: promptInputRef,
4442 isActive: isPromptFormActive,
4443 isLoading: isLoading,
4444 showActions: screenshots.length > 0 || isLoading,
4445 attachmentsTypes: attachmentsTypes,
4446 attachments: attachments,
4447 onAttach: onAttach,
4448 onDetach: function onDetach(index) {
4449 setAttachments(function (prev) {
4450 var newAttachments = (0, _toConsumableArray2.default)(prev);
4451 newAttachments.splice(index, 1);
4452 return newAttachments;
4453 });
4454 setIsPromptEditable(true);
4455 },
4456 onSubmit: handleGenerate,
4457 onBack: function onBack() {
4458 return setIsPromptEditable(false);
4459 },
4460 onEdit: function onEdit() {
4461 return setIsPromptEditable(true);
4462 }
4463 }), (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, {
4464 sx: {
4465 p: 1.5
4466 }
4467 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4468 sx: {
4469 overflow: 'hidden',
4470 p: 0.5
4471 }
4472 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4473 sx: {
4474 display: 'flex',
4475 transition: 'all 0.4s ease',
4476 gap: "".concat(gapPercentage, "%"),
4477 transform: "translateX(".concat(offsetXPercentage, "%)")
4478 }
4479 }, screenshots.map(function (_ref2, index) {
4480 var screenshot = _ref2.screenshot,
4481 type = _ref2.type,
4482 template = _ref2.template,
4483 isError = _ref2.isError,
4484 isPending = _ref2.isPending;
4485 return /*#__PURE__*/_react.default.createElement(_screenshot.default, {
4486 key: index,
4487 url: screenshot,
4488 type: type,
4489 disabled: isPromptFormActive,
4490 isPlaceholder: isError,
4491 isLoading: isPending,
4492 isSelected: selectedScreenshotIndex === index,
4493 onClick: handleScreenshotClick(index, template),
4494 outlineOffset: screenshotOutlineOffset,
4495 sx: {
4496 flex: "0 0 ".concat(slideWidthPercentage, "%")
4497 }
4498 });
4499 })))), screenshots.length > 0 && /*#__PURE__*/_react.default.createElement(_ui.Box, {
4500 sx: {
4501 pt: 0,
4502 px: 2,
4503 pb: 2
4504 },
4505 display: "grid",
4506 gridTemplateColumns: "repeat(3, 1fr)",
4507 justifyItems: "center"
4508 }, /*#__PURE__*/_react.default.createElement(RegenerateButton, {
4509 onClick: handleRegenerate,
4510 disabled: isLoading || isPromptFormActive,
4511 sx: {
4512 justifySelf: 'start'
4513 }
4514 }), screenshots.length > slidesPerPage && /*#__PURE__*/_react.default.createElement(_ui.Pagination, {
4515 page: currentPage,
4516 count: pagesCount,
4517 disabled: isPromptFormActive,
4518 onChange: function onChange(_, page) {
4519 return setCurrentPage(page);
4520 }
4521 }), /*#__PURE__*/_react.default.createElement(UseLayoutButton, {
4522 onClick: applyTemplate,
4523 disabled: isPromptFormActive || -1 === selectedScreenshotIndex,
4524 sx: {
4525 justifySelf: 'end',
4526 gridColumn: 3
4527 }
4528 }))))));
4529 };
4530 FormLayout.propTypes = {
4531 DialogHeaderProps: _propTypes.default.object,
4532 DialogContentProps: _propTypes.default.object,
4533 attachments: _propTypes.default.arrayOf(_attachment.AttachmentPropType)
4534 };
4535 var _default = FormLayout;
4536 exports["default"] = _default;
4537
4538 /***/ }),
4539
4540 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js":
4541 /*!************************************************************************************!*\
4542 !*** ../modules/ai/assets/js/editor/pages/form-media/components/enhance-button.js ***!
4543 \************************************************************************************/
4544 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4545
4546 "use strict";
4547
4548
4549 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4550 Object.defineProperty(exports, "__esModule", ({
4551 value: true
4552 }));
4553 exports["default"] = void 0;
4554 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4555 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4556 var _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectWithoutProperties */ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js"));
4557 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4558 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4559 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4560 var _wandIcon = _interopRequireDefault(__webpack_require__(/*! ../../../icons/wand-icon */ "../modules/ai/assets/js/editor/icons/wand-icon.js"));
4561 var _excluded = ["isLoading"];
4562 var StyledWandIcon = (0, _ui.withDirection)(_wandIcon.default);
4563 var EnhanceButton = function EnhanceButton(_ref) {
4564 var isLoading = _ref.isLoading,
4565 props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
4566 return /*#__PURE__*/_react.default.createElement(_ui.Tooltip, {
4567 title: (0, _i18n.__)('Enhance prompt', 'elementor')
4568 }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
4569 component: "span",
4570 sx: {
4571 cursor: props.disabled ? 'default' : 'pointer'
4572 }
4573 }, /*#__PURE__*/_react.default.createElement(_ui.IconButton, (0, _extends2.default)({
4574 size: "small",
4575 color: "secondary"
4576 }, props), isLoading ? /*#__PURE__*/_react.default.createElement(_ui.CircularProgress, {
4577 color: "secondary",
4578 size: 20
4579 }) : /*#__PURE__*/_react.default.createElement(StyledWandIcon, {
4580 fontSize: "small"
4581 }))));
4582 };
4583 EnhanceButton.propTypes = {
4584 disabled: _propTypes.default.bool,
4585 isLoading: _propTypes.default.bool
4586 };
4587 var _default = EnhanceButton;
4588 exports["default"] = _default;
4589
4590 /***/ }),
4591
4592 /***/ "../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js":
4593 /*!*************************************************************************************!*\
4594 !*** ../modules/ai/assets/js/editor/pages/form-media/components/generate-submit.js ***!
4595 \*************************************************************************************/
4596 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4597
4598 "use strict";
4599
4600
4601 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4602 Object.defineProperty(exports, "__esModule", ({
4603 value: true
4604 }));
4605 exports["default"] = void 0;
4606 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4607 var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js"));
4608 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4609 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4610 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4611 var GenerateSubmit = function GenerateSubmit(props) {
4612 return /*#__PURE__*/_react.default.createElement(_ui.Button, (0, _extends2.default)({
4613 fullWidth: true,
4614 size: "medium",
4615 type: "submit",
4616 variant: "contained"
4617 }, props), props.children || (0, _i18n.__)('Generate', 'elementor'));
4618 };
4619 GenerateSubmit.propTypes = {
4620 children: _propTypes.default.node
4621 };
4622 var _default = GenerateSubmit;
4623 exports["default"] = _default;
4624
4625 /***/ }),
4626
4627 /***/ "../modules/ai/assets/js/editor/pages/get-started/index.js":
4628 /*!*****************************************************************!*\
4629 !*** ../modules/ai/assets/js/editor/pages/get-started/index.js ***!
4630 \*****************************************************************/
4631 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4632
4633 "use strict";
4634
4635
4636 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4637 var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js");
4638 Object.defineProperty(exports, "__esModule", ({
4639 value: true
4640 }));
4641 exports["default"] = void 0;
4642 var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
4643 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4644 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4645 var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js"));
4646 var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui");
4647 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4648 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4649 var _api = __webpack_require__(/*! ../../api */ "../modules/ai/assets/js/editor/api/index.js");
4650 var _icons = __webpack_require__(/*! @elementor/icons */ "@elementor/icons");
4651 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); }
4652 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; }
4653 var GetStarted = function GetStarted(_ref) {
4654 var onSuccess = _ref.onSuccess;
4655 var _useState = (0, _react.useState)(false),
4656 _useState2 = (0, _slicedToArray2.default)(_useState, 2),
4657 isTermsChecked = _useState2[0],
4658 setIsTermsChecked = _useState2[1];
4659 var onGetStartedClick = /*#__PURE__*/function () {
4660 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
4661 return _regenerator.default.wrap(function _callee$(_context) {
4662 while (1) switch (_context.prev = _context.next) {
4663 case 0:
4664 _context.next = 2;
4665 return (0, _api.setGetStarted)();
4666 case 2:
4667 onSuccess();
4668 case 3:
4669 case "end":
4670 return _context.stop();
4671 }
4672 }, _callee);
4673 }));
4674 return function onGetStartedClick() {
4675 return _ref2.apply(this, arguments);
4676 };
4677 }();
4678 return /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4679 alignItems: "center",
4680 gap: 1.5
4681 }, /*#__PURE__*/_react.default.createElement(_icons.AIIcon, {
4682 sx: {
4683 color: 'text.primary',
4684 fontSize: '60px',
4685 mb: 1
4686 }
4687 }), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4688 variant: "h4",
4689 sx: {
4690 color: 'text.primary'
4691 }
4692 }, (0, _i18n.__)('Step into the future with Elementor AI', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4693 variant: "body2"
4694 }, (0, _i18n.__)('Create smarter with AI text and code generators built right into the editor.', 'elementor')), /*#__PURE__*/_react.default.createElement(_ui.Stack, {
4695 direction: "row",
4696 gap: 1.5,
4697 alignItems: "flex-start"
4698 }, /*#__PURE__*/_react.default.createElement(_ui.Checkbox, {
4699 id: "e-ai-terms-approval",
4700 color: "secondary",
4701 sx: {
4702 p: 0
4703 },
4704 onChange: function onChange() {
4705 return setIsTermsChecked(function (prevState) {
4706 return !prevState;
4707 });
4708 }
4709 }), /*#__PURE__*/_react.default.createElement(_ui.Stack, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, {
4710 variant: "caption",
4711 sx: {
4712 maxWidth: 520
4713 },
4714 component: "label",
4715 htmlFor: "e-ai-terms-approval"
4716 }, (0, _i18n.__)('I approve the ', 'elementor'), /*#__PURE__*/_react.default.createElement(_ui.Link, {
4717 href: "https://go.elementor.com/ai-terms/",
4718 target: "_blank",
4719 color: "info.main"
4720 }, (0, _i18n.__)('Terms of Service', 'elementor')), ' & ', /*#__PURE__*/_react.default.createElement(_ui.Link, {
4721 href: "https://go.elementor.com/ai-privacy-policy/",
4722 target: "_blank",
4723 color: "info.main"
4724 }, (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, {
4725 disabled: !isTermsChecked,
4726 variant: "contained",
4727 onClick: onGetStartedClick,
4728 sx: {
4729 mt: 1,
4730 '&:hover': {
4731 color: 'primary.contrastText'
4732 }
4733 }
4734 }, (0, _i18n.__)('Get Started', 'elementor')));
4735 };
4736 GetStarted.propTypes = {
4737 onSuccess: _propTypes.default.func.isRequired
4738 };
4739 var _default = GetStarted;
4740 exports["default"] = _default;
4741
4742 /***/ }),
4743
4744 /***/ "../modules/ai/assets/js/editor/types/attachment.js":
4745 /*!**********************************************************!*\
4746 !*** ../modules/ai/assets/js/editor/types/attachment.js ***!
4747 \**********************************************************/
4748 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4749
4750 "use strict";
4751
4752
4753 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4754 Object.defineProperty(exports, "__esModule", ({
4755 value: true
4756 }));
4757 exports.AttachmentsTypesPropType = exports.AttachmentPropType = void 0;
4758 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
4759 var AttachmentPropType = _propTypes.default.shape({
4760 type: _propTypes.default.string,
4761 previewHTML: _propTypes.default.string,
4762 content: _propTypes.default.string,
4763 label: _propTypes.default.string
4764 });
4765 exports.AttachmentPropType = AttachmentPropType;
4766 var AttachmentsTypesPropType = _propTypes.default.shape({
4767 type: _propTypes.default.shape({
4768 promptPlaceholder: _propTypes.default.string,
4769 promptSuggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
4770 text: _propTypes.default.string.isRequired
4771 })),
4772 previewGenerator: _propTypes.default.func
4773 })
4774 });
4775 exports.AttachmentsTypesPropType = AttachmentsTypesPropType;
4776
4777 /***/ }),
4778
4779 /***/ "../modules/ai/assets/js/editor/utils/editor-integration.js":
4780 /*!******************************************************************!*\
4781 !*** ../modules/ai/assets/js/editor/utils/editor-integration.js ***!
4782 \******************************************************************/
4783 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4784
4785 "use strict";
4786 /* provided dependency */ var ReactDOM = __webpack_require__(/*! react-dom */ "react-dom");
4787
4788
4789 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
4790 Object.defineProperty(exports, "__esModule", ({
4791 value: true
4792 }));
4793 exports.renderLayoutApp = exports.openPanel = exports.onConnect = exports.importToEditor = exports.getUiConfig = exports.closePanel = void 0;
4794 var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react"));
4795 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
4796 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
4797 var _previewContainer = __webpack_require__(/*! ./preview-container */ "../modules/ai/assets/js/editor/utils/preview-container.js");
4798 var _layoutApp = _interopRequireDefault(__webpack_require__(/*! ../layout-app */ "../modules/ai/assets/js/editor/layout-app.js"));
4799 var _screenshot = __webpack_require__(/*! ./screenshot */ "../modules/ai/assets/js/editor/utils/screenshot.js");
4800 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
4801 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
4802 var _generateIds = __webpack_require__(/*! ./generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
4803 var _layoutAppWrapper = _interopRequireDefault(__webpack_require__(/*! ../layout-app-wrapper */ "../modules/ai/assets/js/editor/layout-app-wrapper.js"));
4804 var closePanel = function closePanel() {
4805 $e.run('panel/close');
4806 $e.components.get('panel').blockUserInteractions();
4807 };
4808 exports.closePanel = closePanel;
4809 var openPanel = function openPanel() {
4810 $e.run('panel/open');
4811 $e.components.get('panel').unblockUserInteractions();
4812 };
4813 exports.openPanel = openPanel;
4814 var onConnect = function onConnect(data) {
4815 elementorCommon.config.library_connect.is_connected = true;
4816 elementorCommon.config.library_connect.current_access_level = data.kits_access_level || data.access_level || 0;
4817 elementorCommon.config.library_connect.current_access_tier = data.access_tier;
4818 };
4819 exports.onConnect = onConnect;
4820 var getUiConfig = function getUiConfig() {
4821 var _elementor, _elementor$getPrefere;
4822 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';
4823 var isRTL = elementorCommon.config.isRTL;
4824 return {
4825 colorScheme: colorScheme,
4826 isRTL: isRTL
4827 };
4828 };
4829 exports.getUiConfig = getUiConfig;
4830 var VARIATIONS_PROMPTS = [{
4831 text: (0, _i18n.__)('Minimalist design with bold typography about', 'elementor')
4832 }, {
4833 text: (0, _i18n.__)('Elegant style with serif fonts discussing', 'elementor')
4834 }, {
4835 text: (0, _i18n.__)('Retro vibe with muted colors and classic fonts about', 'elementor')
4836 }, {
4837 text: (0, _i18n.__)('Futuristic design with neon accents about', 'elementor')
4838 }, {
4839 text: (0, _i18n.__)('Professional look with clean lines for', 'elementor')
4840 }, {
4841 text: (0, _i18n.__)('Earthy tones and organic shapes featuring', 'elementor')
4842 }, {
4843 text: (0, _i18n.__)('Luxurious theme with rich colors discussing', 'elementor')
4844 }, {
4845 text: (0, _i18n.__)('Tech-inspired style with modern fonts about', 'elementor')
4846 }, {
4847 text: (0, _i18n.__)('Warm hues with comforting visuals about', 'elementor')
4848 }];
4849 var PROMPT_PLACEHOLDER = (0, _i18n.__)("Press '/' for suggestions or describe the changes you want to apply (optional)...", 'elementor');
4850 var EDITOR_SESSION_ID = "editor-session-".concat((0, _generateIds.getUniqueId)());
4851 var renderLayoutApp = function renderLayoutApp() {
4852 var _options$onRenderApp;
4853 var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
4854 parentContainer: null,
4855 mode: '',
4856 at: null,
4857 onClose: null,
4858 onGenerate: null,
4859 onInsert: null,
4860 onRenderApp: null,
4861 onSelect: null,
4862 attachments: []
4863 };
4864 closePanel();
4865 var previewContainer = (0, _previewContainer.createPreviewContainer)(options.parentContainer, {
4866 // Create the container at the "drag widget here" area position.
4867 at: options.at
4868 });
4869 var _getUiConfig = getUiConfig(),
4870 colorScheme = _getUiConfig.colorScheme,
4871 isRTL = _getUiConfig.isRTL;
4872 var rootElement = document.createElement('div');
4873 document.body.append(rootElement);
4874 var bodyStyle = window.elementorFrontend.elements.$window[0].getComputedStyle(window.elementorFrontend.elements.$body[0]);
4875 ReactDOM.render( /*#__PURE__*/_react.default.createElement(_layoutAppWrapper.default, {
4876 isRTL: isRTL,
4877 colorScheme: colorScheme
4878 }, /*#__PURE__*/_react.default.createElement(_layoutApp.default, {
4879 mode: options.mode,
4880 currentContext: {
4881 body: {
4882 backgroundColor: bodyStyle.backgroundColor,
4883 backgroundImage: bodyStyle.backgroundImage
4884 }
4885 },
4886 attachmentsTypes: {
4887 json: {
4888 promptSuggestions: VARIATIONS_PROMPTS,
4889 promptPlaceholder: PROMPT_PLACEHOLDER,
4890 previewGenerator: function () {
4891 var _previewGenerator = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(json) {
4892 var screenshot;
4893 return _regenerator.default.wrap(function _callee$(_context) {
4894 while (1) switch (_context.prev = _context.next) {
4895 case 0:
4896 _context.next = 2;
4897 return (0, _screenshot.takeScreenshot)(json);
4898 case 2:
4899 screenshot = _context.sent;
4900 return _context.abrupt("return", "<img src=\"".concat(screenshot, "\" />"));
4901 case 4:
4902 case "end":
4903 return _context.stop();
4904 }
4905 }, _callee);
4906 }));
4907 function previewGenerator(_x) {
4908 return _previewGenerator.apply(this, arguments);
4909 }
4910 return previewGenerator;
4911 }()
4912 },
4913 url: {
4914 promptPlaceholder: PROMPT_PLACEHOLDER,
4915 promptSuggestions: VARIATIONS_PROMPTS
4916 }
4917 },
4918 attachments: options.attachments || [],
4919 onClose: function onClose() {
4920 var _options$onClose;
4921 previewContainer.destroy();
4922 (_options$onClose = options.onClose) === null || _options$onClose === void 0 ? void 0 : _options$onClose.call(options);
4923 ReactDOM.unmountComponentAtNode(rootElement);
4924 rootElement.remove();
4925 openPanel();
4926 },
4927 onConnect: onConnect,
4928 onGenerate: function onGenerate() {
4929 var _options$onGenerate;
4930 (_options$onGenerate = options.onGenerate) === null || _options$onGenerate === void 0 ? void 0 : _options$onGenerate.call(options, {
4931 previewContainer: previewContainer
4932 });
4933 },
4934 onData: /*#__PURE__*/function () {
4935 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(template) {
4936 var screenshot;
4937 return _regenerator.default.wrap(function _callee2$(_context2) {
4938 while (1) switch (_context2.prev = _context2.next) {
4939 case 0:
4940 _context2.next = 2;
4941 return (0, _screenshot.takeScreenshot)(template);
4942 case 2:
4943 screenshot = _context2.sent;
4944 return _context2.abrupt("return", {
4945 screenshot: screenshot,
4946 template: template
4947 });
4948 case 4:
4949 case "end":
4950 return _context2.stop();
4951 }
4952 }, _callee2);
4953 }));
4954 return function (_x2) {
4955 return _ref.apply(this, arguments);
4956 };
4957 }(),
4958 onSelect: function onSelect(template) {
4959 var _options$onSelect;
4960 (_options$onSelect = options.onSelect) === null || _options$onSelect === void 0 ? void 0 : _options$onSelect.call(options);
4961 previewContainer.setContent(template);
4962 },
4963 onInsert: options.onInsert,
4964 hasPro: elementor.helpers.hasPro(),
4965 editorSessionId: EDITOR_SESSION_ID
4966 })), rootElement);
4967 (_options$onRenderApp = options.onRenderApp) === null || _options$onRenderApp === void 0 ? void 0 : _options$onRenderApp.call(options, {
4968 previewContainer: previewContainer
4969 });
4970 };
4971 exports.renderLayoutApp = renderLayoutApp;
4972 var importToEditor = function importToEditor(_ref2) {
4973 var parentContainer = _ref2.parentContainer,
4974 at = _ref2.at,
4975 template = _ref2.template,
4976 historyTitle = _ref2.historyTitle,
4977 _ref2$replace = _ref2.replace,
4978 replace = _ref2$replace === void 0 ? false : _ref2$replace;
4979 var endHistoryLog = (0, _history.startHistoryLog)({
4980 type: 'import',
4981 title: historyTitle
4982 });
4983 if (replace) {
4984 $e.run('document/elements/delete', {
4985 container: parentContainer.children.at(at)
4986 });
4987 }
4988 $e.run('document/elements/create', {
4989 container: parentContainer,
4990 model: (0, _generateIds.generateIds)(template),
4991 options: {
4992 at: at,
4993 edit: true
4994 }
4995 });
4996 endHistoryLog();
4997 };
4998 exports.importToEditor = importToEditor;
4999
5000 /***/ }),
5001
5002 /***/ "../modules/ai/assets/js/editor/utils/generate-ids.js":
5003 /*!************************************************************!*\
5004 !*** ../modules/ai/assets/js/editor/utils/generate-ids.js ***!
5005 \************************************************************/
5006 /***/ ((__unused_webpack_module, exports) => {
5007
5008 "use strict";
5009
5010
5011 Object.defineProperty(exports, "__esModule", ({
5012 value: true
5013 }));
5014 exports.generateIds = generateIds;
5015 exports.getUniqueId = void 0;
5016 // Create missing IDs for the elements.
5017 var getUniqueId = function getUniqueId() {
5018 return Math.random().toString(16).substr(2, 7);
5019 };
5020 exports.getUniqueId = getUniqueId;
5021 function generateIds(template) {
5022 var _template$elements;
5023 template.id = getUniqueId().toString();
5024 if ((_template$elements = template.elements) !== null && _template$elements !== void 0 && _template$elements.length) {
5025 template.elements.map(function (child) {
5026 return generateIds(child);
5027 });
5028 }
5029 return template;
5030 }
5031
5032 /***/ }),
5033
5034 /***/ "../modules/ai/assets/js/editor/utils/history.js":
5035 /*!*******************************************************!*\
5036 !*** ../modules/ai/assets/js/editor/utils/history.js ***!
5037 \*******************************************************/
5038 /***/ ((__unused_webpack_module, exports) => {
5039
5040 "use strict";
5041
5042
5043 Object.defineProperty(exports, "__esModule", ({
5044 value: true
5045 }));
5046 exports.startHistoryLog = startHistoryLog;
5047 exports.toggleHistory = toggleHistory;
5048 function toggleHistory(isActive) {
5049 elementor.documents.getCurrent().history.setActive(isActive);
5050 }
5051
5052 /**
5053 * @param {Object} options
5054 * @param { 'add' | 'change' | 'disable' | 'duplicate' | 'enable' | 'import' | 'move' | 'paste' | 'paste_style' | 'remove' | 'reset_settings' | 'reset_style' | 'selected' } options.type
5055 * @param { string } options.title
5056 *
5057 * @return {*}
5058 */
5059 function startHistoryLog(_ref) {
5060 var type = _ref.type,
5061 title = _ref.title;
5062 var id = $e.internal('document/history/start-log', {
5063 type: type,
5064 title: title
5065 });
5066 return function () {
5067 return $e.internal('document/history/end-log', {
5068 id: id
5069 });
5070 };
5071 }
5072
5073 /***/ }),
5074
5075 /***/ "../modules/ai/assets/js/editor/utils/preview-container.js":
5076 /*!*****************************************************************!*\
5077 !*** ../modules/ai/assets/js/editor/utils/preview-container.js ***!
5078 \*****************************************************************/
5079 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5080
5081 "use strict";
5082
5083
5084 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5085 Object.defineProperty(exports, "__esModule", ({
5086 value: true
5087 }));
5088 exports.createPreviewContainer = createPreviewContainer;
5089 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
5090 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5091 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
5092 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; }
5093 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; }
5094 /**
5095 * @typedef {import('elementor/assets/dev/js/editor/container/container')} Container
5096 */
5097
5098 var PREFIX = 'e-ai-preview-container';
5099 var CLASS_HIDDEN = PREFIX + '--hidden';
5100 var CLASS_IDLE = PREFIX + '--idle';
5101
5102 /**
5103 * @param {Container} parentContainer
5104 * @param {{}} containerOptions
5105 * @return {{init, setContent, reset, destroy}}
5106 */
5107
5108 function createPreviewContainer(parentContainer) {
5109 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5110 var createdContainers = new Map();
5111 var idleContainer = createIdleContainer(parentContainer, containerOptions);
5112 function init() {
5113 showContainer(idleContainer);
5114 }
5115 function getAllContainers() {
5116 return [].concat((0, _toConsumableArray2.default)(createdContainers.values()), [idleContainer]);
5117 }
5118 function reset() {
5119 deleteContainers((0, _toConsumableArray2.default)(createdContainers.values()));
5120 createdContainers.clear();
5121 showContainer(idleContainer);
5122 }
5123 function setContent(template) {
5124 if (!template) {
5125 return;
5126 }
5127 hideContainers(getAllContainers());
5128 if (!createdContainers.has(template)) {
5129 var newContainer = createContainer(parentContainer, template, containerOptions);
5130 createdContainers.set(template, newContainer);
5131 }
5132 showContainer(createdContainers.get(template));
5133 }
5134 function destroy() {
5135 deleteContainers(getAllContainers());
5136 createdContainers.clear();
5137 }
5138 return {
5139 init: init,
5140 reset: reset,
5141 setContent: setContent,
5142 destroy: destroy
5143 };
5144 }
5145
5146 /**
5147 * @param {Container} parentContainer
5148 * @param {{}} model
5149 * @param {{}} options
5150 * @return {*}
5151 */
5152 function createContainer(parentContainer, model) {
5153 var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5154 (0, _history.toggleHistory)(false);
5155 var container = $e.run('document/elements/create', {
5156 container: parentContainer,
5157 model: _objectSpread(_objectSpread({}, model), {}, {
5158 id: "".concat(PREFIX, "-").concat(elementorCommon.helpers.getUniqueId().toString())
5159 }),
5160 options: _objectSpread(_objectSpread({}, options), {}, {
5161 edit: false
5162 })
5163 });
5164 (0, _history.toggleHistory)(true);
5165 container.view.$el.addClass(CLASS_HIDDEN);
5166 return container;
5167 }
5168
5169 /**
5170 * @param {Container} parentContainer
5171 * @param {{}} containerOptions
5172 * @return {*}
5173 */
5174 function createIdleContainer(parentContainer) {
5175 var containerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
5176 // Create an empty container that'll be used of UI purposes.
5177 var container = createContainer(parentContainer, {
5178 elType: 'container'
5179 }, containerOptions);
5180 container.view.$el.addClass(CLASS_IDLE);
5181 return container;
5182 }
5183 function hideContainers(containers) {
5184 containers.forEach(function (container) {
5185 container.view.$el.addClass(CLASS_HIDDEN);
5186 });
5187 }
5188 function showContainer(container) {
5189 container.view.$el.removeClass(CLASS_HIDDEN);
5190
5191 // Delay the scroll to avoid UI jumps when toggling between containers.
5192 setTimeout(function () {
5193 container.view.$el[0].scrollIntoView({
5194 behavior: 'smooth',
5195 block: 'start'
5196 });
5197 });
5198 }
5199 function deleteContainers(containers) {
5200 (0, _history.toggleHistory)(false);
5201 $e.run('document/elements/delete', {
5202 containers: containers
5203 });
5204 (0, _history.toggleHistory)(true);
5205 }
5206
5207 /***/ }),
5208
5209 /***/ "../modules/ai/assets/js/editor/utils/screenshot.js":
5210 /*!**********************************************************!*\
5211 !*** ../modules/ai/assets/js/editor/utils/screenshot.js ***!
5212 \**********************************************************/
5213 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5214
5215 "use strict";
5216
5217
5218 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
5219 Object.defineProperty(exports, "__esModule", ({
5220 value: true
5221 }));
5222 exports.takeScreenshot = void 0;
5223 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
5224 var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ "../node_modules/@babel/runtime/helpers/toConsumableArray.js"));
5225 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
5226 var _htmlToImage = __webpack_require__(/*! html-to-image */ "../node_modules/html-to-image/es/index.js");
5227 var _history = __webpack_require__(/*! ./history */ "../modules/ai/assets/js/editor/utils/history.js");
5228 var _generateIds = __webpack_require__(/*! ./generate-ids */ "../modules/ai/assets/js/editor/utils/generate-ids.js");
5229 var takeScreenshot = /*#__PURE__*/function () {
5230 var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(template) {
5231 var hiddenWrapper, container, screenshot;
5232 return _regenerator.default.wrap(function _callee$(_context) {
5233 while (1) switch (_context.prev = _context.next) {
5234 case 0:
5235 if (template) {
5236 _context.next = 2;
5237 break;
5238 }
5239 return _context.abrupt("return", '');
5240 case 2:
5241 // Disable history so the Editor won't show our hidden container as a user action.
5242 (0, _history.toggleHistory)(false);
5243 hiddenWrapper = createHiddenWrapper();
5244 container = createContainer(template);
5245 wrapContainer(container, hiddenWrapper);
5246 elementor.getPreviewView().$childViewContainer[0].appendChild(hiddenWrapper);
5247
5248 // Wait for the container to render.
5249 _context.next = 9;
5250 return waitForContainer(container.id);
5251 case 9:
5252 if (!template.elements.length) {
5253 _context.next = 12;
5254 break;
5255 }
5256 _context.next = 12;
5257 return Promise.all(template.elements.map(function (child) {
5258 return waitForContainer(child.id);
5259 }));
5260 case 12:
5261 _context.prev = 12;
5262 _context.next = 15;
5263 return screenshotNode(container.view.$el[0]);
5264 case 15:
5265 screenshot = _context.sent;
5266 _context.next = 21;
5267 break;
5268 case 18:
5269 _context.prev = 18;
5270 _context.t0 = _context["catch"](12);
5271 // Return an empty image url if the screenshot failed.
5272 screenshot = '';
5273 case 21:
5274 deleteContainer(container);
5275 hiddenWrapper.remove();
5276 (0, _history.toggleHistory)(true);
5277 return _context.abrupt("return", screenshot);
5278 case 25:
5279 case "end":
5280 return _context.stop();
5281 }
5282 }, _callee, null, [[12, 18]]);
5283 }));
5284 return function takeScreenshot(_x) {
5285 return _ref.apply(this, arguments);
5286 };
5287 }();
5288 exports.takeScreenshot = takeScreenshot;
5289 function screenshotNode(node) {
5290 return toWebp(node, {
5291 quality: 0.01,
5292 // Transparent 1x1 pixel.
5293 imagePlaceholder: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
5294 });
5295 }
5296 function toWebp(_x2) {
5297 return _toWebp.apply(this, arguments);
5298 }
5299 function _toWebp() {
5300 _toWebp = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(node) {
5301 var _options$quality;
5302 var options,
5303 canvas,
5304 _args3 = arguments;
5305 return _regenerator.default.wrap(function _callee3$(_context3) {
5306 while (1) switch (_context3.prev = _context3.next) {
5307 case 0:
5308 options = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {};
5309 _context3.next = 3;
5310 return (0, _htmlToImage.toCanvas)(node, options);
5311 case 3:
5312 canvas = _context3.sent;
5313 return _context3.abrupt("return", canvas.toDataURL('image/webp', (_options$quality = options.quality) !== null && _options$quality !== void 0 ? _options$quality : 1));
5314 case 5:
5315 case "end":
5316 return _context3.stop();
5317 }
5318 }, _callee3);
5319 }));
5320 return _toWebp.apply(this, arguments);
5321 }
5322 function createHiddenWrapper() {
5323 var wrapper = document.createElement('div');
5324 wrapper.style.position = 'fixed';
5325 wrapper.style.opacity = '0';
5326 wrapper.style.inset = '0';
5327 return wrapper;
5328 }
5329 function createContainer(template) {
5330 var model = (0, _generateIds.generateIds)(template);
5331
5332 // Set a custom ID, so it can be used later on in the backend.
5333 model.id = "e-ai-screenshot-container-".concat(model.id);
5334 return $e.run('document/elements/create', {
5335 container: elementor.getPreviewContainer(),
5336 model: model,
5337 options: {
5338 edit: false
5339 }
5340 });
5341 }
5342 function deleteContainer(container) {
5343 return $e.run('document/elements/delete', {
5344 container: container
5345 });
5346 }
5347 function waitForContainer(id) {
5348 var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5000;
5349 var timeoutPromise = sleep(timeout);
5350 var waitPromise = new Promise(function (resolve) {
5351 elementorFrontend.hooks.addAction('frontend/element_ready/global', /*#__PURE__*/function () {
5352 var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2($element) {
5353 var images;
5354 return _regenerator.default.wrap(function _callee2$(_context2) {
5355 while (1) switch (_context2.prev = _context2.next) {
5356 case 0:
5357 if (!($element.data('id') === id)) {
5358 _context2.next = 5;
5359 break;
5360 }
5361 images = (0, _toConsumableArray2.default)($element[0].querySelectorAll('img')); // Wait for all images to load.
5362 _context2.next = 4;
5363 return Promise.all(images.map(waitForImage));
5364 case 4:
5365 resolve();
5366 case 5:
5367 case "end":
5368 return _context2.stop();
5369 }
5370 }, _callee2);
5371 }));
5372 return function (_x3) {
5373 return _ref2.apply(this, arguments);
5374 };
5375 }());
5376 });
5377 return Promise.any([timeoutPromise, waitPromise]);
5378 }
5379 function waitForImage(image) {
5380 if (image.complete) {
5381 return Promise.resolve();
5382 }
5383 return new Promise(function (resolve) {
5384 image.addEventListener('load', resolve);
5385 image.addEventListener('error', function () {
5386 // Remove the image to make sure it won't break the screenshot.
5387 image.remove();
5388 resolve();
5389 });
5390 });
5391 }
5392 function sleep(ms) {
5393 return new Promise(function (resolve) {
5394 return setTimeout(resolve, ms);
5395 });
5396 }
5397 function wrapContainer(container, wrapper) {
5398 var el = container.view.$el[0];
5399 el.parentNode.insertBefore(wrapper, el);
5400 wrapper.appendChild(el);
5401 }
5402
5403 /***/ }),
5404
5405 /***/ "../node_modules/clsx/dist/clsx.m.js":
5406 /*!*******************************************!*\
5407 !*** ../node_modules/clsx/dist/clsx.m.js ***!
5408 \*******************************************/
5409 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5410
5411 "use strict";
5412 __webpack_require__.r(__webpack_exports__);
5413 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5414 /* harmony export */ clsx: () => (/* binding */ clsx),
5415 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
5416 /* harmony export */ });
5417 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);
5418
5419 /***/ }),
5420
5421 /***/ "../node_modules/html-to-image/es/apply-style.js":
5422 /*!*******************************************************!*\
5423 !*** ../node_modules/html-to-image/es/apply-style.js ***!
5424 \*******************************************************/
5425 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5426
5427 "use strict";
5428 __webpack_require__.r(__webpack_exports__);
5429 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5430 /* harmony export */ applyStyle: () => (/* binding */ applyStyle)
5431 /* harmony export */ });
5432 function applyStyle(node, options) {
5433 const { style } = node;
5434 if (options.backgroundColor) {
5435 style.backgroundColor = options.backgroundColor;
5436 }
5437 if (options.width) {
5438 style.width = `${options.width}px`;
5439 }
5440 if (options.height) {
5441 style.height = `${options.height}px`;
5442 }
5443 const manual = options.style;
5444 if (manual != null) {
5445 Object.keys(manual).forEach((key) => {
5446 style[key] = manual[key];
5447 });
5448 }
5449 return node;
5450 }
5451 //# sourceMappingURL=apply-style.js.map
5452
5453 /***/ }),
5454
5455 /***/ "../node_modules/html-to-image/es/clone-node.js":
5456 /*!******************************************************!*\
5457 !*** ../node_modules/html-to-image/es/clone-node.js ***!
5458 \******************************************************/
5459 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5460
5461 "use strict";
5462 __webpack_require__.r(__webpack_exports__);
5463 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5464 /* harmony export */ cloneNode: () => (/* binding */ cloneNode)
5465 /* harmony export */ });
5466 /* harmony import */ var _clone_pseudos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-pseudos */ "../node_modules/html-to-image/es/clone-pseudos.js");
5467 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
5468 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
5469 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
5470
5471
5472
5473
5474 async function cloneCanvasElement(canvas) {
5475 const dataURL = canvas.toDataURL();
5476 if (dataURL === 'data:,') {
5477 return canvas.cloneNode(false);
5478 }
5479 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
5480 }
5481 async function cloneVideoElement(video, options) {
5482 if (video.currentSrc) {
5483 const canvas = document.createElement('canvas');
5484 const ctx = canvas.getContext('2d');
5485 canvas.width = video.clientWidth;
5486 canvas.height = video.clientHeight;
5487 ctx === null || ctx === void 0 ? void 0 : ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
5488 const dataURL = canvas.toDataURL();
5489 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
5490 }
5491 const poster = video.poster;
5492 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_2__.getMimeType)(poster);
5493 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_3__.resourceToDataURL)(poster, contentType, options);
5494 return (0,_util__WEBPACK_IMPORTED_MODULE_1__.createImage)(dataURL);
5495 }
5496 async function cloneIFrameElement(iframe) {
5497 var _a;
5498 try {
5499 if ((_a = iframe === null || iframe === void 0 ? void 0 : iframe.contentDocument) === null || _a === void 0 ? void 0 : _a.body) {
5500 return (await cloneNode(iframe.contentDocument.body, {}, true));
5501 }
5502 }
5503 catch (_b) {
5504 // Failed to clone iframe
5505 }
5506 return iframe.cloneNode(false);
5507 }
5508 async function cloneSingleNode(node, options) {
5509 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLCanvasElement)) {
5510 return cloneCanvasElement(node);
5511 }
5512 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLVideoElement)) {
5513 return cloneVideoElement(node, options);
5514 }
5515 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(node, HTMLIFrameElement)) {
5516 return cloneIFrameElement(node);
5517 }
5518 return node.cloneNode(false);
5519 }
5520 const isSlotElement = (node) => node.tagName != null && node.tagName.toUpperCase() === 'SLOT';
5521 async function cloneChildren(nativeNode, clonedNode, options) {
5522 var _a, _b;
5523 let children = [];
5524 if (isSlotElement(nativeNode) && nativeNode.assignedNodes) {
5525 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.assignedNodes());
5526 }
5527 else if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
5528 ((_a = nativeNode.contentDocument) === null || _a === void 0 ? void 0 : _a.body)) {
5529 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(nativeNode.contentDocument.body.childNodes);
5530 }
5531 else {
5532 children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(((_b = nativeNode.shadowRoot) !== null && _b !== void 0 ? _b : nativeNode).childNodes);
5533 }
5534 if (children.length === 0 ||
5535 (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLVideoElement)) {
5536 return clonedNode;
5537 }
5538 await children.reduce((deferred, child) => deferred
5539 .then(() => cloneNode(child, options))
5540 .then((clonedChild) => {
5541 if (clonedChild) {
5542 clonedNode.appendChild(clonedChild);
5543 }
5544 }), Promise.resolve());
5545 return clonedNode;
5546 }
5547 function cloneCSSStyle(nativeNode, clonedNode) {
5548 const targetStyle = clonedNode.style;
5549 if (!targetStyle) {
5550 return;
5551 }
5552 const sourceStyle = window.getComputedStyle(nativeNode);
5553 if (sourceStyle.cssText) {
5554 targetStyle.cssText = sourceStyle.cssText;
5555 targetStyle.transformOrigin = sourceStyle.transformOrigin;
5556 }
5557 else {
5558 (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(sourceStyle).forEach((name) => {
5559 let value = sourceStyle.getPropertyValue(name);
5560 if (name === 'font-size' && value.endsWith('px')) {
5561 const reducedFont = Math.floor(parseFloat(value.substring(0, value.length - 2))) - 0.1;
5562 value = `${reducedFont}px`;
5563 }
5564 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLIFrameElement) &&
5565 name === 'display' &&
5566 value === 'inline') {
5567 value = 'block';
5568 }
5569 if (name === 'd' && clonedNode.getAttribute('d')) {
5570 value = `path(${clonedNode.getAttribute('d')})`;
5571 }
5572 targetStyle.setProperty(name, value, sourceStyle.getPropertyPriority(name));
5573 });
5574 }
5575 }
5576 function cloneInputValue(nativeNode, clonedNode) {
5577 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLTextAreaElement)) {
5578 clonedNode.innerHTML = nativeNode.value;
5579 }
5580 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLInputElement)) {
5581 clonedNode.setAttribute('value', nativeNode.value);
5582 }
5583 }
5584 function cloneSelectValue(nativeNode, clonedNode) {
5585 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(nativeNode, HTMLSelectElement)) {
5586 const clonedSelect = clonedNode;
5587 const selectedOption = Array.from(clonedSelect.children).find((child) => nativeNode.value === child.getAttribute('value'));
5588 if (selectedOption) {
5589 selectedOption.setAttribute('selected', '');
5590 }
5591 }
5592 }
5593 function decorate(nativeNode, clonedNode) {
5594 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
5595 cloneCSSStyle(nativeNode, clonedNode);
5596 (0,_clone_pseudos__WEBPACK_IMPORTED_MODULE_0__.clonePseudoElements)(nativeNode, clonedNode);
5597 cloneInputValue(nativeNode, clonedNode);
5598 cloneSelectValue(nativeNode, clonedNode);
5599 }
5600 return clonedNode;
5601 }
5602 async function ensureSVGSymbols(clone, options) {
5603 const uses = clone.querySelectorAll ? clone.querySelectorAll('use') : [];
5604 if (uses.length === 0) {
5605 return clone;
5606 }
5607 const processedDefs = {};
5608 for (let i = 0; i < uses.length; i++) {
5609 const use = uses[i];
5610 const id = use.getAttribute('xlink:href');
5611 if (id) {
5612 const exist = clone.querySelector(id);
5613 const definition = document.querySelector(id);
5614 if (!exist && definition && !processedDefs[id]) {
5615 // eslint-disable-next-line no-await-in-loop
5616 processedDefs[id] = (await cloneNode(definition, options, true));
5617 }
5618 }
5619 }
5620 const nodes = Object.values(processedDefs);
5621 if (nodes.length) {
5622 const ns = 'http://www.w3.org/1999/xhtml';
5623 const svg = document.createElementNS(ns, 'svg');
5624 svg.setAttribute('xmlns', ns);
5625 svg.style.position = 'absolute';
5626 svg.style.width = '0';
5627 svg.style.height = '0';
5628 svg.style.overflow = 'hidden';
5629 svg.style.display = 'none';
5630 const defs = document.createElementNS(ns, 'defs');
5631 svg.appendChild(defs);
5632 for (let i = 0; i < nodes.length; i++) {
5633 defs.appendChild(nodes[i]);
5634 }
5635 clone.appendChild(svg);
5636 }
5637 return clone;
5638 }
5639 async function cloneNode(node, options, isRoot) {
5640 if (!isRoot && options.filter && !options.filter(node)) {
5641 return null;
5642 }
5643 return Promise.resolve(node)
5644 .then((clonedNode) => cloneSingleNode(clonedNode, options))
5645 .then((clonedNode) => cloneChildren(node, clonedNode, options))
5646 .then((clonedNode) => decorate(node, clonedNode))
5647 .then((clonedNode) => ensureSVGSymbols(clonedNode, options));
5648 }
5649 //# sourceMappingURL=clone-node.js.map
5650
5651 /***/ }),
5652
5653 /***/ "../node_modules/html-to-image/es/clone-pseudos.js":
5654 /*!*********************************************************!*\
5655 !*** ../node_modules/html-to-image/es/clone-pseudos.js ***!
5656 \*********************************************************/
5657 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5658
5659 "use strict";
5660 __webpack_require__.r(__webpack_exports__);
5661 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5662 /* harmony export */ clonePseudoElements: () => (/* binding */ clonePseudoElements)
5663 /* harmony export */ });
5664 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
5665
5666 function formatCSSText(style) {
5667 const content = style.getPropertyValue('content');
5668 return `${style.cssText} content: '${content.replace(/'|"/g, '')}';`;
5669 }
5670 function formatCSSProperties(style) {
5671 return (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(style)
5672 .map((name) => {
5673 const value = style.getPropertyValue(name);
5674 const priority = style.getPropertyPriority(name);
5675 return `${name}: ${value}${priority ? ' !important' : ''};`;
5676 })
5677 .join(' ');
5678 }
5679 function getPseudoElementStyle(className, pseudo, style) {
5680 const selector = `.${className}:${pseudo}`;
5681 const cssText = style.cssText
5682 ? formatCSSText(style)
5683 : formatCSSProperties(style);
5684 return document.createTextNode(`${selector}{${cssText}}`);
5685 }
5686 function clonePseudoElement(nativeNode, clonedNode, pseudo) {
5687 const style = window.getComputedStyle(nativeNode, pseudo);
5688 const content = style.getPropertyValue('content');
5689 if (content === '' || content === 'none') {
5690 return;
5691 }
5692 const className = (0,_util__WEBPACK_IMPORTED_MODULE_0__.uuid)();
5693 try {
5694 clonedNode.className = `${clonedNode.className} ${className}`;
5695 }
5696 catch (err) {
5697 return;
5698 }
5699 const styleElement = document.createElement('style');
5700 styleElement.appendChild(getPseudoElementStyle(className, pseudo, style));
5701 clonedNode.appendChild(styleElement);
5702 }
5703 function clonePseudoElements(nativeNode, clonedNode) {
5704 clonePseudoElement(nativeNode, clonedNode, ':before');
5705 clonePseudoElement(nativeNode, clonedNode, ':after');
5706 }
5707 //# sourceMappingURL=clone-pseudos.js.map
5708
5709 /***/ }),
5710
5711 /***/ "../node_modules/html-to-image/es/dataurl.js":
5712 /*!***************************************************!*\
5713 !*** ../node_modules/html-to-image/es/dataurl.js ***!
5714 \***************************************************/
5715 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5716
5717 "use strict";
5718 __webpack_require__.r(__webpack_exports__);
5719 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5720 /* harmony export */ fetchAsDataURL: () => (/* binding */ fetchAsDataURL),
5721 /* harmony export */ isDataUrl: () => (/* binding */ isDataUrl),
5722 /* harmony export */ makeDataUrl: () => (/* binding */ makeDataUrl),
5723 /* harmony export */ resourceToDataURL: () => (/* binding */ resourceToDataURL)
5724 /* harmony export */ });
5725 function getContentFromDataUrl(dataURL) {
5726 return dataURL.split(/,/)[1];
5727 }
5728 function isDataUrl(url) {
5729 return url.search(/^(data:)/) !== -1;
5730 }
5731 function makeDataUrl(content, mimeType) {
5732 return `data:${mimeType};base64,${content}`;
5733 }
5734 async function fetchAsDataURL(url, init, process) {
5735 const res = await fetch(url, init);
5736 if (res.status === 404) {
5737 throw new Error(`Resource "${res.url}" not found`);
5738 }
5739 const blob = await res.blob();
5740 return new Promise((resolve, reject) => {
5741 const reader = new FileReader();
5742 reader.onerror = reject;
5743 reader.onloadend = () => {
5744 try {
5745 resolve(process({ res, result: reader.result }));
5746 }
5747 catch (error) {
5748 reject(error);
5749 }
5750 };
5751 reader.readAsDataURL(blob);
5752 });
5753 }
5754 const cache = {};
5755 function getCacheKey(url, contentType, includeQueryParams) {
5756 let key = url.replace(/\?.*/, '');
5757 if (includeQueryParams) {
5758 key = url;
5759 }
5760 // font resource
5761 if (/ttf|otf|eot|woff2?/i.test(key)) {
5762 key = key.replace(/.*\//, '');
5763 }
5764 return contentType ? `[${contentType}]${key}` : key;
5765 }
5766 async function resourceToDataURL(resourceUrl, contentType, options) {
5767 const cacheKey = getCacheKey(resourceUrl, contentType, options.includeQueryParams);
5768 if (cache[cacheKey] != null) {
5769 return cache[cacheKey];
5770 }
5771 // ref: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
5772 if (options.cacheBust) {
5773 // eslint-disable-next-line no-param-reassign
5774 resourceUrl += (/\?/.test(resourceUrl) ? '&' : '?') + new Date().getTime();
5775 }
5776 let dataURL;
5777 try {
5778 const content = await fetchAsDataURL(resourceUrl, options.fetchRequestInit, ({ res, result }) => {
5779 if (!contentType) {
5780 // eslint-disable-next-line no-param-reassign
5781 contentType = res.headers.get('Content-Type') || '';
5782 }
5783 return getContentFromDataUrl(result);
5784 });
5785 dataURL = makeDataUrl(content, contentType);
5786 }
5787 catch (error) {
5788 dataURL = options.imagePlaceholder || '';
5789 let msg = `Failed to fetch resource: ${resourceUrl}`;
5790 if (error) {
5791 msg = typeof error === 'string' ? error : error.message;
5792 }
5793 if (msg) {
5794 console.warn(msg);
5795 }
5796 }
5797 cache[cacheKey] = dataURL;
5798 return dataURL;
5799 }
5800 //# sourceMappingURL=dataurl.js.map
5801
5802 /***/ }),
5803
5804 /***/ "../node_modules/html-to-image/es/embed-images.js":
5805 /*!********************************************************!*\
5806 !*** ../node_modules/html-to-image/es/embed-images.js ***!
5807 \********************************************************/
5808 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5809
5810 "use strict";
5811 __webpack_require__.r(__webpack_exports__);
5812 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5813 /* harmony export */ embedImages: () => (/* binding */ embedImages)
5814 /* harmony export */ });
5815 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
5816 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
5817 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
5818 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
5819
5820
5821
5822
5823 async function embedProp(propName, node, options) {
5824 var _a;
5825 const propValue = (_a = node.style) === null || _a === void 0 ? void 0 : _a.getPropertyValue(propName);
5826 if (propValue) {
5827 const cssString = await (0,_embed_resources__WEBPACK_IMPORTED_MODULE_0__.embedResources)(propValue, null, options);
5828 node.style.setProperty(propName, cssString, node.style.getPropertyPriority(propName));
5829 return true;
5830 }
5831 return false;
5832 }
5833 async function embedBackground(clonedNode, options) {
5834 if (!(await embedProp('background', clonedNode, options))) {
5835 await embedProp('background-image', clonedNode, options);
5836 }
5837 if (!(await embedProp('mask', clonedNode, options))) {
5838 await embedProp('mask-image', clonedNode, options);
5839 }
5840 }
5841 async function embedImageNode(clonedNode, options) {
5842 const isImageElement = (0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, HTMLImageElement);
5843 if (!(isImageElement && !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.src)) &&
5844 !((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, SVGImageElement) &&
5845 !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(clonedNode.href.baseVal))) {
5846 return;
5847 }
5848 const url = isImageElement ? clonedNode.src : clonedNode.href.baseVal;
5849 const dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(url, (0,_mimes__WEBPACK_IMPORTED_MODULE_3__.getMimeType)(url), options);
5850 await new Promise((resolve, reject) => {
5851 clonedNode.onload = resolve;
5852 clonedNode.onerror = reject;
5853 const image = clonedNode;
5854 if (image.decode) {
5855 image.decode = resolve;
5856 }
5857 if (image.loading === 'lazy') {
5858 image.loading = 'eager';
5859 }
5860 if (isImageElement) {
5861 clonedNode.srcset = '';
5862 clonedNode.src = dataURL;
5863 }
5864 else {
5865 clonedNode.href.baseVal = dataURL;
5866 }
5867 });
5868 }
5869 async function embedChildren(clonedNode, options) {
5870 const children = (0,_util__WEBPACK_IMPORTED_MODULE_1__.toArray)(clonedNode.childNodes);
5871 const deferreds = children.map((child) => embedImages(child, options));
5872 await Promise.all(deferreds).then(() => clonedNode);
5873 }
5874 async function embedImages(clonedNode, options) {
5875 if ((0,_util__WEBPACK_IMPORTED_MODULE_1__.isInstanceOfElement)(clonedNode, Element)) {
5876 await embedBackground(clonedNode, options);
5877 await embedImageNode(clonedNode, options);
5878 await embedChildren(clonedNode, options);
5879 }
5880 }
5881 //# sourceMappingURL=embed-images.js.map
5882
5883 /***/ }),
5884
5885 /***/ "../node_modules/html-to-image/es/embed-resources.js":
5886 /*!***********************************************************!*\
5887 !*** ../node_modules/html-to-image/es/embed-resources.js ***!
5888 \***********************************************************/
5889 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5890
5891 "use strict";
5892 __webpack_require__.r(__webpack_exports__);
5893 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5894 /* harmony export */ embed: () => (/* binding */ embed),
5895 /* harmony export */ embedResources: () => (/* binding */ embedResources),
5896 /* harmony export */ parseURLs: () => (/* binding */ parseURLs),
5897 /* harmony export */ shouldEmbed: () => (/* binding */ shouldEmbed)
5898 /* harmony export */ });
5899 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
5900 /* harmony import */ var _mimes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mimes */ "../node_modules/html-to-image/es/mimes.js");
5901 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
5902
5903
5904
5905 const URL_REGEX = /url\((['"]?)([^'"]+?)\1\)/g;
5906 const URL_WITH_FORMAT_REGEX = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g;
5907 const FONT_SRC_REGEX = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
5908 function toRegex(url) {
5909 // eslint-disable-next-line no-useless-escape
5910 const escaped = url.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
5911 return new RegExp(`(url\\(['"]?)(${escaped})(['"]?\\))`, 'g');
5912 }
5913 function parseURLs(cssText) {
5914 const urls = [];
5915 cssText.replace(URL_REGEX, (raw, quotation, url) => {
5916 urls.push(url);
5917 return raw;
5918 });
5919 return urls.filter((url) => !(0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.isDataUrl)(url));
5920 }
5921 async function embed(cssText, resourceURL, baseURL, options, getContentFromUrl) {
5922 try {
5923 const resolvedURL = baseURL ? (0,_util__WEBPACK_IMPORTED_MODULE_0__.resolveUrl)(resourceURL, baseURL) : resourceURL;
5924 const contentType = (0,_mimes__WEBPACK_IMPORTED_MODULE_1__.getMimeType)(resourceURL);
5925 let dataURL;
5926 if (getContentFromUrl) {
5927 const content = await getContentFromUrl(resolvedURL);
5928 dataURL = (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.makeDataUrl)(content, contentType);
5929 }
5930 else {
5931 dataURL = await (0,_dataurl__WEBPACK_IMPORTED_MODULE_2__.resourceToDataURL)(resolvedURL, contentType, options);
5932 }
5933 return cssText.replace(toRegex(resourceURL), `$1${dataURL}$3`);
5934 }
5935 catch (error) {
5936 // pass
5937 }
5938 return cssText;
5939 }
5940 function filterPreferredFontFormat(str, { preferredFontFormat }) {
5941 return !preferredFontFormat
5942 ? str
5943 : str.replace(FONT_SRC_REGEX, (match) => {
5944 // eslint-disable-next-line no-constant-condition
5945 while (true) {
5946 const [src, , format] = URL_WITH_FORMAT_REGEX.exec(match) || [];
5947 if (!format) {
5948 return '';
5949 }
5950 if (format === preferredFontFormat) {
5951 return `src: ${src};`;
5952 }
5953 }
5954 });
5955 }
5956 function shouldEmbed(url) {
5957 return url.search(URL_REGEX) !== -1;
5958 }
5959 async function embedResources(cssText, baseUrl, options) {
5960 if (!shouldEmbed(cssText)) {
5961 return cssText;
5962 }
5963 const filteredCSSText = filterPreferredFontFormat(cssText, options);
5964 const urls = parseURLs(filteredCSSText);
5965 return urls.reduce((deferred, url) => deferred.then((css) => embed(css, url, baseUrl, options)), Promise.resolve(filteredCSSText));
5966 }
5967 //# sourceMappingURL=embed-resources.js.map
5968
5969 /***/ }),
5970
5971 /***/ "../node_modules/html-to-image/es/embed-webfonts.js":
5972 /*!**********************************************************!*\
5973 !*** ../node_modules/html-to-image/es/embed-webfonts.js ***!
5974 \**********************************************************/
5975 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5976
5977 "use strict";
5978 __webpack_require__.r(__webpack_exports__);
5979 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5980 /* harmony export */ embedWebFonts: () => (/* binding */ embedWebFonts),
5981 /* harmony export */ getWebFontCSS: () => (/* binding */ getWebFontCSS)
5982 /* harmony export */ });
5983 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
5984 /* harmony import */ var _dataurl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dataurl */ "../node_modules/html-to-image/es/dataurl.js");
5985 /* harmony import */ var _embed_resources__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./embed-resources */ "../node_modules/html-to-image/es/embed-resources.js");
5986
5987
5988
5989 const cssFetchCache = {};
5990 async function fetchCSS(url) {
5991 let cache = cssFetchCache[url];
5992 if (cache != null) {
5993 return cache;
5994 }
5995 const res = await fetch(url);
5996 const cssText = await res.text();
5997 cache = { url, cssText };
5998 cssFetchCache[url] = cache;
5999 return cache;
6000 }
6001 async function embedFonts(data, options) {
6002 let cssText = data.cssText;
6003 const regexUrl = /url\(["']?([^"')]+)["']?\)/g;
6004 const fontLocs = cssText.match(/url\([^)]+\)/g) || [];
6005 const loadFonts = fontLocs.map(async (loc) => {
6006 let url = loc.replace(regexUrl, '$1');
6007 if (!url.startsWith('https://')) {
6008 url = new URL(url, data.url).href;
6009 }
6010 return (0,_dataurl__WEBPACK_IMPORTED_MODULE_1__.fetchAsDataURL)(url, options.fetchRequestInit, ({ result }) => {
6011 cssText = cssText.replace(loc, `url(${result})`);
6012 return [loc, result];
6013 });
6014 });
6015 return Promise.all(loadFonts).then(() => cssText);
6016 }
6017 function parseCSS(source) {
6018 if (source == null) {
6019 return [];
6020 }
6021 const result = [];
6022 const commentsRegex = /(\/\*[\s\S]*?\*\/)/gi;
6023 // strip out comments
6024 let cssText = source.replace(commentsRegex, '');
6025 // eslint-disable-next-line prefer-regex-literals
6026 const keyframesRegex = new RegExp('((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})', 'gi');
6027 // eslint-disable-next-line no-constant-condition
6028 while (true) {
6029 const matches = keyframesRegex.exec(cssText);
6030 if (matches === null) {
6031 break;
6032 }
6033 result.push(matches[0]);
6034 }
6035 cssText = cssText.replace(keyframesRegex, '');
6036 const importRegex = /@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi;
6037 // to match css & media queries together
6038 const combinedCSSRegex = '((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]' +
6039 '*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})';
6040 // unified regex
6041 const unifiedRegex = new RegExp(combinedCSSRegex, 'gi');
6042 // eslint-disable-next-line no-constant-condition
6043 while (true) {
6044 let matches = importRegex.exec(cssText);
6045 if (matches === null) {
6046 matches = unifiedRegex.exec(cssText);
6047 if (matches === null) {
6048 break;
6049 }
6050 else {
6051 importRegex.lastIndex = unifiedRegex.lastIndex;
6052 }
6053 }
6054 else {
6055 unifiedRegex.lastIndex = importRegex.lastIndex;
6056 }
6057 result.push(matches[0]);
6058 }
6059 return result;
6060 }
6061 async function getCSSRules(styleSheets, options) {
6062 const ret = [];
6063 const deferreds = [];
6064 // First loop inlines imports
6065 styleSheets.forEach((sheet) => {
6066 if ('cssRules' in sheet) {
6067 try {
6068 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item, index) => {
6069 if (item.type === CSSRule.IMPORT_RULE) {
6070 let importIndex = index + 1;
6071 const url = item.href;
6072 const deferred = fetchCSS(url)
6073 .then((metadata) => embedFonts(metadata, options))
6074 .then((cssText) => parseCSS(cssText).forEach((rule) => {
6075 try {
6076 sheet.insertRule(rule, rule.startsWith('@import')
6077 ? (importIndex += 1)
6078 : sheet.cssRules.length);
6079 }
6080 catch (error) {
6081 console.error('Error inserting rule from remote css', {
6082 rule,
6083 error,
6084 });
6085 }
6086 }))
6087 .catch((e) => {
6088 console.error('Error loading remote css', e.toString());
6089 });
6090 deferreds.push(deferred);
6091 }
6092 });
6093 }
6094 catch (e) {
6095 const inline = styleSheets.find((a) => a.href == null) || document.styleSheets[0];
6096 if (sheet.href != null) {
6097 deferreds.push(fetchCSS(sheet.href)
6098 .then((metadata) => embedFonts(metadata, options))
6099 .then((cssText) => parseCSS(cssText).forEach((rule) => {
6100 inline.insertRule(rule, sheet.cssRules.length);
6101 }))
6102 .catch((err) => {
6103 console.error('Error loading remote stylesheet', err);
6104 }));
6105 }
6106 console.error('Error inlining remote css file', e);
6107 }
6108 }
6109 });
6110 return Promise.all(deferreds).then(() => {
6111 // Second loop parses rules
6112 styleSheets.forEach((sheet) => {
6113 if ('cssRules' in sheet) {
6114 try {
6115 (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(sheet.cssRules || []).forEach((item) => {
6116 ret.push(item);
6117 });
6118 }
6119 catch (e) {
6120 console.error(`Error while reading CSS rules from ${sheet.href}`, e);
6121 }
6122 }
6123 });
6124 return ret;
6125 });
6126 }
6127 function getWebFontRules(cssRules) {
6128 return cssRules
6129 .filter((rule) => rule.type === CSSRule.FONT_FACE_RULE)
6130 .filter((rule) => (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.shouldEmbed)(rule.style.getPropertyValue('src')));
6131 }
6132 async function parseWebFontRules(node, options) {
6133 if (node.ownerDocument == null) {
6134 throw new Error('Provided element is not within a Document');
6135 }
6136 const styleSheets = (0,_util__WEBPACK_IMPORTED_MODULE_0__.toArray)(node.ownerDocument.styleSheets);
6137 const cssRules = await getCSSRules(styleSheets, options);
6138 return getWebFontRules(cssRules);
6139 }
6140 async function getWebFontCSS(node, options) {
6141 const rules = await parseWebFontRules(node, options);
6142 const cssTexts = await Promise.all(rules.map((rule) => {
6143 const baseUrl = rule.parentStyleSheet ? rule.parentStyleSheet.href : null;
6144 return (0,_embed_resources__WEBPACK_IMPORTED_MODULE_2__.embedResources)(rule.cssText, baseUrl, options);
6145 }));
6146 return cssTexts.join('\n');
6147 }
6148 async function embedWebFonts(clonedNode, options) {
6149 const cssText = options.fontEmbedCSS != null
6150 ? options.fontEmbedCSS
6151 : options.skipFonts
6152 ? null
6153 : await getWebFontCSS(clonedNode, options);
6154 if (cssText) {
6155 const styleNode = document.createElement('style');
6156 const sytleContent = document.createTextNode(cssText);
6157 styleNode.appendChild(sytleContent);
6158 if (clonedNode.firstChild) {
6159 clonedNode.insertBefore(styleNode, clonedNode.firstChild);
6160 }
6161 else {
6162 clonedNode.appendChild(styleNode);
6163 }
6164 }
6165 }
6166 //# sourceMappingURL=embed-webfonts.js.map
6167
6168 /***/ }),
6169
6170 /***/ "../node_modules/html-to-image/es/index.js":
6171 /*!*************************************************!*\
6172 !*** ../node_modules/html-to-image/es/index.js ***!
6173 \*************************************************/
6174 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6175
6176 "use strict";
6177 __webpack_require__.r(__webpack_exports__);
6178 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6179 /* harmony export */ getFontEmbedCSS: () => (/* binding */ getFontEmbedCSS),
6180 /* harmony export */ toBlob: () => (/* binding */ toBlob),
6181 /* harmony export */ toCanvas: () => (/* binding */ toCanvas),
6182 /* harmony export */ toJpeg: () => (/* binding */ toJpeg),
6183 /* harmony export */ toPixelData: () => (/* binding */ toPixelData),
6184 /* harmony export */ toPng: () => (/* binding */ toPng),
6185 /* harmony export */ toSvg: () => (/* binding */ toSvg)
6186 /* harmony export */ });
6187 /* harmony import */ var _clone_node__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clone-node */ "../node_modules/html-to-image/es/clone-node.js");
6188 /* harmony import */ var _embed_images__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./embed-images */ "../node_modules/html-to-image/es/embed-images.js");
6189 /* harmony import */ var _apply_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./apply-style */ "../node_modules/html-to-image/es/apply-style.js");
6190 /* harmony import */ var _embed_webfonts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./embed-webfonts */ "../node_modules/html-to-image/es/embed-webfonts.js");
6191 /* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./util */ "../node_modules/html-to-image/es/util.js");
6192
6193
6194
6195
6196
6197 async function toSvg(node, options = {}) {
6198 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
6199 const clonedNode = (await (0,_clone_node__WEBPACK_IMPORTED_MODULE_0__.cloneNode)(node, options, true));
6200 await (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.embedWebFonts)(clonedNode, options);
6201 await (0,_embed_images__WEBPACK_IMPORTED_MODULE_1__.embedImages)(clonedNode, options);
6202 (0,_apply_style__WEBPACK_IMPORTED_MODULE_2__.applyStyle)(clonedNode, options);
6203 const datauri = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.nodeToDataURL)(clonedNode, width, height);
6204 return datauri;
6205 }
6206 async function toCanvas(node, options = {}) {
6207 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
6208 const svg = await toSvg(node, options);
6209 const img = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.createImage)(svg);
6210 const canvas = document.createElement('canvas');
6211 const context = canvas.getContext('2d');
6212 const ratio = options.pixelRatio || (0,_util__WEBPACK_IMPORTED_MODULE_4__.getPixelRatio)();
6213 const canvasWidth = options.canvasWidth || width;
6214 const canvasHeight = options.canvasHeight || height;
6215 canvas.width = canvasWidth * ratio;
6216 canvas.height = canvasHeight * ratio;
6217 if (!options.skipAutoScale) {
6218 (0,_util__WEBPACK_IMPORTED_MODULE_4__.checkCanvasDimensions)(canvas);
6219 }
6220 canvas.style.width = `${canvasWidth}`;
6221 canvas.style.height = `${canvasHeight}`;
6222 if (options.backgroundColor) {
6223 context.fillStyle = options.backgroundColor;
6224 context.fillRect(0, 0, canvas.width, canvas.height);
6225 }
6226 context.drawImage(img, 0, 0, canvas.width, canvas.height);
6227 return canvas;
6228 }
6229 async function toPixelData(node, options = {}) {
6230 const { width, height } = (0,_util__WEBPACK_IMPORTED_MODULE_4__.getImageSize)(node, options);
6231 const canvas = await toCanvas(node, options);
6232 const ctx = canvas.getContext('2d');
6233 return ctx.getImageData(0, 0, width, height).data;
6234 }
6235 async function toPng(node, options = {}) {
6236 const canvas = await toCanvas(node, options);
6237 return canvas.toDataURL();
6238 }
6239 async function toJpeg(node, options = {}) {
6240 const canvas = await toCanvas(node, options);
6241 return canvas.toDataURL('image/jpeg', options.quality || 1);
6242 }
6243 async function toBlob(node, options = {}) {
6244 const canvas = await toCanvas(node, options);
6245 const blob = await (0,_util__WEBPACK_IMPORTED_MODULE_4__.canvasToBlob)(canvas);
6246 return blob;
6247 }
6248 async function getFontEmbedCSS(node, options = {}) {
6249 return (0,_embed_webfonts__WEBPACK_IMPORTED_MODULE_3__.getWebFontCSS)(node, options);
6250 }
6251 //# sourceMappingURL=index.js.map
6252
6253 /***/ }),
6254
6255 /***/ "../node_modules/html-to-image/es/mimes.js":
6256 /*!*************************************************!*\
6257 !*** ../node_modules/html-to-image/es/mimes.js ***!
6258 \*************************************************/
6259 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6260
6261 "use strict";
6262 __webpack_require__.r(__webpack_exports__);
6263 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6264 /* harmony export */ getMimeType: () => (/* binding */ getMimeType)
6265 /* harmony export */ });
6266 const WOFF = 'application/font-woff';
6267 const JPEG = 'image/jpeg';
6268 const mimes = {
6269 woff: WOFF,
6270 woff2: WOFF,
6271 ttf: 'application/font-truetype',
6272 eot: 'application/vnd.ms-fontobject',
6273 png: 'image/png',
6274 jpg: JPEG,
6275 jpeg: JPEG,
6276 gif: 'image/gif',
6277 tiff: 'image/tiff',
6278 svg: 'image/svg+xml',
6279 webp: 'image/webp',
6280 };
6281 function getExtension(url) {
6282 const match = /\.([^./]*?)$/g.exec(url);
6283 return match ? match[1] : '';
6284 }
6285 function getMimeType(url) {
6286 const extension = getExtension(url).toLowerCase();
6287 return mimes[extension] || '';
6288 }
6289 //# sourceMappingURL=mimes.js.map
6290
6291 /***/ }),
6292
6293 /***/ "../node_modules/html-to-image/es/util.js":
6294 /*!************************************************!*\
6295 !*** ../node_modules/html-to-image/es/util.js ***!
6296 \************************************************/
6297 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6298
6299 "use strict";
6300 __webpack_require__.r(__webpack_exports__);
6301 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6302 /* harmony export */ canvasToBlob: () => (/* binding */ canvasToBlob),
6303 /* harmony export */ checkCanvasDimensions: () => (/* binding */ checkCanvasDimensions),
6304 /* harmony export */ createImage: () => (/* binding */ createImage),
6305 /* harmony export */ delay: () => (/* binding */ delay),
6306 /* harmony export */ getImageSize: () => (/* binding */ getImageSize),
6307 /* harmony export */ getPixelRatio: () => (/* binding */ getPixelRatio),
6308 /* harmony export */ isInstanceOfElement: () => (/* binding */ isInstanceOfElement),
6309 /* harmony export */ nodeToDataURL: () => (/* binding */ nodeToDataURL),
6310 /* harmony export */ resolveUrl: () => (/* binding */ resolveUrl),
6311 /* harmony export */ svgToDataURL: () => (/* binding */ svgToDataURL),
6312 /* harmony export */ toArray: () => (/* binding */ toArray),
6313 /* harmony export */ uuid: () => (/* binding */ uuid)
6314 /* harmony export */ });
6315 function resolveUrl(url, baseUrl) {
6316 // url is absolute already
6317 if (url.match(/^[a-z]+:\/\//i)) {
6318 return url;
6319 }
6320 // url is absolute already, without protocol
6321 if (url.match(/^\/\//)) {
6322 return window.location.protocol + url;
6323 }
6324 // dataURI, mailto:, tel:, etc.
6325 if (url.match(/^[a-z]+:/i)) {
6326 return url;
6327 }
6328 const doc = document.implementation.createHTMLDocument();
6329 const base = doc.createElement('base');
6330 const a = doc.createElement('a');
6331 doc.head.appendChild(base);
6332 doc.body.appendChild(a);
6333 if (baseUrl) {
6334 base.href = baseUrl;
6335 }
6336 a.href = url;
6337 return a.href;
6338 }
6339 const uuid = (() => {
6340 // generate uuid for className of pseudo elements.
6341 // We should not use GUIDs, otherwise pseudo elements sometimes cannot be captured.
6342 let counter = 0;
6343 // ref: http://stackoverflow.com/a/6248722/2519373
6344 const random = () =>
6345 // eslint-disable-next-line no-bitwise
6346 `0000${((Math.random() * 36 ** 4) << 0).toString(36)}`.slice(-4);
6347 return () => {
6348 counter += 1;
6349 return `u${random()}${counter}`;
6350 };
6351 })();
6352 function delay(ms) {
6353 return (args) => new Promise((resolve) => {
6354 setTimeout(() => resolve(args), ms);
6355 });
6356 }
6357 function toArray(arrayLike) {
6358 const arr = [];
6359 for (let i = 0, l = arrayLike.length; i < l; i++) {
6360 arr.push(arrayLike[i]);
6361 }
6362 return arr;
6363 }
6364 function px(node, styleProperty) {
6365 const win = node.ownerDocument.defaultView || window;
6366 const val = win.getComputedStyle(node).getPropertyValue(styleProperty);
6367 return val ? parseFloat(val.replace('px', '')) : 0;
6368 }
6369 function getNodeWidth(node) {
6370 const leftBorder = px(node, 'border-left-width');
6371 const rightBorder = px(node, 'border-right-width');
6372 return node.clientWidth + leftBorder + rightBorder;
6373 }
6374 function getNodeHeight(node) {
6375 const topBorder = px(node, 'border-top-width');
6376 const bottomBorder = px(node, 'border-bottom-width');
6377 return node.clientHeight + topBorder + bottomBorder;
6378 }
6379 function getImageSize(targetNode, options = {}) {
6380 const width = options.width || getNodeWidth(targetNode);
6381 const height = options.height || getNodeHeight(targetNode);
6382 return { width, height };
6383 }
6384 function getPixelRatio() {
6385 let ratio;
6386 let FINAL_PROCESS;
6387 try {
6388 FINAL_PROCESS = process;
6389 }
6390 catch (e) {
6391 // pass
6392 }
6393 const val = FINAL_PROCESS && FINAL_PROCESS.env
6394 ? FINAL_PROCESS.env.devicePixelRatio
6395 : null;
6396 if (val) {
6397 ratio = parseInt(val, 10);
6398 if (Number.isNaN(ratio)) {
6399 ratio = 1;
6400 }
6401 }
6402 return ratio || window.devicePixelRatio || 1;
6403 }
6404 // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas#maximum_canvas_size
6405 const canvasDimensionLimit = 16384;
6406 function checkCanvasDimensions(canvas) {
6407 if (canvas.width > canvasDimensionLimit ||
6408 canvas.height > canvasDimensionLimit) {
6409 if (canvas.width > canvasDimensionLimit &&
6410 canvas.height > canvasDimensionLimit) {
6411 if (canvas.width > canvas.height) {
6412 canvas.height *= canvasDimensionLimit / canvas.width;
6413 canvas.width = canvasDimensionLimit;
6414 }
6415 else {
6416 canvas.width *= canvasDimensionLimit / canvas.height;
6417 canvas.height = canvasDimensionLimit;
6418 }
6419 }
6420 else if (canvas.width > canvasDimensionLimit) {
6421 canvas.height *= canvasDimensionLimit / canvas.width;
6422 canvas.width = canvasDimensionLimit;
6423 }
6424 else {
6425 canvas.width *= canvasDimensionLimit / canvas.height;
6426 canvas.height = canvasDimensionLimit;
6427 }
6428 }
6429 }
6430 function canvasToBlob(canvas, options = {}) {
6431 if (canvas.toBlob) {
6432 return new Promise((resolve) => {
6433 canvas.toBlob(resolve, options.type ? options.type : 'image/png', options.quality ? options.quality : 1);
6434 });
6435 }
6436 return new Promise((resolve) => {
6437 const binaryString = window.atob(canvas
6438 .toDataURL(options.type ? options.type : undefined, options.quality ? options.quality : undefined)
6439 .split(',')[1]);
6440 const len = binaryString.length;
6441 const binaryArray = new Uint8Array(len);
6442 for (let i = 0; i < len; i += 1) {
6443 binaryArray[i] = binaryString.charCodeAt(i);
6444 }
6445 resolve(new Blob([binaryArray], {
6446 type: options.type ? options.type : 'image/png',
6447 }));
6448 });
6449 }
6450 function createImage(url) {
6451 return new Promise((resolve, reject) => {
6452 const img = new Image();
6453 img.decode = () => resolve(img);
6454 img.onload = () => resolve(img);
6455 img.onerror = reject;
6456 img.crossOrigin = 'anonymous';
6457 img.decoding = 'async';
6458 img.src = url;
6459 });
6460 }
6461 async function svgToDataURL(svg) {
6462 return Promise.resolve()
6463 .then(() => new XMLSerializer().serializeToString(svg))
6464 .then(encodeURIComponent)
6465 .then((html) => `data:image/svg+xml;charset=utf-8,${html}`);
6466 }
6467 async function nodeToDataURL(node, width, height) {
6468 const xmlns = 'http://www.w3.org/2000/svg';
6469 const svg = document.createElementNS(xmlns, 'svg');
6470 const foreignObject = document.createElementNS(xmlns, 'foreignObject');
6471 svg.setAttribute('width', `${width}`);
6472 svg.setAttribute('height', `${height}`);
6473 svg.setAttribute('viewBox', `0 0 ${width} ${height}`);
6474 foreignObject.setAttribute('width', '100%');
6475 foreignObject.setAttribute('height', '100%');
6476 foreignObject.setAttribute('x', '0');
6477 foreignObject.setAttribute('y', '0');
6478 foreignObject.setAttribute('externalResourcesRequired', 'true');
6479 svg.appendChild(foreignObject);
6480 foreignObject.appendChild(node);
6481 return svgToDataURL(svg);
6482 }
6483 const isInstanceOfElement = (node, instance) => {
6484 if (node instanceof instance)
6485 return true;
6486 const nodePrototype = Object.getPrototypeOf(node);
6487 if (nodePrototype === null)
6488 return false;
6489 return (nodePrototype.constructor.name === instance.name ||
6490 isInstanceOfElement(nodePrototype, instance));
6491 };
6492 //# sourceMappingURL=util.js.map
6493
6494 /***/ }),
6495
6496 /***/ "../node_modules/object-assign/index.js":
6497 /*!**********************************************!*\
6498 !*** ../node_modules/object-assign/index.js ***!
6499 \**********************************************/
6500 /***/ ((module) => {
6501
6502 "use strict";
6503 /*
6504 object-assign
6505 (c) Sindre Sorhus
6506 @license MIT
6507 */
6508
6509
6510 /* eslint-disable no-unused-vars */
6511 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
6512 var hasOwnProperty = Object.prototype.hasOwnProperty;
6513 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
6514
6515 function toObject(val) {
6516 if (val === null || val === undefined) {
6517 throw new TypeError('Object.assign cannot be called with null or undefined');
6518 }
6519
6520 return Object(val);
6521 }
6522
6523 function shouldUseNative() {
6524 try {
6525 if (!Object.assign) {
6526 return false;
6527 }
6528
6529 // Detect buggy property enumeration order in older V8 versions.
6530
6531 // https://bugs.chromium.org/p/v8/issues/detail?id=4118
6532 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
6533 test1[5] = 'de';
6534 if (Object.getOwnPropertyNames(test1)[0] === '5') {
6535 return false;
6536 }
6537
6538 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
6539 var test2 = {};
6540 for (var i = 0; i < 10; i++) {
6541 test2['_' + String.fromCharCode(i)] = i;
6542 }
6543 var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
6544 return test2[n];
6545 });
6546 if (order2.join('') !== '0123456789') {
6547 return false;
6548 }
6549
6550 // https://bugs.chromium.org/p/v8/issues/detail?id=3056
6551 var test3 = {};
6552 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
6553 test3[letter] = letter;
6554 });
6555 if (Object.keys(Object.assign({}, test3)).join('') !==
6556 'abcdefghijklmnopqrst') {
6557 return false;
6558 }
6559
6560 return true;
6561 } catch (err) {
6562 // We don't expect any of the above to throw, but better to be safe.
6563 return false;
6564 }
6565 }
6566
6567 module.exports = shouldUseNative() ? Object.assign : function (target, source) {
6568 var from;
6569 var to = toObject(target);
6570 var symbols;
6571
6572 for (var s = 1; s < arguments.length; s++) {
6573 from = Object(arguments[s]);
6574
6575 for (var key in from) {
6576 if (hasOwnProperty.call(from, key)) {
6577 to[key] = from[key];
6578 }
6579 }
6580
6581 if (getOwnPropertySymbols) {
6582 symbols = getOwnPropertySymbols(from);
6583 for (var i = 0; i < symbols.length; i++) {
6584 if (propIsEnumerable.call(from, symbols[i])) {
6585 to[symbols[i]] = from[symbols[i]];
6586 }
6587 }
6588 }
6589 }
6590
6591 return to;
6592 };
6593
6594
6595 /***/ }),
6596
6597 /***/ "../node_modules/prop-types/checkPropTypes.js":
6598 /*!****************************************************!*\
6599 !*** ../node_modules/prop-types/checkPropTypes.js ***!
6600 \****************************************************/
6601 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6602
6603 "use strict";
6604 /**
6605 * Copyright (c) 2013-present, Facebook, Inc.
6606 *
6607 * This source code is licensed under the MIT license found in the
6608 * LICENSE file in the root directory of this source tree.
6609 */
6610
6611
6612
6613 var printWarning = function() {};
6614
6615 if (true) {
6616 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
6617 var loggedTypeFailures = {};
6618 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
6619
6620 printWarning = function(text) {
6621 var message = 'Warning: ' + text;
6622 if (typeof console !== 'undefined') {
6623 console.error(message);
6624 }
6625 try {
6626 // --- Welcome to debugging React ---
6627 // This error was thrown as a convenience so that you can use this stack
6628 // to find the callsite that caused this warning to fire.
6629 throw new Error(message);
6630 } catch (x) { /**/ }
6631 };
6632 }
6633
6634 /**
6635 * Assert that the values match with the type specs.
6636 * Error messages are memorized and will only be shown once.
6637 *
6638 * @param {object} typeSpecs Map of name to a ReactPropType
6639 * @param {object} values Runtime values that need to be type-checked
6640 * @param {string} location e.g. "prop", "context", "child context"
6641 * @param {string} componentName Name of the component for error messages.
6642 * @param {?Function} getStack Returns the component stack.
6643 * @private
6644 */
6645 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
6646 if (true) {
6647 for (var typeSpecName in typeSpecs) {
6648 if (has(typeSpecs, typeSpecName)) {
6649 var error;
6650 // Prop type validation may throw. In case they do, we don't want to
6651 // fail the render phase where it didn't fail before. So we log it.
6652 // After these have been cleaned up, we'll let them throw.
6653 try {
6654 // This is intentionally an invariant that gets caught. It's the same
6655 // behavior as without this statement except with a better message.
6656 if (typeof typeSpecs[typeSpecName] !== 'function') {
6657 var err = Error(
6658 (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
6659 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
6660 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
6661 );
6662 err.name = 'Invariant Violation';
6663 throw err;
6664 }
6665 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
6666 } catch (ex) {
6667 error = ex;
6668 }
6669 if (error && !(error instanceof Error)) {
6670 printWarning(
6671 (componentName || 'React class') + ': type specification of ' +
6672 location + ' `' + typeSpecName + '` is invalid; the type checker ' +
6673 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
6674 'You may have forgotten to pass an argument to the type checker ' +
6675 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
6676 'shape all require an argument).'
6677 );
6678 }
6679 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
6680 // Only monitor this failure once because there tends to be a lot of the
6681 // same error.
6682 loggedTypeFailures[error.message] = true;
6683
6684 var stack = getStack ? getStack() : '';
6685
6686 printWarning(
6687 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
6688 );
6689 }
6690 }
6691 }
6692 }
6693 }
6694
6695 /**
6696 * Resets warning cache when testing.
6697 *
6698 * @private
6699 */
6700 checkPropTypes.resetWarningCache = function() {
6701 if (true) {
6702 loggedTypeFailures = {};
6703 }
6704 }
6705
6706 module.exports = checkPropTypes;
6707
6708
6709 /***/ }),
6710
6711 /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js":
6712 /*!*************************************************************!*\
6713 !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***!
6714 \*************************************************************/
6715 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
6716
6717 "use strict";
6718 /**
6719 * Copyright (c) 2013-present, Facebook, Inc.
6720 *
6721 * This source code is licensed under the MIT license found in the
6722 * LICENSE file in the root directory of this source tree.
6723 */
6724
6725
6726
6727 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
6728 var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js");
6729
6730 var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js");
6731 var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js");
6732 var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js");
6733
6734 var printWarning = function() {};
6735
6736 if (true) {
6737 printWarning = function(text) {
6738 var message = 'Warning: ' + text;
6739 if (typeof console !== 'undefined') {
6740 console.error(message);
6741 }
6742 try {
6743 // --- Welcome to debugging React ---
6744 // This error was thrown as a convenience so that you can use this stack
6745 // to find the callsite that caused this warning to fire.
6746 throw new Error(message);
6747 } catch (x) {}
6748 };
6749 }
6750
6751 function emptyFunctionThatReturnsNull() {
6752 return null;
6753 }
6754
6755 module.exports = function(isValidElement, throwOnDirectAccess) {
6756 /* global Symbol */
6757 var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
6758 var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
6759
6760 /**
6761 * Returns the iterator method function contained on the iterable object.
6762 *
6763 * Be sure to invoke the function with the iterable as context:
6764 *
6765 * var iteratorFn = getIteratorFn(myIterable);
6766 * if (iteratorFn) {
6767 * var iterator = iteratorFn.call(myIterable);
6768 * ...
6769 * }
6770 *
6771 * @param {?object} maybeIterable
6772 * @return {?function}
6773 */
6774 function getIteratorFn(maybeIterable) {
6775 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
6776 if (typeof iteratorFn === 'function') {
6777 return iteratorFn;
6778 }
6779 }
6780
6781 /**
6782 * Collection of methods that allow declaration and validation of props that are
6783 * supplied to React components. Example usage:
6784 *
6785 * var Props = require('ReactPropTypes');
6786 * var MyArticle = React.createClass({
6787 * propTypes: {
6788 * // An optional string prop named "description".
6789 * description: Props.string,
6790 *
6791 * // A required enum prop named "category".
6792 * category: Props.oneOf(['News','Photos']).isRequired,
6793 *
6794 * // A prop named "dialog" that requires an instance of Dialog.
6795 * dialog: Props.instanceOf(Dialog).isRequired
6796 * },
6797 * render: function() { ... }
6798 * });
6799 *
6800 * A more formal specification of how these methods are used:
6801 *
6802 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
6803 * decl := ReactPropTypes.{type}(.isRequired)?
6804 *
6805 * Each and every declaration produces a function with the same signature. This
6806 * allows the creation of custom validation functions. For example:
6807 *
6808 * var MyLink = React.createClass({
6809 * propTypes: {
6810 * // An optional string or URI prop named "href".
6811 * href: function(props, propName, componentName) {
6812 * var propValue = props[propName];
6813 * if (propValue != null && typeof propValue !== 'string' &&
6814 * !(propValue instanceof URI)) {
6815 * return new Error(
6816 * 'Expected a string or an URI for ' + propName + ' in ' +
6817 * componentName
6818 * );
6819 * }
6820 * }
6821 * },
6822 * render: function() {...}
6823 * });
6824 *
6825 * @internal
6826 */
6827
6828 var ANONYMOUS = '<<anonymous>>';
6829
6830 // Important!
6831 // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
6832 var ReactPropTypes = {
6833 array: createPrimitiveTypeChecker('array'),
6834 bigint: createPrimitiveTypeChecker('bigint'),
6835 bool: createPrimitiveTypeChecker('boolean'),
6836 func: createPrimitiveTypeChecker('function'),
6837 number: createPrimitiveTypeChecker('number'),
6838 object: createPrimitiveTypeChecker('object'),
6839 string: createPrimitiveTypeChecker('string'),
6840 symbol: createPrimitiveTypeChecker('symbol'),
6841
6842 any: createAnyTypeChecker(),
6843 arrayOf: createArrayOfTypeChecker,
6844 element: createElementTypeChecker(),
6845 elementType: createElementTypeTypeChecker(),
6846 instanceOf: createInstanceTypeChecker,
6847 node: createNodeChecker(),
6848 objectOf: createObjectOfTypeChecker,
6849 oneOf: createEnumTypeChecker,
6850 oneOfType: createUnionTypeChecker,
6851 shape: createShapeTypeChecker,
6852 exact: createStrictShapeTypeChecker,
6853 };
6854
6855 /**
6856 * inlined Object.is polyfill to avoid requiring consumers ship their own
6857 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
6858 */
6859 /*eslint-disable no-self-compare*/
6860 function is(x, y) {
6861 // SameValue algorithm
6862 if (x === y) {
6863 // Steps 1-5, 7-10
6864 // Steps 6.b-6.e: +0 != -0
6865 return x !== 0 || 1 / x === 1 / y;
6866 } else {
6867 // Step 6.a: NaN == NaN
6868 return x !== x && y !== y;
6869 }
6870 }
6871 /*eslint-enable no-self-compare*/
6872
6873 /**
6874 * We use an Error-like object for backward compatibility as people may call
6875 * PropTypes directly and inspect their output. However, we don't use real
6876 * Errors anymore. We don't inspect their stack anyway, and creating them
6877 * is prohibitively expensive if they are created too often, such as what
6878 * happens in oneOfType() for any type before the one that matched.
6879 */
6880 function PropTypeError(message, data) {
6881 this.message = message;
6882 this.data = data && typeof data === 'object' ? data: {};
6883 this.stack = '';
6884 }
6885 // Make `instanceof Error` still work for returned errors.
6886 PropTypeError.prototype = Error.prototype;
6887
6888 function createChainableTypeChecker(validate) {
6889 if (true) {
6890 var manualPropTypeCallCache = {};
6891 var manualPropTypeWarningCount = 0;
6892 }
6893 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
6894 componentName = componentName || ANONYMOUS;
6895 propFullName = propFullName || propName;
6896
6897 if (secret !== ReactPropTypesSecret) {
6898 if (throwOnDirectAccess) {
6899 // New behavior only for users of `prop-types` package
6900 var err = new Error(
6901 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
6902 'Use `PropTypes.checkPropTypes()` to call them. ' +
6903 'Read more at http://fb.me/use-check-prop-types'
6904 );
6905 err.name = 'Invariant Violation';
6906 throw err;
6907 } else if ( true && typeof console !== 'undefined') {
6908 // Old behavior for people using React.PropTypes
6909 var cacheKey = componentName + ':' + propName;
6910 if (
6911 !manualPropTypeCallCache[cacheKey] &&
6912 // Avoid spamming the console because they are often not actionable except for lib authors
6913 manualPropTypeWarningCount < 3
6914 ) {
6915 printWarning(
6916 'You are manually calling a React.PropTypes validation ' +
6917 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
6918 'and will throw in the standalone `prop-types` package. ' +
6919 'You may be seeing this warning due to a third-party PropTypes ' +
6920 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
6921 );
6922 manualPropTypeCallCache[cacheKey] = true;
6923 manualPropTypeWarningCount++;
6924 }
6925 }
6926 }
6927 if (props[propName] == null) {
6928 if (isRequired) {
6929 if (props[propName] === null) {
6930 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
6931 }
6932 return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
6933 }
6934 return null;
6935 } else {
6936 return validate(props, propName, componentName, location, propFullName);
6937 }
6938 }
6939
6940 var chainedCheckType = checkType.bind(null, false);
6941 chainedCheckType.isRequired = checkType.bind(null, true);
6942
6943 return chainedCheckType;
6944 }
6945
6946 function createPrimitiveTypeChecker(expectedType) {
6947 function validate(props, propName, componentName, location, propFullName, secret) {
6948 var propValue = props[propName];
6949 var propType = getPropType(propValue);
6950 if (propType !== expectedType) {
6951 // `propValue` being instance of, say, date/regexp, pass the 'object'
6952 // check, but we can offer a more precise error message here rather than
6953 // 'of type `object`'.
6954 var preciseType = getPreciseType(propValue);
6955
6956 return new PropTypeError(
6957 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
6958 {expectedType: expectedType}
6959 );
6960 }
6961 return null;
6962 }
6963 return createChainableTypeChecker(validate);
6964 }
6965
6966 function createAnyTypeChecker() {
6967 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
6968 }
6969
6970 function createArrayOfTypeChecker(typeChecker) {
6971 function validate(props, propName, componentName, location, propFullName) {
6972 if (typeof typeChecker !== 'function') {
6973 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
6974 }
6975 var propValue = props[propName];
6976 if (!Array.isArray(propValue)) {
6977 var propType = getPropType(propValue);
6978 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
6979 }
6980 for (var i = 0; i < propValue.length; i++) {
6981 var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
6982 if (error instanceof Error) {
6983 return error;
6984 }
6985 }
6986 return null;
6987 }
6988 return createChainableTypeChecker(validate);
6989 }
6990
6991 function createElementTypeChecker() {
6992 function validate(props, propName, componentName, location, propFullName) {
6993 var propValue = props[propName];
6994 if (!isValidElement(propValue)) {
6995 var propType = getPropType(propValue);
6996 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
6997 }
6998 return null;
6999 }
7000 return createChainableTypeChecker(validate);
7001 }
7002
7003 function createElementTypeTypeChecker() {
7004 function validate(props, propName, componentName, location, propFullName) {
7005 var propValue = props[propName];
7006 if (!ReactIs.isValidElementType(propValue)) {
7007 var propType = getPropType(propValue);
7008 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
7009 }
7010 return null;
7011 }
7012 return createChainableTypeChecker(validate);
7013 }
7014
7015 function createInstanceTypeChecker(expectedClass) {
7016 function validate(props, propName, componentName, location, propFullName) {
7017 if (!(props[propName] instanceof expectedClass)) {
7018 var expectedClassName = expectedClass.name || ANONYMOUS;
7019 var actualClassName = getClassName(props[propName]);
7020 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
7021 }
7022 return null;
7023 }
7024 return createChainableTypeChecker(validate);
7025 }
7026
7027 function createEnumTypeChecker(expectedValues) {
7028 if (!Array.isArray(expectedValues)) {
7029 if (true) {
7030 if (arguments.length > 1) {
7031 printWarning(
7032 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
7033 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
7034 );
7035 } else {
7036 printWarning('Invalid argument supplied to oneOf, expected an array.');
7037 }
7038 }
7039 return emptyFunctionThatReturnsNull;
7040 }
7041
7042 function validate(props, propName, componentName, location, propFullName) {
7043 var propValue = props[propName];
7044 for (var i = 0; i < expectedValues.length; i++) {
7045 if (is(propValue, expectedValues[i])) {
7046 return null;
7047 }
7048 }
7049
7050 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
7051 var type = getPreciseType(value);
7052 if (type === 'symbol') {
7053 return String(value);
7054 }
7055 return value;
7056 });
7057 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
7058 }
7059 return createChainableTypeChecker(validate);
7060 }
7061
7062 function createObjectOfTypeChecker(typeChecker) {
7063 function validate(props, propName, componentName, location, propFullName) {
7064 if (typeof typeChecker !== 'function') {
7065 return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
7066 }
7067 var propValue = props[propName];
7068 var propType = getPropType(propValue);
7069 if (propType !== 'object') {
7070 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
7071 }
7072 for (var key in propValue) {
7073 if (has(propValue, key)) {
7074 var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
7075 if (error instanceof Error) {
7076 return error;
7077 }
7078 }
7079 }
7080 return null;
7081 }
7082 return createChainableTypeChecker(validate);
7083 }
7084
7085 function createUnionTypeChecker(arrayOfTypeCheckers) {
7086 if (!Array.isArray(arrayOfTypeCheckers)) {
7087 true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
7088 return emptyFunctionThatReturnsNull;
7089 }
7090
7091 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
7092 var checker = arrayOfTypeCheckers[i];
7093 if (typeof checker !== 'function') {
7094 printWarning(
7095 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
7096 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
7097 );
7098 return emptyFunctionThatReturnsNull;
7099 }
7100 }
7101
7102 function validate(props, propName, componentName, location, propFullName) {
7103 var expectedTypes = [];
7104 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
7105 var checker = arrayOfTypeCheckers[i];
7106 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
7107 if (checkerResult == null) {
7108 return null;
7109 }
7110 if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
7111 expectedTypes.push(checkerResult.data.expectedType);
7112 }
7113 }
7114 var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
7115 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
7116 }
7117 return createChainableTypeChecker(validate);
7118 }
7119
7120 function createNodeChecker() {
7121 function validate(props, propName, componentName, location, propFullName) {
7122 if (!isNode(props[propName])) {
7123 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
7124 }
7125 return null;
7126 }
7127 return createChainableTypeChecker(validate);
7128 }
7129
7130 function invalidValidatorError(componentName, location, propFullName, key, type) {
7131 return new PropTypeError(
7132 (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
7133 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
7134 );
7135 }
7136
7137 function createShapeTypeChecker(shapeTypes) {
7138 function validate(props, propName, componentName, location, propFullName) {
7139 var propValue = props[propName];
7140 var propType = getPropType(propValue);
7141 if (propType !== 'object') {
7142 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
7143 }
7144 for (var key in shapeTypes) {
7145 var checker = shapeTypes[key];
7146 if (typeof checker !== 'function') {
7147 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
7148 }
7149 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
7150 if (error) {
7151 return error;
7152 }
7153 }
7154 return null;
7155 }
7156 return createChainableTypeChecker(validate);
7157 }
7158
7159 function createStrictShapeTypeChecker(shapeTypes) {
7160 function validate(props, propName, componentName, location, propFullName) {
7161 var propValue = props[propName];
7162 var propType = getPropType(propValue);
7163 if (propType !== 'object') {
7164 return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
7165 }
7166 // We need to check all keys in case some are required but missing from props.
7167 var allKeys = assign({}, props[propName], shapeTypes);
7168 for (var key in allKeys) {
7169 var checker = shapeTypes[key];
7170 if (has(shapeTypes, key) && typeof checker !== 'function') {
7171 return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
7172 }
7173 if (!checker) {
7174 return new PropTypeError(
7175 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
7176 '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
7177 '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
7178 );
7179 }
7180 var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
7181 if (error) {
7182 return error;
7183 }
7184 }
7185 return null;
7186 }
7187
7188 return createChainableTypeChecker(validate);
7189 }
7190
7191 function isNode(propValue) {
7192 switch (typeof propValue) {
7193 case 'number':
7194 case 'string':
7195 case 'undefined':
7196 return true;
7197 case 'boolean':
7198 return !propValue;
7199 case 'object':
7200 if (Array.isArray(propValue)) {
7201 return propValue.every(isNode);
7202 }
7203 if (propValue === null || isValidElement(propValue)) {
7204 return true;
7205 }
7206
7207 var iteratorFn = getIteratorFn(propValue);
7208 if (iteratorFn) {
7209 var iterator = iteratorFn.call(propValue);
7210 var step;
7211 if (iteratorFn !== propValue.entries) {
7212 while (!(step = iterator.next()).done) {
7213 if (!isNode(step.value)) {
7214 return false;
7215 }
7216 }
7217 } else {
7218 // Iterator will provide entry [k,v] tuples rather than values.
7219 while (!(step = iterator.next()).done) {
7220 var entry = step.value;
7221 if (entry) {
7222 if (!isNode(entry[1])) {
7223 return false;
7224 }
7225 }
7226 }
7227 }
7228 } else {
7229 return false;
7230 }
7231
7232 return true;
7233 default:
7234 return false;
7235 }
7236 }
7237
7238 function isSymbol(propType, propValue) {
7239 // Native Symbol.
7240 if (propType === 'symbol') {
7241 return true;
7242 }
7243
7244 // falsy value can't be a Symbol
7245 if (!propValue) {
7246 return false;
7247 }
7248
7249 // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
7250 if (propValue['@@toStringTag'] === 'Symbol') {
7251 return true;
7252 }
7253
7254 // Fallback for non-spec compliant Symbols which are polyfilled.
7255 if (typeof Symbol === 'function' && propValue instanceof Symbol) {
7256 return true;
7257 }
7258
7259 return false;
7260 }
7261
7262 // Equivalent of `typeof` but with special handling for array and regexp.
7263 function getPropType(propValue) {
7264 var propType = typeof propValue;
7265 if (Array.isArray(propValue)) {
7266 return 'array';
7267 }
7268 if (propValue instanceof RegExp) {
7269 // Old webkits (at least until Android 4.0) return 'function' rather than
7270 // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
7271 // passes PropTypes.object.
7272 return 'object';
7273 }
7274 if (isSymbol(propType, propValue)) {
7275 return 'symbol';
7276 }
7277 return propType;
7278 }
7279
7280 // This handles more types than `getPropType`. Only used for error messages.
7281 // See `createPrimitiveTypeChecker`.
7282 function getPreciseType(propValue) {
7283 if (typeof propValue === 'undefined' || propValue === null) {
7284 return '' + propValue;
7285 }
7286 var propType = getPropType(propValue);
7287 if (propType === 'object') {
7288 if (propValue instanceof Date) {
7289 return 'date';
7290 } else if (propValue instanceof RegExp) {
7291 return 'regexp';
7292 }
7293 }
7294 return propType;
7295 }
7296
7297 // Returns a string that is postfixed to a warning about an invalid type.
7298 // For example, "undefined" or "of type array"
7299 function getPostfixForTypeWarning(value) {
7300 var type = getPreciseType(value);
7301 switch (type) {
7302 case 'array':
7303 case 'object':
7304 return 'an ' + type;
7305 case 'boolean':
7306 case 'date':
7307 case 'regexp':
7308 return 'a ' + type;
7309 default:
7310 return type;
7311 }
7312 }
7313
7314 // Returns class name of the object, if any.
7315 function getClassName(propValue) {
7316 if (!propValue.constructor || !propValue.constructor.name) {
7317 return ANONYMOUS;
7318 }
7319 return propValue.constructor.name;
7320 }
7321
7322 ReactPropTypes.checkPropTypes = checkPropTypes;
7323 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
7324 ReactPropTypes.PropTypes = ReactPropTypes;
7325
7326 return ReactPropTypes;
7327 };
7328
7329
7330 /***/ }),
7331
7332 /***/ "../node_modules/prop-types/index.js":
7333 /*!*******************************************!*\
7334 !*** ../node_modules/prop-types/index.js ***!
7335 \*******************************************/
7336 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7337
7338 /**
7339 * Copyright (c) 2013-present, Facebook, Inc.
7340 *
7341 * This source code is licensed under the MIT license found in the
7342 * LICENSE file in the root directory of this source tree.
7343 */
7344
7345 if (true) {
7346 var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js");
7347
7348 // By explicitly using `prop-types` you are opting into new development behavior.
7349 // http://fb.me/prop-types-in-prod
7350 var throwOnDirectAccess = true;
7351 module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
7352 } else {}
7353
7354
7355 /***/ }),
7356
7357 /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js":
7358 /*!**************************************************************!*\
7359 !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
7360 \**************************************************************/
7361 /***/ ((module) => {
7362
7363 "use strict";
7364 /**
7365 * Copyright (c) 2013-present, Facebook, Inc.
7366 *
7367 * This source code is licensed under the MIT license found in the
7368 * LICENSE file in the root directory of this source tree.
7369 */
7370
7371
7372
7373 var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
7374
7375 module.exports = ReactPropTypesSecret;
7376
7377
7378 /***/ }),
7379
7380 /***/ "../node_modules/prop-types/lib/has.js":
7381 /*!*********************************************!*\
7382 !*** ../node_modules/prop-types/lib/has.js ***!
7383 \*********************************************/
7384 /***/ ((module) => {
7385
7386 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
7387
7388
7389 /***/ }),
7390
7391 /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
7392 /*!************************************************************************************!*\
7393 !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
7394 \************************************************************************************/
7395 /***/ ((__unused_webpack_module, exports) => {
7396
7397 "use strict";
7398 /** @license React v16.13.1
7399 * react-is.development.js
7400 *
7401 * Copyright (c) Facebook, Inc. and its affiliates.
7402 *
7403 * This source code is licensed under the MIT license found in the
7404 * LICENSE file in the root directory of this source tree.
7405 */
7406
7407
7408
7409
7410
7411 if (true) {
7412 (function() {
7413 'use strict';
7414
7415 // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
7416 // nor polyfill, then a plain number is used for performance.
7417 var hasSymbol = typeof Symbol === 'function' && Symbol.for;
7418 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
7419 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
7420 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
7421 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
7422 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
7423 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
7424 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
7425 // (unstable) APIs that have been removed. Can we remove the symbols?
7426
7427 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
7428 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
7429 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
7430 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
7431 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
7432 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
7433 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
7434 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
7435 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
7436 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
7437 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
7438
7439 function isValidElementType(type) {
7440 return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
7441 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);
7442 }
7443
7444 function typeOf(object) {
7445 if (typeof object === 'object' && object !== null) {
7446 var $$typeof = object.$$typeof;
7447
7448 switch ($$typeof) {
7449 case REACT_ELEMENT_TYPE:
7450 var type = object.type;
7451
7452 switch (type) {
7453 case REACT_ASYNC_MODE_TYPE:
7454 case REACT_CONCURRENT_MODE_TYPE:
7455 case REACT_FRAGMENT_TYPE:
7456 case REACT_PROFILER_TYPE:
7457 case REACT_STRICT_MODE_TYPE:
7458 case REACT_SUSPENSE_TYPE:
7459 return type;
7460
7461 default:
7462 var $$typeofType = type && type.$$typeof;
7463
7464 switch ($$typeofType) {
7465 case REACT_CONTEXT_TYPE:
7466 case REACT_FORWARD_REF_TYPE:
7467 case REACT_LAZY_TYPE:
7468 case REACT_MEMO_TYPE:
7469 case REACT_PROVIDER_TYPE:
7470 return $$typeofType;
7471
7472 default:
7473 return $$typeof;
7474 }
7475
7476 }
7477
7478 case REACT_PORTAL_TYPE:
7479 return $$typeof;
7480 }
7481 }
7482
7483 return undefined;
7484 } // AsyncMode is deprecated along with isAsyncMode
7485
7486 var AsyncMode = REACT_ASYNC_MODE_TYPE;
7487 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
7488 var ContextConsumer = REACT_CONTEXT_TYPE;
7489 var ContextProvider = REACT_PROVIDER_TYPE;
7490 var Element = REACT_ELEMENT_TYPE;
7491 var ForwardRef = REACT_FORWARD_REF_TYPE;
7492 var Fragment = REACT_FRAGMENT_TYPE;
7493 var Lazy = REACT_LAZY_TYPE;
7494 var Memo = REACT_MEMO_TYPE;
7495 var Portal = REACT_PORTAL_TYPE;
7496 var Profiler = REACT_PROFILER_TYPE;
7497 var StrictMode = REACT_STRICT_MODE_TYPE;
7498 var Suspense = REACT_SUSPENSE_TYPE;
7499 var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
7500
7501 function isAsyncMode(object) {
7502 {
7503 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
7504 hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
7505
7506 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.');
7507 }
7508 }
7509
7510 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
7511 }
7512 function isConcurrentMode(object) {
7513 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
7514 }
7515 function isContextConsumer(object) {
7516 return typeOf(object) === REACT_CONTEXT_TYPE;
7517 }
7518 function isContextProvider(object) {
7519 return typeOf(object) === REACT_PROVIDER_TYPE;
7520 }
7521 function isElement(object) {
7522 return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
7523 }
7524 function isForwardRef(object) {
7525 return typeOf(object) === REACT_FORWARD_REF_TYPE;
7526 }
7527 function isFragment(object) {
7528 return typeOf(object) === REACT_FRAGMENT_TYPE;
7529 }
7530 function isLazy(object) {
7531 return typeOf(object) === REACT_LAZY_TYPE;
7532 }
7533 function isMemo(object) {
7534 return typeOf(object) === REACT_MEMO_TYPE;
7535 }
7536 function isPortal(object) {
7537 return typeOf(object) === REACT_PORTAL_TYPE;
7538 }
7539 function isProfiler(object) {
7540 return typeOf(object) === REACT_PROFILER_TYPE;
7541 }
7542 function isStrictMode(object) {
7543 return typeOf(object) === REACT_STRICT_MODE_TYPE;
7544 }
7545 function isSuspense(object) {
7546 return typeOf(object) === REACT_SUSPENSE_TYPE;
7547 }
7548
7549 exports.AsyncMode = AsyncMode;
7550 exports.ConcurrentMode = ConcurrentMode;
7551 exports.ContextConsumer = ContextConsumer;
7552 exports.ContextProvider = ContextProvider;
7553 exports.Element = Element;
7554 exports.ForwardRef = ForwardRef;
7555 exports.Fragment = Fragment;
7556 exports.Lazy = Lazy;
7557 exports.Memo = Memo;
7558 exports.Portal = Portal;
7559 exports.Profiler = Profiler;
7560 exports.StrictMode = StrictMode;
7561 exports.Suspense = Suspense;
7562 exports.isAsyncMode = isAsyncMode;
7563 exports.isConcurrentMode = isConcurrentMode;
7564 exports.isContextConsumer = isContextConsumer;
7565 exports.isContextProvider = isContextProvider;
7566 exports.isElement = isElement;
7567 exports.isForwardRef = isForwardRef;
7568 exports.isFragment = isFragment;
7569 exports.isLazy = isLazy;
7570 exports.isMemo = isMemo;
7571 exports.isPortal = isPortal;
7572 exports.isProfiler = isProfiler;
7573 exports.isStrictMode = isStrictMode;
7574 exports.isSuspense = isSuspense;
7575 exports.isValidElementType = isValidElementType;
7576 exports.typeOf = typeOf;
7577 })();
7578 }
7579
7580
7581 /***/ }),
7582
7583 /***/ "../node_modules/prop-types/node_modules/react-is/index.js":
7584 /*!*****************************************************************!*\
7585 !*** ../node_modules/prop-types/node_modules/react-is/index.js ***!
7586 \*****************************************************************/
7587 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
7588
7589 "use strict";
7590
7591
7592 if (false) {} else {
7593 module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
7594 }
7595
7596
7597 /***/ }),
7598
7599 /***/ "../node_modules/react-draggable/build/cjs/Draggable.js":
7600 /*!**************************************************************!*\
7601 !*** ../node_modules/react-draggable/build/cjs/Draggable.js ***!
7602 \**************************************************************/
7603 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
7604
7605 "use strict";
7606
7607
7608 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); }
7609
7610 Object.defineProperty(exports, "__esModule", ({
7611 value: true
7612 }));
7613 Object.defineProperty(exports, "DraggableCore", ({
7614 enumerable: true,
7615 get: function get() {
7616 return _DraggableCore.default;
7617 }
7618 }));
7619 exports["default"] = void 0;
7620
7621 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
7622
7623 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
7624
7625 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
7626
7627 var _clsx2 = _interopRequireDefault(__webpack_require__(/*! clsx */ "../node_modules/clsx/dist/clsx.m.js"));
7628
7629 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
7630
7631 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
7632
7633 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
7634
7635 var _DraggableCore = _interopRequireDefault(__webpack_require__(/*! ./DraggableCore */ "../node_modules/react-draggable/build/cjs/DraggableCore.js"));
7636
7637 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
7638
7639 var _excluded = ["axis", "bounds", "children", "defaultPosition", "defaultClassName", "defaultClassNameDragging", "defaultClassNameDragged", "position", "positionOffset", "scale"];
7640
7641 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7642
7643 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); }
7644
7645 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; }
7646
7647 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); }
7648
7649 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; }
7650
7651 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; }
7652
7653 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; }
7654
7655 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; }
7656
7657 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7658
7659 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."); }
7660
7661 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); }
7662
7663 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; }
7664
7665 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; }
7666
7667 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7668
7669 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
7670
7671 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); } }
7672
7673 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7674
7675 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); }
7676
7677 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
7678
7679 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); }; }
7680
7681 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); }
7682
7683 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
7684
7685 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; } }
7686
7687 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
7688
7689 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; }
7690
7691 //
7692 // Define <Draggable>
7693 //
7694 var Draggable = /*#__PURE__*/function (_React$Component) {
7695 _inherits(Draggable, _React$Component);
7696
7697 var _super = _createSuper(Draggable);
7698
7699 function Draggable(props
7700 /*: DraggableProps*/
7701 ) {
7702 var _this;
7703
7704 _classCallCheck(this, Draggable);
7705
7706 _this = _super.call(this, props);
7707
7708 _defineProperty(_assertThisInitialized(_this), "onDragStart", function (e, coreData) {
7709 (0, _log.default)('Draggable: onDragStart: %j', coreData); // Short-circuit if user's callback killed it.
7710
7711 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.
7712
7713
7714 if (shouldStart === false) return false;
7715
7716 _this.setState({
7717 dragging: true,
7718 dragged: true
7719 });
7720 });
7721
7722 _defineProperty(_assertThisInitialized(_this), "onDrag", function (e, coreData) {
7723 if (!_this.state.dragging) return false;
7724 (0, _log.default)('Draggable: onDrag: %j', coreData);
7725 var uiData = (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData);
7726 var newState
7727 /*: $Shape<DraggableState>*/
7728 = {
7729 x: uiData.x,
7730 y: uiData.y
7731 }; // Keep within bounds.
7732
7733 if (_this.props.bounds) {
7734 // Save original x and y.
7735 var x = newState.x,
7736 y = newState.y; // Add slack to the values used to calculate bound position. This will ensure that if
7737 // we start removing slack, the element won't react to it right away until it's been
7738 // completely removed.
7739
7740 newState.x += _this.state.slackX;
7741 newState.y += _this.state.slackY; // Get bound position. This will ceil/floor the x and y within the boundaries.
7742
7743 var _getBoundPosition = (0, _positionFns.getBoundPosition)(_assertThisInitialized(_this), newState.x, newState.y),
7744 _getBoundPosition2 = _slicedToArray(_getBoundPosition, 2),
7745 newStateX = _getBoundPosition2[0],
7746 newStateY = _getBoundPosition2[1];
7747
7748 newState.x = newStateX;
7749 newState.y = newStateY; // Recalculate slack by noting how much was shaved by the boundPosition handler.
7750
7751 newState.slackX = _this.state.slackX + (x - newState.x);
7752 newState.slackY = _this.state.slackY + (y - newState.y); // Update the event we fire to reflect what really happened after bounds took effect.
7753
7754 uiData.x = newState.x;
7755 uiData.y = newState.y;
7756 uiData.deltaX = newState.x - _this.state.x;
7757 uiData.deltaY = newState.y - _this.state.y;
7758 } // Short-circuit if user's callback killed it.
7759
7760
7761 var shouldUpdate = _this.props.onDrag(e, uiData);
7762
7763 if (shouldUpdate === false) return false;
7764
7765 _this.setState(newState);
7766 });
7767
7768 _defineProperty(_assertThisInitialized(_this), "onDragStop", function (e, coreData) {
7769 if (!_this.state.dragging) return false; // Short-circuit if user's callback killed it.
7770
7771 var shouldContinue = _this.props.onStop(e, (0, _positionFns.createDraggableData)(_assertThisInitialized(_this), coreData));
7772
7773 if (shouldContinue === false) return false;
7774 (0, _log.default)('Draggable: onDragStop: %j', coreData);
7775 var newState
7776 /*: $Shape<DraggableState>*/
7777 = {
7778 dragging: false,
7779 slackX: 0,
7780 slackY: 0
7781 }; // If this is a controlled component, the result of this operation will be to
7782 // revert back to the old position. We expect a handler on `onDragStop`, at the least.
7783
7784 var controlled = Boolean(_this.props.position);
7785
7786 if (controlled) {
7787 var _this$props$position = _this.props.position,
7788 x = _this$props$position.x,
7789 y = _this$props$position.y;
7790 newState.x = x;
7791 newState.y = y;
7792 }
7793
7794 _this.setState(newState);
7795 });
7796
7797 _this.state = {
7798 // Whether or not we are currently dragging.
7799 dragging: false,
7800 // Whether or not we have been dragged before.
7801 dragged: false,
7802 // Current transform x and y.
7803 x: props.position ? props.position.x : props.defaultPosition.x,
7804 y: props.position ? props.position.y : props.defaultPosition.y,
7805 prevPropsPosition: _objectSpread({}, props.position),
7806 // Used for compensating for out-of-bounds drags
7807 slackX: 0,
7808 slackY: 0,
7809 // Can only determine if SVG after mounting
7810 isElementSVG: false
7811 };
7812
7813 if (props.position && !(props.onDrag || props.onStop)) {
7814 // eslint-disable-next-line no-console
7815 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.');
7816 }
7817
7818 return _this;
7819 }
7820
7821 _createClass(Draggable, [{
7822 key: "componentDidMount",
7823 value: function componentDidMount() {
7824 // Check to see if the element passed is an instanceof SVGElement
7825 if (typeof window.SVGElement !== 'undefined' && this.findDOMNode() instanceof window.SVGElement) {
7826 this.setState({
7827 isElementSVG: true
7828 });
7829 }
7830 }
7831 }, {
7832 key: "componentWillUnmount",
7833 value: function componentWillUnmount() {
7834 this.setState({
7835 dragging: false
7836 }); // prevents invariant if unmounted while dragging
7837 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
7838 // the underlying DOM node ourselves. See the README for more information.
7839
7840 }, {
7841 key: "findDOMNode",
7842 value: function findDOMNode()
7843 /*: ?HTMLElement*/
7844 {
7845 var _this$props$nodeRef$c, _this$props, _this$props$nodeRef;
7846
7847 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);
7848 }
7849 }, {
7850 key: "render",
7851 value: function render()
7852 /*: ReactElement<any>*/
7853 {
7854 var _clsx;
7855
7856 var _this$props2 = this.props,
7857 axis = _this$props2.axis,
7858 bounds = _this$props2.bounds,
7859 children = _this$props2.children,
7860 defaultPosition = _this$props2.defaultPosition,
7861 defaultClassName = _this$props2.defaultClassName,
7862 defaultClassNameDragging = _this$props2.defaultClassNameDragging,
7863 defaultClassNameDragged = _this$props2.defaultClassNameDragged,
7864 position = _this$props2.position,
7865 positionOffset = _this$props2.positionOffset,
7866 scale = _this$props2.scale,
7867 draggableCoreProps = _objectWithoutProperties(_this$props2, _excluded);
7868
7869 var style = {};
7870 var svgTransform = null; // If this is controlled, we don't want to move it - unless it's dragging.
7871
7872 var controlled = Boolean(position);
7873 var draggable = !controlled || this.state.dragging;
7874 var validPosition = position || defaultPosition;
7875 var transformOpts = {
7876 // Set left if horizontal drag is enabled
7877 x: (0, _positionFns.canDragX)(this) && draggable ? this.state.x : validPosition.x,
7878 // Set top if vertical drag is enabled
7879 y: (0, _positionFns.canDragY)(this) && draggable ? this.state.y : validPosition.y
7880 }; // If this element was SVG, we use the `transform` attribute.
7881
7882 if (this.state.isElementSVG) {
7883 svgTransform = (0, _domFns.createSVGTransform)(transformOpts, positionOffset);
7884 } else {
7885 // Add a CSS transform to move the element around. This allows us to move the element around
7886 // without worrying about whether or not it is relatively or absolutely positioned.
7887 // If the item you are dragging already has a transform set, wrap it in a <span> so <Draggable>
7888 // has a clean slate.
7889 style = (0, _domFns.createCSSTransform)(transformOpts, positionOffset);
7890 } // Mark with class while dragging
7891
7892
7893 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
7894 // This makes it flexible to use whatever element is wanted (div, ul, etc)
7895
7896 return /*#__PURE__*/React.createElement(_DraggableCore.default, _extends({}, draggableCoreProps, {
7897 onStart: this.onDragStart,
7898 onDrag: this.onDrag,
7899 onStop: this.onDragStop
7900 }), /*#__PURE__*/React.cloneElement(React.Children.only(children), {
7901 className: className,
7902 style: _objectSpread(_objectSpread({}, children.props.style), style),
7903 transform: svgTransform
7904 }));
7905 }
7906 }], [{
7907 key: "getDerivedStateFromProps",
7908 value: // React 16.3+
7909 // Arity (props, state)
7910 function getDerivedStateFromProps(_ref, _ref2)
7911 /*: ?$Shape<DraggableState>*/
7912 {
7913 var position = _ref.position;
7914 var prevPropsPosition = _ref2.prevPropsPosition;
7915
7916 // Set x/y if a new position is provided in props that is different than the previous.
7917 if (position && (!prevPropsPosition || position.x !== prevPropsPosition.x || position.y !== prevPropsPosition.y)) {
7918 (0, _log.default)('Draggable: getDerivedStateFromProps %j', {
7919 position: position,
7920 prevPropsPosition: prevPropsPosition
7921 });
7922 return {
7923 x: position.x,
7924 y: position.y,
7925 prevPropsPosition: _objectSpread({}, position)
7926 };
7927 }
7928
7929 return null;
7930 }
7931 }]);
7932
7933 return Draggable;
7934 }(React.Component);
7935
7936 exports["default"] = Draggable;
7937
7938 _defineProperty(Draggable, "displayName", 'Draggable');
7939
7940 _defineProperty(Draggable, "propTypes", _objectSpread(_objectSpread({}, _DraggableCore.default.propTypes), {}, {
7941 /**
7942 * `axis` determines which axis the draggable can move.
7943 *
7944 * Note that all callbacks will still return data as normal. This only
7945 * controls flushing to the DOM.
7946 *
7947 * 'both' allows movement horizontally and vertically.
7948 * 'x' limits movement to horizontal axis.
7949 * 'y' limits movement to vertical axis.
7950 * 'none' limits all movement.
7951 *
7952 * Defaults to 'both'.
7953 */
7954 axis: _propTypes.default.oneOf(['both', 'x', 'y', 'none']),
7955
7956 /**
7957 * `bounds` determines the range of movement available to the element.
7958 * Available values are:
7959 *
7960 * 'parent' restricts movement within the Draggable's parent node.
7961 *
7962 * Alternatively, pass an object with the following properties, all of which are optional:
7963 *
7964 * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
7965 *
7966 * All values are in px.
7967 *
7968 * Example:
7969 *
7970 * ```jsx
7971 * let App = React.createClass({
7972 * render: function () {
7973 * return (
7974 * <Draggable bounds={{right: 300, bottom: 300}}>
7975 * <div>Content</div>
7976 * </Draggable>
7977 * );
7978 * }
7979 * });
7980 * ```
7981 */
7982 bounds: _propTypes.default.oneOfType([_propTypes.default.shape({
7983 left: _propTypes.default.number,
7984 right: _propTypes.default.number,
7985 top: _propTypes.default.number,
7986 bottom: _propTypes.default.number
7987 }), _propTypes.default.string, _propTypes.default.oneOf([false])]),
7988 defaultClassName: _propTypes.default.string,
7989 defaultClassNameDragging: _propTypes.default.string,
7990 defaultClassNameDragged: _propTypes.default.string,
7991
7992 /**
7993 * `defaultPosition` specifies the x and y that the dragged item should start at
7994 *
7995 * Example:
7996 *
7997 * ```jsx
7998 * let App = React.createClass({
7999 * render: function () {
8000 * return (
8001 * <Draggable defaultPosition={{x: 25, y: 25}}>
8002 * <div>I start with transformX: 25px and transformY: 25px;</div>
8003 * </Draggable>
8004 * );
8005 * }
8006 * });
8007 * ```
8008 */
8009 defaultPosition: _propTypes.default.shape({
8010 x: _propTypes.default.number,
8011 y: _propTypes.default.number
8012 }),
8013 positionOffset: _propTypes.default.shape({
8014 x: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
8015 y: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
8016 }),
8017
8018 /**
8019 * `position`, if present, defines the current position of the element.
8020 *
8021 * This is similar to how form elements in React work - if no `position` is supplied, the component
8022 * is uncontrolled.
8023 *
8024 * Example:
8025 *
8026 * ```jsx
8027 * let App = React.createClass({
8028 * render: function () {
8029 * return (
8030 * <Draggable position={{x: 25, y: 25}}>
8031 * <div>I start with transformX: 25px and transformY: 25px;</div>
8032 * </Draggable>
8033 * );
8034 * }
8035 * });
8036 * ```
8037 */
8038 position: _propTypes.default.shape({
8039 x: _propTypes.default.number,
8040 y: _propTypes.default.number
8041 }),
8042
8043 /**
8044 * These properties should be defined on the child, not here.
8045 */
8046 className: _shims.dontSetMe,
8047 style: _shims.dontSetMe,
8048 transform: _shims.dontSetMe
8049 }));
8050
8051 _defineProperty(Draggable, "defaultProps", _objectSpread(_objectSpread({}, _DraggableCore.default.defaultProps), {}, {
8052 axis: 'both',
8053 bounds: false,
8054 defaultClassName: 'react-draggable',
8055 defaultClassNameDragging: 'react-draggable-dragging',
8056 defaultClassNameDragged: 'react-draggable-dragged',
8057 defaultPosition: {
8058 x: 0,
8059 y: 0
8060 },
8061 scale: 1
8062 }));
8063
8064 /***/ }),
8065
8066 /***/ "../node_modules/react-draggable/build/cjs/DraggableCore.js":
8067 /*!******************************************************************!*\
8068 !*** ../node_modules/react-draggable/build/cjs/DraggableCore.js ***!
8069 \******************************************************************/
8070 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8071
8072 "use strict";
8073
8074
8075 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); }
8076
8077 Object.defineProperty(exports, "__esModule", ({
8078 value: true
8079 }));
8080 exports["default"] = void 0;
8081
8082 var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react"));
8083
8084 var _propTypes = _interopRequireDefault(__webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"));
8085
8086 var _reactDom = _interopRequireDefault(__webpack_require__(/*! react-dom */ "react-dom"));
8087
8088 var _domFns = __webpack_require__(/*! ./utils/domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
8089
8090 var _positionFns = __webpack_require__(/*! ./utils/positionFns */ "../node_modules/react-draggable/build/cjs/utils/positionFns.js");
8091
8092 var _shims = __webpack_require__(/*! ./utils/shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
8093
8094 var _log = _interopRequireDefault(__webpack_require__(/*! ./utils/log */ "../node_modules/react-draggable/build/cjs/utils/log.js"));
8095
8096 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8097
8098 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); }
8099
8100 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; }
8101
8102 function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8103
8104 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."); }
8105
8106 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); }
8107
8108 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; }
8109
8110 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; }
8111
8112 function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
8113
8114 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8115
8116 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); } }
8117
8118 function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8119
8120 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); }
8121
8122 function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8123
8124 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); }; }
8125
8126 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); }
8127
8128 function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
8129
8130 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; } }
8131
8132 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
8133
8134 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; }
8135
8136 // Simple abstraction for dragging events names.
8137 var eventsFor = {
8138 touch: {
8139 start: 'touchstart',
8140 move: 'touchmove',
8141 stop: 'touchend'
8142 },
8143 mouse: {
8144 start: 'mousedown',
8145 move: 'mousemove',
8146 stop: 'mouseup'
8147 }
8148 }; // Default to mouse events.
8149
8150 var dragEventFor = eventsFor.mouse;
8151 /*:: type DraggableCoreState = {
8152 dragging: boolean,
8153 lastX: number,
8154 lastY: number,
8155 touchIdentifier: ?number
8156 };*/
8157
8158 /*:: export type DraggableData = {
8159 node: HTMLElement,
8160 x: number, y: number,
8161 deltaX: number, deltaY: number,
8162 lastX: number, lastY: number,
8163 };*/
8164
8165 /*:: export type DraggableEventHandler = (e: MouseEvent, data: DraggableData) => void | false;*/
8166
8167 /*:: export type ControlPosition = {x: number, y: number};*/
8168
8169 /*:: export type PositionOffsetControlPosition = {x: number|string, y: number|string};*/
8170
8171 /*:: export type DraggableCoreDefaultProps = {
8172 allowAnyClick: boolean,
8173 disabled: boolean,
8174 enableUserSelectHack: boolean,
8175 onStart: DraggableEventHandler,
8176 onDrag: DraggableEventHandler,
8177 onStop: DraggableEventHandler,
8178 onMouseDown: (e: MouseEvent) => void,
8179 scale: number,
8180 };*/
8181
8182 /*:: export type DraggableCoreProps = {
8183 ...DraggableCoreDefaultProps,
8184 cancel: string,
8185 children: ReactElement<any>,
8186 offsetParent: HTMLElement,
8187 grid: [number, number],
8188 handle: string,
8189 nodeRef?: ?React.ElementRef<any>,
8190 };*/
8191
8192 //
8193 // Define <DraggableCore>.
8194 //
8195 // <DraggableCore> is for advanced usage of <Draggable>. It maintains minimal internal state so it can
8196 // work well with libraries that require more control over the element.
8197 //
8198 var DraggableCore = /*#__PURE__*/function (_React$Component) {
8199 _inherits(DraggableCore, _React$Component);
8200
8201 var _super = _createSuper(DraggableCore);
8202
8203 function DraggableCore() {
8204 var _this;
8205
8206 _classCallCheck(this, DraggableCore);
8207
8208 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
8209 args[_key] = arguments[_key];
8210 }
8211
8212 _this = _super.call.apply(_super, [this].concat(args));
8213
8214 _defineProperty(_assertThisInitialized(_this), "state", {
8215 dragging: false,
8216 // Used while dragging to determine deltas.
8217 lastX: NaN,
8218 lastY: NaN,
8219 touchIdentifier: null
8220 });
8221
8222 _defineProperty(_assertThisInitialized(_this), "mounted", false);
8223
8224 _defineProperty(_assertThisInitialized(_this), "handleDragStart", function (e) {
8225 // Make it possible to attach event handlers on top of this one.
8226 _this.props.onMouseDown(e); // Only accept left-clicks.
8227
8228
8229 if (!_this.props.allowAnyClick && typeof e.button === 'number' && e.button !== 0) return false; // Get nodes. Be sure to grab relative document (could be iframed)
8230
8231 var thisNode = _this.findDOMNode();
8232
8233 if (!thisNode || !thisNode.ownerDocument || !thisNode.ownerDocument.body) {
8234 throw new Error('<DraggableCore> not mounted on DragStart!');
8235 }
8236
8237 var ownerDocument = thisNode.ownerDocument; // Short circuit if handle or cancel prop was provided and selector doesn't match.
8238
8239 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)) {
8240 return;
8241 } // Prevent scrolling on mobile devices, like ipad/iphone.
8242 // Important that this is after handle/cancel.
8243
8244
8245 if (e.type === 'touchstart') e.preventDefault(); // Set touch identifier in component state if this is a touch event. This allows us to
8246 // distinguish between individual touches on multitouch screens by identifying which
8247 // touchpoint was set to this element.
8248
8249 var touchIdentifier = (0, _domFns.getTouchIdentifier)(e);
8250
8251 _this.setState({
8252 touchIdentifier: touchIdentifier
8253 }); // Get the current drag point from the event. This is used as the offset.
8254
8255
8256 var position = (0, _positionFns.getControlPosition)(e, touchIdentifier, _assertThisInitialized(_this));
8257 if (position == null) return; // not possible but satisfies flow
8258
8259 var x = position.x,
8260 y = position.y; // Create an event object with all the data parents need to make a decision here.
8261
8262 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
8263 (0, _log.default)('DraggableCore: handleDragStart: %j', coreEvent); // Call event handler. If it returns explicit false, cancel.
8264
8265 (0, _log.default)('calling', _this.props.onStart);
8266
8267 var shouldUpdate = _this.props.onStart(e, coreEvent);
8268
8269 if (shouldUpdate === false || _this.mounted === false) return; // Add a style to the body to disable user-select. This prevents text from
8270 // being selected all over the page.
8271
8272 if (_this.props.enableUserSelectHack) (0, _domFns.addUserSelectStyles)(ownerDocument); // Initiate dragging. Set the current x and y as offsets
8273 // so we know how much we've moved during the drag. This allows us
8274 // to drag elements around even if they have been moved, without issue.
8275
8276 _this.setState({
8277 dragging: true,
8278 lastX: x,
8279 lastY: y
8280 }); // Add events to the document directly so we catch when the user's mouse/touch moves outside of
8281 // this element. We use different events depending on whether or not we have detected that this
8282 // is a touch-capable device.
8283
8284
8285 (0, _domFns.addEvent)(ownerDocument, dragEventFor.move, _this.handleDrag);
8286 (0, _domFns.addEvent)(ownerDocument, dragEventFor.stop, _this.handleDragStop);
8287 });
8288
8289 _defineProperty(_assertThisInitialized(_this), "handleDrag", function (e) {
8290 // Get the current drag point from the event. This is used as the offset.
8291 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
8292 if (position == null) return;
8293 var x = position.x,
8294 y = position.y; // Snap to grid if prop has been provided
8295
8296 if (Array.isArray(_this.props.grid)) {
8297 var deltaX = x - _this.state.lastX,
8298 deltaY = y - _this.state.lastY;
8299
8300 var _snapToGrid = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
8301
8302 var _snapToGrid2 = _slicedToArray(_snapToGrid, 2);
8303
8304 deltaX = _snapToGrid2[0];
8305 deltaY = _snapToGrid2[1];
8306 if (!deltaX && !deltaY) return; // skip useless drag
8307
8308 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
8309 }
8310
8311 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y);
8312 (0, _log.default)('DraggableCore: handleDrag: %j', coreEvent); // Call event handler. If it returns explicit false, trigger end.
8313
8314 var shouldUpdate = _this.props.onDrag(e, coreEvent);
8315
8316 if (shouldUpdate === false || _this.mounted === false) {
8317 try {
8318 // $FlowIgnore
8319 _this.handleDragStop(new MouseEvent('mouseup'));
8320 } catch (err) {
8321 // Old browsers
8322 var event = ((document.createEvent('MouseEvents')
8323 /*: any*/
8324 )
8325 /*: MouseTouchEvent*/
8326 ); // I see why this insanity was deprecated
8327 // $FlowIgnore
8328
8329 event.initMouseEvent('mouseup', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
8330
8331 _this.handleDragStop(event);
8332 }
8333
8334 return;
8335 }
8336
8337 _this.setState({
8338 lastX: x,
8339 lastY: y
8340 });
8341 });
8342
8343 _defineProperty(_assertThisInitialized(_this), "handleDragStop", function (e) {
8344 if (!_this.state.dragging) return;
8345 var position = (0, _positionFns.getControlPosition)(e, _this.state.touchIdentifier, _assertThisInitialized(_this));
8346 if (position == null) return;
8347 var x = position.x,
8348 y = position.y; // Snap to grid if prop has been provided
8349
8350 if (Array.isArray(_this.props.grid)) {
8351 var deltaX = x - _this.state.lastX || 0;
8352 var deltaY = y - _this.state.lastY || 0;
8353
8354 var _snapToGrid3 = (0, _positionFns.snapToGrid)(_this.props.grid, deltaX, deltaY);
8355
8356 var _snapToGrid4 = _slicedToArray(_snapToGrid3, 2);
8357
8358 deltaX = _snapToGrid4[0];
8359 deltaY = _snapToGrid4[1];
8360 x = _this.state.lastX + deltaX, y = _this.state.lastY + deltaY;
8361 }
8362
8363 var coreEvent = (0, _positionFns.createCoreData)(_assertThisInitialized(_this), x, y); // Call event handler
8364
8365 var shouldContinue = _this.props.onStop(e, coreEvent);
8366
8367 if (shouldContinue === false || _this.mounted === false) return false;
8368
8369 var thisNode = _this.findDOMNode();
8370
8371 if (thisNode) {
8372 // Remove user-select hack
8373 if (_this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(thisNode.ownerDocument);
8374 }
8375
8376 (0, _log.default)('DraggableCore: handleDragStop: %j', coreEvent); // Reset the el.
8377
8378 _this.setState({
8379 dragging: false,
8380 lastX: NaN,
8381 lastY: NaN
8382 });
8383
8384 if (thisNode) {
8385 // Remove event handlers
8386 (0, _log.default)('DraggableCore: Removing handlers');
8387 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.move, _this.handleDrag);
8388 (0, _domFns.removeEvent)(thisNode.ownerDocument, dragEventFor.stop, _this.handleDragStop);
8389 }
8390 });
8391
8392 _defineProperty(_assertThisInitialized(_this), "onMouseDown", function (e) {
8393 dragEventFor = eventsFor.mouse; // on touchscreen laptops we could switch back to mouse
8394
8395 return _this.handleDragStart(e);
8396 });
8397
8398 _defineProperty(_assertThisInitialized(_this), "onMouseUp", function (e) {
8399 dragEventFor = eventsFor.mouse;
8400 return _this.handleDragStop(e);
8401 });
8402
8403 _defineProperty(_assertThisInitialized(_this), "onTouchStart", function (e) {
8404 // We're on a touch device now, so change the event handlers
8405 dragEventFor = eventsFor.touch;
8406 return _this.handleDragStart(e);
8407 });
8408
8409 _defineProperty(_assertThisInitialized(_this), "onTouchEnd", function (e) {
8410 // We're on a touch device now, so change the event handlers
8411 dragEventFor = eventsFor.touch;
8412 return _this.handleDragStop(e);
8413 });
8414
8415 return _this;
8416 }
8417
8418 _createClass(DraggableCore, [{
8419 key: "componentDidMount",
8420 value: function componentDidMount() {
8421 this.mounted = true; // Touch handlers must be added with {passive: false} to be cancelable.
8422 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
8423
8424 var thisNode = this.findDOMNode();
8425
8426 if (thisNode) {
8427 (0, _domFns.addEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
8428 passive: false
8429 });
8430 }
8431 }
8432 }, {
8433 key: "componentWillUnmount",
8434 value: function componentWillUnmount() {
8435 this.mounted = false; // Remove any leftover event handlers. Remove both touch and mouse handlers in case
8436 // some browser quirk caused a touch event to fire during a mouse move, or vice versa.
8437
8438 var thisNode = this.findDOMNode();
8439
8440 if (thisNode) {
8441 var ownerDocument = thisNode.ownerDocument;
8442 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.move, this.handleDrag);
8443 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.move, this.handleDrag);
8444 (0, _domFns.removeEvent)(ownerDocument, eventsFor.mouse.stop, this.handleDragStop);
8445 (0, _domFns.removeEvent)(ownerDocument, eventsFor.touch.stop, this.handleDragStop);
8446 (0, _domFns.removeEvent)(thisNode, eventsFor.touch.start, this.onTouchStart, {
8447 passive: false
8448 });
8449 if (this.props.enableUserSelectHack) (0, _domFns.removeUserSelectStyles)(ownerDocument);
8450 }
8451 } // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
8452 // the underlying DOM node ourselves. See the README for more information.
8453
8454 }, {
8455 key: "findDOMNode",
8456 value: function findDOMNode()
8457 /*: ?HTMLElement*/
8458 {
8459 var _this$props, _this$props2, _this$props2$nodeRef;
8460
8461 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);
8462 }
8463 }, {
8464 key: "render",
8465 value: function render()
8466 /*: React.Element<any>*/
8467 {
8468 // Reuse the child provided
8469 // This makes it flexible to use whatever element is wanted (div, ul, etc)
8470 return /*#__PURE__*/React.cloneElement(React.Children.only(this.props.children), {
8471 // Note: mouseMove handler is attached to document so it will still function
8472 // when the user drags quickly and leaves the bounds of the element.
8473 onMouseDown: this.onMouseDown,
8474 onMouseUp: this.onMouseUp,
8475 // onTouchStart is added on `componentDidMount` so they can be added with
8476 // {passive: false}, which allows it to cancel. See
8477 // https://developers.google.com/web/updates/2017/01/scrolling-intervention
8478 onTouchEnd: this.onTouchEnd
8479 });
8480 }
8481 }]);
8482
8483 return DraggableCore;
8484 }(React.Component);
8485
8486 exports["default"] = DraggableCore;
8487
8488 _defineProperty(DraggableCore, "displayName", 'DraggableCore');
8489
8490 _defineProperty(DraggableCore, "propTypes", {
8491 /**
8492 * `allowAnyClick` allows dragging using any mouse button.
8493 * By default, we only accept the left button.
8494 *
8495 * Defaults to `false`.
8496 */
8497 allowAnyClick: _propTypes.default.bool,
8498
8499 /**
8500 * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
8501 * with the exception of `onMouseDown`, will not fire.
8502 */
8503 disabled: _propTypes.default.bool,
8504
8505 /**
8506 * By default, we add 'user-select:none' attributes to the document body
8507 * to prevent ugly text selection during drag. If this is causing problems
8508 * for your app, set this to `false`.
8509 */
8510 enableUserSelectHack: _propTypes.default.bool,
8511
8512 /**
8513 * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
8514 * instead of using the parent node.
8515 */
8516 offsetParent: function offsetParent(props
8517 /*: DraggableCoreProps*/
8518 , propName
8519 /*: $Keys<DraggableCoreProps>*/
8520 ) {
8521 if (props[propName] && props[propName].nodeType !== 1) {
8522 throw new Error('Draggable\'s offsetParent must be a DOM Node.');
8523 }
8524 },
8525
8526 /**
8527 * `grid` specifies the x and y that dragging should snap to.
8528 */
8529 grid: _propTypes.default.arrayOf(_propTypes.default.number),
8530
8531 /**
8532 * `handle` specifies a selector to be used as the handle that initiates drag.
8533 *
8534 * Example:
8535 *
8536 * ```jsx
8537 * let App = React.createClass({
8538 * render: function () {
8539 * return (
8540 * <Draggable handle=".handle">
8541 * <div>
8542 * <div className="handle">Click me to drag</div>
8543 * <div>This is some other content</div>
8544 * </div>
8545 * </Draggable>
8546 * );
8547 * }
8548 * });
8549 * ```
8550 */
8551 handle: _propTypes.default.string,
8552
8553 /**
8554 * `cancel` specifies a selector to be used to prevent drag initialization.
8555 *
8556 * Example:
8557 *
8558 * ```jsx
8559 * let App = React.createClass({
8560 * render: function () {
8561 * return(
8562 * <Draggable cancel=".cancel">
8563 * <div>
8564 * <div className="cancel">You can't drag from here</div>
8565 * <div>Dragging here works fine</div>
8566 * </div>
8567 * </Draggable>
8568 * );
8569 * }
8570 * });
8571 * ```
8572 */
8573 cancel: _propTypes.default.string,
8574
8575 /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
8576 * Unfortunately, in order for <Draggable> to work properly, we need raw access
8577 * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
8578 * as in this example:
8579 *
8580 * function MyComponent() {
8581 * const nodeRef = React.useRef(null);
8582 * return (
8583 * <Draggable nodeRef={nodeRef}>
8584 * <div ref={nodeRef}>Example Target</div>
8585 * </Draggable>
8586 * );
8587 * }
8588 *
8589 * This can be used for arbitrarily nested components, so long as the ref ends up
8590 * pointing to the actual child DOM node and not a custom component.
8591 */
8592 nodeRef: _propTypes.default.object,
8593
8594 /**
8595 * Called when dragging starts.
8596 * If this function returns the boolean false, dragging will be canceled.
8597 */
8598 onStart: _propTypes.default.func,
8599
8600 /**
8601 * Called while dragging.
8602 * If this function returns the boolean false, dragging will be canceled.
8603 */
8604 onDrag: _propTypes.default.func,
8605
8606 /**
8607 * Called when dragging stops.
8608 * If this function returns the boolean false, the drag will remain active.
8609 */
8610 onStop: _propTypes.default.func,
8611
8612 /**
8613 * A workaround option which can be passed if onMouseDown needs to be accessed,
8614 * since it'll always be blocked (as there is internal use of onMouseDown)
8615 */
8616 onMouseDown: _propTypes.default.func,
8617
8618 /**
8619 * `scale`, if set, applies scaling while dragging an element
8620 */
8621 scale: _propTypes.default.number,
8622
8623 /**
8624 * These properties should be defined on the child, not here.
8625 */
8626 className: _shims.dontSetMe,
8627 style: _shims.dontSetMe,
8628 transform: _shims.dontSetMe
8629 });
8630
8631 _defineProperty(DraggableCore, "defaultProps", {
8632 allowAnyClick: false,
8633 // by default only accept left click
8634 disabled: false,
8635 enableUserSelectHack: true,
8636 onStart: function onStart() {},
8637 onDrag: function onDrag() {},
8638 onStop: function onStop() {},
8639 onMouseDown: function onMouseDown() {},
8640 scale: 1
8641 });
8642
8643 /***/ }),
8644
8645 /***/ "../node_modules/react-draggable/build/cjs/cjs.js":
8646 /*!********************************************************!*\
8647 !*** ../node_modules/react-draggable/build/cjs/cjs.js ***!
8648 \********************************************************/
8649 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8650
8651 "use strict";
8652
8653
8654 var _require = __webpack_require__(/*! ./Draggable */ "../node_modules/react-draggable/build/cjs/Draggable.js"),
8655 Draggable = _require.default,
8656 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'.
8657 // See https://github.com/mzabriskie/react-draggable/pull/254
8658 // and https://github.com/mzabriskie/react-draggable/issues/266
8659
8660
8661 module.exports = Draggable;
8662 module.exports["default"] = Draggable;
8663 module.exports.DraggableCore = DraggableCore;
8664
8665 /***/ }),
8666
8667 /***/ "../node_modules/react-draggable/build/cjs/utils/domFns.js":
8668 /*!*****************************************************************!*\
8669 !*** ../node_modules/react-draggable/build/cjs/utils/domFns.js ***!
8670 \*****************************************************************/
8671 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8672
8673 "use strict";
8674
8675
8676 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); }
8677
8678 Object.defineProperty(exports, "__esModule", ({
8679 value: true
8680 }));
8681 exports.addClassName = addClassName;
8682 exports.addEvent = addEvent;
8683 exports.addUserSelectStyles = addUserSelectStyles;
8684 exports.createCSSTransform = createCSSTransform;
8685 exports.createSVGTransform = createSVGTransform;
8686 exports.getTouch = getTouch;
8687 exports.getTouchIdentifier = getTouchIdentifier;
8688 exports.getTranslation = getTranslation;
8689 exports.innerHeight = innerHeight;
8690 exports.innerWidth = innerWidth;
8691 exports.matchesSelector = matchesSelector;
8692 exports.matchesSelectorAndParentsTo = matchesSelectorAndParentsTo;
8693 exports.offsetXYFromParent = offsetXYFromParent;
8694 exports.outerHeight = outerHeight;
8695 exports.outerWidth = outerWidth;
8696 exports.removeClassName = removeClassName;
8697 exports.removeEvent = removeEvent;
8698 exports.removeUserSelectStyles = removeUserSelectStyles;
8699
8700 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
8701
8702 var _getPrefix = _interopRequireWildcard(__webpack_require__(/*! ./getPrefix */ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js"));
8703
8704 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); }
8705
8706 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; }
8707
8708 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; }
8709
8710 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; }
8711
8712 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; }
8713
8714 var matchesSelectorFunc = '';
8715
8716 function matchesSelector(el
8717 /*: Node*/
8718 , selector
8719 /*: string*/
8720 )
8721 /*: boolean*/
8722 {
8723 if (!matchesSelectorFunc) {
8724 matchesSelectorFunc = (0, _shims.findInArray)(['matches', 'webkitMatchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector'], function (method) {
8725 // $FlowIgnore: Doesn't think elements are indexable
8726 return (0, _shims.isFunction)(el[method]);
8727 });
8728 } // Might not be found entirely (not an Element?) - in that case, bail
8729 // $FlowIgnore: Doesn't think elements are indexable
8730
8731
8732 if (!(0, _shims.isFunction)(el[matchesSelectorFunc])) return false; // $FlowIgnore: Doesn't think elements are indexable
8733
8734 return el[matchesSelectorFunc](selector);
8735 } // Works up the tree to the draggable itself attempting to match selector.
8736
8737
8738 function matchesSelectorAndParentsTo(el
8739 /*: Node*/
8740 , selector
8741 /*: string*/
8742 , baseNode
8743 /*: Node*/
8744 )
8745 /*: boolean*/
8746 {
8747 var node = el;
8748
8749 do {
8750 if (matchesSelector(node, selector)) return true;
8751 if (node === baseNode) return false;
8752 node = node.parentNode;
8753 } while (node);
8754
8755 return false;
8756 }
8757
8758 function addEvent(el
8759 /*: ?Node*/
8760 , event
8761 /*: string*/
8762 , handler
8763 /*: Function*/
8764 , inputOptions
8765 /*: Object*/
8766 )
8767 /*: void*/
8768 {
8769 if (!el) return;
8770
8771 var options = _objectSpread({
8772 capture: true
8773 }, inputOptions); // $FlowIgnore[method-unbinding]
8774
8775
8776 if (el.addEventListener) {
8777 el.addEventListener(event, handler, options);
8778 } else if (el.attachEvent) {
8779 el.attachEvent('on' + event, handler);
8780 } else {
8781 // $FlowIgnore: Doesn't think elements are indexable
8782 el['on' + event] = handler;
8783 }
8784 }
8785
8786 function removeEvent(el
8787 /*: ?Node*/
8788 , event
8789 /*: string*/
8790 , handler
8791 /*: Function*/
8792 , inputOptions
8793 /*: Object*/
8794 )
8795 /*: void*/
8796 {
8797 if (!el) return;
8798
8799 var options = _objectSpread({
8800 capture: true
8801 }, inputOptions); // $FlowIgnore[method-unbinding]
8802
8803
8804 if (el.removeEventListener) {
8805 el.removeEventListener(event, handler, options);
8806 } else if (el.detachEvent) {
8807 el.detachEvent('on' + event, handler);
8808 } else {
8809 // $FlowIgnore: Doesn't think elements are indexable
8810 el['on' + event] = null;
8811 }
8812 }
8813
8814 function outerHeight(node
8815 /*: HTMLElement*/
8816 )
8817 /*: number*/
8818 {
8819 // This is deliberately excluding margin for our calculations, since we are using
8820 // offsetTop which is including margin. See getBoundPosition
8821 var height = node.clientHeight;
8822 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
8823 height += (0, _shims.int)(computedStyle.borderTopWidth);
8824 height += (0, _shims.int)(computedStyle.borderBottomWidth);
8825 return height;
8826 }
8827
8828 function outerWidth(node
8829 /*: HTMLElement*/
8830 )
8831 /*: number*/
8832 {
8833 // This is deliberately excluding margin for our calculations, since we are using
8834 // offsetLeft which is including margin. See getBoundPosition
8835 var width = node.clientWidth;
8836 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
8837 width += (0, _shims.int)(computedStyle.borderLeftWidth);
8838 width += (0, _shims.int)(computedStyle.borderRightWidth);
8839 return width;
8840 }
8841
8842 function innerHeight(node
8843 /*: HTMLElement*/
8844 )
8845 /*: number*/
8846 {
8847 var height = node.clientHeight;
8848 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
8849 height -= (0, _shims.int)(computedStyle.paddingTop);
8850 height -= (0, _shims.int)(computedStyle.paddingBottom);
8851 return height;
8852 }
8853
8854 function innerWidth(node
8855 /*: HTMLElement*/
8856 )
8857 /*: number*/
8858 {
8859 var width = node.clientWidth;
8860 var computedStyle = node.ownerDocument.defaultView.getComputedStyle(node);
8861 width -= (0, _shims.int)(computedStyle.paddingLeft);
8862 width -= (0, _shims.int)(computedStyle.paddingRight);
8863 return width;
8864 }
8865 /*:: interface EventWithOffset {
8866 clientX: number, clientY: number
8867 }*/
8868
8869
8870 // Get from offsetParent
8871 function offsetXYFromParent(evt
8872 /*: EventWithOffset*/
8873 , offsetParent
8874 /*: HTMLElement*/
8875 , scale
8876 /*: number*/
8877 )
8878 /*: ControlPosition*/
8879 {
8880 var isBody = offsetParent === offsetParent.ownerDocument.body;
8881 var offsetParentRect = isBody ? {
8882 left: 0,
8883 top: 0
8884 } : offsetParent.getBoundingClientRect();
8885 var x = (evt.clientX + offsetParent.scrollLeft - offsetParentRect.left) / scale;
8886 var y = (evt.clientY + offsetParent.scrollTop - offsetParentRect.top) / scale;
8887 return {
8888 x: x,
8889 y: y
8890 };
8891 }
8892
8893 function createCSSTransform(controlPos
8894 /*: ControlPosition*/
8895 , positionOffset
8896 /*: PositionOffsetControlPosition*/
8897 )
8898 /*: Object*/
8899 {
8900 var translation = getTranslation(controlPos, positionOffset, 'px');
8901 return _defineProperty({}, (0, _getPrefix.browserPrefixToKey)('transform', _getPrefix.default), translation);
8902 }
8903
8904 function createSVGTransform(controlPos
8905 /*: ControlPosition*/
8906 , positionOffset
8907 /*: PositionOffsetControlPosition*/
8908 )
8909 /*: string*/
8910 {
8911 var translation = getTranslation(controlPos, positionOffset, '');
8912 return translation;
8913 }
8914
8915 function getTranslation(_ref2, positionOffset
8916 /*: PositionOffsetControlPosition*/
8917 , unitSuffix
8918 /*: string*/
8919 )
8920 /*: string*/
8921 {
8922 var x = _ref2.x,
8923 y = _ref2.y;
8924 var translation = "translate(".concat(x).concat(unitSuffix, ",").concat(y).concat(unitSuffix, ")");
8925
8926 if (positionOffset) {
8927 var defaultX = "".concat(typeof positionOffset.x === 'string' ? positionOffset.x : positionOffset.x + unitSuffix);
8928 var defaultY = "".concat(typeof positionOffset.y === 'string' ? positionOffset.y : positionOffset.y + unitSuffix);
8929 translation = "translate(".concat(defaultX, ", ").concat(defaultY, ")") + translation;
8930 }
8931
8932 return translation;
8933 }
8934
8935 function getTouch(e
8936 /*: MouseTouchEvent*/
8937 , identifier
8938 /*: number*/
8939 )
8940 /*: ?{clientX: number, clientY: number}*/
8941 {
8942 return e.targetTouches && (0, _shims.findInArray)(e.targetTouches, function (t) {
8943 return identifier === t.identifier;
8944 }) || e.changedTouches && (0, _shims.findInArray)(e.changedTouches, function (t) {
8945 return identifier === t.identifier;
8946 });
8947 }
8948
8949 function getTouchIdentifier(e
8950 /*: MouseTouchEvent*/
8951 )
8952 /*: ?number*/
8953 {
8954 if (e.targetTouches && e.targetTouches[0]) return e.targetTouches[0].identifier;
8955 if (e.changedTouches && e.changedTouches[0]) return e.changedTouches[0].identifier;
8956 } // User-select Hacks:
8957 //
8958 // Useful for preventing blue highlights all over everything when dragging.
8959 // Note we're passing `document` b/c we could be iframed
8960
8961
8962 function addUserSelectStyles(doc
8963 /*: ?Document*/
8964 ) {
8965 if (!doc) return;
8966 var styleEl = doc.getElementById('react-draggable-style-el');
8967
8968 if (!styleEl) {
8969 styleEl = doc.createElement('style');
8970 styleEl.type = 'text/css';
8971 styleEl.id = 'react-draggable-style-el';
8972 styleEl.innerHTML = '.react-draggable-transparent-selection *::-moz-selection {all: inherit;}\n';
8973 styleEl.innerHTML += '.react-draggable-transparent-selection *::selection {all: inherit;}\n';
8974 doc.getElementsByTagName('head')[0].appendChild(styleEl);
8975 }
8976
8977 if (doc.body) addClassName(doc.body, 'react-draggable-transparent-selection');
8978 }
8979
8980 function removeUserSelectStyles(doc
8981 /*: ?Document*/
8982 ) {
8983 if (!doc) return;
8984
8985 try {
8986 if (doc.body) removeClassName(doc.body, 'react-draggable-transparent-selection'); // $FlowIgnore: IE
8987
8988 if (doc.selection) {
8989 // $FlowIgnore: IE
8990 doc.selection.empty();
8991 } else {
8992 // Remove selection caused by scroll, unless it's a focused input
8993 // (we use doc.defaultView in case we're in an iframe)
8994 var selection = (doc.defaultView || window).getSelection();
8995
8996 if (selection && selection.type !== 'Caret') {
8997 selection.removeAllRanges();
8998 }
8999 }
9000 } catch (e) {// probably IE
9001 }
9002 }
9003
9004 function addClassName(el
9005 /*: HTMLElement*/
9006 , className
9007 /*: string*/
9008 ) {
9009 if (el.classList) {
9010 el.classList.add(className);
9011 } else {
9012 if (!el.className.match(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)")))) {
9013 el.className += " ".concat(className);
9014 }
9015 }
9016 }
9017
9018 function removeClassName(el
9019 /*: HTMLElement*/
9020 , className
9021 /*: string*/
9022 ) {
9023 if (el.classList) {
9024 el.classList.remove(className);
9025 } else {
9026 el.className = el.className.replace(new RegExp("(?:^|\\s)".concat(className, "(?!\\S)"), 'g'), '');
9027 }
9028 }
9029
9030 /***/ }),
9031
9032 /***/ "../node_modules/react-draggable/build/cjs/utils/getPrefix.js":
9033 /*!********************************************************************!*\
9034 !*** ../node_modules/react-draggable/build/cjs/utils/getPrefix.js ***!
9035 \********************************************************************/
9036 /***/ ((__unused_webpack_module, exports) => {
9037
9038 "use strict";
9039
9040
9041 Object.defineProperty(exports, "__esModule", ({
9042 value: true
9043 }));
9044 exports.browserPrefixToKey = browserPrefixToKey;
9045 exports.browserPrefixToStyle = browserPrefixToStyle;
9046 exports["default"] = void 0;
9047 exports.getPrefix = getPrefix;
9048 var prefixes = ['Moz', 'Webkit', 'O', 'ms'];
9049
9050 function getPrefix()
9051 /*: string*/
9052 {
9053 var _window$document, _window$document$docu;
9054
9055 var prop
9056 /*: string*/
9057 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';
9058 // Ensure we're running in an environment where there is actually a global
9059 // `window` obj
9060 if (typeof window === 'undefined') return ''; // If we're in a pseudo-browser server-side environment, this access
9061 // path may not exist, so bail out if it doesn't.
9062
9063 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;
9064 if (!style) return '';
9065 if (prop in style) return '';
9066
9067 for (var i = 0; i < prefixes.length; i++) {
9068 if (browserPrefixToKey(prop, prefixes[i]) in style) return prefixes[i];
9069 }
9070
9071 return '';
9072 }
9073
9074 function browserPrefixToKey(prop
9075 /*: string*/
9076 , prefix
9077 /*: string*/
9078 )
9079 /*: string*/
9080 {
9081 return prefix ? "".concat(prefix).concat(kebabToTitleCase(prop)) : prop;
9082 }
9083
9084 function browserPrefixToStyle(prop
9085 /*: string*/
9086 , prefix
9087 /*: string*/
9088 )
9089 /*: string*/
9090 {
9091 return prefix ? "-".concat(prefix.toLowerCase(), "-").concat(prop) : prop;
9092 }
9093
9094 function kebabToTitleCase(str
9095 /*: string*/
9096 )
9097 /*: string*/
9098 {
9099 var out = '';
9100 var shouldCapitalize = true;
9101
9102 for (var i = 0; i < str.length; i++) {
9103 if (shouldCapitalize) {
9104 out += str[i].toUpperCase();
9105 shouldCapitalize = false;
9106 } else if (str[i] === '-') {
9107 shouldCapitalize = true;
9108 } else {
9109 out += str[i];
9110 }
9111 }
9112
9113 return out;
9114 } // Default export is the prefix itself, like 'Moz', 'Webkit', etc
9115 // Note that you may have to re-test for certain things; for instance, Chrome 50
9116 // can handle unprefixed `transform`, but not unprefixed `user-select`
9117
9118
9119 var _default = (getPrefix()
9120 /*: string*/
9121 );
9122
9123 exports["default"] = _default;
9124
9125 /***/ }),
9126
9127 /***/ "../node_modules/react-draggable/build/cjs/utils/log.js":
9128 /*!**************************************************************!*\
9129 !*** ../node_modules/react-draggable/build/cjs/utils/log.js ***!
9130 \**************************************************************/
9131 /***/ ((__unused_webpack_module, exports) => {
9132
9133 "use strict";
9134
9135
9136 Object.defineProperty(exports, "__esModule", ({
9137 value: true
9138 }));
9139 exports["default"] = log;
9140
9141 /*eslint no-console:0*/
9142 function log() {
9143 var _console;
9144
9145 if (false) {}
9146 }
9147
9148 /***/ }),
9149
9150 /***/ "../node_modules/react-draggable/build/cjs/utils/positionFns.js":
9151 /*!**********************************************************************!*\
9152 !*** ../node_modules/react-draggable/build/cjs/utils/positionFns.js ***!
9153 \**********************************************************************/
9154 /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
9155
9156 "use strict";
9157
9158
9159 Object.defineProperty(exports, "__esModule", ({
9160 value: true
9161 }));
9162 exports.canDragX = canDragX;
9163 exports.canDragY = canDragY;
9164 exports.createCoreData = createCoreData;
9165 exports.createDraggableData = createDraggableData;
9166 exports.getBoundPosition = getBoundPosition;
9167 exports.getControlPosition = getControlPosition;
9168 exports.snapToGrid = snapToGrid;
9169
9170 var _shims = __webpack_require__(/*! ./shims */ "../node_modules/react-draggable/build/cjs/utils/shims.js");
9171
9172 var _domFns = __webpack_require__(/*! ./domFns */ "../node_modules/react-draggable/build/cjs/utils/domFns.js");
9173
9174 function getBoundPosition(draggable
9175 /*: Draggable*/
9176 , x
9177 /*: number*/
9178 , y
9179 /*: number*/
9180 )
9181 /*: [number, number]*/
9182 {
9183 // If no bounds, short-circuit and move on
9184 if (!draggable.props.bounds) return [x, y]; // Clone new bounds
9185
9186 var bounds = draggable.props.bounds;
9187 bounds = typeof bounds === 'string' ? bounds : cloneBounds(bounds);
9188 var node = findDOMNode(draggable);
9189
9190 if (typeof bounds === 'string') {
9191 var ownerDocument = node.ownerDocument;
9192 var ownerWindow = ownerDocument.defaultView;
9193 var boundNode;
9194
9195 if (bounds === 'parent') {
9196 boundNode = node.parentNode;
9197 } else {
9198 boundNode = ownerDocument.querySelector(bounds);
9199 }
9200
9201 if (!(boundNode instanceof ownerWindow.HTMLElement)) {
9202 throw new Error('Bounds selector "' + bounds + '" could not find an element.');
9203 }
9204
9205 var boundNodeEl
9206 /*: HTMLElement*/
9207 = boundNode; // for Flow, can't seem to refine correctly
9208
9209 var nodeStyle = ownerWindow.getComputedStyle(node);
9210 var boundNodeStyle = ownerWindow.getComputedStyle(boundNodeEl); // Compute bounds. This is a pain with padding and offsets but this gets it exactly right.
9211
9212 bounds = {
9213 left: -node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingLeft) + (0, _shims.int)(nodeStyle.marginLeft),
9214 top: -node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingTop) + (0, _shims.int)(nodeStyle.marginTop),
9215 right: (0, _domFns.innerWidth)(boundNodeEl) - (0, _domFns.outerWidth)(node) - node.offsetLeft + (0, _shims.int)(boundNodeStyle.paddingRight) - (0, _shims.int)(nodeStyle.marginRight),
9216 bottom: (0, _domFns.innerHeight)(boundNodeEl) - (0, _domFns.outerHeight)(node) - node.offsetTop + (0, _shims.int)(boundNodeStyle.paddingBottom) - (0, _shims.int)(nodeStyle.marginBottom)
9217 };
9218 } // Keep x and y below right and bottom limits...
9219
9220
9221 if ((0, _shims.isNum)(bounds.right)) x = Math.min(x, bounds.right);
9222 if ((0, _shims.isNum)(bounds.bottom)) y = Math.min(y, bounds.bottom); // But above left and top limits.
9223
9224 if ((0, _shims.isNum)(bounds.left)) x = Math.max(x, bounds.left);
9225 if ((0, _shims.isNum)(bounds.top)) y = Math.max(y, bounds.top);
9226 return [x, y];
9227 }
9228
9229 function snapToGrid(grid
9230 /*: [number, number]*/
9231 , pendingX
9232 /*: number*/
9233 , pendingY
9234 /*: number*/
9235 )
9236 /*: [number, number]*/
9237 {
9238 var x = Math.round(pendingX / grid[0]) * grid[0];
9239 var y = Math.round(pendingY / grid[1]) * grid[1];
9240 return [x, y];
9241 }
9242
9243 function canDragX(draggable
9244 /*: Draggable*/
9245 )
9246 /*: boolean*/
9247 {
9248 return draggable.props.axis === 'both' || draggable.props.axis === 'x';
9249 }
9250
9251 function canDragY(draggable
9252 /*: Draggable*/
9253 )
9254 /*: boolean*/
9255 {
9256 return draggable.props.axis === 'both' || draggable.props.axis === 'y';
9257 } // Get {x, y} positions from event.
9258
9259
9260 function getControlPosition(e
9261 /*: MouseTouchEvent*/
9262 , touchIdentifier
9263 /*: ?number*/
9264 , draggableCore
9265 /*: DraggableCore*/
9266 )
9267 /*: ?ControlPosition*/
9268 {
9269 var touchObj = typeof touchIdentifier === 'number' ? (0, _domFns.getTouch)(e, touchIdentifier) : null;
9270 if (typeof touchIdentifier === 'number' && !touchObj) return null; // not the right touch
9271
9272 var node = findDOMNode(draggableCore); // User can provide an offsetParent if desired.
9273
9274 var offsetParent = draggableCore.props.offsetParent || node.offsetParent || node.ownerDocument.body;
9275 return (0, _domFns.offsetXYFromParent)(touchObj || e, offsetParent, draggableCore.props.scale);
9276 } // Create an data object exposed by <DraggableCore>'s events
9277
9278
9279 function createCoreData(draggable
9280 /*: DraggableCore*/
9281 , x
9282 /*: number*/
9283 , y
9284 /*: number*/
9285 )
9286 /*: DraggableData*/
9287 {
9288 var state = draggable.state;
9289 var isStart = !(0, _shims.isNum)(state.lastX);
9290 var node = findDOMNode(draggable);
9291
9292 if (isStart) {
9293 // If this is our first move, use the x and y as last coords.
9294 return {
9295 node: node,
9296 deltaX: 0,
9297 deltaY: 0,
9298 lastX: x,
9299 lastY: y,
9300 x: x,
9301 y: y
9302 };
9303 } else {
9304 // Otherwise calculate proper values.
9305 return {
9306 node: node,
9307 deltaX: x - state.lastX,
9308 deltaY: y - state.lastY,
9309 lastX: state.lastX,
9310 lastY: state.lastY,
9311 x: x,
9312 y: y
9313 };
9314 }
9315 } // Create an data exposed by <Draggable>'s events
9316
9317
9318 function createDraggableData(draggable
9319 /*: Draggable*/
9320 , coreData
9321 /*: DraggableData*/
9322 )
9323 /*: DraggableData*/
9324 {
9325 var scale = draggable.props.scale;
9326 return {
9327 node: coreData.node,
9328 x: draggable.state.x + coreData.deltaX / scale,
9329 y: draggable.state.y + coreData.deltaY / scale,
9330 deltaX: coreData.deltaX / scale,
9331 deltaY: coreData.deltaY / scale,
9332 lastX: draggable.state.x,
9333 lastY: draggable.state.y
9334 };
9335 } // A lot faster than stringify/parse
9336
9337
9338 function cloneBounds(bounds
9339 /*: Bounds*/
9340 )
9341 /*: Bounds*/
9342 {
9343 return {
9344 left: bounds.left,
9345 top: bounds.top,
9346 right: bounds.right,
9347 bottom: bounds.bottom
9348 };
9349 }
9350
9351 function findDOMNode(draggable
9352 /*: Draggable | DraggableCore*/
9353 )
9354 /*: HTMLElement*/
9355 {
9356 var node = draggable.findDOMNode();
9357
9358 if (!node) {
9359 throw new Error('<DraggableCore>: Unmounted during event!');
9360 } // $FlowIgnore we can't assert on HTMLElement due to tests... FIXME
9361
9362
9363 return node;
9364 }
9365
9366 /***/ }),
9367
9368 /***/ "../node_modules/react-draggable/build/cjs/utils/shims.js":
9369 /*!****************************************************************!*\
9370 !*** ../node_modules/react-draggable/build/cjs/utils/shims.js ***!
9371 \****************************************************************/
9372 /***/ ((__unused_webpack_module, exports) => {
9373
9374 "use strict";
9375
9376
9377 Object.defineProperty(exports, "__esModule", ({
9378 value: true
9379 }));
9380 exports.dontSetMe = dontSetMe;
9381 exports.findInArray = findInArray;
9382 exports.int = int;
9383 exports.isFunction = isFunction;
9384 exports.isNum = isNum;
9385
9386 // @credits https://gist.github.com/rogozhnikoff/a43cfed27c41e4e68cdc
9387 function findInArray(array
9388 /*: Array<any> | TouchList*/
9389 , callback
9390 /*: Function*/
9391 )
9392 /*: any*/
9393 {
9394 for (var i = 0, length = array.length; i < length; i++) {
9395 if (callback.apply(callback, [array[i], i, array])) return array[i];
9396 }
9397 }
9398
9399 function isFunction(func
9400 /*: any*/
9401 )
9402 /*: boolean %checks*/
9403 {
9404 // $FlowIgnore[method-unbinding]
9405 return typeof func === 'function' || Object.prototype.toString.call(func) === '[object Function]';
9406 }
9407
9408 function isNum(num
9409 /*: any*/
9410 )
9411 /*: boolean %checks*/
9412 {
9413 return typeof num === 'number' && !isNaN(num);
9414 }
9415
9416 function int(a
9417 /*: string*/
9418 )
9419 /*: number*/
9420 {
9421 return parseInt(a, 10);
9422 }
9423
9424 function dontSetMe(props
9425 /*: Object*/
9426 , propName
9427 /*: string*/
9428 , componentName
9429 /*: string*/
9430 )
9431 /*: ?Error*/
9432 {
9433 if (props[propName]) {
9434 return new Error("Invalid prop ".concat(propName, " passed to ").concat(componentName, " - do not set this, set it on the child."));
9435 }
9436 }
9437
9438 /***/ }),
9439
9440 /***/ "react":
9441 /*!************************!*\
9442 !*** external "React" ***!
9443 \************************/
9444 /***/ ((module) => {
9445
9446 "use strict";
9447 module.exports = React;
9448
9449 /***/ }),
9450
9451 /***/ "react-dom":
9452 /*!***************************!*\
9453 !*** external "ReactDOM" ***!
9454 \***************************/
9455 /***/ ((module) => {
9456
9457 "use strict";
9458 module.exports = ReactDOM;
9459
9460 /***/ }),
9461
9462 /***/ "@elementor/icons":
9463 /*!************************************!*\
9464 !*** external "elementorV2.icons" ***!
9465 \************************************/
9466 /***/ ((module) => {
9467
9468 "use strict";
9469 module.exports = elementorV2.icons;
9470
9471 /***/ }),
9472
9473 /***/ "@elementor/ui":
9474 /*!*********************************!*\
9475 !*** external "elementorV2.ui" ***!
9476 \*********************************/
9477 /***/ ((module) => {
9478
9479 "use strict";
9480 module.exports = elementorV2.ui;
9481
9482 /***/ }),
9483
9484 /***/ "@wordpress/i18n":
9485 /*!**************************!*\
9486 !*** external "wp.i18n" ***!
9487 \**************************/
9488 /***/ ((module) => {
9489
9490 "use strict";
9491 module.exports = wp.i18n;
9492
9493 /***/ }),
9494
9495 /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js":
9496 /*!******************************************************************!*\
9497 !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!
9498 \******************************************************************/
9499 /***/ ((module) => {
9500
9501 function _arrayLikeToArray(arr, len) {
9502 if (len == null || len > arr.length) len = arr.length;
9503 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
9504 return arr2;
9505 }
9506 module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
9507
9508 /***/ }),
9509
9510 /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js":
9511 /*!****************************************************************!*\
9512 !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!
9513 \****************************************************************/
9514 /***/ ((module) => {
9515
9516 function _arrayWithHoles(arr) {
9517 if (Array.isArray(arr)) return arr;
9518 }
9519 module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
9520
9521 /***/ }),
9522
9523 /***/ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js":
9524 /*!*******************************************************************!*\
9525 !*** ../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!
9526 \*******************************************************************/
9527 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9528
9529 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
9530 function _arrayWithoutHoles(arr) {
9531 if (Array.isArray(arr)) return arrayLikeToArray(arr);
9532 }
9533 module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
9534
9535 /***/ }),
9536
9537 /***/ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js":
9538 /*!***********************************************************************!*\
9539 !*** ../node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
9540 \***********************************************************************/
9541 /***/ ((module) => {
9542
9543 function _assertThisInitialized(self) {
9544 if (self === void 0) {
9545 throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
9546 }
9547 return self;
9548 }
9549 module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
9550
9551 /***/ }),
9552
9553 /***/ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js":
9554 /*!******************************************************************!*\
9555 !*** ../node_modules/@babel/runtime/helpers/asyncToGenerator.js ***!
9556 \******************************************************************/
9557 /***/ ((module) => {
9558
9559 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
9560 try {
9561 var info = gen[key](arg);
9562 var value = info.value;
9563 } catch (error) {
9564 reject(error);
9565 return;
9566 }
9567 if (info.done) {
9568 resolve(value);
9569 } else {
9570 Promise.resolve(value).then(_next, _throw);
9571 }
9572 }
9573 function _asyncToGenerator(fn) {
9574 return function () {
9575 var self = this,
9576 args = arguments;
9577 return new Promise(function (resolve, reject) {
9578 var gen = fn.apply(self, args);
9579 function _next(value) {
9580 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
9581 }
9582 function _throw(err) {
9583 asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
9584 }
9585 _next(undefined);
9586 });
9587 };
9588 }
9589 module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
9590
9591 /***/ }),
9592
9593 /***/ "../node_modules/@babel/runtime/helpers/classCallCheck.js":
9594 /*!****************************************************************!*\
9595 !*** ../node_modules/@babel/runtime/helpers/classCallCheck.js ***!
9596 \****************************************************************/
9597 /***/ ((module) => {
9598
9599 function _classCallCheck(instance, Constructor) {
9600 if (!(instance instanceof Constructor)) {
9601 throw new TypeError("Cannot call a class as a function");
9602 }
9603 }
9604 module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
9605
9606 /***/ }),
9607
9608 /***/ "../node_modules/@babel/runtime/helpers/createClass.js":
9609 /*!*************************************************************!*\
9610 !*** ../node_modules/@babel/runtime/helpers/createClass.js ***!
9611 \*************************************************************/
9612 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9613
9614 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
9615 function _defineProperties(target, props) {
9616 for (var i = 0; i < props.length; i++) {
9617 var descriptor = props[i];
9618 descriptor.enumerable = descriptor.enumerable || false;
9619 descriptor.configurable = true;
9620 if ("value" in descriptor) descriptor.writable = true;
9621 Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
9622 }
9623 }
9624 function _createClass(Constructor, protoProps, staticProps) {
9625 if (protoProps) _defineProperties(Constructor.prototype, protoProps);
9626 if (staticProps) _defineProperties(Constructor, staticProps);
9627 Object.defineProperty(Constructor, "prototype", {
9628 writable: false
9629 });
9630 return Constructor;
9631 }
9632 module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
9633
9634 /***/ }),
9635
9636 /***/ "../node_modules/@babel/runtime/helpers/defineProperty.js":
9637 /*!****************************************************************!*\
9638 !*** ../node_modules/@babel/runtime/helpers/defineProperty.js ***!
9639 \****************************************************************/
9640 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9641
9642 var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ "../node_modules/@babel/runtime/helpers/toPropertyKey.js");
9643 function _defineProperty(obj, key, value) {
9644 key = toPropertyKey(key);
9645 if (key in obj) {
9646 Object.defineProperty(obj, key, {
9647 value: value,
9648 enumerable: true,
9649 configurable: true,
9650 writable: true
9651 });
9652 } else {
9653 obj[key] = value;
9654 }
9655 return obj;
9656 }
9657 module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;
9658
9659 /***/ }),
9660
9661 /***/ "../node_modules/@babel/runtime/helpers/extends.js":
9662 /*!*********************************************************!*\
9663 !*** ../node_modules/@babel/runtime/helpers/extends.js ***!
9664 \*********************************************************/
9665 /***/ ((module) => {
9666
9667 function _extends() {
9668 module.exports = _extends = Object.assign ? Object.assign.bind() : function (target) {
9669 for (var i = 1; i < arguments.length; i++) {
9670 var source = arguments[i];
9671 for (var key in source) {
9672 if (Object.prototype.hasOwnProperty.call(source, key)) {
9673 target[key] = source[key];
9674 }
9675 }
9676 }
9677 return target;
9678 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
9679 return _extends.apply(this, arguments);
9680 }
9681 module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports;
9682
9683 /***/ }),
9684
9685 /***/ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js":
9686 /*!****************************************************************!*\
9687 !*** ../node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
9688 \****************************************************************/
9689 /***/ ((module) => {
9690
9691 function _getPrototypeOf(o) {
9692 module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
9693 return o.__proto__ || Object.getPrototypeOf(o);
9694 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
9695 return _getPrototypeOf(o);
9696 }
9697 module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
9698
9699 /***/ }),
9700
9701 /***/ "../node_modules/@babel/runtime/helpers/inherits.js":
9702 /*!**********************************************************!*\
9703 !*** ../node_modules/@babel/runtime/helpers/inherits.js ***!
9704 \**********************************************************/
9705 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9706
9707 var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js");
9708 function _inherits(subClass, superClass) {
9709 if (typeof superClass !== "function" && superClass !== null) {
9710 throw new TypeError("Super expression must either be null or a function");
9711 }
9712 subClass.prototype = Object.create(superClass && superClass.prototype, {
9713 constructor: {
9714 value: subClass,
9715 writable: true,
9716 configurable: true
9717 }
9718 });
9719 Object.defineProperty(subClass, "prototype", {
9720 writable: false
9721 });
9722 if (superClass) setPrototypeOf(subClass, superClass);
9723 }
9724 module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
9725
9726 /***/ }),
9727
9728 /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js":
9729 /*!***********************************************************************!*\
9730 !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
9731 \***********************************************************************/
9732 /***/ ((module) => {
9733
9734 function _interopRequireDefault(obj) {
9735 return obj && obj.__esModule ? obj : {
9736 "default": obj
9737 };
9738 }
9739 module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
9740
9741 /***/ }),
9742
9743 /***/ "../node_modules/@babel/runtime/helpers/iterableToArray.js":
9744 /*!*****************************************************************!*\
9745 !*** ../node_modules/@babel/runtime/helpers/iterableToArray.js ***!
9746 \*****************************************************************/
9747 /***/ ((module) => {
9748
9749 function _iterableToArray(iter) {
9750 if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
9751 }
9752 module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
9753
9754 /***/ }),
9755
9756 /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js":
9757 /*!**********************************************************************!*\
9758 !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!
9759 \**********************************************************************/
9760 /***/ ((module) => {
9761
9762 function _iterableToArrayLimit(r, l) {
9763 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
9764 if (null != t) {
9765 var e,
9766 n,
9767 i,
9768 u,
9769 a = [],
9770 f = !0,
9771 o = !1;
9772 try {
9773 if (i = (t = t.call(r)).next, 0 === l) {
9774 if (Object(t) !== t) return;
9775 f = !1;
9776 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
9777 } catch (r) {
9778 o = !0, n = r;
9779 } finally {
9780 try {
9781 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
9782 } finally {
9783 if (o) throw n;
9784 }
9785 }
9786 return a;
9787 }
9788 }
9789 module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;
9790
9791 /***/ }),
9792
9793 /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js":
9794 /*!*****************************************************************!*\
9795 !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***!
9796 \*****************************************************************/
9797 /***/ ((module) => {
9798
9799 function _nonIterableRest() {
9800 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9801 }
9802 module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;
9803
9804 /***/ }),
9805
9806 /***/ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js":
9807 /*!*******************************************************************!*\
9808 !*** ../node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!
9809 \*******************************************************************/
9810 /***/ ((module) => {
9811
9812 function _nonIterableSpread() {
9813 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9814 }
9815 module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
9816
9817 /***/ }),
9818
9819 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutProperties.js":
9820 /*!*************************************************************************!*\
9821 !*** ../node_modules/@babel/runtime/helpers/objectWithoutProperties.js ***!
9822 \*************************************************************************/
9823 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9824
9825 var objectWithoutPropertiesLoose = __webpack_require__(/*! ./objectWithoutPropertiesLoose.js */ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");
9826 function _objectWithoutProperties(source, excluded) {
9827 if (source == null) return {};
9828 var target = objectWithoutPropertiesLoose(source, excluded);
9829 var key, i;
9830 if (Object.getOwnPropertySymbols) {
9831 var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
9832 for (i = 0; i < sourceSymbolKeys.length; i++) {
9833 key = sourceSymbolKeys[i];
9834 if (excluded.indexOf(key) >= 0) continue;
9835 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
9836 target[key] = source[key];
9837 }
9838 }
9839 return target;
9840 }
9841 module.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports["default"] = module.exports;
9842
9843 /***/ }),
9844
9845 /***/ "../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":
9846 /*!******************************************************************************!*\
9847 !*** ../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js ***!
9848 \******************************************************************************/
9849 /***/ ((module) => {
9850
9851 function _objectWithoutPropertiesLoose(source, excluded) {
9852 if (source == null) return {};
9853 var target = {};
9854 var sourceKeys = Object.keys(source);
9855 var key, i;
9856 for (i = 0; i < sourceKeys.length; i++) {
9857 key = sourceKeys[i];
9858 if (excluded.indexOf(key) >= 0) continue;
9859 target[key] = source[key];
9860 }
9861 return target;
9862 }
9863 module.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports["default"] = module.exports;
9864
9865 /***/ }),
9866
9867 /***/ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js":
9868 /*!***************************************************************************!*\
9869 !*** ../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
9870 \***************************************************************************/
9871 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9872
9873 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
9874 var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js");
9875 function _possibleConstructorReturn(self, call) {
9876 if (call && (_typeof(call) === "object" || typeof call === "function")) {
9877 return call;
9878 } else if (call !== void 0) {
9879 throw new TypeError("Derived constructors may only return object or undefined");
9880 }
9881 return assertThisInitialized(self);
9882 }
9883 module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
9884
9885 /***/ }),
9886
9887 /***/ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js":
9888 /*!********************************************************************!*\
9889 !*** ../node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
9890 \********************************************************************/
9891 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9892
9893 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
9894 function _regeneratorRuntime() {
9895 "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
9896 module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
9897 return e;
9898 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
9899 var t,
9900 e = {},
9901 r = Object.prototype,
9902 n = r.hasOwnProperty,
9903 o = Object.defineProperty || function (t, e, r) {
9904 t[e] = r.value;
9905 },
9906 i = "function" == typeof Symbol ? Symbol : {},
9907 a = i.iterator || "@@iterator",
9908 c = i.asyncIterator || "@@asyncIterator",
9909 u = i.toStringTag || "@@toStringTag";
9910 function define(t, e, r) {
9911 return Object.defineProperty(t, e, {
9912 value: r,
9913 enumerable: !0,
9914 configurable: !0,
9915 writable: !0
9916 }), t[e];
9917 }
9918 try {
9919 define({}, "");
9920 } catch (t) {
9921 define = function define(t, e, r) {
9922 return t[e] = r;
9923 };
9924 }
9925 function wrap(t, e, r, n) {
9926 var i = e && e.prototype instanceof Generator ? e : Generator,
9927 a = Object.create(i.prototype),
9928 c = new Context(n || []);
9929 return o(a, "_invoke", {
9930 value: makeInvokeMethod(t, r, c)
9931 }), a;
9932 }
9933 function tryCatch(t, e, r) {
9934 try {
9935 return {
9936 type: "normal",
9937 arg: t.call(e, r)
9938 };
9939 } catch (t) {
9940 return {
9941 type: "throw",
9942 arg: t
9943 };
9944 }
9945 }
9946 e.wrap = wrap;
9947 var h = "suspendedStart",
9948 l = "suspendedYield",
9949 f = "executing",
9950 s = "completed",
9951 y = {};
9952 function Generator() {}
9953 function GeneratorFunction() {}
9954 function GeneratorFunctionPrototype() {}
9955 var p = {};
9956 define(p, a, function () {
9957 return this;
9958 });
9959 var d = Object.getPrototypeOf,
9960 v = d && d(d(values([])));
9961 v && v !== r && n.call(v, a) && (p = v);
9962 var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
9963 function defineIteratorMethods(t) {
9964 ["next", "throw", "return"].forEach(function (e) {
9965 define(t, e, function (t) {
9966 return this._invoke(e, t);
9967 });
9968 });
9969 }
9970 function AsyncIterator(t, e) {
9971 function invoke(r, o, i, a) {
9972 var c = tryCatch(t[r], t, o);
9973 if ("throw" !== c.type) {
9974 var u = c.arg,
9975 h = u.value;
9976 return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
9977 invoke("next", t, i, a);
9978 }, function (t) {
9979 invoke("throw", t, i, a);
9980 }) : e.resolve(h).then(function (t) {
9981 u.value = t, i(u);
9982 }, function (t) {
9983 return invoke("throw", t, i, a);
9984 });
9985 }
9986 a(c.arg);
9987 }
9988 var r;
9989 o(this, "_invoke", {
9990 value: function value(t, n) {
9991 function callInvokeWithMethodAndArg() {
9992 return new e(function (e, r) {
9993 invoke(t, n, e, r);
9994 });
9995 }
9996 return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
9997 }
9998 });
9999 }
10000 function makeInvokeMethod(e, r, n) {
10001 var o = h;
10002 return function (i, a) {
10003 if (o === f) throw new Error("Generator is already running");
10004 if (o === s) {
10005 if ("throw" === i) throw a;
10006 return {
10007 value: t,
10008 done: !0
10009 };
10010 }
10011 for (n.method = i, n.arg = a;;) {
10012 var c = n.delegate;
10013 if (c) {
10014 var u = maybeInvokeDelegate(c, n);
10015 if (u) {
10016 if (u === y) continue;
10017 return u;
10018 }
10019 }
10020 if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
10021 if (o === h) throw o = s, n.arg;
10022 n.dispatchException(n.arg);
10023 } else "return" === n.method && n.abrupt("return", n.arg);
10024 o = f;
10025 var p = tryCatch(e, r, n);
10026 if ("normal" === p.type) {
10027 if (o = n.done ? s : l, p.arg === y) continue;
10028 return {
10029 value: p.arg,
10030 done: n.done
10031 };
10032 }
10033 "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
10034 }
10035 };
10036 }
10037 function maybeInvokeDelegate(e, r) {
10038 var n = r.method,
10039 o = e.iterator[n];
10040 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;
10041 var i = tryCatch(o, e.iterator, r.arg);
10042 if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
10043 var a = i.arg;
10044 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);
10045 }
10046 function pushTryEntry(t) {
10047 var e = {
10048 tryLoc: t[0]
10049 };
10050 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
10051 }
10052 function resetTryEntry(t) {
10053 var e = t.completion || {};
10054 e.type = "normal", delete e.arg, t.completion = e;
10055 }
10056 function Context(t) {
10057 this.tryEntries = [{
10058 tryLoc: "root"
10059 }], t.forEach(pushTryEntry, this), this.reset(!0);
10060 }
10061 function values(e) {
10062 if (e || "" === e) {
10063 var r = e[a];
10064 if (r) return r.call(e);
10065 if ("function" == typeof e.next) return e;
10066 if (!isNaN(e.length)) {
10067 var o = -1,
10068 i = function next() {
10069 for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
10070 return next.value = t, next.done = !0, next;
10071 };
10072 return i.next = i;
10073 }
10074 }
10075 throw new TypeError(_typeof(e) + " is not iterable");
10076 }
10077 return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
10078 value: GeneratorFunctionPrototype,
10079 configurable: !0
10080 }), o(GeneratorFunctionPrototype, "constructor", {
10081 value: GeneratorFunction,
10082 configurable: !0
10083 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
10084 var e = "function" == typeof t && t.constructor;
10085 return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
10086 }, e.mark = function (t) {
10087 return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
10088 }, e.awrap = function (t) {
10089 return {
10090 __await: t
10091 };
10092 }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
10093 return this;
10094 }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
10095 void 0 === i && (i = Promise);
10096 var a = new AsyncIterator(wrap(t, r, n, o), i);
10097 return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
10098 return t.done ? t.value : a.next();
10099 });
10100 }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
10101 return this;
10102 }), define(g, "toString", function () {
10103 return "[object Generator]";
10104 }), e.keys = function (t) {
10105 var e = Object(t),
10106 r = [];
10107 for (var n in e) r.push(n);
10108 return r.reverse(), function next() {
10109 for (; r.length;) {
10110 var t = r.pop();
10111 if (t in e) return next.value = t, next.done = !1, next;
10112 }
10113 return next.done = !0, next;
10114 };
10115 }, e.values = values, Context.prototype = {
10116 constructor: Context,
10117 reset: function reset(e) {
10118 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);
10119 },
10120 stop: function stop() {
10121 this.done = !0;
10122 var t = this.tryEntries[0].completion;
10123 if ("throw" === t.type) throw t.arg;
10124 return this.rval;
10125 },
10126 dispatchException: function dispatchException(e) {
10127 if (this.done) throw e;
10128 var r = this;
10129 function handle(n, o) {
10130 return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
10131 }
10132 for (var o = this.tryEntries.length - 1; o >= 0; --o) {
10133 var i = this.tryEntries[o],
10134 a = i.completion;
10135 if ("root" === i.tryLoc) return handle("end");
10136 if (i.tryLoc <= this.prev) {
10137 var c = n.call(i, "catchLoc"),
10138 u = n.call(i, "finallyLoc");
10139 if (c && u) {
10140 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
10141 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
10142 } else if (c) {
10143 if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
10144 } else {
10145 if (!u) throw new Error("try statement without catch or finally");
10146 if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
10147 }
10148 }
10149 }
10150 },
10151 abrupt: function abrupt(t, e) {
10152 for (var r = this.tryEntries.length - 1; r >= 0; --r) {
10153 var o = this.tryEntries[r];
10154 if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
10155 var i = o;
10156 break;
10157 }
10158 }
10159 i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
10160 var a = i ? i.completion : {};
10161 return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
10162 },
10163 complete: function complete(t, e) {
10164 if ("throw" === t.type) throw t.arg;
10165 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;
10166 },
10167 finish: function finish(t) {
10168 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
10169 var r = this.tryEntries[e];
10170 if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
10171 }
10172 },
10173 "catch": function _catch(t) {
10174 for (var e = this.tryEntries.length - 1; e >= 0; --e) {
10175 var r = this.tryEntries[e];
10176 if (r.tryLoc === t) {
10177 var n = r.completion;
10178 if ("throw" === n.type) {
10179 var o = n.arg;
10180 resetTryEntry(r);
10181 }
10182 return o;
10183 }
10184 }
10185 throw new Error("illegal catch attempt");
10186 },
10187 delegateYield: function delegateYield(e, r, n) {
10188 return this.delegate = {
10189 iterator: values(e),
10190 resultName: r,
10191 nextLoc: n
10192 }, "next" === this.method && (this.arg = t), y;
10193 }
10194 }, e;
10195 }
10196 module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
10197
10198 /***/ }),
10199
10200 /***/ "../node_modules/@babel/runtime/helpers/setPrototypeOf.js":
10201 /*!****************************************************************!*\
10202 !*** ../node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
10203 \****************************************************************/
10204 /***/ ((module) => {
10205
10206 function _setPrototypeOf(o, p) {
10207 module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
10208 o.__proto__ = p;
10209 return o;
10210 }, module.exports.__esModule = true, module.exports["default"] = module.exports;
10211 return _setPrototypeOf(o, p);
10212 }
10213 module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
10214
10215 /***/ }),
10216
10217 /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js":
10218 /*!***************************************************************!*\
10219 !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***!
10220 \***************************************************************/
10221 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10222
10223 var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js");
10224 var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js");
10225 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
10226 var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js");
10227 function _slicedToArray(arr, i) {
10228 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
10229 }
10230 module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
10231
10232 /***/ }),
10233
10234 /***/ "../node_modules/@babel/runtime/helpers/toConsumableArray.js":
10235 /*!*******************************************************************!*\
10236 !*** ../node_modules/@babel/runtime/helpers/toConsumableArray.js ***!
10237 \*******************************************************************/
10238 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10239
10240 var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js");
10241 var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ "../node_modules/@babel/runtime/helpers/iterableToArray.js");
10242 var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js");
10243 var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ "../node_modules/@babel/runtime/helpers/nonIterableSpread.js");
10244 function _toConsumableArray(arr) {
10245 return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();
10246 }
10247 module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
10248
10249 /***/ }),
10250
10251 /***/ "../node_modules/@babel/runtime/helpers/toPrimitive.js":
10252 /*!*************************************************************!*\
10253 !*** ../node_modules/@babel/runtime/helpers/toPrimitive.js ***!
10254 \*************************************************************/
10255 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10256
10257 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
10258 function _toPrimitive(input, hint) {
10259 if (_typeof(input) !== "object" || input === null) return input;
10260 var prim = input[Symbol.toPrimitive];
10261 if (prim !== undefined) {
10262 var res = prim.call(input, hint || "default");
10263 if (_typeof(res) !== "object") return res;
10264 throw new TypeError("@@toPrimitive must return a primitive value.");
10265 }
10266 return (hint === "string" ? String : Number)(input);
10267 }
10268 module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
10269
10270 /***/ }),
10271
10272 /***/ "../node_modules/@babel/runtime/helpers/toPropertyKey.js":
10273 /*!***************************************************************!*\
10274 !*** ../node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
10275 \***************************************************************/
10276 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10277
10278 var _typeof = (__webpack_require__(/*! ./typeof.js */ "../node_modules/@babel/runtime/helpers/typeof.js")["default"]);
10279 var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ "../node_modules/@babel/runtime/helpers/toPrimitive.js");
10280 function _toPropertyKey(arg) {
10281 var key = toPrimitive(arg, "string");
10282 return _typeof(key) === "symbol" ? key : String(key);
10283 }
10284 module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
10285
10286 /***/ }),
10287
10288 /***/ "../node_modules/@babel/runtime/helpers/typeof.js":
10289 /*!********************************************************!*\
10290 !*** ../node_modules/@babel/runtime/helpers/typeof.js ***!
10291 \********************************************************/
10292 /***/ ((module) => {
10293
10294 function _typeof(o) {
10295 "@babel/helpers - typeof";
10296
10297 return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
10298 return typeof o;
10299 } : function (o) {
10300 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
10301 }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
10302 }
10303 module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
10304
10305 /***/ }),
10306
10307 /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js":
10308 /*!****************************************************************************!*\
10309 !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!
10310 \****************************************************************************/
10311 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10312
10313 var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js");
10314 function _unsupportedIterableToArray(o, minLen) {
10315 if (!o) return;
10316 if (typeof o === "string") return arrayLikeToArray(o, minLen);
10317 var n = Object.prototype.toString.call(o).slice(8, -1);
10318 if (n === "Object" && o.constructor) n = o.constructor.name;
10319 if (n === "Map" || n === "Set") return Array.from(o);
10320 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);
10321 }
10322 module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
10323
10324 /***/ }),
10325
10326 /***/ "../node_modules/@babel/runtime/regenerator/index.js":
10327 /*!***********************************************************!*\
10328 !*** ../node_modules/@babel/runtime/regenerator/index.js ***!
10329 \***********************************************************/
10330 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10331
10332 // TODO(Babel 8): Remove this file.
10333
10334 var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ "../node_modules/@babel/runtime/helpers/regeneratorRuntime.js")();
10335 module.exports = runtime;
10336
10337 // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
10338 try {
10339 regeneratorRuntime = runtime;
10340 } catch (accidentalStrictMode) {
10341 if (typeof globalThis === "object") {
10342 globalThis.regeneratorRuntime = runtime;
10343 } else {
10344 Function("r", "regeneratorRuntime = r")(runtime);
10345 }
10346 }
10347
10348
10349 /***/ })
10350
10351 /******/ });
10352 /************************************************************************/
10353 /******/ // The module cache
10354 /******/ var __webpack_module_cache__ = {};
10355 /******/
10356 /******/ // The require function
10357 /******/ function __webpack_require__(moduleId) {
10358 /******/ // Check if module is in cache
10359 /******/ var cachedModule = __webpack_module_cache__[moduleId];
10360 /******/ if (cachedModule !== undefined) {
10361 /******/ return cachedModule.exports;
10362 /******/ }
10363 /******/ // Create a new module (and put it into the cache)
10364 /******/ var module = __webpack_module_cache__[moduleId] = {
10365 /******/ // no module.id needed
10366 /******/ // no module.loaded needed
10367 /******/ exports: {}
10368 /******/ };
10369 /******/
10370 /******/ // Execute the module function
10371 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
10372 /******/
10373 /******/ // Return the exports of the module
10374 /******/ return module.exports;
10375 /******/ }
10376 /******/
10377 /************************************************************************/
10378 /******/ /* webpack/runtime/define property getters */
10379 /******/ (() => {
10380 /******/ // define getter functions for harmony exports
10381 /******/ __webpack_require__.d = (exports, definition) => {
10382 /******/ for(var key in definition) {
10383 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
10384 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
10385 /******/ }
10386 /******/ }
10387 /******/ };
10388 /******/ })();
10389 /******/
10390 /******/ /* webpack/runtime/hasOwnProperty shorthand */
10391 /******/ (() => {
10392 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
10393 /******/ })();
10394 /******/
10395 /******/ /* webpack/runtime/make namespace object */
10396 /******/ (() => {
10397 /******/ // define __esModule on exports
10398 /******/ __webpack_require__.r = (exports) => {
10399 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
10400 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
10401 /******/ }
10402 /******/ Object.defineProperty(exports, '__esModule', { value: true });
10403 /******/ };
10404 /******/ })();
10405 /******/
10406 /************************************************************************/
10407 var __webpack_exports__ = {};
10408 // This entry need to be wrapped in an IIFE because it need to be in strict mode.
10409 (() => {
10410 "use strict";
10411 var exports = __webpack_exports__;
10412 /*!*******************************************************!*\
10413 !*** ../modules/ai/assets/js/editor/layout-module.js ***!
10414 \*******************************************************/
10415
10416
10417 var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js");
10418 Object.defineProperty(exports, "__esModule", ({
10419 value: true
10420 }));
10421 exports["default"] = void 0;
10422 var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "../node_modules/@babel/runtime/regenerator/index.js"));
10423 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "../node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
10424 var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ "../node_modules/@babel/runtime/helpers/classCallCheck.js"));
10425 var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ "../node_modules/@babel/runtime/helpers/createClass.js"));
10426 var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ "../node_modules/@babel/runtime/helpers/assertThisInitialized.js"));
10427 var _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ "../node_modules/@babel/runtime/helpers/inherits.js"));
10428 var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ "../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js"));
10429 var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ "../node_modules/@babel/runtime/helpers/getPrototypeOf.js"));
10430 var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ "../node_modules/@babel/runtime/helpers/defineProperty.js"));
10431 var _aiLayoutBehavior = _interopRequireDefault(__webpack_require__(/*! ./ai-layout-behavior */ "../modules/ai/assets/js/editor/ai-layout-behavior.js"));
10432 var _editorIntegration = __webpack_require__(/*! ./utils/editor-integration */ "../modules/ai/assets/js/editor/utils/editor-integration.js");
10433 var _i18n = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10434 var _config = __webpack_require__(/*! ./pages/form-layout/context/config */ "../modules/ai/assets/js/editor/pages/form-layout/context/config.js");
10435 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); }; }
10436 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; } }
10437 var Module = /*#__PURE__*/function (_elementorModules$edi) {
10438 (0, _inherits2.default)(Module, _elementorModules$edi);
10439 var _super = _createSuper(Module);
10440 function Module() {
10441 var _this;
10442 (0, _classCallCheck2.default)(this, Module);
10443 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10444 args[_key] = arguments[_key];
10445 }
10446 _this = _super.call.apply(_super, [this].concat(args));
10447 (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "registerVariationsContextMenu", function (groups, currentElement) {
10448 var _ElementorAiConfig, _ElementorAiConfig$us;
10449 var saveGroup = groups.find(function (group) {
10450 return 'save' === group.name;
10451 });
10452 if (!saveGroup) {
10453 return groups;
10454 }
10455 var contextMenu = {
10456 name: 'ai',
10457 icon: 'eicon-ai',
10458 title: (0, _i18n.__)('Generate variations with AI', 'elementor'),
10459 callback: function () {
10460 var _callback = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
10461 var container, json, attachments;
10462 return _regenerator.default.wrap(function _callee$(_context) {
10463 while (1) switch (_context.prev = _context.next) {
10464 case 0:
10465 container = currentElement.getContainer();
10466 json = container.model.toJSON({
10467 remove: ['default']
10468 });
10469 attachments = [{
10470 type: 'json',
10471 previewHTML: '',
10472 content: json,
10473 label: container.model.get('title')
10474 }];
10475 (0, _editorIntegration.renderLayoutApp)({
10476 parentContainer: container.parent,
10477 mode: _config.MODE_VARIATION,
10478 at: container.view._index,
10479 attachments: attachments,
10480 onSelect: function onSelect() {
10481 container.view.$el.hide();
10482 },
10483 onClose: function onClose() {
10484 container.view.$el.show();
10485 },
10486 onInsert: function onInsert(template) {
10487 (0, _editorIntegration.importToEditor)({
10488 parentContainer: container.parent,
10489 at: container.view._index,
10490 template: template,
10491 historyTitle: (0, _i18n.__)('AI Variation', 'elementor'),
10492 replace: true
10493 });
10494 }
10495 });
10496 case 4:
10497 case "end":
10498 return _context.stop();
10499 }
10500 }, _callee);
10501 }));
10502 function callback() {
10503 return _callback.apply(this, arguments);
10504 }
10505 return callback;
10506 }()
10507 };
10508 if (!((_ElementorAiConfig = ElementorAiConfig) !== null && _ElementorAiConfig !== void 0 && (_ElementorAiConfig$us = _ElementorAiConfig.usage) !== null && _ElementorAiConfig$us !== void 0 && _ElementorAiConfig$us.hasAiSubscription)) {
10509 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>";
10510 contextMenu.shortcut = "<div class=\"elementor-context-menu-list__item__ai-badge\">".concat(svg, "</div>");
10511 }
10512
10513 // Add on top of save group actions
10514 saveGroup.actions.unshift(contextMenu);
10515 return groups;
10516 });
10517 return _this;
10518 }
10519 (0, _createClass2.default)(Module, [{
10520 key: "onElementorInit",
10521 value: function onElementorInit() {
10522 elementor.hooks.addFilter('views/add-section/behaviors', this.registerAiLayoutBehavior);
10523 elementor.hooks.addFilter('elements/container/contextMenuGroups', this.registerVariationsContextMenu);
10524 }
10525 }, {
10526 key: "registerAiLayoutBehavior",
10527 value: function registerAiLayoutBehavior(behaviors) {
10528 behaviors.ai = {
10529 behaviorClass: _aiLayoutBehavior.default
10530 };
10531 return behaviors;
10532 }
10533 }]);
10534 return Module;
10535 }(elementorModules.editor.utils.Module);
10536 exports["default"] = Module;
10537 new Module();
10538 })();
10539
10540 /******/ })()
10541 ;
10542 //# sourceMappingURL=ai-layout.js.map